body:has(.education-page){min-width:0}.education-page .page-header{min-height:150px;margin-bottom:1rem;padding:1.35rem 1.75rem}.education-page .page-header h1{font-size:clamp(2rem,3vw,2.6rem)}.education-availability{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1.25rem;padding:1rem 1.15rem;border:1px solid #dfd4b8;border-radius:12px;background:#faf6eb;color:#665127}.education-availability>svg{flex:0 0 auto;margin-top:.1rem}.education-availability strong{font-size:.95rem}.education-availability p{margin:.2rem 0 0;font-size:.88rem}.education-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line)}.education-nav a{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.6rem .8rem;border-bottom:3px solid transparent;color:var(--muted);font-size:.9rem;font-weight:600;text-decoration:none}.education-nav a[aria-current=page]{border-color:var(--forest);color:var(--forest-deep)}.education-nav a:hover{background:var(--forest-soft);color:var(--forest-deep)}.education-workspace{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.8fr);align-items:start;gap:1.25rem}.education-workspace>*,.education-side>*{min-width:0}.education-side{display:grid;gap:1.25rem}.education-welcome,.education-empty{display:flex;flex-direction:column;align-items:center;padding:1.5rem .5rem;text-align:center}.education-empty-icon{display:grid;width:58px;height:58px;margin-bottom:1rem;place-items:center;border-radius:14px;background:var(--forest-soft);color:var(--forest)}.education-welcome .education-empty-icon{width:48px;height:48px;margin-bottom:.75rem}.education-page h3{margin:0;color:var(--forest-deep);font-size:1.08rem;line-height:1.45}.education-welcome>p,.education-empty>p{max-width:48ch;margin:.5rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.65}.education-prompts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.education-prompts>p{grid-column:1 / -1;margin:0 0 .2rem;color:var(--muted);font-size:.8rem}.education-prompts button{padding:.8rem;font-size:.83rem;font-weight:500;line-height:1.5;text-align:left}.education-chat .education-composer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.education-composer label{display:block;margin-bottom:.5rem;font-size:.88rem;font-weight:600}.education-composer textarea{display:block;width:100%;min-height:100px;padding:.8rem .9rem;border:1px solid #809386;border-radius:10px;color:var(--forest-deep);background:#fff;font-size:1rem;line-height:1.6;resize:vertical}.education-composer textarea::placeholder{color:#617365}.education-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.education-composer-footer>p{max-width:40ch;margin:0;color:var(--muted);font-size:.78rem}.education-composer-footer button{flex:0 0 auto}.education-empty.is-compact{padding:1.25rem 0 .25rem}.education-empty.is-compact .education-empty-icon{width:46px;height:46px;margin-bottom:.75rem}.education-empty.is-compact h3{font-size:.95rem}.education-empty.is-compact p{font-size:.83rem}.education-setup-link{display:flex;align-items:flex-start;gap:.8rem;min-height:44px;margin-top:1rem;text-decoration:none}.education-setup-link>svg{flex:0 0 auto;margin-top:.15rem}.education-setup-link strong,.education-setup-link small{display:block}.education-setup-link strong{font-size:.88rem}.education-setup-link small{margin-top:.25rem;color:var(--muted);font-size:.8rem}.education-setup-link:hover strong{text-decoration:underline}.education-library .education-empty{min-height:300px;justify-content:center}.education-footnote{padding-top:1rem;border-top:1px solid var(--line)}.education-requirements{margin:1rem 0 0}.education-requirements dt{margin-top:1rem;font-size:.88rem;font-weight:600}.education-requirements dd{margin:.3rem 0 0;color:var(--muted);font-size:.83rem}.education-side-note{margin:0;padding-inline:.5rem;color:var(--muted);font-size:.82rem}.education-connection-list{margin:1.25rem 0}.education-connection-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.education-connection-list dt{font-weight:600}.education-connection-list dd{margin:0;color:var(--muted)}.education-connection-note{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:10px;background:var(--canvas)}.education-connection-note svg{flex:0 0 auto}.education-connection-note p{margin:0;color:var(--muted);font-size:.85rem}.education-checklist{margin:1rem 0 0;padding-left:1.15rem;color:var(--muted);font-size:.88rem}.education-checklist li+li{margin-top:.85rem}@media(max-width:1150px){.education-workspace{grid-template-columns:minmax(0,1fr)}.education-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.education-side-note{padding-top:1rem}}@media(max-width:600px){.education-page .page-header{min-height:140px}.education-nav{gap:.25rem}.education-nav a{flex:1 1 auto;padding-inline:.3rem;font-size:.78rem}.education-nav svg{display:none}.education-side{grid-template-columns:minmax(0,1fr)}.education-welcome{padding:1rem 0}.education-welcome .education-empty-icon{display:none}.education-prompts button{min-height:44px;padding:.6rem .45rem;font-size:.78rem}.education-composer-footer{align-items:stretch;flex-direction:column;gap:.75rem}.education-composer-footer>p{max-width:none}.education-connection-list>div{grid-template-columns:minmax(0,1fr);gap:.3rem}}:root{font-family:Segoe UI Variable,Aptos,Segoe UI,ui-sans-serif,sans-serif;color:#1c3628;background:#f6f7f2;font-synthesis:none;line-height:1.55;--forest: #20583a;--forest-deep: #173d2b;--forest-soft: #e9f1e7;--surface: #ffffff;--canvas: #f6f7f2;--line: #dce4da;--muted: #617365;--focus: #b48632}.standup-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;border:1px solid var(--line);border-left:4px solid var(--forest);border-radius:12px;background:var(--forest-soft)}.standup-banner p,.standup-day p{margin:.25rem 0 0;color:var(--muted)}.standup-banner .button-link{flex-shrink:0}.sidebar nav .standup-nav-badge{margin-left:auto;font-size:.68rem;color:#694b16}.standup-day{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}.standup-day h2{margin:0;font-size:1.1rem}.standup-status{display:inline-block;white-space:nowrap;padding:.25rem .6rem;border-radius:6px;font-size:.8rem;font-weight:600}.standup-status.submitted{background:#e9f1e7;color:#20583a}.standup-status.pending{background:#fff4d9;color:#694b16}.standup-status.missed{background:#f9eae5;color:#823e2d}.standup-composer,.standup-recap,.kolab-sync-card{margin-bottom:1.25rem}.kolab-sync-card .form-field{max-width:32rem}.kolab-sync-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.kolab-deliveries{display:grid;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none}.kolab-deliveries li{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(14rem,2fr);gap:.2rem 1rem;padding:.75rem 0;border-top:1px solid var(--line)}.kolab-delivery-error{grid-column:1 / -1;color:#823e2d;font-size:.86rem}.standup-composer fieldset{display:grid;gap:1rem;min-width:0;margin:0;padding:0;border:0}.standup-composer textarea{resize:vertical}.standup-composer textarea[readonly]{background:var(--canvas)}.standup-note{color:var(--muted);font-size:.85rem}.standup-warning{padding:.8rem 1rem;background:#fff4d9;border:1px solid #e0c995;border-radius:8px;color:#694b16}.standup-warning p{margin-top:0}.standup-recap>.form-field{max-width:18rem;margin-bottom:1rem}.standup-recap td{vertical-align:top}.standup-recap summary,.standup-publication summary{cursor:pointer;padding:.4rem 0}.standup-publication{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.standup-report{min-width:12rem;max-width:48rem}.standup-report dt{font-weight:650;margin-top:.75rem}.standup-report dd{margin:.3rem 0 .75rem;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:640px){.standup-banner,.standup-day{align-items:flex-start;flex-direction:column}.standup-banner .button-link{width:100%;text-align:center}.standup-recap td:last-child{min-width:16rem}.kolab-deliveries li{grid-template-columns:1fr}.kolab-delivery-error{grid-column:auto}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}a{color:var(--forest)}button{min-height:44px;padding:.62rem .95rem;border:1px solid #cbd9cb;border-radius:10px;background:#fff;color:var(--forest-deep);font-weight:650;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}button:hover:not(:disabled){background:#f2f7f0;border-color:#b7ccb8;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button[type=submit],.button-link{border-color:var(--forest);background:var(--forest);color:#fff}button[type=submit]:hover:not(:disabled),.button-link:hover{background:var(--forest-deep);border-color:var(--forest-deep);color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.app-enter{animation:auth-dashboard-enter .36s ease-out backwards}:root[data-auth-transition]::view-transition-old(root){animation:auth-screen-leave .18s ease-out both;mix-blend-mode:normal}:root[data-auth-transition]::view-transition-new(root){animation:auth-screen-enter .36s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;overflow-y:auto;padding:1.1rem .8rem 1rem;border-right:1px solid var(--line);background:#fff}.sidebar-top{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;min-width:0;color:var(--forest-deep);text-decoration:none}.brand-wordmark{display:block;width:164px;max-width:100%;height:auto}.nav-toggle{display:none}.sidebar nav{margin-top:2.05rem}.nav-group{margin:1.45rem .78rem .38rem;color:#829184;font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.nav-group:first-child{margin-top:0}.sidebar nav a{display:flex;align-items:center;gap:.85rem;margin:.08rem 0;padding:.7rem .85rem;border-left:3px solid transparent;border-radius:0 9px 9px 0;color:#415a48;font-size:.88rem;font-weight:550;text-decoration:none;transition:background-color .16s ease,color .16s ease}.sidebar nav a:hover{background:#f0f5ee;color:var(--forest-deep)}.sidebar nav a.active{border-left-color:var(--forest);background:var(--forest-soft);color:var(--forest-deep);font-weight:750}.sidebar nav a svg{flex:0 0 auto;color:#50665a}.sidebar nav a.active svg{color:var(--forest)}.sidebar-note{display:flex;align-items:center;gap:.7rem;margin:auto 0 0;padding:.7rem;border:1px solid var(--line);border-radius:12px;color:#819082;font-size:.72rem}.sidebar-note-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:var(--forest-soft);color:var(--forest)}main{min-width:0;padding:0 clamp(1rem,2vw,2rem) 4rem;background:radial-gradient(circle at 94% 0,#e9f0e5 0,transparent 30rem),var(--canvas)}.topbar,.content{width:min(100%,1380px);margin-inline:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.3rem;min-height:60px;margin-top:.6rem;padding:.55rem clamp(.85rem,1.5vw,1.45rem);border:1px solid #e6ece5;border-radius:14px;background:#ffffffeb;box-shadow:0 7px 24px #193d2408}.topbar-path{display:flex;align-items:center;gap:.55rem;min-width:0;color:#7d8b7e;font-size:.78rem;white-space:nowrap}.topbar-path strong{overflow:hidden;color:var(--forest-deep);font-weight:700;text-overflow:ellipsis}.farm-switch{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;min-width:0}.farm-switch label{color:var(--muted);font-size:.76rem;font-weight:700;white-space:nowrap}.farm-switch select{min-width:150px;max-width:230px;padding:.48rem .68rem;border:1px solid #cbd8ca;border-radius:9px;background:#fff;color:var(--forest-deep);font-size:.8rem}.farm-manage-link{font-size:.78rem;font-weight:700;white-space:nowrap;text-underline-offset:3px}.account-name{display:grid;max-width:135px;overflow:hidden;color:var(--forest-deep);font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.account-name small{color:var(--muted);font-size:.69rem;font-weight:500}.account-meta{display:flex;align-items:center;gap:.55rem}.account-status-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#28a34c}.account-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font-size:.75rem;font-weight:800}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.logout-button{min-height:35px;padding:.34rem .64rem;font-size:.76rem}.page-header{display:flex;align-items:center;min-height:200px;margin-top:1rem;overflow:hidden;padding:clamp(1.5rem,2.7vw,2.5rem);border:1px solid #e4ece1;border-radius:18px;background:#edf6e9}.page-header-copy{max-width:650px}.page-header-farm{background:linear-gradient(90deg,#edf7e9 0%,rgb(237 247 233 / 94%) 43%,transparent 100%),url(/dashboard-hero.jpg) center / cover}.page-header-fish{background:linear-gradient(90deg,#eff8ff 0%,rgb(239 248 255 / 94%) 43%,transparent 100%),url(/dashboard-fish.jpg) center / cover}.page-header-chicken{background:linear-gradient(90deg,#fff6ec 0%,rgb(255 246 236 / 94%) 43%,transparent 100%),url(/dashboard-chicken.jpg) center / cover}.page-header-crop{background:linear-gradient(90deg,#eef8e9 0%,rgb(238 248 233 / 94%) 43%,transparent 100%),url(/dashboard-crops.jpg) center / cover}.page-header-module{background:linear-gradient(90deg,#edf7e9,#edf7e9ed 48%,#edf7e94d),url(/dashboard-hero.jpg) center / cover}.eyebrow,.section-kicker{margin:0 0 .58rem;color:var(--forest);font-size:.73rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}h1{margin:0 0 .82rem;color:#183a29;font-size:clamp(2.25rem,4vw,3.4rem);font-weight:750;letter-spacing:-.055em;line-height:1.1;text-wrap:balance}h2{margin:0;color:#1c3c2b;font-size:1.18rem;font-weight:720;letter-spacing:-.025em;line-height:1.3}p{margin:.42rem 0}.page-header-copy>p:last-child{max-width:65ch;color:#4f6658;font-size:.96rem;line-height:1.6;text-wrap:pretty}.page-header h1{margin-bottom:.55rem;font-size:clamp(2rem,3.2vw,3rem)}.page-header+.state-panel{margin-top:1rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:start;margin-top:1.2rem}.farm-grid{grid-template-columns:minmax(0,1fr) minmax(0,.93fr)}.unit-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(320px,.82fr);gap:1.2rem;align-items:start;margin-top:1.2rem}.farm-member-layout{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);gap:1.2rem;align-items:start;margin-top:1.2rem}.farm-member-layout:has(>.member-list-card:first-child){grid-template-columns:minmax(0,1fr)}.farm-member-name{display:grid;gap:.18rem}.farm-member-name small{color:var(--muted);font-size:.76rem}.card,.state-panel{border-radius:18px;background:var(--surface)}.card{padding:clamp(1.35rem,2.4vw,2rem);border:1px solid var(--line);box-shadow:0 7px 22px #193d2408}.card>h2{margin-bottom:.35rem}.card>p{max-width:50ch;color:var(--muted);font-size:.86rem}.form-card{border-color:#d4e2d1;box-shadow:0 14px 34px #214e300d}.detail-card{border-color:transparent;background:#edf3eb}.card form{margin-top:1.35rem}.card form>button[type=submit]{margin-top:.35rem}.form-field{margin-bottom:1.12rem}.form-field label{display:block;margin-bottom:.42rem;color:#385443;font-size:.79rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-height:44px;padding:.63rem .78rem;border:1px solid #cbd8ca;border-radius:9px;background:#fff;color:var(--forest-deep);transition:border-color .16s ease,box-shadow .16s ease}.form-field input:hover{border-color:#a9bda8}.form-field input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #20583a1f;outline:none}.form-field p[role=alert]{margin-top:.35rem;color:#9b433b;font-size:.78rem}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:1.2rem}.button-danger-text{border-color:transparent;background:transparent;color:#9b433b}.button-danger-text:hover:not(:disabled){border-color:#eed4d0;background:#fff5f3}.button-danger{border-color:#a3463e;background:#a3463e;color:#fff}.button-danger:hover:not(:disabled){border-color:#83342d;background:#83342d}.text-button{min-height:auto;margin-top:.8rem;padding:.25rem 0;border:0;background:transparent;color:var(--forest);font-size:.8rem;text-decoration:underline;text-underline-offset:3px}.text-button:hover:not(:disabled){border:0;background:transparent}.registry-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1.5rem;margin-top:1rem;padding:.9rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:.83rem}.registry-summary strong{color:var(--forest-deep);font-variant-numeric:tabular-nums}.unit-list-card{min-height:250px}.list-meta{margin-bottom:1.4rem!important}.table-scroll{min-width:0;overflow-x:auto}table{width:100%;border-collapse:collapse}caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}th,td{padding:.82rem .65rem;border-bottom:1px solid #e6ece4;text-align:left;vertical-align:middle}th{color:#738677;font-size:.75rem;font-weight:700}td{color:var(--forest-deep);font-size:.87rem;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7faf6}.table-primary{display:block;font-weight:700}.table-secondary{display:block;margin-top:.16rem;color:var(--muted);font-size:.74rem}.table-action{min-height:34px;padding:.32rem .65rem;font-size:.77rem}.table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.table-detail-link{display:inline-flex;align-items:center;min-height:34px;padding:.3rem .7rem;border:1px solid var(--forest);border-radius:9px;background:var(--forest);color:#fff;font-size:.77rem;font-weight:700;text-decoration:none}.table-detail-link:hover{background:var(--forest-deep);color:#fff}.table-empty{margin-top:.7rem;padding:1.4rem;border-radius:12px;background:#f4f8f2;color:var(--muted);font-size:.86rem}.state-panel{position:relative;min-height:148px;padding:1.7rem 2rem;border:1px dashed #cad9c8}.state-panel.has-illustration{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(.85rem,2vw,1.5rem)}.state-panel-artwork{display:block;width:min(100%,15rem);max-height:13rem;object-fit:contain;justify-self:center}.state-panel-content{min-width:0}.state-panel-code{display:inline-block;margin-bottom:.35rem;color:#a3463e;font-size:.76rem;font-weight:800;letter-spacing:.12em}.state-panel h2{margin-bottom:.28rem}.state-panel p{max-width:65ch;color:var(--muted);font-size:.9rem;line-height:1.6}.state-panel button{margin-top:.85rem;align-self:flex-start}.error-fallback-link{display:inline-flex;min-height:44px;align-items:center;margin-top:.55rem;padding:.55rem .9rem;border:1px solid #b8cbb7;border-radius:10px;background:#fff;color:var(--forest-deep);font-weight:700;text-decoration:none}.error-fallback-link:hover{background:#f3f7f1;text-decoration:underline;text-underline-offset:3px}.state-panel.empty{background:#fcfdfb}.state-panel.loading{background:#f3f7f1}.state-panel.success{border-style:solid;border-left:4px solid var(--forest);background:#f1f8ef}.state-panel.error{border-style:solid;border-left:4px solid #a3463e;background:#fffaf8}.state-panel+.state-panel{margin-top:.8rem}dialog{width:min(100%,460px);max-width:calc(100vw - 2rem);padding:1.7rem;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px #14321d33}dialog p{margin-top:.7rem;color:var(--muted)}dialog::backdrop{background:#0e2a1b73}.skip-link{position:fixed;top:-100px;left:1rem;z-index:10;padding:.7rem .9rem;border-radius:8px;background:#fff}.skip-link:focus{top:1rem}.dashboard-page{display:grid;gap:1rem;padding-top:1rem}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,.75fr);align-items:end;gap:1.5rem;min-height:260px;overflow:hidden;padding:clamp(1.5rem,2.5vw,2.3rem);border:1px solid #e3e9dc;border-radius:18px;background:linear-gradient(90deg,rgb(238 248 235 / 98%),rgb(238 248 235 / 85%) 33%,transparent 75%),url(/dashboard-hero.jpg) center / cover}.dashboard-hero-copy{align-self:center}.dashboard-hero h1{max-width:20ch;margin:0;color:#0d3028;font-size:clamp(2.15rem,3.3vw,3.05rem)}.dashboard-hero-copy>p:not(.section-kicker){max-width:53ch;margin:.7rem 0 1.1rem;color:#38554a;font-size:.94rem;line-height:1.55}.button-link{display:inline-flex;align-items:center;gap:.75rem;min-height:42px;padding:.62rem .95rem;border:1px solid var(--forest);border-radius:10px;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .16s ease,transform .16s ease}.button-link:hover{transform:translateY(-1px)}.dashboard-active-farm{display:block;min-width:0;padding:1rem 1.1rem;border:1px solid rgb(219 230 215 / 95%);border-radius:16px;background:#fffffff0;box-shadow:0 12px 30px #1d4a2c1f;color:var(--forest-deep);text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .16s ease,box-shadow .16s ease}.dashboard-active-farm:hover{transform:translateY(-2px);box-shadow:0 15px 32px #1d4a2c29}.dashboard-farm-label{color:#4d8b58;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboard-farm-row{display:flex;align-items:center;gap:.8rem;margin-top:.5rem}.dashboard-farm-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:12px;background:#e7f1e5;color:var(--forest)}.dashboard-farm-info{display:grid;min-width:0;flex:1;gap:.2rem}.dashboard-farm-info strong{overflow:hidden;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-farm-info small{color:var(--muted);font-size:.74rem;line-height:1.4}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.dashboard-stat{display:flex;align-items:flex-start;gap:1rem;min-width:0;min-height:128px;padding:1.1rem;border:1px solid #e6ece5;border-radius:15px;background:#fff;box-shadow:0 7px 22px #193d2408}.stat-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:13px}.stat-green,.stat-leaf{background:#e8f3e7;color:#26813e}.stat-blue{background:#e8f3fc;color:#2087d4}.stat-orange{background:#fff0e4;color:#cc6c1a}.dashboard-stat p{margin:0;color:#697a70;font-size:.77rem}.dashboard-stat strong{display:block;margin:.14rem 0;color:#0e2a23;font-size:clamp(1.4rem,1.65vw,1.8rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.2}.dashboard-stat small{color:#728078;font-size:.7rem;line-height:1.3}.dashboard-unit-section{padding:1.1rem;border:1px solid #e6ece5;border-radius:15px;background:#fff}.dashboard-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.dashboard-section-heading .section-kicker{margin-bottom:.08rem;font-size:.64rem}.dashboard-section-heading h2{font-size:1.02rem;text-transform:uppercase}.dashboard-section-heading>a,.panel-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--forest-deep);font-size:.75rem;font-weight:700;text-decoration:none}.dashboard-section-heading>a:hover,.panel-link:hover{text-decoration:underline;text-underline-offset:3px}.dashboard-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.dashboard-unit-card{display:flex;align-items:center;gap:.85rem;min-width:0;min-height:110px;padding:.9rem;border:1px solid rgb(223 232 222 / 75%);border-radius:13px;color:#0e3027;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.dashboard-unit-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #1843261a}.unit-fish{background:linear-gradient(90deg,#f1f9ff 0%,rgb(241 249 255 / 91%) 38%,transparent 95%),url(/dashboard-fish.jpg) center / cover}.unit-chicken{background:linear-gradient(90deg,#fff7ee 0%,rgb(255 247 238 / 91%) 38%,transparent 95%),url(/dashboard-chicken.jpg) center / cover}.unit-crop{background:linear-gradient(90deg,#f0f8ee 0%,rgb(240 248 238 / 91%) 38%,transparent 95%),url(/dashboard-crops.jpg) center / cover}.unit-card-icon{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border-radius:50%;background:#83c8f3;color:#046ea9}.unit-chicken .unit-card-icon{background:#e9aa6a;color:#fff}.unit-crop .unit-card-icon{background:#4da461;color:#fff}.unit-card-copy{display:grid;min-width:0;gap:.08rem;flex:1}.unit-card-copy strong{font-size:.82rem}.unit-card-count{font-size:1.28rem;font-weight:800;letter-spacing:-.04em}.unit-card-copy small{color:#61746b;font-size:.7rem}.unit-card-arrow{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:50%;background:#ffffffeb;color:var(--forest)}.dashboard-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.dashboard-panel{display:flex;flex-direction:column;min-width:0;min-height:218px;padding:1rem;border:1px solid #e6ece5;border-radius:15px;background:#fff}.dashboard-panel-heading{display:flex;align-items:center;gap:.55rem;padding-bottom:.7rem;border-bottom:1px solid #edf1eb}.panel-heading-icon{color:var(--forest)}.dashboard-panel-heading h2{font-size:.86rem;letter-spacing:-.01em}.dashboard-panel-data{flex:1;padding:.65rem 0;min-width:0}.dashboard-panel-data>div{padding:.42rem 0;border-bottom:1px solid #edf1eb}.dashboard-panel-data>div:last-child{border-bottom:0}.dashboard-panel-data strong{display:block;font-size:.79rem;color:#153b2c}.dashboard-panel-data small{display:block;color:#6a7b70;font-size:.7rem}.dashboard-panel-data p{color:#728078;font-size:.76rem}.dashboard-panel-empty{display:grid;justify-items:center;gap:.25rem;flex:1;align-content:center;padding:.75rem .25rem;text-align:center}.panel-empty-symbol{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#f0f6ee;color:#83a38c}.dashboard-panel-empty strong{color:#566c5c;font-size:.76rem}.dashboard-panel-empty p{max-width:26ch;margin:0;color:#839187;font-size:.69rem;line-height:1.4}.panel-link{justify-content:flex-end;font-size:.7rem}.module-placeholder{display:grid;align-content:center;justify-items:start;min-height:330px;margin-top:1rem;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 90% 10%,#e7f1e5 0,transparent 22rem),#fff;box-shadow:0 7px 22px #193d2408}.module-placeholder-icon{display:grid;width:58px;height:58px;margin-bottom:1rem;place-items:center;border-radius:15px;background:#e7f2e6;color:var(--forest)}.module-placeholder h2{font-size:clamp(1.4rem,2.2vw,1.9rem)}.module-placeholder>p:not(.section-kicker){max-width:56ch;color:var(--muted);font-size:.9rem}.module-links{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;margin-top:1.2rem;font-size:.85rem;font-weight:700}.module-links>a:not(.button-link){text-underline-offset:3px}.back-link{display:inline-flex;margin:1rem 0;color:var(--forest);font-size:.83rem;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline;text-underline-offset:3px}.back-link+.state-panel{margin-top:.15rem}.unit-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.unit-facts article{display:grid;align-content:start;gap:.2rem;min-width:0;min-height:115px;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 22px #193d2408}.unit-facts svg{margin-bottom:.2rem;color:var(--forest)}.unit-facts span{color:var(--muted);font-size:.74rem}.unit-facts strong{overflow-wrap:anywhere;color:var(--forest-deep);font-size:1.1rem;line-height:1.3}.fish-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:1rem;margin-top:1rem}.chicken-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-detail-edit-card{width:min(100%,760px);margin-top:1rem}.fish-cycle-empty{display:grid;justify-items:center;align-content:center;min-height:270px;padding:1.5rem;text-align:center}.fish-cycle-empty>span{display:grid;width:58px;height:58px;margin-bottom:.7rem;place-items:center;border-radius:50%;background:#e9f4f9;color:#2b83ae}.fish-cycle-empty strong{color:var(--forest-deep)}.fish-cycle-empty p{color:var(--muted);font-size:.84rem}.fish-cycle-list{display:grid;gap:.6rem;margin:1.2rem 0 0;padding:0;list-style:none}.fish-cycle-list li{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#f8fbf7}.fish-cycle-list li>div{display:grid;gap:.22rem}.fish-cycle-list small{color:var(--muted);font-size:.76rem}.cycle-badge{flex:0 0 auto;padding:.25rem .6rem;border-radius:99px;background:#e8f0e6;color:var(--forest);font-size:.7rem;font-weight:750}.cycle-active{background:#dff4e6;color:#176339}.cycle-cancelled{background:#f4eae8;color:#8c4b42}.cycle-completed{background:#e8edf3;color:#3d5b72}.cycle-list-card{margin-top:1rem}.cycle-workspace-grid,.cycle-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);align-items:start;gap:1rem;margin-top:1rem}.cycle-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cycle-commodity-list,.observation-list{display:grid;gap:.6rem;margin:1rem 0;padding:0;list-style:none}.cycle-commodity-list li{padding:.7rem .85rem;border-radius:10px;background:#f4f8f1;color:var(--forest-deep);font-size:.84rem}.cycle-detail-list{display:grid;gap:.8rem;margin:1.2rem 0 0}.cycle-detail-list div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.cycle-detail-list dt{color:var(--muted);font-size:.83rem}.cycle-detail-list dd{margin:0;color:var(--forest-deep);font-weight:700;text-align:right}.cycle-status-actions{justify-content:flex-start}.observation-list li{display:grid;gap:.3rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:#f8fbf7;color:var(--forest-deep);font-size:.84rem}.observation-list li p{margin:.2rem 0 0;white-space:pre-wrap}.schedule-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);align-items:start;gap:1rem;margin-top:1rem}.schedule-main{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0}.schedule-main>*{min-width:0}.schedule-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.schedule-filter-fields .form-field{margin:0}.schedule-filter-note{margin-top:.7rem;color:var(--muted);font-size:.79rem}.schedule-list-card .table-scroll{margin-top:.8rem}.schedule-list-card td:first-child{white-space:nowrap}.schedule-cell-meta{display:block;margin-top:.2rem;color:var(--muted);font-size:.74rem}.schedule-detail-button{margin:0}.schedule-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:1rem}.schedule-detail-head h3{margin:0;color:var(--forest-deep);font-size:1.3rem}.schedule-detail-head .section-kicker{margin-bottom:.25rem}.schedule-notes{margin-top:1rem;padding:.8rem 1rem;border-radius:10px;background:#f5f9f3;white-space:pre-wrap}.schedule-cycle-link{display:inline-block;margin-top:1rem;color:var(--forest);font-size:.84rem;font-weight:700}.cycle-schedule-entry{margin-top:.8rem}.cycle-schedule-entry a{color:var(--forest);font-size:.85rem;font-weight:700}.inventory-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);align-items:start;gap:1rem;margin-top:1rem}.inventory-movements{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1rem;min-width:0}.inventory-movements>.card{min-width:0}.schedule-detail-card>.section-kicker{margin-top:1.4rem}.inventory-main{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0}.inventory-main>*{min-width:0}.inventory-more{margin-top:1rem}.inventory-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.inventory-list-card .table-scroll{margin-top:.7rem}.activity-in_progress{background:#e4f1fb;color:#176493}.activity-completed{background:#e2f4e8;color:#1a7042}.activity-missed{background:#fff0da;color:#965c12}.activity-cancelled{background:#f4eae8;color:#8c4b42}.unit-facts strong a{color:inherit}body:has(.auth-page){min-width:0;background:#fcfdf8}.auth-page{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) minmax(350px,1.1fr);width:min(100%,1720px);min-height:100svh;margin-inline:auto;padding:clamp(1.5rem,3vw,3rem) clamp(1.5rem,4vw,4.5rem);gap:clamp(1rem,2vw,2rem);background:#fcfdf8;font-family:Segoe UI,Arial,sans-serif}.auth-artwork{position:absolute;z-index:-1;inset:0;background:url(/login-scene.png) calc(50% - min(6vw,103px)) bottom / contain no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 4rem);mask-image:linear-gradient(to bottom,transparent,#000 4rem)}.auth-brand{display:flex;align-items:center}.auth-brand .brand-wordmark{width:clamp(176px,15vw,220px)}.auth-loading{display:grid;min-height:100dvh;place-items:center;padding:1.2rem;background:var(--canvas)}.auth-loading>.state-panel{width:min(100%,470px)}.error-fallback-page{position:relative;display:grid;min-height:100svh;overflow:hidden;isolation:isolate;place-items:center;padding:clamp(1.75rem,4.5vh,3.5rem) clamp(1rem,4vw,3rem) clamp(5.5rem,11vh,8rem);background:radial-gradient(ellipse at 50% 36%,#fff 0%,#fff 32%,transparent 73%),#fffdfa}.error-fallback-content{position:relative;z-index:1;display:flex;width:min(100%,70rem);flex-direction:column;align-items:center;text-align:center}.error-fallback-code{position:relative;margin:0;color:#173d2b;font-size:clamp(5rem,11vw,9.25rem);font-weight:850;letter-spacing:-.075em;line-height:.88}.error-fallback-code:before,.error-fallback-code:after{position:absolute;top:.15em;width:.18em;height:.38em;border-radius:100% 0;background:#83ad49;content:""}.error-fallback-code:before{left:-.42em;transform:rotate(-38deg);box-shadow:-.12em .36em 0 -.015em #83ad49}.error-fallback-code:after{right:-.42em;transform:rotate(52deg);box-shadow:.12em .36em 0 -.015em #83ad49}.error-fallback-art-frame{width:min(92vw,58rem);aspect-ratio:2.08;margin:clamp(.5rem,1.6vh,1rem) 0 .4rem;overflow:hidden}.error-fallback-artwork{display:block;width:100%;height:100%;object-fit:cover;object-position:center 70%;mix-blend-mode:multiply}.error-fallback-page-unauthorized .error-fallback-artwork{object-position:center 62%}.error-fallback-page-service .error-fallback-artwork{object-position:center 68%}.error-fallback-content h1{max-width:24ch;margin:.1rem 0 0;color:#173d2b;font-size:clamp(2rem,4.2vw,3.55rem);font-weight:800;letter-spacing:-.045em;line-height:1.14;text-wrap:balance}.error-fallback-description{max-width:68ch;margin:.85rem 0 0;color:#626f62;font-size:clamp(1rem,1.75vw,1.38rem);line-height:1.65;text-wrap:pretty}.error-fallback-inline-action{display:inline-flex;min-height:44px;align-items:center;padding:0 .2rem;border:0;border-radius:5px;background:transparent;color:#376e3c;font:inherit;font-weight:700;text-decoration:underline;text-decoration-color:#a6bf82;text-underline-offset:.2em;cursor:pointer}.error-fallback-inline-action:hover{color:#204f31;text-decoration-color:currentColor}.error-fallback-inline-action:focus-visible{outline:3px solid #6d913d;outline-offset:2px}.error-fallback-garden{position:absolute;z-index:0;right:0;bottom:0;left:0;width:100%;height:min(25vh,15rem);min-height:7.5rem;pointer-events:none}.auth-intro{display:flex;flex-direction:column;min-width:0;color:var(--forest-deep)}.auth-intro-copy{max-width:min(100%,22vw);margin-top:clamp(3rem,10svh,7rem)}.auth-intro .section-kicker{margin-bottom:1rem;color:#4a7749;font-size:.78rem}.auth-intro h1{max-width:11ch;color:#0c3426;font-size:clamp(2.5rem,3.45vw,4rem);font-weight:750;letter-spacing:-.045em;line-height:1.1;text-wrap:initial}.auth-intro-copy>p:last-child{max-width:28ch;margin-top:1.25rem;color:#576c62;font-size:clamp(.95rem,1vw,1.075rem);line-height:1.65}.auth-overview{min-width:0;align-self:start;padding:clamp(2rem,4.5vw,4rem) 0 0 4%}.auth-features{display:grid;justify-items:start;gap:.75rem;margin:0;padding:0;list-style:none}.auth-features li{display:flex;align-items:center;gap:.75rem;max-width:100%;padding:.7rem .85rem;border:1px solid #e5eade;border-radius:12px;background:#fff;box-shadow:0 6px 18px #1a3a2412}.auth-features li:nth-child(2){margin-left:.75rem}.auth-features li:nth-child(3){margin-left:1.5rem}.auth-feature-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:10px;background:#e7f1de;color:#347342}.auth-features strong,.auth-features small{display:block}.auth-features strong{color:#17352a;font-size:.9rem}.auth-features small{margin-top:.15rem;color:#5e6c64;font-size:.75rem}.auth-form-wrap{display:grid;min-width:0;align-items:center;justify-items:end;animation:auth-screen-enter .42s cubic-bezier(.22,1,.36,1) both}.auth-card,.auth-form-wrap>.state-panel{width:min(100%,440px)}.auth-card{padding:clamp(1.5rem,2.5vw,2.25rem);border:1px solid #e2e8dd;border-radius:20px;box-shadow:0 12px 36px #2344270f}.auth-access-artwork{display:flex;justify-content:center;margin:-.3rem 0 .7rem}.auth-access-artwork img{display:block;width:min(100%,9rem);height:auto}.auth-card h2{color:#0c3426;font-size:clamp(1.5rem,1.8vw,1.85rem)}.auth-card-heading{animation:auth-heading-enter .24s cubic-bezier(.22,1,.36,1) both}.auth-card-heading>p{margin-top:.7rem;color:#576c62;font-size:.95rem;line-height:1.6}.auth-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1),opacity .2s ease}.auth-reveal.is-visible{grid-template-rows:1fr;opacity:1}.auth-reveal>div{min-height:0;overflow:hidden;margin-inline:-6px;padding-inline:6px}.auth-card form{margin-top:1.75rem}.auth-card form>button[type=submit]{width:100%;min-height:52px;margin-top:.25rem;font-size:1rem}.auth-card .form-field{margin-bottom:1.15rem}.auth-card .form-field label{color:#1c3b2d;font-size:.9rem}.auth-card .form-field input{min-height:52px;padding:.75rem 1rem;border-color:#809386;background:#f8faf6;font-size:1rem}.auth-card .form-field input:focus-visible{outline:3px solid var(--forest);outline-offset:3px}.auth-card .state-panel{margin-top:1.25rem;padding:1rem}.auth-card .state-panel h2{font-size:1rem}.auth-hint{margin:0 0 .8rem;color:var(--muted);font-size:.76rem}.auth-switch{width:100%;min-height:48px;margin-top:1.5rem;padding:1rem 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:#576c62;font-size:.9rem;font-weight:400}.auth-switch strong{color:var(--forest);text-decoration:underline;text-underline-offset:3px}.auth-switch-label{display:inline-block;animation:auth-heading-enter .24s ease both}.auth-switch:hover:not(:disabled){border-color:var(--line);background:transparent;transform:none}@keyframes auth-screen-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-screen-leave{to{opacity:0;transform:translateY(-6px)}}@keyframes auth-dashboard-enter{0%{opacity:0}to{opacity:1}}@keyframes auth-heading-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1241px)and (max-height:720px){.auth-overview{padding-top:1rem}.auth-features{gap:.5rem}.auth-features li{padding:.5rem .75rem}.auth-feature-icon{flex-basis:32px;width:32px;height:32px}.auth-feature-icon svg{width:24px;height:24px}}@media(max-width:1240px){.auth-page{grid-template-columns:minmax(0,1fr) minmax(340px,.95fr);gap:2rem;padding:2rem 4vw}.auth-artwork{inset:max(26rem,48%) 48% 0 0;background-position:55% bottom;background-size:auto 160%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 4rem);mask-image:linear-gradient(to bottom,transparent,#000 4rem)}.auth-overview{display:none}.auth-intro h1{font-size:clamp(2.5rem,4.5vw,3.3rem)}.auth-intro-copy{max-width:100%;margin-top:3rem}.auth-intro-copy>p:last-child{max-width:30ch}}@media(max-width:800px){.auth-page{display:flex;flex-direction:column;align-items:center;min-height:100svh;gap:1.5rem;padding:1.5rem 1.25rem}.auth-artwork{position:relative;z-index:0;inset:auto;order:2;flex:none;width:min(100%,40rem);height:clamp(10rem,40vw,18rem);background-position:55% bottom;background-size:auto 160%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 2rem);mask-image:linear-gradient(to bottom,transparent,#000 2rem)}.auth-intro{order:0;width:min(100%,440px)}.auth-brand .brand-wordmark{width:min(100%,184px)}.brand-wordmark{width:min(100%,144px)}.auth-intro-copy{margin-top:1.5rem}.auth-intro .section-kicker{display:none}.auth-intro h1{max-width:22ch;margin-bottom:0;font-size:clamp(1.85rem,5.5vw,2.35rem);line-height:1.15}.auth-intro-copy>p:last-child{max-width:38ch;margin:.65rem 0 0;font-size:.95rem;line-height:1.5}.auth-form-wrap{order:1;width:min(100%,440px)}.auth-card{width:100%;padding:clamp(1.25rem,5vw,2rem);border-radius:18px}.auth-card h2{font-size:1.5rem}.auth-card form{margin-top:1.5rem}}@media(max-width:1240px){.dashboard-stats,.dashboard-panels,.unit-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1150px){.cycle-workspace-grid,.cycle-detail-grid,.schedule-grid,.inventory-grid{grid-template-columns:minmax(0,1fr)}.dashboard-hero{grid-template-columns:minmax(0,1fr);min-height:310px}.dashboard-active-farm{width:min(100%,370px);justify-self:end}.dashboard-unit-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1080px){.topbar{align-items:flex-start;flex-direction:column;justify-content:center;gap:.35rem;padding-block:.8rem}.farm-switch{justify-content:flex-start;flex-wrap:wrap}.unit-layout,.farm-member-layout,.fish-detail-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:800px){.state-panel.has-illustration{grid-template-columns:minmax(0,1fr);gap:.55rem}.state-panel-artwork{width:min(100%,15rem);max-height:12rem;margin-inline:auto}.error-fallback-page{min-height:100svh;padding:1.75rem 1rem 5rem}.error-fallback-content{width:min(100%,40rem)}.error-fallback-code{font-size:clamp(4.5rem,22vw,7rem)}.error-fallback-art-frame{width:min(100%,38rem);aspect-ratio:1.65;margin-top:.75rem}.error-fallback-content h1{font-size:clamp(1.85rem,7vw,2.65rem)}.error-fallback-description{margin-top:.65rem;font-size:1rem}.error-fallback-garden{height:9.5rem}.auth-access-artwork{margin:-.2rem 0 .45rem}.auth-access-artwork img{width:min(100%,7.5rem)}.app{display:block}.sidebar{position:relative;height:auto;min-height:0;overflow:visible;padding:.95rem 1.2rem;border-right:0;border-bottom:1px solid var(--line)}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.3rem .85rem;font-size:.8rem}.sidebar nav{display:none;max-height:min(65dvh,520px);margin:1rem -.2rem 0;overflow-y:auto;padding:.5rem;border-top:1px solid var(--line)}.sidebar.is-open nav{display:block}.sidebar-note{display:none}main{padding:0 1.3rem 3rem}.page-header{padding-top:2.15rem}.farm-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.page-header{min-height:175px;background-position:65% center}.page-header-copy>p:last-child{max-width:38ch;font-size:.88rem}.module-placeholder{min-height:285px}.dashboard-hero{min-height:350px;background:linear-gradient(180deg,#eff8ebf5,#eff8ebc9 53%,#eff8eb1a),url(/dashboard-hero.jpg) 62% center / cover}.dashboard-active-farm{width:100%}.dashboard-panels{grid-template-columns:minmax(0,1fr)}.dashboard-panel{min-height:170px}}@media(max-width:520px){.cycle-form-grid,.schedule-filter-fields,.inventory-fields{grid-template-columns:minmax(0,1fr)}.waste-record-head{flex-direction:column}.sidebar{padding-inline:1rem}main{padding-inline:1rem}.topbar{min-height:0}.topbar-path{font-size:.73rem}.farm-switch{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .65rem;align-items:center}.account-meta{grid-column:1;grid-row:1}.account-name{max-width:none}.account-avatar{grid-column:2;grid-row:1}.farm-switch select{grid-column:1 / 3;grid-row:2;width:100%;max-width:none}.farm-manage-link{grid-column:1;grid-row:3}.logout-button{grid-column:2;grid-row:3}.page-header{padding:1.5rem}.page-header h1{font-size:2rem}.unit-facts{grid-template-columns:minmax(0,1fr)}.unit-facts article{min-height:0}.fish-cycle-list li{flex-wrap:wrap}.card,.state-panel{padding:1.25rem;border-radius:14px}.form-card form>button[type=submit]{width:100%}.unit-list-card{min-height:0}.dashboard-hero{min-height:0;padding:1.2rem}.dashboard-hero h1{font-size:2rem}.dashboard-stats{grid-template-columns:minmax(0,1fr)}.dashboard-unit-section{padding:.8rem}.dashboard-unit-card{gap:.65rem;padding:.75rem}.unit-card-icon{width:48px;height:48px;flex-basis:48px}th,td{padding-inline:.42rem}.table-secondary{max-width:15ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(prefers-reduced-motion:reduce){.app-enter{animation:auth-dashboard-enter .36s ease-out backwards!important}.auth-form-wrap{animation:auth-screen-enter .42s cubic-bezier(.22,1,.36,1) both!important}.auth-card-heading,.auth-switch-label{animation:auth-heading-enter .24s cubic-bezier(.22,1,.36,1) both!important}.auth-reveal{transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1),opacity .2s ease!important}:root[data-auth-transition]::view-transition-old(root){animation:auth-screen-leave .18s ease-out both!important}:root[data-auth-transition]::view-transition-new(root){animation:auth-screen-enter .36s cubic-bezier(.22,1,.36,1) both!important}}.harvest-entry{padding:1rem 0;border-bottom:1px solid var(--border, #e5ebe5)}.harvest-entry:last-child{border-bottom:0}.harvest-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.harvest-entry-head>div{min-width:0}.harvest-output{min-width:0;border:1px solid #e4ebe3;border-radius:16px;padding:1rem;margin:1rem 0}.harvest-output legend{padding:0 .35rem;font-weight:700;color:#174e32}.sale-item-detail{padding:.7rem 0;border-top:1px solid #eef2ed}.sale-item-detail ul{margin:.45rem 0 0;padding-left:1.2rem}.sale-item-detail li{margin:.2rem 0}.analytics-unavailable p{padding:.45rem 0;border-bottom:1px solid #edf1eb}.analytics-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.analytics-cycle-column{min-width:0;padding:1rem;border:1px solid #e6eee6;border-radius:1rem;background:#fcfdfb}.analytics-cycle-column h3{margin:0 0 .4rem;color:#174b35}.analytics-sources summary{cursor:pointer;color:#174b35;font-weight:600}.analytics-sources ul{max-height:10rem;overflow:auto;padding-left:1.25rem}.analytics-sources code{overflow-wrap:anywhere;font-size:.72rem}@media(max-width:760px){.analytics-comparison-grid{grid-template-columns:minmax(0,1fr)}}.waste-list{display:grid;gap:.8rem}.waste-record{min-width:0;padding:.9rem 0;border-top:1px solid var(--line)}.waste-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.waste-record-head h3{margin:0;color:var(--forest-deep);font-size:1rem}.waste-record-head p{display:flex;flex-wrap:wrap;gap:.2rem .8rem;margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.waste-status{flex:0 0 auto;padding:.25rem .55rem;border:1px solid #cbd9cb;border-radius:7px;background:var(--forest-soft);color:var(--forest-deep);font-size:.75rem;font-weight:700}.waste-notes{margin:.7rem 0 0;color:#385443;font-size:.84rem;white-space:pre-wrap}.waste-history{margin-top:.7rem}.waste-history-toggle{border:0;padding:.2rem 0;background:transparent;color:var(--forest-deep);font-weight:700;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.waste-history-panel{margin-top:.45rem;padding:.7rem;border-radius:10px;background:var(--forest-soft)}.waste-history-panel>p{margin:0;color:var(--muted);font-size:.82rem}.waste-history-creator{font-weight:700}.waste-history-list{display:grid;gap:.5rem;margin:.55rem 0 0;padding:0;list-style:none}.waste-history-list li{display:grid;gap:.15rem;padding:.55rem .65rem;border-left:3px solid var(--forest-deep);border-radius:0 8px 8px 0;background:#ffffffbf;font-size:.82rem}.waste-history-list time,.waste-history-actor,.waste-history-list small{color:var(--muted);font-size:.76rem}.waste-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.waste-actions .form-field{flex:1 1 230px;max-width:420px;margin:0}.payment-panel{margin-top:.85rem}.payment-form{border-top:1px solid #e4ebe3;margin-top:1rem;padding-top:1rem}.maggot-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:1.2rem;margin-top:1.2rem}.maggot-batch-list,.maggot-batches{display:grid;gap:1rem}.maggot-batch{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fcfdfb}.maggot-batch-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.maggot-batch-heading h3,.maggot-batch-heading p,.maggot-record-section h4,.maggot-record-section p,.maggot-record-section ul,.maggot-output p,.maggot-output ul{margin:0}.maggot-batch-heading p,.maggot-record-section p,.maggot-record-section li,.maggot-output span,.maggot-output li,.maggot-completion{color:var(--muted);font-size:.88rem}.maggot-status{display:inline-flex;flex:0 0 auto;padding:.3rem .65rem;border-radius:999px;color:var(--forest-deep);background:var(--forest-soft);font-size:.78rem;font-weight:700}.maggot-status.completed{color:var(--muted);background:var(--surface)}.maggot-record-section{display:grid;gap:.45rem;padding-top:.75rem;border-top:1px solid var(--line)}.maggot-record-section h4,.maggot-form h4{color:var(--forest-deep);font-size:.9rem}.maggot-record-section ul,.maggot-output ul{padding-left:1.1rem}.maggot-output-list{display:grid;gap:.7rem}.maggot-output{display:grid;gap:.5rem;padding:.75rem;border-radius:11px;background:var(--surface)}.maggot-output>div:first-child{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.maggot-forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.maggot-form,.maggot-inline-form{display:grid;align-content:start;gap:.7rem;padding:.8rem;border-radius:11px;background:var(--surface)}.maggot-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.maggot-inline-form button{justify-self:start}.maggot-completion{margin:0;padding-top:.75rem;border-top:1px solid var(--line)}.water-transfer-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:1.2rem;margin-top:1.2rem}.water-transfer-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .85rem}.water-transfer-form .form-field:nth-child(5),.water-transfer-form button{grid-column:1 / -1}.water-transfer-note{display:block;margin-top:.2rem;color:var(--muted);font-size:.82rem}@media(max-width:900px){.maggot-layout,.water-transfer-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.maggot-forms-grid,.maggot-inline-form,.water-transfer-form{grid-template-columns:minmax(0,1fr)}.water-transfer-form .form-field:nth-child(5),.water-transfer-form button{grid-column:auto}.maggot-batch{padding:.8rem}}.notification-page{display:grid;gap:1rem}.notification-inbox{padding:clamp(1rem,2.4vw,1.5rem)}.notification-inbox-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.notification-inbox-heading h2{margin:0;color:var(--forest-deep);font-size:1.12rem}.notification-count{padding:.35rem .7rem;border-radius:999px;background:var(--forest-soft);color:var(--forest-deep);font-size:.75rem;font-weight:700;white-space:nowrap}.notification-worker-state{display:flex;align-items:center;gap:.45rem;margin:.45rem 0 .75rem;color:#5b7061;font-size:.73rem}.notification-worker-state>span{flex:0 0 .5rem;width:.5rem;height:.5rem;border-radius:50%;background:#23834f}.notification-worker-state.is-stale{color:#805b1c}.notification-worker-state.is-stale>span{background:#c48b24}.notification-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.notification-row{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:start;gap:.9rem;padding:1rem .2rem;border-top:1px solid #edf1eb}.notification-row.is-unread{background:linear-gradient(90deg,#f6faf4,transparent 68%)}.notification-icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:12px;background:var(--forest-soft);color:var(--forest)}.notification-icon.low_stock{background:#fbf1e4;color:#a96526}.notification-icon.schedule_overdue{background:#fbece7;color:#ad4e39}.notification-copy{min-width:0}.notification-kind{margin:0 0 .15rem;color:#65806a;font-size:.69rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.notification-copy h3{margin:0;color:#173d2b;font-size:.95rem}.notification-copy>p:not(.notification-kind){margin:.2rem 0 .4rem;color:#607268;font-size:.82rem}.notification-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;color:#738178;font-size:.7rem}.resolved-label,.read-label{color:#52745a;font-weight:700}.notification-actions{display:grid;justify-items:end;gap:.4rem;min-width:8.5rem;font-size:.76rem}.notification-actions a{font-weight:700;text-underline-offset:3px}.notification-actions button,.notification-load-more,.notification-preview-error button{min-height:36px;padding:.4rem .65rem;font-size:.73rem}.notification-load-more{display:block;margin:1rem auto 0}.notification-action-error,.notification-preview-error{color:#a44334;font-size:.78rem}.notification-preview-error button{margin-bottom:.25rem}.notification-footer-link{font-size:.82rem}.notification-preview .notification-worker-state{margin-top:0}.notification-preview-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.notification-preview-row>a{min-width:0;color:inherit;text-decoration:none}.notification-preview-row>a:hover strong{color:var(--forest);text-decoration:underline;text-underline-offset:2px}.notification-preview-row>a>strong,.notification-preview-row>a>small{display:block}.notification-preview-row>a>strong{color:#153b2c;font-size:.78rem}.notification-preview-row>a>small{overflow:hidden;color:#6a7b70;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.notification-unread-mark{flex:0 0 .48rem;width:.48rem;height:.48rem;margin-top:.4rem;border-radius:50%;background:#20834c}@media(max-width:640px){.notification-row{grid-template-columns:2.5rem minmax(0,1fr);gap:.65rem}.notification-actions{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-items:start;min-width:0}.notification-inbox-heading{align-items:flex-start;flex-direction:column}}
