:root{--primary: #2d5a27;--primary-light: #4a7c42;--secondary: #8b9a46;--accent: #d4a574;--background: #f5f7f0;--surface: #ffffff;--text: #1a1a1a;--text-light: #666666}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background);color:var(--text);line-height:1.6;min-height:100vh}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:1rem}.login-form{background:var(--surface);padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}.login-form h1{margin:0 0 .5rem;color:var(--primary);font-size:1.75rem;text-align:center}.login-subtitle{margin:0 0 2rem;color:var(--text-light);text-align:center}.login-error{background:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.login-form .form-group{margin-bottom:1.25rem}.login-form label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.login-form input{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.login-form input:focus{outline:none;border-color:var(--primary)}.btn-login{width:100%;padding:.875rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-login:hover:not(:disabled){background:var(--primary-light)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.seed-card{background:var(--surface);border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.seed-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.seed-image{margin:-1.25rem -1.25rem 1rem;border-radius:12px 12px 0 0;overflow:hidden}.seed-image img{width:100%;height:150px;object-fit:cover}.seed-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.seed-badges{display:flex;flex-wrap:wrap;gap:.25rem}.category-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.subcategory-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;background:#e0e0e0;color:#424242}.category-vihannekset{background:#e8f5e9;color:#2e7d32}.category-yrtit{background:#f1f8e9;color:#558b2f}.category-kukat{background:#fce4ec;color:#c2185b}.category-hedelmät{background:#fff3e0;color:#ef6c00}.category-marjat{background:#f3e5f5;color:#7b1fa2}.seed-card-actions{display:flex;gap:.25rem}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1rem;opacity:.6;transition:opacity .2s}.btn-icon:hover{opacity:1}.seed-name{margin:0 0 1rem;color:var(--text);font-size:1.25rem}.seed-name:has(+.seed-latin),.seed-name:has(+.seed-variety){margin-bottom:.25rem}.seed-latin{margin:0 0 1rem;color:var(--text-light);font-style:italic;font-size:.9rem}.seed-latin:has(+.seed-variety){margin-bottom:.25rem}.seed-variety{margin:0 0 1rem;color:var(--text-light);font-size:.9rem}.seed-info{margin-bottom:1rem}.planting-time{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem}.planting-time .label{color:var(--text-light)}.indoor-badge{background:var(--accent);color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.75rem}.growing-instructions{margin:0 0 1rem;color:var(--text);font-size:.9rem;line-height:1.5}.quick-plant{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.quick-plant select{width:100%;padding:.5rem .75rem;border:1px solid var(--primary);border-radius:6px;font-size:.9rem;color:var(--primary);background:#fff;cursor:pointer;transition:background-color .2s}.quick-plant select:hover{background:#f5f7f0}.quick-plant select:focus{outline:none;box-shadow:0 0 0 2px #2d5a2733}.seed-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.seed-list-empty{text-align:center;padding:3rem;background:var(--surface);border-radius:12px;color:var(--text-light)}@media(max-width:640px){.seed-list{grid-template-columns:1fr}}.seed-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.seed-form{background:var(--surface);border-radius:12px;padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.seed-form h2{margin:0 0 1.5rem;color:var(--primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d5a271a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover{background:var(--primary-light)}.btn-secondary{background:transparent;color:var(--text);border:1px solid #ddd}.btn-secondary:hover{background:#f5f5f5}.image-upload{margin-top:.5rem}.image-preview{position:relative;display:inline-block}.image-preview img{max-width:200px;max-height:150px;border-radius:8px;object-fit:cover}.btn-remove-image{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#e53935;color:#fff;border:none;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.image-placeholder input[type=file]{display:none}.btn-upload{display:inline-block;padding:.75rem 1rem;background:var(--background);border:1px dashed #ccc;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-upload:hover{background:#e8e8e8}.subcategory-select{display:flex;gap:.5rem}.subcategory-select select{flex:1}.btn-add-subcategory{width:40px;height:40px;border:1px solid var(--primary);background:#fff;color:var(--primary);border-radius:8px;font-size:1.25rem;cursor:pointer;transition:background-color .2s;flex-shrink:0}.btn-add-subcategory:hover{background:var(--primary);color:#fff}.btn-delete-subcategory{width:40px;height:40px;border:1px solid #e53935;background:#fff;color:#e53935;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:background-color .2s;flex-shrink:0}.btn-delete-subcategory:hover{background:#e53935;color:#fff}.subcategory-add{display:flex;gap:.5rem;flex-wrap:wrap}.subcategory-add input{flex:1;min-width:120px;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.subcategory-add input:focus{outline:none;border-color:var(--primary)}.btn-small{padding:.5rem .75rem;border-radius:6px;font-size:.875rem;cursor:pointer;border:none;background:var(--primary);color:#fff}.btn-small:hover{background:var(--primary-light)}.btn-small.btn-cancel{background:#e0e0e0;color:var(--text)}.btn-small.btn-cancel:hover{background:#d0d0d0}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.search-bar{flex:1;max-width:400px}.search-bar input{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;box-sizing:border-box}.search-bar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d5a271a}.search-bar input::placeholder{color:var(--text-light)}.category-filter-wrapper{display:flex;flex-direction:column;gap:.5rem}.category-filter{display:flex;flex-wrap:wrap;gap:.5rem}.subcategory-filter{display:flex;flex-wrap:wrap;gap:.5rem;padding-left:.5rem;border-left:3px solid var(--primary)}.filter-btn{padding:.5rem 1rem;border:1px solid #ddd;border-radius:20px;background:var(--surface);color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s}.filter-btn.sub{padding:.375rem .75rem;font-size:.85rem}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-btn.sub.active{background:var(--secondary);border-color:var(--secondary)}.location-card{background:var(--surface);border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.location-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.location-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.sun-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.sun-aurinkoinen{background:#fff8e1;color:#f57f17}.sun-puolivarjo{background:#e3f2fd;color:#1565c0}.sun-varjo{background:#eceff1;color:#546e7a}.location-card-actions{display:flex;gap:.25rem}.location-name{margin:0 0 .5rem;color:var(--text);font-size:1.25rem}.location-soil{margin:0 0 .75rem;color:var(--text-light);font-size:.9rem}.location-description{margin:0;color:var(--text);font-size:.9rem;line-height:1.5}.location-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.location-list-empty{text-align:center;padding:3rem;background:var(--surface);border-radius:12px;color:var(--text-light)}@media(max-width:640px){.location-list{grid-template-columns:1fr}}.location-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.location-form{background:var(--surface);border-radius:12px;padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.location-form h2{margin:0 0 1.5rem;color:var(--primary)}.location-form .form-group{margin-bottom:1rem}.location-form .form-group label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.location-form .form-group input[type=text],.location-form .form-group select,.location-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box}.location-form .form-group input:focus,.location-form .form-group select:focus,.location-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d5a271a}.location-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.planting-card{background:var(--surface);border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--primary)}.planting-card.planting-seedling{border-left-color:#81d4fa}.planting-card.planting-planted_ground{border-left-color:#a1887f}.planting-card.planting-planted_greenhouse{border-left-color:#aed581}.planting-card.planting-harvested{border-left-color:var(--secondary);opacity:.8}.planting-card.planting-failed{border-left-color:#e57373;opacity:.7}.planting-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-seedling{background:#e1f5fe;color:#0277bd}.status-planted_ground{background:#efebe9;color:#5d4037}.status-planted_greenhouse{background:#f1f8e9;color:#558b2f}.status-active{background:#e8f5e9;color:#2e7d32}.status-harvested{background:#fff8e1;color:#f57f17}.status-failed{background:#ffebee;color:#c62828}.planting-card-actions{display:flex;gap:.25rem}.planting-seed{margin:0 0 .25rem;color:var(--text);font-size:1.1rem}.planting-location{margin:0 0 .75rem;color:var(--text-light);font-size:.9rem}.planting-details{margin-bottom:.75rem}.detail-row{display:flex;gap:.5rem;font-size:.9rem;margin-bottom:.25rem}.detail-label{color:var(--text-light)}.loss-reason{flex:1;color:var(--text)}.planting-notes{margin:0 0 1rem;color:var(--text);font-size:.9rem;line-height:1.5;padding:.5rem;background:var(--background);border-radius:6px}.care-log-section{border-top:1px solid #eee;padding-top:.75rem}.care-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.btn-toggle-logs{background:none;border:none;color:var(--text);font-size:.9rem;cursor:pointer;padding:0;font-weight:500}.btn-toggle-logs:hover{color:var(--primary)}.btn-add-log{background:none;border:1px solid var(--primary);color:var(--primary);padding:.25rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.btn-add-log:hover{background:var(--primary);color:#fff}.care-log-list{margin-top:.5rem}.no-logs{color:var(--text-light);font-size:.85rem;font-style:italic;margin:0}.care-log-entry{padding:.5rem;background:var(--background);border-radius:6px;margin-bottom:.5rem}.care-log-entry:last-child{margin-bottom:0}.log-header{display:flex;align-items:center;gap:.5rem}.log-type{font-weight:500;font-size:.85rem;color:var(--primary)}.log-date{color:var(--text-light);font-size:.8rem}.btn-delete-log{margin-left:auto;font-size:1.2rem;padding:0;line-height:1}.log-notes{margin:.25rem 0 0;font-size:.85rem;color:var(--text)}.planting-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.planting-list-empty{text-align:center;padding:3rem;background:var(--surface);border-radius:12px;color:var(--text-light)}@media(max-width:640px){.planting-list{grid-template-columns:1fr}}.planting-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.planting-form{background:var(--surface);border-radius:12px;padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.planting-form h2{margin:0 0 1.5rem;color:var(--primary)}.planting-form .form-group{margin-bottom:1rem}.planting-form .form-group label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.planting-form .form-group input,.planting-form .form-group select,.planting-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box}.planting-form .form-group input:focus,.planting-form .form-group select:focus,.planting-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d5a271a}.planting-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.planting-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media(max-width:480px){.planting-form .form-row{grid-template-columns:1fr}}.carelog-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.carelog-form{background:var(--surface);border-radius:12px;padding:2rem;width:100%;max-width:450px}.carelog-form h2{margin:0 0 1.5rem;color:var(--primary)}.carelog-form .form-group{margin-bottom:1rem}.carelog-form .form-group label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.carelog-form .form-group input,.carelog-form .form-group select,.carelog-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box}.carelog-form .form-group input:focus,.carelog-form .form-group select:focus,.carelog-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d5a271a}.carelog-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.carelog-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media(max-width:480px){.carelog-form .form-row{grid-template-columns:1fr}}.calendar-container{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.calendar{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-title{display:flex;align-items:center;gap:1rem}.calendar-title h2{margin:0;font-size:1.25rem;color:var(--text)}.btn-nav{background:none;border:1px solid #ddd;width:36px;height:36px;border-radius:8px;font-size:1.5rem;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-nav:hover{background:var(--background)}.btn-today{background:none;border:1px solid var(--primary);color:var(--primary);padding:.25rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background-color .2s}.btn-today:hover{background:var(--primary);color:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem}.weekday{text-align:center;font-weight:600;font-size:.8rem;color:var(--text-light);padding:.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;min-height:60px;padding:.5rem;border-radius:8px;cursor:pointer;transition:background-color .2s;display:flex;flex-direction:column;position:relative}.calendar-day:hover{background:var(--background)}.calendar-day.other-month{opacity:.4}.calendar-day.today{background:#e8f5e9}.calendar-day.today .day-number{color:var(--primary);font-weight:700}.calendar-day.selected{background:var(--primary)}.calendar-day.selected .day-number{color:#fff}.calendar-day.selected.today{background:var(--primary)}.day-number{font-size:.9rem;color:var(--text)}.day-indicators{display:flex;gap:4px;margin-top:auto;flex-wrap:wrap}.indicator{width:8px;height:8px;border-radius:50%}.planting-indicator{background:var(--primary)}.carelog-indicator{background:var(--accent)}.calendar-day.selected .indicator{border:1px solid white}.calendar-sidebar{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.calendar-sidebar h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text);text-transform:capitalize}.sidebar-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.btn-action{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.btn-action:hover{background:var(--primary-light)}.select-planting{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;cursor:pointer}.select-planting:focus{outline:none;border-color:var(--primary)}.day-events{display:flex;flex-direction:column;gap:1rem}.events-section h4{margin:0 0 .5rem;font-size:.9rem;color:var(--text-light)}.event-item{padding:.75rem;border-radius:8px;font-size:.9rem}.planting-event{background:#e8f5e9;border-left:3px solid var(--primary)}.carelog-event{background:#fff8e1;border-left:3px solid var(--accent)}.event-item strong{color:var(--text)}.event-item .variety{color:var(--text-light)}.event-details{margin-top:.25rem;font-size:.85rem;color:var(--text-light)}.event-seed{display:block;font-size:.85rem;color:var(--text-light);margin-top:.125rem}.event-notes{margin-top:.5rem;font-size:.85rem;color:var(--text);font-style:italic}.no-events{color:var(--text-light);font-style:italic;margin:0}.select-date-hint{color:var(--text-light);margin:0}@media(max-width:900px){.calendar-container{grid-template-columns:1fr}.calendar-day{min-height:50px}}@media(max-width:500px){.calendar{padding:1rem}.calendar-day{min-height:40px;padding:.25rem}.day-number{font-size:.8rem}.indicator{width:6px;height:6px}}.statistics{padding:1rem;max-width:800px;margin:0 auto}.stats-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.stats-section h2{margin:0 0 1rem;color:#2d5a27;font-size:1.25rem;border-bottom:2px solid #e8f0e6;padding-bottom:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:600px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:#f5f7f0;border-radius:8px;padding:1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.stat-card.success{background:#e6f4ea}.stat-card.active{background:#e3f2fd}.stat-card.failed{background:#fce8e6}.stat-number{font-size:2rem;font-weight:700;color:#2d5a27}.stat-card.success .stat-number{color:#137333}.stat-card.active .stat-number{color:#1565c0}.stat-card.failed .stat-number{color:#c5221f}.stat-label{font-size:.875rem;color:#666}.stat-card.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.expanded{outline:3px solid #2d5a27}.stats-hint{font-size:.875rem;color:#888;margin-bottom:1rem;text-align:center}.success-rate{margin-top:1rem}.success-rate-bar{height:24px;background:#fce8e6;border-radius:12px;overflow:hidden}.success-rate-fill{height:100%;background:linear-gradient(90deg,#4a7c42,#2d5a27);border-radius:12px;transition:width .5s ease}.success-rate-text{display:block;text-align:center;margin-top:.5rem;font-weight:600;color:#2d5a27}.stats-table{border:1px solid #e8f0e6;border-radius:8px;overflow:hidden}.stats-table-header,.stats-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:.75rem 1rem;gap:.5rem}.stats-table-header{background:#f5f7f0;font-weight:600;font-size:.875rem;color:#666}.stats-table-row{border-top:1px solid #e8f0e6}.stats-table-row:hover{background:#fafbf8}.stats-table-row.clickable{cursor:pointer}.stats-table-row.expanded{background:#e8f0e6;font-weight:600}.text-success{color:#137333;font-weight:500}.text-failed{color:#c5221f;font-weight:500}.harvest-list{display:flex;flex-direction:column;gap:1rem}.harvest-item{background:#f5f7f0;border-radius:8px;padding:1rem;border-left:4px solid #4a7c42}.harvest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.harvest-name{font-weight:600;color:#2d5a27}.harvest-variety{font-weight:400;color:#666}.harvest-date{font-size:.875rem;color:#888}.harvest-details{font-size:.875rem;color:#666;display:flex;gap:.5rem}.harvest-notes{margin:.5rem 0 0;font-size:.875rem;color:#555;font-style:italic}.no-data{color:#888;text-align:center;padding:2rem}.unplanted-list{display:flex;flex-direction:column;gap:.5rem}.unplanted-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff8e1;border-radius:8px;border-left:4px solid #ffc107}.unplanted-name{font-weight:500;color:#333}.unplanted-variety{font-weight:400;color:#666}.unplanted-category{font-size:.875rem;color:#888;background:#f5f5f5;padding:.25rem .5rem;border-radius:4px}.expanded-list{background:#fafbf8;border-radius:8px;padding:1rem;margin:1rem 0;display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.expanded-item{background:#fff;border-radius:8px;padding:.75rem 1rem;border-left:4px solid #4a7c42}.expanded-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.expanded-item-name{font-weight:600;color:#2d5a27}.expanded-item-variety{font-weight:400;color:#666}.expanded-item-status{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.expanded-item-status.status-harvested{background:#e6f4ea;color:#137333}.expanded-item-status.status-active,.expanded-item-status.status-seedling,.expanded-item-status.status-planted_ground,.expanded-item-status.status-planted_greenhouse{background:#e3f2fd;color:#1565c0}.expanded-item-status.status-failed{background:#fce8e6;color:#c5221f}.expanded-item-details{font-size:.875rem;color:#666;display:flex;gap:1rem;flex-wrap:wrap}.app{min-height:100vh}.header{background:var(--primary);color:#fff;padding:1.5rem 2rem 0;box-shadow:0 2px 8px #0000001a}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header h1{margin:0;font-size:1.75rem;font-weight:600}.btn-logout{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.btn-logout:hover{background:#ffffff4d}.nav-tabs{display:flex;gap:.5rem}.nav-tab{background:transparent;border:none;color:#ffffffb3;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;border-radius:8px 8px 0 0;transition:background-color .2s,color .2s}.nav-tab:hover{background:#ffffff1a;color:#fff}.nav-tab.active{background:var(--background);color:var(--primary)}.main{padding:2rem;max-width:1400px;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;align-items:center}.toolbar-left{display:flex;flex-wrap:wrap;gap:1rem;flex:1;align-items:center}.btn-add{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-add:hover{background:var(--primary-light)}.item-count{color:var(--text-light);font-size:.9rem;margin-bottom:1rem}.loading,.error{display:flex;justify-content:center;align-items:center;min-height:50vh;font-size:1.2rem;color:var(--text-light)}.error{color:#c62828}@media(max-width:768px){.header{padding:1rem 1rem 0}.nav-tab{padding:.5rem 1rem;font-size:.9rem}.main{padding:1rem}.toolbar{flex-direction:column;align-items:stretch}.toolbar-left{flex-direction:column}.btn-add{width:100%}}
