*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#4a7c59;--green-dark:#3a6347;--text:#1a1a1a;--text-light:#6b6b6b;--bg:#fff;--bg-warm:#f9f7f4;--border:#e5e2dd}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Comic Sans MS,cursive;line-height:1.6}h1,h2,h3,h4{font-family:Comic Sans MS,cursive;font-weight:600}a{color:inherit;text-decoration:none}.header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{align-items:center;gap:16px;max-width:1200px;height:64px;margin:0 auto;padding:0 20px;display:flex}.header-inner .brand{flex:1}.menu-toggle{cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;padding:4px;display:flex}.brand{letter-spacing:-.02em;font-family:Comic Sans MS,cursive;font-size:1.4rem;font-weight:600}.header-icons{align-items:center;gap:16px;display:flex}.header-icons button{cursor:pointer;color:var(--text);background:0 0;border:none;padding:4px;font-size:1.2rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.sidebar{background:var(--bg);border-right:1px solid var(--border);z-index:90;width:240px;transition:transform .25s;position:fixed;top:64px;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-header{justify-content:flex-end;padding:12px 16px 0;display:flex}.sidebar-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;align-items:center;padding:4px;display:flex}.sidebar-close:hover{color:var(--text)}.sidebar-nav ul{padding:8px 0;list-style:none}.sidebar-nav li a{color:var(--text);padding:10px 24px;font-size:.95rem;font-weight:500;transition:background .15s,color .15s;display:block}.sidebar-nav li a:hover{background:var(--bg-warm);color:var(--green)}.sidebar-nav li a.active{color:var(--green);font-weight:600}.sidebar-overlay{z-index:80;background:#0000004d;display:none;position:fixed;inset:64px 0 0}.sidebar-overlay.visible{display:block}.auth-badge{align-items:center;display:flex;position:relative}.auth-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:relative}.auth-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px;display:block}.auth-admin-dot{background:var(--green);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.auth-dropdown{background:var(--bg);border:1px solid var(--border);z-index:200;min-width:180px;padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 16px #0000001a}.auth-dropdown-name{margin-bottom:2px;font-size:.9rem;font-weight:600}.auth-dropdown-role{color:var(--text-light);margin-bottom:12px;font-size:.8rem}.auth-dropdown-signout{border:1px solid var(--border);cursor:pointer;text-align:center;background:0 0;width:100%;padding:8px 16px;font-family:Comic Sans MS,cursive;font-size:.8rem;font-weight:600;transition:background .2s;display:block}.auth-dropdown-signout:hover{background:var(--bg-warm)}.hero{text-align:center;max-width:720px;margin:0 auto;padding:80px 20px}.hero h1{color:var(--green);margin-bottom:16px;font-size:2.8rem}.hero-tagline{color:var(--text-light);margin-bottom:24px;font-size:1.1rem}.hero-about{color:var(--text);margin-bottom:32px;font-size:.95rem;line-height:1.8}.hero-cta{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.08em;padding:14px 32px;font-family:Comic Sans MS,cursive;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-block}.hero-cta:hover{background:var(--green-dark)}.carousel{background:var(--bg-warm);position:relative;overflow:hidden}.carousel-track{transition:transform .6s;display:flex}.carousel-slide{min-width:100%;position:relative}.carousel-slide img{object-fit:cover;width:100%;height:420px;display:block}.carousel-overlay{background:linear-gradient(90deg,#00000059 0%,#0000000d 60%);align-items:center;padding:0 40px;display:flex;position:absolute;inset:0}.carousel-text{color:#fff;max-width:500px}.carousel-text h2{margin-bottom:12px;font-size:2.4rem;line-height:1.2}.carousel-text p{opacity:.9;margin-bottom:20px;font-size:1rem}.carousel-btn{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:none;padding:12px 28px;font-family:Comic Sans MS,cursive;font-size:.85rem;font-weight:600;transition:background .2s;display:inline-block}.carousel-btn:hover{background:var(--green-dark)}.carousel-nav{gap:8px;display:flex;position:absolute;bottom:20px;right:20px}.carousel-nav button{color:#fff;cursor:pointer;background:#0000004d;border:1px solid #fff9;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:background .2s;display:flex}.carousel-nav button:hover{background:#00000080}.carousel-dots{gap:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.carousel-dots span{cursor:pointer;background:#ffffff80;border-radius:50%;width:8px;height:8px;transition:background .2s}.carousel-dots span.active{background:#fff}.section{max-width:1200px;margin:0 auto;padding:60px 20px}.section-header{text-align:center;margin-bottom:40px}.section-header h2{margin-bottom:8px;font-size:2rem}.section-header p{color:var(--text-light);font-size:.95rem}.product-grid{grid-template-columns:1fr;gap:24px;display:grid}.product-card{background:var(--bg);border:1px solid var(--border);transition:box-shadow .2s;display:block;overflow:hidden}.product-card:hover{box-shadow:0 4px 20px #00000014}.product-card img{object-fit:cover;width:100%;height:280px;display:block}.product-info{padding:16px}.product-name{margin-bottom:2px;font-family:Comic Sans MS,cursive;font-size:1.15rem;font-weight:600}.product-scientific{color:var(--text-light);margin-bottom:10px;font-size:.82rem;font-style:italic}.product-bottom{justify-content:space-between;align-items:center;display:flex}.product-price{font-size:1.05rem;font-weight:600}.btn-shop{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:none;padding:8px 20px;font-family:Comic Sans MS,cursive;font-size:.8rem;font-weight:600;transition:background .2s;display:inline-block}.btn-shop:hover{background:var(--green-dark)}.btn-sold-out{color:var(--text-light);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;cursor:default;background:0 0;padding:8px 20px;font-family:Comic Sans MS,cursive;font-size:.8rem;font-weight:600;display:inline-block}.plant-grid{grid-template-columns:1fr;gap:20px;display:grid}.plant-grid-empty{text-align:center;color:var(--text-light);padding:40px 0}.plant-card{background:var(--bg);border:1px solid var(--border);transition:box-shadow .2s;display:block;overflow:hidden}.plant-card:hover{box-shadow:0 4px 20px #00000014}.plant-card img{object-fit:cover;width:100%;height:220px;display:block}.plant-card-placeholder{background:var(--bg-warm);justify-content:center;align-items:center;width:100%;height:220px;display:flex}.plant-card-info{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.plant-card-name{font-size:.95rem;font-style:italic;font-weight:600}.plant-card-taxonomy{color:var(--text-light);font-size:.82rem}.plant-card-veg{color:var(--text-light);font-size:.78rem}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.filter-bar select{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;min-width:150px;padding:8px 12px;font-family:Comic Sans MS,cursive;font-size:.85rem}.filter-bar select:focus{border-color:var(--green);outline:none}.filter-clear{border:1px solid var(--border);color:var(--text-light);cursor:pointer;background:0 0;padding:8px 16px;font-family:Comic Sans MS,cursive;font-size:.82rem;transition:border-color .2s,color .2s}.filter-clear:hover{border-color:var(--green);color:var(--green)}.breadcrumb{max-width:1200px;color:var(--text-light);margin:0 auto;padding:16px 20px;font-size:.85rem}.breadcrumb a{color:var(--text-light);transition:color .2s}.breadcrumb a:hover{color:var(--green)}.breadcrumb span{margin:0 8px}.plant-profile{max-width:900px;margin:0 auto;padding:0 20px 60px}.plant-profile-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding:20px 0 24px}.botanical-name{font-size:1.8rem;font-weight:600;line-height:1.3}.plant-taxonomy{color:var(--text-light);margin-top:4px;font-size:.95rem}.plant-profile-body{flex-direction:column;gap:32px;display:flex}.plant-section h2{color:var(--green-dark);margin-bottom:12px;font-size:1.15rem}.plant-countries{color:var(--text);font-size:.95rem;line-height:1.6}.plant-notes{color:var(--text);white-space:pre-line;font-size:.95rem;line-height:1.8}.plant-links{list-style:none}.plant-links li{margin-bottom:6px}.plant-links a{color:var(--green);font-size:.95rem;transition:color .2s}.plant-links a:hover{color:var(--green-dark);text-decoration:underline}.conservation-list{grid-template-columns:auto 1fr;gap:6px 16px;font-size:.95rem;display:grid}.conservation-list dt{color:var(--text);font-weight:600}.conservation-list dd{color:var(--text)}.conservation-list a{color:var(--green)}.conservation-list a:hover{text-decoration:underline}.cultivation-table{border-collapse:collapse;width:100%;font-size:.95rem}.cultivation-table th,.cultivation-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.cultivation-table th{color:var(--text);white-space:nowrap;width:180px;font-weight:600}.cultivation-table td{color:var(--text)}.cultivation-label{cursor:help;border-bottom:1px dotted var(--text-light)}.specimen-list h3{color:var(--green-dark);margin-bottom:12px;font-size:1.15rem}.specimen-grid{grid-template-columns:1fr;gap:12px;display:grid}.specimen-item{background:var(--bg-warm);border:1px solid var(--border);gap:16px;padding:14px;display:flex}.specimen-image{object-fit:cover;flex-shrink:0;width:80px;height:80px}.specimen-info{flex-direction:column;gap:4px;display:flex}.specimen-code{font-size:.9rem;font-weight:600}.specimen-prop{color:var(--text-light);font-size:.82rem}.specimen-price{color:var(--green-dark);font-size:.95rem;font-weight:600}.specimen-available{color:var(--green);font-size:.82rem;font-weight:600}.specimen-collection{color:var(--text-light);font-size:.82rem}.plant-image-gallery{margin-bottom:32px}.plant-image-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.plant-image-item{position:relative}.plant-image-item img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);cursor:pointer;width:100%;display:block}.plant-image-caption{color:var(--text-light);margin-top:4px;font-size:.82rem}.plant-image-delete{color:#fff;cursor:pointer;background:#0009;border:none;justify-content:center;align-items:center;width:28px;height:28px;font-family:Comic Sans MS,cursive;font-size:.75rem;font-weight:600;transition:background .2s;display:flex;position:absolute;top:6px;right:6px}.plant-image-delete:hover{background:#000000d9}.plant-image-upload{border:2px dashed var(--border);background:var(--bg-warm);flex-wrap:wrap;align-items:center;gap:10px;padding:16px;display:flex}.plant-image-caption-input{border:1px solid var(--border);flex:1;min-width:150px;padding:8px 12px;font-family:Comic Sans MS,cursive;font-size:.85rem}.plant-image-caption-input:focus{border-color:var(--green);outline:none}.plant-image-error{color:#c44;margin-bottom:12px;font-size:.85rem}.product-detail{grid-template-columns:1fr;gap:40px;max-width:1200px;margin:0 auto;padding:20px 20px 60px;display:grid}.product-detail-image img{object-fit:cover;border:1px solid var(--border);width:100%;max-height:500px;display:block}.product-detail-info h1{margin-bottom:4px;font-size:2rem}.product-detail-info .product-scientific{margin-bottom:16px;font-size:.95rem}.product-detail-info .product-price{margin-bottom:20px;font-size:1.4rem;display:block}.product-detail-info .description{color:var(--text-light);margin-bottom:24px;font-size:.95rem;line-height:1.8}.product-detail-info .btn-shop{padding:12px 32px;font-size:.9rem}.related-products{max-width:1200px;margin:0 auto;padding:0 20px 60px}.related-products h2{margin-bottom:24px;font-size:1.6rem}.related-grid{grid-template-columns:1fr;gap:24px;display:grid}.footer{background:var(--bg-warm);border-top:1px solid var(--border);padding:60px 20px 30px}.footer-inner{grid-template-columns:1fr;gap:40px;max-width:1200px;margin:0 auto;display:grid}.footer-brand h3{margin-bottom:12px;font-size:1.4rem}.footer-brand p{color:var(--text-light);max-width:300px;font-size:.9rem}.footer-links h4{text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-family:Comic Sans MS,cursive;font-size:.85rem;font-weight:600}.footer-links ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-links a{color:var(--text-light);font-size:.9rem;transition:color .2s}.footer-links a:hover{color:var(--green)}.newsletter h4{text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-family:Comic Sans MS,cursive;font-size:.85rem;font-weight:600}.newsletter p{color:var(--text-light);margin-bottom:12px;font-size:.9rem}.newsletter-form{gap:8px;display:flex}.newsletter-form input{border:1px solid var(--border);outline:none;flex:1;padding:10px 14px;font-family:Comic Sans MS,cursive;font-size:.9rem}.newsletter-form input:focus{border-color:var(--green)}.newsletter-form button{background:var(--green);color:#fff;cursor:pointer;border:none;padding:10px 20px;font-family:Comic Sans MS,cursive;font-size:.85rem;font-weight:600;transition:background .2s}.newsletter-form button:hover{background:var(--green-dark)}.footer-bottom{border-top:1px solid var(--border);max-width:1200px;color:var(--text-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:40px auto 0;padding-top:20px;font-size:.82rem;display:flex}.social-links{gap:16px;display:flex}.social-links a:hover{color:var(--green)}@media (width>=600px){.plant-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:repeat(3,1fr)}.specimen-grid,.footer-inner{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.sidebar{transform:translate(0)}.main-content{margin-left:240px}.sidebar-close,.menu-toggle{display:none}.sidebar-overlay{display:none!important}.plant-grid,.product-grid{grid-template-columns:repeat(3,1fr)}.product-detail{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1.5fr 1fr 1fr 1.5fr}.carousel-slide img{height:500px}.carousel-text h2{font-size:3rem}}@media (width<=768px){.carousel-slide img{height:300px}.carousel-overlay{padding:0 20px}.carousel-text h2{font-size:1.6rem}.carousel-text p{font-size:.9rem}}
