:root{--background:#f4f7fb;--surface:#fff;--surface-muted:#edf4fb;--text:#172b46;--text-muted:#617289;--primary:#06428f;--primary-strong:#062d63;--accent:#00aeea;--accent-soft:#e2f7ff;--border:#d6e2ef;--warning-bg:#fff4df;--warning-text:#80510f;--success-bg:#e1f5ed;--success-text:#126447;--error-bg:#fff0ed;--error-text:#9c2f25;--shadow:0 14px 40px #062d6317}*{box-sizing:border-box}html{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh;margin:0}.site-frame{flex-direction:column;min-height:100vh;display:flex}.site-content{flex-direction:column;flex:1;min-height:0;display:flex}.site-content>*{flex:1}.brand-footer{border-top:1px solid var(--border);color:var(--primary-strong);letter-spacing:.02em;text-align:center;background:#eaf3fc;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:18px;font-size:12px;font-weight:700;display:flex}body:has(.bottom-nav) .brand-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:0;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.topbar{border-bottom:1px solid var(--border);z-index:20;background:#f4f7fbf2;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand-logo{flex:none;display:block;position:relative;overflow:hidden}.brand-logo img{object-fit:cover}.brand-logo-header{border-radius:8px;width:104px;height:48px}.brand-logo-auth{width:min(230px,100%);height:132px;margin-bottom:12px}.brand-copy strong,.brand-copy span{display:block}.brand-copy strong{font-size:15px}.brand-copy span{color:var(--text-muted);margin-top:2px;font-size:12px}@media (max-width:560px){.brand-copy,.environment-badge{display:none}}.environment-badge{background:var(--accent-soft);color:var(--primary-strong);letter-spacing:.06em;text-transform:uppercase;border:1px solid #a8e5f8;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:750}.desktop-nav{display:none}.session-actions{align-items:center;gap:8px;display:flex}.logout-button{color:var(--primary-strong);cursor:pointer;background:0 0;border:1px solid #b7c9dc;border-radius:12px;min-height:40px;padding:8px 11px;font-size:12px;font-weight:750}.logout-button:hover,.logout-button:focus-visible{background:var(--surface-muted);outline:none}.auth-page{justify-content:center;align-items:center;min-height:0;padding:24px 18px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;width:100%;max-width:440px;padding:26px 22px}.auth-card h1{font-size:clamp(30px,9vw,40px)}.auth-description,.auth-card>p:last-child{color:var(--text-muted);line-height:1.55}.login-form{gap:18px;margin-top:26px;display:grid}.login-form .form-alert{margin:0}.login-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:14px;width:100%;min-height:52px;padding:13px 18px;font-weight:800}.login-button:hover,.login-button:focus-visible{background:var(--primary-strong);outline:none}.login-button:disabled{cursor:not-allowed;opacity:.58}.login-button.secondary{background:var(--surface-muted);color:var(--primary-strong);margin-top:10px}.page-container{max-width:1120px;margin:0 auto;padding:28px 18px 40px}.page-heading{margin-bottom:24px}.eyebrow{color:var(--primary);letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:10px;font-size:clamp(28px,8vw,46px);line-height:1.05}.page-heading>p:last-child{color:var(--text-muted);max-width:690px;margin-bottom:0;line-height:1.6}.notice{background:var(--warning-bg);color:var(--warning-text);border:1px solid #f1dba9;border-radius:16px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px 16px;line-height:1.5;display:flex}.notice-dot{background:var(--accent);border-radius:999px;flex:none;width:9px;height:9px;margin-top:6px}.card-grid{gap:14px;display:grid}.card-grid.two-column,.card-grid.three-column{grid-template-columns:1fr}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:20px}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card h2{letter-spacing:-.025em;margin-bottom:5px;font-size:18px}.card p{color:var(--text-muted);margin-bottom:0;line-height:1.55}.status-pill{background:var(--surface-muted);color:var(--primary-strong);border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:750}.status-pill.pending{background:var(--warning-bg);color:var(--warning-text)}.status-pill.success{background:var(--success-bg);color:var(--success-text)}.status-pill.read-only{color:#075985;background:#e6f7ff;border-color:#38bdf8}.metric{color:var(--text);letter-spacing:-.045em;margin:14px 0 4px;font-size:30px;font-weight:800}.metric-label{color:var(--text-muted);font-size:13px}.action-link{background:var(--primary);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:18px;padding:12px 16px;font-size:14px;font-weight:750;display:inline-flex}.action-link.secondary{background:var(--surface-muted);color:var(--primary-strong)}.bottom-nav{border-top:1px solid var(--border);padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:30;background:#fffffff7;grid-template-columns:repeat(2,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav.owner{grid-template-columns:repeat(7,minmax(0,1fr))}.nav-link{color:var(--text-muted);text-align:center;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:8px 5px;font-size:11px;font-weight:700;display:flex}.nav-link:hover,.nav-link:focus-visible{background:var(--surface-muted);color:var(--primary-strong);outline:none}.nav-link.active{background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent);color:var(--primary-strong)}.data-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.data-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.data-list li:first-child{border-top:0;padding-top:0}.data-list strong,.data-list span{display:block}.data-list span{color:var(--text-muted);margin-top:3px;font-size:13px}.page-heading-row{position:relative}.page-actions{flex-direction:column;gap:10px;margin-bottom:22px;display:flex}.page-actions .action-link{margin-top:0}.back-link{color:var(--primary);min-height:44px;margin:-10px 0 22px;padding:12px 0;font-size:14px;font-weight:750;display:inline-flex}.batch-form{gap:16px;max-width:860px;display:grid}.form-section{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;min-width:0;margin:0;padding:20px}.form-section legend{color:var(--text);letter-spacing:-.025em;padding:0 6px;font-size:18px;font-weight:800}.form-section-help{color:var(--text-muted);margin-bottom:18px;font-size:14px;line-height:1.55}.field-grid{gap:18px;display:grid}.form-field{min-width:0}.form-field label{margin-bottom:8px;font-size:14px;font-weight:750;line-height:1.35;display:block}.form-field input,.form-field select,.form-field textarea{color:var(--text);background:#fff;border:1px solid #b9c9dc;border-radius:13px;width:100%;min-height:52px;padding:12px 13px;display:block}.confirmation-field label{background:var(--warning-bg);border:1px solid #f1dba9;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:0;padding:14px;display:flex}.confirmation-field input[type=checkbox]{accent-color:var(--primary);flex:none;width:22px;height:22px;min-height:22px;margin:0;padding:0}.confirmation-field span{line-height:1.5}.form-field textarea{resize:vertical;min-height:112px;line-height:1.5}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #00aeea33}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:var(--error-text)}.form-field select:disabled{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}.field-help,.field-error{margin-top:7px;font-size:12px;line-height:1.45;display:block}.field-help{color:var(--text-muted)}.field-error{color:var(--error-text);font-weight:700}.doc-callout{background:var(--surface-muted);border-radius:14px;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:18px;padding:13px 15px;display:flex}.doc-callout strong{color:var(--primary-strong);font-size:14px}.doc-callout span{color:var(--text-muted);font-size:13px}.historical-section{border-color:#e9d3ae}.population-preview{background:var(--surface-muted);border-radius:14px;flex-direction:column;justify-content:center;min-height:116px;padding:16px;display:flex}.population-preview span,.population-preview small{color:var(--text-muted);font-size:12px;line-height:1.4}.population-preview strong{letter-spacing:-.035em;margin:5px 0;font-size:24px}.form-alert{border:1px solid #0000;border-radius:15px;flex-direction:column;gap:3px;max-width:860px;padding:14px 16px;line-height:1.45;display:flex}.form-alert.error{background:var(--error-bg);color:var(--error-text);border-color:#f0c7c1}.form-alert.success{background:var(--success-bg);color:var(--success-text);border-color:#b8dfc8;margin-bottom:16px}.form-alert span{font-size:14px}.form-footer{background:var(--primary-strong);color:#fff;border-radius:20px;flex-direction:column;align-items:stretch;gap:18px;padding:20px;display:flex}.form-footer strong{margin-bottom:5px;display:block}.form-footer p{color:#ffffffc2;margin-bottom:0;font-size:13px;line-height:1.5}.primary-button{color:var(--primary-strong);cursor:pointer;background:#fff;border:0;border-radius:14px;min-height:52px;padding:13px 18px;font-weight:800}.primary-button:hover,.primary-button:focus-visible{background:var(--accent-soft);outline:none}.primary-button:disabled{cursor:not-allowed;opacity:.58}.access-card{max-width:680px}.dashboard-section,.empty-state{margin-top:24px}.section-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:4px;margin-bottom:14px;display:flex}.section-heading h2{letter-spacing:-.03em;margin-bottom:0;font-size:22px}.section-heading .eyebrow{margin-bottom:5px}.section-heading .back-link{margin:0}.empty-state>.status-pill{margin-bottom:14px;display:inline-flex}.empty-state .action-link{max-width:260px}.location-stack{gap:18px;display:grid}.management-create-card{margin-bottom:24px;scroll-margin-top:92px}.management-location-stack{margin-top:24px}.management-unit-list{gap:14px;display:grid}.management-unit{background:var(--surface-muted);border:1px solid var(--border);border-radius:16px;padding:16px}.management-unit-heading{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.management-unit-heading strong,.management-unit-heading span{display:block}.management-unit-heading>div:first-child>span{color:var(--text-muted);margin-top:4px;font-size:13px}.management-statuses{flex-wrap:wrap;gap:7px;display:flex}.management-actions{border-top:1px solid var(--border);gap:12px;margin-top:14px;padding-top:14px;display:grid}.management-inline-form,.management-status-form{gap:10px;display:grid}.management-button{cursor:pointer;border:0;border-radius:12px;min-height:48px;padding:11px 15px;font-size:14px;font-weight:800}.management-button.primary{background:var(--primary);color:#fff}.management-button.secondary{color:var(--primary-strong);background:#fff;border:1px solid #b7c9dc}.management-button.warning{background:var(--warning-bg);color:var(--warning-text);border:1px solid #f1dba9}.management-button:hover,.management-button:focus-visible{filter:brightness(.96);outline:none}.management-button:disabled{cursor:not-allowed;opacity:.56}.access-user-stack{gap:18px;display:grid}.access-user-card .card-header{margin-bottom:18px}.access-user-id{color:var(--text-muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;display:block}.access-current-summary{background:var(--surface-muted);border-radius:15px;gap:0;margin:0;padding:0 14px;display:grid}.access-current-summary>div{border-top:1px solid var(--border);padding:12px 0}.access-current-summary>div:first-child{border-top:0}.access-current-summary dt{color:var(--text-muted);font-size:12px;font-weight:700}.access-current-summary dd{margin:4px 0 0;font-weight:750;line-height:1.45}.access-management-form{border-top:1px solid var(--border);gap:18px;margin-top:18px;padding-top:18px;display:grid}.access-location-fieldset>p{margin-bottom:0}.access-location-options{gap:10px;display:grid}.access-location-options label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:13px;align-items:flex-start;gap:11px;padding:12px;display:flex}.access-location-options input{accent-color:var(--primary);flex:none;width:22px;height:22px;margin:0}.access-location-options strong,.access-location-options small{display:block}.access-location-options small{color:var(--text-muted);margin-top:3px}.loading-card{min-height:138px}.loading-line{background:var(--surface-muted);border-radius:10px;width:45%;height:38px;margin-top:22px}.batch-detail-grid{gap:18px;display:grid}.detail-list{gap:0;margin:16px 0 0;display:grid}.detail-list>div{border-top:1px solid var(--border);gap:5px;padding:13px 0;display:grid}.detail-list dt{color:var(--text-muted);font-size:12px;font-weight:700}.detail-list dd{margin:0;font-weight:750;line-height:1.45}.batch-audit-card{margin-top:18px}.batch-id{overflow-wrap:anywhere}.feeding-metrics{margin-bottom:24px}.setup-stack{gap:16px;display:grid}.setup-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.setup-panel>summary::-webkit-details-marker{display:none}.setup-panel>summary span:first-child,.setup-panel>summary strong,.setup-panel>summary small{display:block}.setup-panel>summary small{color:var(--text-muted);margin-top:4px;font-size:12px}.setup-panel[open]>summary{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.setup-panel h3{margin:22px 0 14px;font-size:16px}.setup-form{gap:18px;display:grid}.setup-form>p,.zero-state-copy p{color:var(--text-muted);line-height:1.55}.compact-fieldset{border:1px solid var(--border);border-radius:14px;min-width:0;margin:0;padding:14px}.compact-fieldset legend{color:var(--primary-strong);text-transform:uppercase;padding:0 6px;font-size:13px;font-weight:800}.setup-data-list{margin-bottom:20px}.feeding-history-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.feeding-history-list li{border-top:1px solid var(--border);padding:14px 0}.feeding-history-list li:first-child{border-top:0;padding-top:0}.feeding-history-list li:last-child{padding-bottom:0}.feeding-history-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feeding-history-heading strong,.feeding-history-heading span,.feeding-history-list>li>span{display:block}.feeding-history-heading span,.feeding-history-list>li>span{color:var(--text-muted);margin-top:3px;font-size:13px}.feeding-history-list .feeding-quantity{color:var(--primary-strong);flex:none;margin:0;font-size:15px;font-weight:800}.feeding-history-list p{background:var(--surface-muted);border-radius:10px;margin-top:9px;padding:9px 11px;font-size:13px}.feeding-latest-value{font-size:24px}.inventory-balance-list,.inventory-transaction-list{margin:0;padding:0;list-style:none;display:grid}.inventory-balance-list li,.inventory-transaction-list li{border-top:1px solid var(--border);padding:16px 0}.inventory-balance-list li:first-child,.inventory-transaction-list li:first-child{border-top:0;padding-top:0}.inventory-balance-list li:last-child,.inventory-transaction-list li:last-child{padding-bottom:0}.inventory-balance-heading,.inventory-transaction-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.inventory-balance-heading strong,.inventory-balance-heading span,.inventory-transaction-heading strong,.inventory-transaction-heading span,.inventory-transaction-list>li>span{display:block}.inventory-balance-heading span,.inventory-transaction-heading span,.inventory-transaction-list>li>span,.inventory-balance-list p{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.45}.inventory-balance-quantity{text-align:right;flex:none}.inventory-balance-quantity strong{color:var(--primary-strong);font-size:20px}.inventory-balance-list p{background:var(--surface-muted);border-radius:10px;margin-bottom:0;padding:9px 11px}.inventory-delta{border-radius:999px;flex:none;margin:0;padding:7px 10px;font-size:14px;font-weight:800}.inventory-delta.positive{background:var(--success-bg);color:var(--success-text)}.inventory-delta.negative{background:var(--warning-bg);color:var(--warning-text)}.inventory-transaction-list p{background:var(--surface-muted);border-radius:10px;margin-top:9px;padding:9px 11px;font-size:13px}.inventory-legend{gap:8px;margin-bottom:14px;display:grid}.inventory-legend span{background:var(--surface-muted);color:var(--text-muted);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45}.inventory-legend strong{color:var(--text)}.bottom-nav.minimal{grid-template-columns:1fr}.field-cycle-stack,.report-location-stack,.field-cycle-card{gap:18px;display:grid}.field-unit-code,.field-last-updated,.report-pond-card>p{color:var(--text-muted);font-size:13px}.field-fact-grid,.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-fact-grid>div,.report-summary-grid>div{background:var(--surface-muted);border-radius:12px;padding:12px}.field-fact-grid span,.field-fact-grid strong,.report-summary-grid span,.report-summary-grid strong{display:block}.field-fact-grid span,.report-summary-grid span{color:var(--text-muted);margin-bottom:4px;font-size:12px}.field-action-panel{border-top:1px solid var(--border);padding-top:14px}.field-action-panel>summary{color:var(--primary-strong);cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;padding:13px 0;font-weight:800;display:flex}.field-action-panel>summary span,.field-action-panel>summary strong{display:block}.field-action-panel>summary strong{color:var(--text-muted);font-size:12px}.field-action-form{gap:15px;padding-top:12px;display:grid}.field-action-form .form-alert,.field-action-blocked{margin:0}.field-action-blocked{background:var(--warning-bg);color:var(--warning-text);border-radius:12px;padding:12px;font-size:13px;line-height:1.5}.field-primary-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:14px;width:100%;min-height:56px;padding:14px 18px;font-size:16px;font-weight:800}.field-primary-button:disabled{cursor:not-allowed;opacity:.55}.field-primary-button.warning{background:var(--warning-text)}.report-card-grid{gap:14px;display:grid}.report-pond-card{border:1px solid var(--border);border-radius:16px;padding:16px}.report-pond-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.report-pond-heading strong,.report-pond-heading span{display:block}.report-pond-heading>div>span{color:var(--text-muted);margin-top:3px;font-size:13px}.report-pond-card>p{margin-top:14px}.report-latest-value{font-size:17px;line-height:1.35}.viewer-harvest-list{margin:0;padding:0;list-style:none;display:grid}.viewer-harvest-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 0;display:flex}.viewer-harvest-list li:first-child{border-top:0;padding-top:0}.viewer-harvest-list li:last-child{padding-bottom:0}.viewer-harvest-list strong,.viewer-harvest-list span{display:block}.viewer-harvest-list span,.viewer-harvest-count{color:var(--text-muted);margin-top:3px;font-size:13px}.viewer-harvest-count{text-align:right;flex:none;margin-top:0}@media (min-width:720px){body:has(.bottom-nav) .brand-footer{padding-bottom:18px}.app-shell{padding-bottom:0}.topbar{padding-inline:28px}.desktop-nav{align-items:center;gap:5px;margin-left:auto;display:flex}.desktop-nav .nav-link{min-height:40px;padding:8px 12px;font-size:13px}.bottom-nav{display:none}.page-container{padding:52px 28px 64px}.card-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-link{width:auto}.page-heading-row{justify-content:space-between;align-items:flex-start;display:flex}.page-actions{flex-direction:row;align-items:center;margin:0 0 0 24px}.page-heading-row .page-heading{flex:1}.back-link{margin:2px 0 0 24px}.field-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field.full-width{grid-column:1/-1}.form-footer{flex-direction:row;justify-content:space-between;align-items:center}.primary-button{flex:none}.section-heading{flex-direction:row;align-items:center}.management-unit-heading{flex-direction:row}.management-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.management-status-form{grid-template-columns:auto minmax(0,1fr);align-items:center}.access-current-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.access-current-summary>div{border-left:1px solid var(--border);border-top:0;padding:14px}.access-current-summary>div:first-child{border-left:0}.access-location-options{grid-template-columns:repeat(2,minmax(0,1fr))}.field-fact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
