#app{color:#2c3e50;font-family:Avenir,Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-top:60px;text-align:center}:root{--bg: #fff;--text: #0a0f0a;--muted: #637267;--brand-50: #ebfff2;--brand-100: #c8ffd9;--brand-200: #99ffc0;--brand-300: #66f2a3;--brand-400: #3be483;--brand-500: #1fd46f;--brand-600: #18b860;--brand-700: #139952;--brand-800: #0e7a43;--brand-900: #0a5b34;--primary: var(--brand-700);--surface: #f4f7f5;--border: #e3e7e5;--gradient: linear-gradient(135deg, #22c55e 0%, #16a34a 50%, #0e7a43 100%);--gradient-dark: linear-gradient( 135deg, #16a34a 0%, #0e7a43 60%, #065f46 100% )}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;margin:0;min-height:100%;padding:0}body{display:flex;flex-direction:column;min-height:100vh}#root{display:flex;flex:1;flex-direction:column}html{scrollbar-color:var(--brand-700) var(--brand-100);scrollbar-width:thin}*::-webkit-scrollbar{height:10px;width:10px}*::-webkit-scrollbar-track{background:var(--brand-100)}*::-webkit-scrollbar-thumb{background:var(--gradient-dark);border:2px solid var(--brand-100);border-radius:8px}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--gradient);border-bottom:1px solid rgba(0,0,0,.04);box-shadow:0 0 #0000;color:#ecfdf3;position:sticky;top:0;z-index:20}.topbar.is-scrolled{box-shadow:0 6px 24px #0000001f}.topbar.home-topbar{background:transparent;border-bottom:none;color:#fff;left:0;position:fixed;top:0;width:100%;z-index:30}.topbar.home-topbar.is-scrolled{background:var(--gradient);box-shadow:0 6px 24px #0000001f;position:sticky}.home-topbar .nav-link{color:#fff}.home-topbar .logo-circle{background:#ffffffd9;border-color:#fff9}.topbar-inner{align-items:center;column-gap:16px;display:grid;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:1100px;padding:14px 20px}.brand{align-items:center;display:flex;gap:12px}.logo-circle{background:#fff;border:1px solid rgba(255,255,255,.6);border-radius:50%;color:var(--primary);display:grid;font-size:12px;font-weight:600;height:44px;place-items:center;width:44px}.aboutLogoContainer{align-items:center;display:flex;gap:15px;transform:translateY(5px)}.aboutLogo{border-radius:50%;height:50px;object-fit:cover;width:50px}.nav{display:flex;gap:28px;justify-self:center}.nav-link{border-radius:8px;color:#ecfdf3;display:inline-block;font-size:14px;padding:8px 10px;text-decoration:none;transition:background .2s ease,color .2s ease,transform .15s ease}.nav-link.disabled{cursor:default;opacity:.6;pointer-events:none}.nav-link.active{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px}.nav-link:hover{background:#ffffff2e;transform:translateY(-1px)}.heroSection{height:100vh;overflow:hidden;position:relative;width:100%}.heroVideo{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:0}.videoOverlay{background:#00000080;inset:0;position:absolute;z-index:1}.heroTagline{color:#fff;left:7%;max-width:700px;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.heroTagline h1{font-size:clamp(3.5rem,6vw,5rem);font-weight:600;line-height:1.1;margin:0}.heroCTA{bottom:80px;position:absolute;right:7%;text-align:right;z-index:2}.heroSubtitle{color:#fff;font-size:1.2rem;margin-bottom:20px}.exploreButton{background-color:#2e5c31d9;border-radius:10px;color:#fff;display:inline-block;font-size:1.5rem;font-weight:700;padding:15px 25px;text-decoration:none;transition:background .3s,color .3s,box-shadow .3s,transform .2s}.exploreButton:hover{background-color:#2e5c31f2;box-shadow:0 10px 25px #00000059;color:#ffcb71;transform:translateY(-4px)}.aboutSection{align-items:stretch;background:#fff;box-sizing:border-box;display:flex;gap:50px;padding:100px 7%;width:100%}.aboutLeft{display:flex;flex:0 0 30%;flex-direction:column;justify-content:flex-end}.aboutLogoText{color:#000;font-size:1.2rem}.aboutRight{display:flex;flex:0 0 70%;flex-direction:column;gap:30px;justify-content:flex-start}.aboutTitle{background-color:transparent;border:1px solid black;border-radius:50px;color:#000;font-size:1.2rem;margin:0;padding:8px 20px;width:fit-content}.aboutDescription{color:#2e5c31;font-size:1.5rem;font-weight:600;line-height:1.4;margin:0}@media(max-width:900px){.aboutSection{flex-direction:column;gap:30px;padding:50px 7%}.aboutLeft{align-items:flex-start;justify-content:flex-start;order:2}.aboutDescription{font-size:1.4rem}}.featuresSection{box-sizing:border-box;margin-bottom:100px;padding:15px 7%;width:100%}.featuresContainer{display:flex;gap:25px;height:300px;width:100%}.featureCard{background:#18b860;border-radius:20px;box-shadow:0 10px 30px #0000000d;cursor:pointer;flex:1;overflow:hidden;position:relative;text-decoration:none;transition:flex .5s ease,transform .3s ease,box-shadow .3s ease}.featureCard:hover{box-shadow:0 15px 40px #00000026;flex:1.5;transform:translateY(-5px)}.defaultContent{display:flex;flex-direction:column;gap:20px;inset:0;justify-content:flex-start;opacity:1;padding:40px 30px;position:absolute;transition:opacity .4s ease;z-index:2}.featureCard:hover .defaultContent{opacity:0}.iconWrapper{align-items:center;background-color:#1b3320;border-radius:50%;box-shadow:0 4px 10px #0000000d;display:flex;height:60px;justify-content:center;margin-bottom:10px;width:60px}.featureIcon{font-size:1.8rem}.featureTitle{color:#1b3320;font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.featureText{color:#1b3320;font-size:1rem;font-weight:500;line-height:1.6;margin:0}.hoverContent{align-items:center;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .4s ease;z-index:1}.featureCard:hover .hoverContent{opacity:1;z-index:3}.hoverBgImage{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:-1}.hoverOverlay{background:#0006;inset:0;position:absolute;z-index:0}.centerButton{background:#fff;border-radius:30px;box-shadow:0 4px 15px #0003;color:#2e5c31;font-size:1rem;font-weight:700;padding:12px 24px;position:relative;z-index:1}.container,main.container{flex:1 0 auto;margin:0 100px;padding:64px 20px 120px}.hero{margin:30px 0 40px;text-align:center}.hero h1{color:var(--primary);font-size:40px;margin:0 0 12px}.hero p{color:var(--muted);font-size:16px;margin:0}.species-container .hero h1{padding:28px 16px 1px}.species-container .hero p{font-size:22px}.species-search{margin:16px auto 24px;max-width:720px}.search-label{color:var(--muted);display:block;font-size:12px;margin:0 0 8px}.search-row{display:grid;gap:10px;grid-template-columns:1fr auto}.search-input{background:#fff;border:1px solid var(--border);border-radius:8px;font-size:14px;padding:12px 14px}.search-btn{align-items:center;background:var(--gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;padding:12px 16px}.search-icon{filter:drop-shadow(0 0 0 transparent)}.species-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;padding:10px}.species-empty{color:var(--muted);margin:24px 0;text-align:center}.article-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000000a;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.article-media{aspect-ratio:4 / 3;background:var(--surface);display:grid;place-items:center;width:100%}.article-media img{height:100%;object-fit:cover;width:100%}.article-body{display:grid;gap:8px;padding:14px}.article-title{font-size:18px;margin:0}.article-lead{color:var(--muted);font-size:14px;margin:0}.article-actions{margin-top:8px}.btn-outline{background:#fff;border:1px solid var(--brand-300);border-radius:8px;color:var(--primary);cursor:pointer;display:inline-block;font-weight:600;padding:8px 12px;text-decoration:none}.btn-outline:hover{border-color:var(--brand-500)}@media(max-width:980px){.species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.species-grid{grid-template-columns:1fr}}.not-found-page{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:40px 20px;text-align:center}.not-found-content{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px}.not-found-code{color:var(--brand-300);font-size:8rem;font-weight:700;line-height:1;margin:0}.not-found-title{color:var(--text);font-size:1.8rem;font-weight:600;margin:0}.not-found-description{color:var(--muted);font-size:1rem;margin:0;max-width:400px}.not-found-btn{margin-top:8px;width:auto}.form-section{display:grid;gap:20px;justify-items:center;margin-top:20px}.form-group{width:460px}.form-group label{color:#444;display:block;font-size:13px;margin-bottom:8px;text-align:left}.file-upload{display:grid;gap:10px}.file-input{background:#fff;border:1px dashed var(--brand-300);border-radius:8px;cursor:pointer;display:block;padding:10px;width:100%}.file-input::file-selector-button{background:var(--gradient);border:none;border-radius:6px;color:#fff;cursor:pointer;margin-right:12px;padding:8px 12px}.file-instructions{color:var(--muted);font-size:12px}.file-instructions ul{margin:6px 0 0 18px;padding:0}.select-wrap{position:relative}.select{appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:#333;font-size:14px;padding:12px 44px 12px 16px;width:100%}.select-caret{color:#333;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.btn-primary{background:var(--gradient);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:12px 20px;width:460px}.btn-primary:hover{background:var(--gradient-dark)}.chat-bubble{background:#fff;border:1px solid var(--border);border-radius:50%;bottom:28px;box-shadow:0 2px 8px #00000014;height:44px;position:fixed;right:28px;width:44px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000000a;display:grid;gap:16px;justify-items:center;padding:22px;width:520px}.site-footer{background:var(--gradient-dark);color:#eafff3;margin-top:auto;overflow:hidden;padding-top:32px;position:relative}.site-footer:before{background:radial-gradient(1200px 400px at 10% -10%,rgba(255,255,255,.08),transparent 50%),radial-gradient(1000px 300px at 80% -20%,rgba(255,255,255,.06),transparent 50%);content:"";inset:0;pointer-events:none;position:absolute}.footer-inner{align-items:flex-start;column-gap:40px;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);margin:0 auto;max-width:1100px;padding:12px 20px 32px;row-gap:24px}.logo-invert{background:#fff;color:var(--primary)}.product-title{font-weight:700;margin:10px 0 6px}.footer-links{display:grid;gap:8px;list-style:none;margin:0;padding:0}.footer-links a{color:#e2ffef;font-size:14px;text-decoration:none;transition:color .2s ease,transform .15s ease,text-decoration-color .2s ease}.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;transform:translate(2px)}.footer-brand{align-items:start;display:grid;gap:14px;grid-template-columns:auto 1fr}.product-desc{font-size:14px;line-height:1.5;max-width:320px}.footer-heading{color:#bbf7d0;font-size:14px;font-weight:600;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.side-modal{display:none;inset:0;opacity:0;position:fixed;text-align:left;transition:opacity .3s ease;z-index:1000}.side-modal.active{display:block;opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;inset:0;position:absolute}.modal-panel{background:#fff;bottom:0;box-shadow:-5px 0 25px #0003;max-width:500px;overflow-y:auto;padding:40px;position:absolute;right:0;top:0;transform:translate(100%);transition:transform .3s cubic-bezier(.25,1,.5,1);width:100%}.side-modal.active .modal-panel{transform:translate(0)}.close-modal-btn{background:none;border:none;color:#666;cursor:pointer;font-size:2rem;line-height:1;position:absolute;right:20px;top:20px}.modal-header-img img{border-radius:8px;height:250px;margin-bottom:25px;object-fit:cover;width:100%}.scientific-name{color:#666;font-style:italic;font-weight:400;margin-bottom:20px;margin-top:-10px}.modal-rich-text h3{color:var(--brand-700, #2e7d32);font-size:1.1rem;margin-top:25px}.modal-rich-text ul{margin-bottom:15px;padding-left:20px}.modal-rich-text li{margin-bottom:5px}.global-error-boundary-text{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px 20px;text-align:center}.global-error-boundary-text h2{color:var(--primary);font-size:2rem;margin-bottom:12px}.global-error-boundary-text p{color:var(--muted);font-size:1rem;margin-bottom:8px;max-width:480px}.global-error-boundary-text ul{list-style:none;margin:12px 0 24px;padding:0;text-align:left}.global-error-boundary-text li{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;margin-bottom:8px;padding:10px 14px}.global-error-boundary-text button{background:var(--gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:16px;padding:12px 28px;transition:background .2s ease}.global-error-boundary-text button:hover{background:var(--gradient-dark)}.admin-layout{background:#f5f7fb;display:flex;min-height:100vh}.admin-sidebar{background:#102a43;color:#fff;display:flex;flex-direction:column;gap:24px;padding:24px 18px;width:260px}.admin-sidebar-brand{align-items:center;display:flex;gap:12px}.admin-sidebar-logo{height:48px;object-fit:contain;width:48px}.admin-sidebar-brand h2{font-size:1.1rem;margin:0}.admin-sidebar-brand p{font-size:.9rem;margin:4px 0 0;opacity:.8}.admin-nav{display:flex;flex-direction:column;gap:10px}.admin-nav-link{border-radius:10px;color:#fff;display:block;padding:12px 14px;text-decoration:none;transition:background .2s ease}.admin-nav-link:hover,.admin-nav-link.active{background:#ffffff29}.admin-main{display:flex;flex:1;flex-direction:column}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #d9e2ec;display:flex;justify-content:space-between;padding:24px 32px}.admin-header h1{color:#102a43;font-size:1.8rem;margin:0}.admin-header p{color:#486581;margin:6px 0 0}.admin-content{padding:32px}.admin-page-card{background:#fff;border-radius:16px;box-shadow:0 4px 14px #0f172a14;padding:24px}.admin-page-card h2{color:#102a43;margin-top:0}.admin-page-card p{color:#486581;line-height:1.6}.admin-header-left{display:flex;flex-direction:column}.admin-breadcrumb{color:#666;font-size:.9rem}.admin-header-right{color:#333;font-size:.9rem;font-weight:500}
