@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.stocktake-notices{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px))}.stocktake-notice{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--glass-strong);color:var(--ink-950);border:1px solid var(--ink-200);box-shadow:var(--shadow)}.stocktake-notice span{flex:1;font-size:.92rem}@media(max-width:760px){.stocktake-notices{right:12px;left:12px;bottom:calc(76px + env(safe-area-inset-bottom));max-width:none}}.stocktake-review-card{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--ink-200);border-radius:var(--radius);background:var(--glass);box-shadow:var(--soft-shadow)}.stocktake-review-card header{display:flex;align-items:center;gap:8px}.stocktake-review-card h2{margin:0;font-size:1.05rem}.stocktake-review-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.stocktake-review-card li{display:flex;align-items:center;justify-content:space-between;gap:12px}.stocktake-review-card li span{display:grid}.stocktake-review-card small{color:var(--ink-500)}.water-region{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.water-region polygon{fill:#13a6b80f;stroke:#25c6cf;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.region-review{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--hover);color:var(--ink-950);font-size:.9rem}.region-review span{flex:1 1 220px}.detection-ring.outside{opacity:.45;border-style:dashed}.detection-ring.unknown i:after{content:"?";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.7em;font-weight:700;color:#fff}.dot-matches{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.dot-matches button{border:1px solid var(--ink-200);border-radius:999px;background:transparent;color:inherit;padding:2px 10px;font-size:.8rem;cursor:pointer}.dot-check{display:block;margin-top:2px;color:var(--ink-500)}.analysis-note{display:flex;gap:6px;align-items:flex-start;font-size:.85rem;color:var(--warn-text)}:root{color-scheme:light;font-family:Sora Variable,Nunito Variable,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink-950: #071928;--ink-850: #0d2842;--ink-700: #173c5c;--ink-500: #51687d;--ink-200: #cddbe4;--ink-100: #e8f1f5;--surface: #f7fbfb;--paper: #ffffff;--aqua-500: #25c6cf;--aqua-650: #0799b4;--blue-700: #075aa4;--blue-900: #063f7c;--blue-action: #075aa4;--mint: #4bbf88;--coral: #dd5d71;--amber: #e7a63b;--violet: #7357c8;--shadow: 0 18px 55px rgba(7, 25, 40, .12);--soft-shadow: 0 8px 26px rgba(7, 25, 40, .08);--radius: 8px;--stage: #071928;--chrome: #062136;--selected-bg: #0d2842;--glass: rgba(255, 255, 255, .82);--glass-strong: rgba(255, 255, 255, .94);--hover: #eef8f7;--surface-raised: #f8fbfa;--tint-gradient: linear-gradient(145deg, #eef8f7, #e4f0f3);--warn-bg: #fff8e9;--warn-text: #8a5b09;--danger-bg: #fff4f5;--danger-text: #9a2d42;--ok-bg: #f2f9f5;--ok-text: #25734f}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink-950: #e8f1f5;--ink-850: #d6e4ec;--ink-700: #b9ccd8;--ink-500: #9fb4c4;--ink-200: #2a4d6b;--ink-100: #143552;--blue-700: #74c7ff;--blue-900: #c0e7ff;--surface: #06182a;--paper: #0d2842;--selected-bg: #0799b4;--glass: rgba(13, 40, 66, .86);--glass-strong: rgba(13, 40, 66, .96);--hover: #16395a;--surface-raised: #0f2e4b;--tint-gradient: linear-gradient(145deg, #10304d, #0d2842);--warn-bg: #3a2f14;--warn-text: #f0c46a;--danger-bg: #3d1a25;--danger-text: #f3a0af;--ok-bg: #123a2f;--ok-text: #7fdcaa;--shadow: 0 18px 55px rgba(0, 0, 0, .45);--soft-shadow: 0 8px 26px rgba(0, 0, 0, .35)}}:root[data-theme=dark]{color-scheme:dark;--ink-950: #e8f1f5;--ink-850: #d6e4ec;--ink-700: #b9ccd8;--ink-500: #9fb4c4;--ink-200: #2a4d6b;--ink-100: #143552;--blue-700: #74c7ff;--blue-900: #c0e7ff;--surface: #06182a;--paper: #0d2842;--selected-bg: #0799b4;--glass: rgba(13, 40, 66, .86);--glass-strong: rgba(13, 40, 66, .96);--hover: #16395a;--surface-raised: #0f2e4b;--tint-gradient: linear-gradient(145deg, #10304d, #0d2842);--warn-bg: #3a2f14;--warn-text: #f0c46a;--danger-bg: #3d1a25;--danger-text: #f3a0af;--ok-bg: #123a2f;--ok-text: #7fdcaa;--shadow: 0 18px 55px rgba(0, 0, 0, .45);--soft-shadow: 0 8px 26px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{min-width:320px;margin:0;background:var(--surface);color:var(--ink-950)}button,input,select{font:inherit}button{cursor:pointer}.splash{min-height:100vh;display:grid;place-items:center}.splash img{width:min(280px,72vw)}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,560px) minmax(280px,1fr);gap:8vw;align-items:center;padding:clamp(22px,5vw,72px)}.login-panel{display:grid;gap:28px;max-width:560px}.login-lockup{width:min(320px,72vw)}.login-brand{display:grid;justify-items:center;gap:2px;text-align:center}.login-brand img{width:min(300px,70vw);height:142px;object-fit:contain}.login-brand strong{color:var(--ink-950);font-family:Nunito Variable,system-ui,sans-serif;font-size:3.6rem;font-weight:1000;line-height:.9}.login-brand span{margin-top:9px;color:var(--ink-500);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:0}.login-panel h1,.topbar h1,.capture-hero h2,.section-heading h2,.toolbar-band h2,.planner-panel h2{margin:0;font-family:Nunito Variable,Sora Variable,system-ui,sans-serif;font-weight:900;letter-spacing:0;color:var(--ink-950)}.login-panel h1{max-width:12ch;font-size:3.6rem;line-height:.92}.eyebrow{margin:0 0 7px;color:var(--aqua-650);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0}.login-form{display:grid;gap:14px;max-width:430px}label{display:grid;gap:7px;color:var(--ink-700);font-size:.82rem;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--ink-200);border-radius:var(--radius);padding:10px 12px;background:var(--paper);color:var(--ink-950);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--aqua-650);box-shadow:0 0 0 4px #25c6cf24}textarea{min-height:92px;resize:vertical}.primary-action,.ghost-action,.text-action,.icon-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:var(--radius);min-height:40px;padding:0 14px;font-weight:900}.primary-action{background:linear-gradient(135deg,var(--aqua-500),var(--blue-action));color:#fff;box-shadow:0 14px 28px #075aa438}.primary-action:disabled{cursor:not-allowed;opacity:.62}.ghost-action,.icon-action{background:var(--paper);color:var(--ink-850);border:1px solid var(--ink-100)}.text-action{min-height:auto;padding:0;background:transparent;color:var(--blue-700)}.form-error{margin:0;color:var(--coral);font-weight:800}.login-aside{align-self:stretch;display:flex;flex-direction:column;justify-content:end;gap:16px;min-height:520px;padding:36px;border-radius:var(--radius);background:linear-gradient(160deg,#0719282e,#071928b8),url(/brand/shoal-symbol.png) center 18% / min(520px,88%) no-repeat,linear-gradient(135deg,#edfafa,#dff5f6);color:#fff;overflow:hidden}.login-aside h2{margin:0;font-family:Nunito Variable,system-ui,sans-serif;font-size:3rem;line-height:.95}.login-aside p{max-width:420px;margin:0;color:#ffffffd1;font-weight:700}.signal-strip{display:flex;gap:8px}.signal-strip span{width:48px;height:8px;border-radius:999px;background:var(--aqua-500)}.app-shell{min-height:100vh;display:grid;grid-template-columns:278px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:26px;padding:22px;background:var(--chrome);color:#fff}.brand-row{display:grid;justify-items:center;align-items:center;gap:2px;padding:2px 0 8px}.brand-row img{width:112px;height:78px;object-fit:contain}.brand-row strong{display:block;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.45rem;font-weight:1000;line-height:1}.brand-row span,.account-box span{display:block;color:#ffffff9e;font-size:.78rem;font-weight:800}.sidebar nav{display:grid;gap:7px}.sidebar nav button,.sidebar nav a{display:flex;text-decoration:none;align-items:center;gap:12px;width:100%;min-height:45px;border:0;border-radius:var(--radius);padding:0 13px;background:transparent;color:#ffffffb8;font-weight:800;text-align:left}.sidebar nav button.active,.sidebar nav button:hover,.sidebar nav a.active,.sidebar nav a:hover{background:#25c6cf26;color:#fff}.account-box{margin-top:auto;display:grid;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius)}.account-box strong{overflow-wrap:anywhere}.account-box button,.account-box a{width:fit-content;border:0;background:transparent;color:var(--aqua-500);padding:0;font-weight:900;display:inline-flex;align-items:center;gap:7px;text-decoration:none}.workspace{min-width:0;padding:20px clamp(18px,3vw,38px) 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.topbar h1{font-size:1.75rem;line-height:1}.workspace-warning{display:flex;align-items:center;gap:10px;margin:-10px 0 22px;border-left:4px solid var(--amber);padding:10px 12px;background:var(--warn-bg);color:var(--ink-700);font-size:.82rem;font-weight:800}.workspace-warning button{margin-left:auto;border:0;background:transparent;color:var(--blue-700);font-weight:900}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar-actions{display:flex;align-items:center;gap:12px}.mobile-brand{display:none;width:46px;height:42px;border:0;background:transparent;padding:0}.mobile-brand img{width:100%;height:100%;object-fit:contain}.view-stack{display:grid;gap:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card,.review-panel,.tank-row,.tank-card,.goods-card,.planner-panel,.result-panel,.admin-card,.correction-table{border:1px solid rgba(205,219,228,.78);border-radius:var(--radius);background:var(--glass);box-shadow:var(--soft-shadow)}.metric-card{display:flex;align-items:center;gap:13px;min-height:112px;padding:18px}.metric-card svg{flex:0 0 auto}.metric-card span{display:block;color:var(--ink-500);font-size:.78rem;font-weight:800}.metric-card strong{display:block;margin-top:5px;font-size:1.8rem;line-height:1.05;overflow-wrap:anywhere}.metric-card.blue svg{color:var(--blue-700)}.metric-card.green svg{color:var(--mint)}.metric-card.coral svg{color:var(--coral)}.metric-card.amber svg{color:var(--amber)}.split-layout,.tool-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:26px;align-items:start}.section-heading,.toolbar-band,.capture-actions,.capture-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading{margin-bottom:14px}.section-heading h2,.toolbar-band h2,.capture-hero h2{font-size:1.45rem}.tank-list{display:grid;gap:10px}.tank-row{display:flex;justify-content:space-between;gap:16px;padding:15px 16px}.tank-row strong,.tank-card strong,.goods-card h3,.admin-card h3{color:var(--ink-950)}.tank-row span,.goods-card p,.admin-card p,.subtle-copy{color:var(--ink-500)}.tank-row small,.parameter-row small{color:var(--ink-500);font-size:.74rem}.tank-row-meta{display:flex;align-items:center;gap:10px;text-align:right;white-space:nowrap}.status,.pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:0 10px;background:#25c6cf1f;color:var(--blue-900);font-size:.73rem;font-weight:900}.status.ready{background:#4bbf8829;color:var(--ok-text)}.status.watch,.pill.amber{background:#e7a63b2e;color:var(--warn-text)}.status.action{background:#dd5d7129;color:var(--danger-text)}.review-panel{display:grid;grid-template-columns:168px minmax(0,1fr);gap:18px;padding:18px;overflow:hidden}.review-panel img{width:100%;aspect-ratio:1.25;object-fit:contain;border-radius:var(--radius);background:linear-gradient(135deg,#25c6cf14,#075aa417)}.review-copy h3{margin:15px 0 7px;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.6rem;line-height:1}.review-copy p{margin:0;color:var(--ink-500)}.capture-view{max-width:1180px}.capture-hero,.toolbar-band{padding:13px 15px;border-radius:var(--radius);border:1px solid var(--ink-100);background:var(--paper)}.capture-hero .searchable-select{max-width:320px}.capture-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,170px));gap:12px;justify-content:start}.camera-tile,.photo-tile{position:relative;display:grid;place-items:center;min-height:128px;aspect-ratio:1;border:1px dashed rgba(7,90,164,.28);border-radius:var(--radius);overflow:hidden;background:var(--glass)}.camera-tile{gap:6px;color:var(--blue-700);text-align:center}.camera-tile input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.camera-tile strong{font-size:1.5rem}.camera-tile span{color:var(--ink-500);font-size:.8rem;font-weight:900}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile>span{position:absolute;left:8px;top:8px;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#071928bd;color:#fff;font-weight:900}.detection-dot{position:absolute;width:17px;height:17px;border:3px solid white;border-radius:999px;padding:0;background:var(--aqua-500);box-shadow:0 0 0 2px #0719286b;transform:translate(-50%,-50%)}.detection-dot.review{background:var(--amber)}.capture-actions{padding:14px 0}.capture-actions p{margin:8px 0 0;color:var(--ink-500);font-weight:800}.correction-table{display:grid;gap:10px;padding:18px}.correction-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--ink-100)}.correction-row span{display:block;color:var(--ink-500);font-size:.78rem}.tank-board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px;align-items:start}.tank-column{display:grid;gap:12px}.column-title{display:flex;align-items:center;gap:9px;min-height:38px;color:var(--ink-850)}.column-title span{width:10px;height:24px;border-radius:999px}.column-title small{margin-left:auto;color:var(--ink-500);font-weight:900}.tank-card{display:grid;gap:11px;padding:13px}.tank-card-head,.goods-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.parameter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.parameter-row span{display:flex;align-items:center;gap:5px;min-width:0;color:var(--ink-700);font-size:.78rem;font-weight:800}.livestock-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.livestock-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding-top:8px;border-top:1px solid var(--ink-100)}.livestock-list small{grid-column:1 / -1;color:var(--ink-500);font-style:italic}.toolbar-band input{max-width:320px}.goods-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}.goods-card{display:grid;gap:10px;padding:13px}.goods-card h3,.admin-card h3{margin:0;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.35rem;line-height:1.05}.goods-card p,.admin-card p{margin:0}.quantity-stepper{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;align-items:center}.quantity-stepper button{width:40px;height:40px;border:0;border-radius:var(--radius);background:var(--ink-100);color:var(--ink-950);font-size:1.2rem;font-weight:900}.quantity-stepper strong{min-width:0;text-align:center;overflow-wrap:anywhere}.tool-layout{grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr)}.planner-panel,.result-panel{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid small{color:var(--ink-500);font-weight:800}.selection-list{display:grid;gap:10px;margin-top:18px}.selection-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px}.result-panel{display:grid;grid-template-columns:180px minmax(0,1fr);gap:22px;align-items:center}.capacity-ring{--capacity: 50%;width:168px;aspect-ratio:1;display:grid;place-items:center;border-radius:999px;background:conic-gradient(var(--aqua-500) var(--capacity),var(--ink-100) 0);position:relative}.capacity-ring:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:inherit;background:var(--paper)}.capacity-ring strong,.capacity-ring span{position:relative;z-index:1}.capacity-ring strong{align-self:end;font-size:2rem;font-weight:1000}.capacity-ring span{align-self:start;color:var(--ink-500);font-size:.75rem;font-weight:900}.result-stats{display:grid;gap:9px}.result-stats span{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ink-100);padding-bottom:8px;color:var(--ink-500);font-weight:800}.result-stats strong{color:var(--ink-950)}.warning-list{grid-column:1 / -1;display:grid;gap:9px}.warning-list p{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink-700);font-weight:800}.warning-list svg{color:var(--amber);flex:0 0 auto}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px}.sales-layout,.invoice-layout,.settings-grid{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);gap:22px;align-items:start}.add-line-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.add-line-grid label{align-content:start}.sale-picker-field{display:grid;align-content:start;gap:7px;color:var(--ink-700);font-size:.78rem;font-weight:800}.sale-combobox{width:100%}.sale-picker-field>.ghost-action{justify-self:start}.water-buttons,.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.sale-lines,.recent-list,.rate-list{display:grid;gap:10px;margin-top:18px}.sale-line,.recent-row,.rate-list article{display:grid;grid-template-columns:minmax(0,1fr) 86px 112px auto 42px;gap:10px;align-items:center;padding:12px;border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--paper)}.sale-line span,.recent-row span,.rate-list span{display:block;color:var(--ink-500);font-size:.76rem;font-weight:800}.sale-line input{min-width:0;padding:10px}.sale-line .icon-action{min-height:38px;padding:0;font-size:1.3rem}.sale-summary{position:sticky;top:24px}.sale-summary>svg{color:var(--blue-700)}.recent-list{margin-top:0}.recent-row{grid-template-columns:minmax(0,1fr) auto;box-shadow:var(--soft-shadow)}.invoice-capture{align-items:center}.file-drop{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:70px;min-width:min(440px,100%);border:1px dashed rgba(7,90,164,.32);border-radius:var(--radius);background:var(--glass);color:var(--blue-900);text-align:center}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.invoice-list{display:grid;gap:10px}.invoice-list button{display:grid;gap:5px;width:100%;border:1px solid var(--ink-100);border-radius:var(--radius);padding:14px;background:var(--paper);color:var(--ink-850);text-align:left;box-shadow:var(--soft-shadow)}.invoice-list button.active{border-color:var(--aqua-650);box-shadow:0 0 0 4px #25c6cf1f}.invoice-list span{color:var(--ink-500);font-size:.78rem;font-weight:800}.invoice-table{gap:14px}.invoice-warnings{padding:12px;border-radius:var(--radius);background:#e7a63b1a}.invoice-line{display:grid;grid-template-columns:minmax(180px,1fr) repeat(5,minmax(90px,.45fr));gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--ink-100)}.invoice-line.illustrated-invoice-line{grid-template-columns:72px minmax(180px,1fr) repeat(5,minmax(90px,.45fr))}.invoice-item-photo{width:72px;height:58px;align-self:start;border-radius:5px;object-fit:contain;background:var(--hover)}.invoice-line span{display:block;color:var(--ink-500);font-size:.76rem;font-weight:800}.invoice-line input,.invoice-line .searchable-select input{padding:10px}.settings-grid{grid-template-columns:repeat(2,minmax(320px,1fr))}.rate-list{margin:0 0 18px}.rate-list article{grid-template-columns:minmax(0,1fr) auto}.admin-card{display:grid;align-content:start;gap:14px;padding:18px}.admin-card svg{color:var(--blue-700)}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-list span{border:2px solid var(--ink-200);border-radius:999px;padding:7px 10px;color:var(--ink-700);font-size:.78rem;font-weight:900}.empty-state{min-height:360px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.mobile-nav{display:none}.compact-login{grid-template-columns:minmax(300px,440px);justify-content:center;padding:28px;background:var(--surface)}.compact-login .login-panel{width:100%;padding:34px;border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--paper);box-shadow:var(--soft-shadow)}.compact-login .login-lockup,.compact-login .login-form{width:100%;max-width:none}.account-box button{display:inline-flex;align-items:center;gap:6px}.segmented,.sub-tabs{display:flex;gap:4px;width:fit-content;padding:4px;border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--paper);overflow-x:auto}.segmented button,.sub-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:5px;padding:0 13px;background:transparent;color:var(--ink-500);font-size:.78rem;font-weight:900;white-space:nowrap}.segmented button.active,.sub-tabs button.active{background:var(--selected-bg);color:#fff}.segmented.compact button{min-height:34px}.back-action{width:fit-content}.column-title .icon-action.small{width:32px;min-height:32px;padding:0}.tank-column.drag-target{min-height:180px;border-radius:var(--radius);outline:1px dashed var(--aqua-650);outline-offset:7px}.tank-card{overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tank-card:hover,.tank-card:focus-within{transform:translateY(-2px);border-color:#0799b4a6;box-shadow:0 14px 34px #07192824}.tank-card[draggable=true]{cursor:grab}.tank-card-photo{width:100%;height:104px;object-fit:cover}.tank-photo-button{width:calc(100% + 26px);margin:-13px -13px 0;border:0;padding:0;overflow:hidden;background:var(--hover)}.tank-photo-button:hover .tank-card-photo,.tank-photo-button:focus-visible .tank-card-photo{transform:scale(1.025)}.tank-card-photo{display:block;transition:transform .18s ease}.tank-name-button{min-width:0;border:0;padding:0;background:transparent;color:inherit;text-align:left}.tank-name-button:hover strong{color:var(--blue-700)}.tank-detail-title,.tank-name-editor{display:flex;align-items:center;gap:9px}.tank-name-editor input{max-width:360px;font-size:1.25rem;font-weight:900}.tank-quick-meta,.tank-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-500);font-size:.75rem;font-weight:800}.tank-quick-meta span{display:inline-flex;align-items:center;gap:4px}.tank-card-actions{border-top:1px solid var(--ink-100);padding-top:11px}.tank-card-actions .ghost-action{min-height:36px}.tank-detail-band,.invoice-upload-band,.shipment-summary,.tool-page,.settings-panel{border:1px solid rgba(205,219,228,.78);border-radius:var(--radius);background:var(--paper);box-shadow:var(--soft-shadow)}.tank-detail-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}.tank-detail-band h2,.tool-page h2,.shipment-summary h2,.invoice-upload-band h2,.settings-panel h2{margin:0;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.45rem;line-height:1.05}.tank-detail-band p:not(.eyebrow){margin:8px 0 0;color:var(--ink-500)}.species-stock-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.species-stock-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--ink-100);border-radius:var(--radius);padding:10px;background:var(--paper)}.species-stock-card b{font-size:1.6rem}.species-stock-card span,.species-cell small{display:block;color:var(--ink-500);font-size:.74rem}.species-photo,.species-cell img,.image-fallback{width:70px;height:54px;border-radius:5px;object-fit:cover;background:var(--ink-100)}.data-table,.currency-table{display:grid;border:1px solid var(--ink-100);border-radius:var(--radius);overflow:hidden;background:var(--paper);box-shadow:var(--soft-shadow)}.table-head,.table-row{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(100px,.35fr) minmax(240px,1fr);gap:16px;align-items:center;padding:12px 16px}.table-head{background:var(--hover);color:var(--ink-500);font-size:.72rem;font-weight:900;text-transform:uppercase}button.table-row{width:100%;border:0;border-top:1px solid var(--ink-100);background:var(--paper);color:var(--ink-850);text-align:left}button.table-row:hover{background:var(--surface-raised)}.species-cell{display:flex;align-items:center;gap:12px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;justify-items:end;background:#07192861}.side-sheet{width:min(480px,100vw);height:100%;display:grid;align-content:start;gap:18px;overflow-y:auto;padding:26px;background:var(--paper);box-shadow:var(--shadow)}.volume-fields{display:grid;gap:13px}.dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dimension-grid output{grid-column:1 / -1;border-radius:var(--radius);padding:12px;background:var(--hover);color:var(--ink-850);font-weight:900}.crop-badge{position:absolute;right:7px;bottom:7px;border-radius:4px;padding:4px 6px;background:#071928c2;color:#fff;font-size:.6rem;font-weight:900}.capture-hero .pill{gap:6px;white-space:nowrap}.tool-suite{align-content:start}.tool-page{display:grid;gap:14px;padding:16px}.catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.catalogue-summary,.catalogue-search-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalogue-summary small,.catalogue-search-row small{color:var(--ink-500);font-size:.72rem;font-weight:800;white-space:nowrap}.catalogue-search-row .search-input{max-width:520px}.search-control{position:relative;display:flex;align-items:center;min-width:min(390px,100%)}.search-control svg{position:absolute;left:12px;z-index:1;color:var(--ink-500)}.search-control input{padding-left:39px}.species-picker{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}.species-picker button{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--ink-100);border-radius:var(--radius);padding:8px;background:var(--paper);color:var(--ink-850);text-align:left}.species-picker button.selected{border-color:var(--aqua-650);box-shadow:0 0 0 3px #0799b41f}.species-picker img{width:66px;height:50px;border-radius:5px;object-fit:cover}.species-picker small{display:block;color:var(--ink-500)}.species-picker .stock-badge,.stock-badge{display:block;width:fit-content;margin-top:5px;border-radius:4px;padding:3px 6px;font-size:.65rem;font-style:normal;font-weight:900}.species-combobox{position:relative;width:min(520px,100%)}.species-combobox .search-control{width:100%}.species-dropdown{position:absolute;z-index:12;top:calc(100% + 6px);left:0;right:0;max-height:420px;overflow-y:auto;border:1px solid var(--ink-200);border-radius:var(--radius);padding:5px;background:var(--paper);box-shadow:var(--shadow)}.species-dropdown>button{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;border-radius:5px;padding:7px;background:transparent;color:var(--ink-850);text-align:left}.species-dropdown>button:hover,.species-dropdown>button:focus-visible{background:var(--hover);outline:none}.species-dropdown .item-photo{width:58px;height:44px}.species-dropdown strong,.species-dropdown small,.species-dropdown em{display:block}.species-dropdown small{color:var(--ink-500);font-size:.7rem}.species-dropdown em{margin-bottom:2px}.species-dropdown>p{margin:0;padding:14px;color:var(--ink-500);font-size:.78rem}.stock-badge.available{background:#4bbf8829;color:var(--ok-text)}.stock-badge.order{background:var(--ink-100);color:var(--ink-500)}.compatibility-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.result-metric{display:grid;gap:6px;border-left:4px solid var(--mint);border-radius:5px;padding:14px;background:var(--ok-bg)}.result-metric.warning{border-color:var(--coral);background:var(--danger-bg)}.result-metric span{color:var(--ink-500);font-size:.72rem;font-weight:800}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.match-list{display:grid;gap:8px}.match-list article{display:grid;grid-template-columns:68px minmax(0,1fr) auto auto;gap:12px;align-items:center;border-top:1px solid var(--ink-100);padding-top:9px}.item-photo{object-fit:contain!important;background:var(--tint-gradient)}.selected-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:12px}.selected-profile-grid article{display:grid;grid-template-columns:128px minmax(0,1fr);gap:15px;border:1px solid var(--ink-100);border-radius:var(--radius);padding:13px;background:var(--surface-raised)}.selected-profile-grid>article>img{width:128px;height:108px;border-radius:6px}.profile-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.profile-title strong,.profile-title em{display:block}.profile-title em,.selected-profile-grid p{color:var(--ink-500);font-size:.76rem}.selected-profile-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.selected-profile-grid dl div{border-top:1px solid var(--ink-100);padding-top:5px}.selected-profile-grid dt{color:var(--ink-500);font-size:.64rem}.selected-profile-grid dd{margin:2px 0 0;font-size:.72rem;font-weight:900}.selected-profile-grid a,.fish-guide-grid a{display:inline-flex;align-items:center;gap:5px;color:var(--blue-700);font-size:.74rem;font-weight:900;text-decoration:none}.warning-list.has-warnings{border-left:4px solid var(--coral);padding:12px;background:var(--danger-bg)}.warning-list.clear{border-left:4px solid var(--mint);padding:12px;background:var(--ok-bg)}.selected-inline-profile{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:center;margin:14px 0}.selected-inline-profile img{width:80px;height:64px;border-radius:5px}.selected-inline-profile small{display:block;color:var(--ink-500)}.acclimation-steps{display:grid;grid-template-columns:1fr;align-items:start}.acclimation-steps ol{display:grid;gap:12px;margin:0;padding-left:22px;color:var(--ink-700)}.catalogue-filters{max-width:100%}.match-list img{width:68px;height:50px;border-radius:5px;object-fit:cover}.match-list span:not(.status){display:block;color:var(--ink-500);font-size:.76rem}.volume-tool{max-width:760px}.volume-result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;align-items:center;border-top:1px solid var(--ink-100);padding-top:18px}.volume-result svg{grid-row:1 / 3;color:var(--aqua-650)}.volume-result strong{font-size:1.55rem}.volume-result span{color:var(--ink-500);font-size:.78rem}.search-input{max-width:340px}.fish-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px}.fish-guide-grid article{overflow:hidden;border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--paper)}.fish-guide-grid article>img{width:100%;height:176px;object-fit:contain;background:var(--tint-gradient)}.fish-guide-grid article>div{padding:16px}.fish-guide-grid h3{margin:12px 0 0;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.35rem}.fish-guide-grid em,.fish-guide-grid small{color:var(--ink-500)}.fish-guide-grid p{color:var(--ink-700);font-size:.84rem}.fish-guide-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fish-guide-grid dl div{border-top:1px solid var(--ink-100);padding-top:7px}.fish-guide-grid dt{color:var(--ink-500);font-size:.68rem}.fish-guide-grid dd{margin:2px 0 0;font-size:.78rem;font-weight:900}.invoice-upload-band{display:grid;gap:18px;padding:22px}.invoice-upload-band p:not(.eyebrow){max-width:720px;margin-bottom:0}.capture-choice{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.upload-choice{position:relative;display:grid;justify-items:start;gap:5px;min-height:118px;border:1px dashed var(--aqua-650);border-radius:var(--radius);padding:17px;background:var(--surface-raised);color:var(--ink-850)}.upload-choice input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-choice span{color:var(--ink-500);font-size:.76rem}.selected-file,.capture-options,.check-row,.inline-create,.invite-row{display:flex;align-items:center;gap:10px}.selected-file{border-radius:var(--radius);padding:10px 12px;background:var(--ink-100)}.selected-file button{margin-left:auto;border:0;background:transparent;color:var(--coral);font-weight:900}.manual-entry summary{display:inline-flex;align-items:center;gap:6px;color:var(--ink-500);font-size:.78rem;font-weight:900;cursor:pointer}.manual-entry textarea{margin-top:10px}.capture-options{flex-wrap:wrap}.capture-options .searchable-select{width:min(290px,100%)}.capture-options .primary-action{margin-left:auto}.check-row{grid-template-columns:auto 1fr}.check-row input{width:auto}.shipment-summary{display:grid;gap:14px;padding:18px}.invoice-list button small{color:var(--aqua-650);font-weight:900}.invoice-line-head{display:grid;grid-template-columns:minmax(210px,1.2fr) repeat(4,minmax(78px,.42fr)) minmax(150px,.7fr);gap:10px;color:var(--ink-500);font-size:.67rem;font-weight:900;text-transform:uppercase}.invoice-item .searchable-select{margin-top:7px}.invoice-create-item{display:inline-flex;align-items:center;gap:6px;margin-top:7px;border:0;padding:0;background:transparent;color:var(--blue-700);font-size:.76rem;font-weight:900}.invoice-line .issue-notes{grid-column:1 / -1}.settings-view .sub-tabs{max-width:100%}.settings-panel{display:grid;gap:18px;padding:22px}.user-create-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:end}.catalogue-admin-list{display:grid;gap:8px}.catalogue-admin-list article{display:grid;grid-template-columns:72px minmax(180px,1fr) repeat(4,max-content);gap:10px;align-items:center;border-top:1px solid var(--ink-100);padding-top:9px}.catalogue-admin-list img{width:72px;height:58px;border-radius:5px;object-fit:contain;background:var(--hover)}.catalogue-admin-list small{display:block;color:var(--ink-500)}.upload-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--ink-100);border-radius:var(--radius);padding:0 13px;background:var(--paper);color:var(--ink-850);font-size:.76rem;font-weight:900;cursor:pointer}.upload-action input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.annotation-toolbar{display:flex;align-items:end;gap:12px;border:1px solid var(--ink-100);border-radius:var(--radius);padding:12px;background:var(--paper)}.annotation-toolbar label{min-width:240px}.annotation-toolbar p{margin:0 0 8px auto;color:var(--ink-500);font-size:.74rem;font-weight:800}.annotation-swatch{width:28px;height:28px;margin-bottom:8px;border:3px solid white;border-radius:999px;box-shadow:0 0 0 2px var(--ink-200)}.photo-tile.annotatable{cursor:crosshair}.illustrated-correction{grid-template-columns:72px minmax(180px,1fr) minmax(180px,.65fr) 100px}.illustrated-correction.needs-choice{border-left:4px solid var(--amber);padding-left:10px;background:#e7a63b0f}.illustrated-correction small{display:block;margin-top:4px;color:var(--warn-text);font-weight:900}.goods-photo{width:calc(100% + 26px);height:126px;margin:-13px -13px 0;object-fit:contain;background:var(--hover)}.picker-preview{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;align-items:center}.picker-preview img,.illustrated-sale-line>img{width:62px;height:50px;border-radius:5px;object-fit:contain;background:var(--hover)}.selection-row.illustrated-row{grid-template-columns:62px minmax(0,1fr) 100px;align-items:center}.selection-row.illustrated-row img{width:62px;height:50px;border-radius:5px}.sale-line.illustrated-sale-line{grid-template-columns:62px minmax(0,1fr) 88px 112px 90px auto 42px}.sale-line label{min-width:0;font-size:.68rem}.inline-message{margin:0;border-left:4px solid var(--aqua-650);padding:10px 12px;background:var(--hover);color:var(--ink-700);font-weight:800}.input-with-affix{display:flex;align-items:center;min-height:46px;border:1px solid var(--ink-200);border-radius:var(--radius);background:var(--paper);overflow:hidden}.input-with-affix:focus-within{border-color:var(--aqua-650);box-shadow:0 0 0 4px #25c6cf24}.input-with-affix input{min-width:0;border:0;box-shadow:none}.input-with-affix span{padding:0 13px;color:var(--ink-500);font-weight:900}.catalogue-admin-list article.generating{border-color:#25c6cf73;background:var(--surface-raised)}.catalogue-section-tabs,.catalogue-kind-tabs{width:100%}.catalogue-section-tabs button,.catalogue-kind-tabs button{flex:1}.catalogue-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#071928b3}.catalogue-dialog{width:min(920px,100%);max-height:calc(100vh - 36px);display:grid;gap:16px;overflow-y:auto;border-radius:var(--radius);padding:20px;background:var(--paper);box-shadow:var(--shadow)}.catalogue-dialog>header,.catalogue-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalogue-dialog h2{margin:0;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.45rem}.catalogue-dialog>footer{justify-content:flex-end;position:sticky;bottom:-20px;border-top:1px solid var(--ink-100);padding:12px 0 20px;background:var(--paper)}.catalogue-create-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.catalogue-create-form .full-width{grid-column:1 / -1}.catalogue-create-form small{color:var(--ink-500);font-weight:700}.compatibility-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);gap:16px;align-items:end;border:1px solid var(--ink-100);border-radius:var(--radius);padding:16px;background:var(--paper)}.stocking-summary{display:grid;grid-template-columns:142px minmax(0,1fr);gap:20px;align-items:center;border:1px solid var(--ink-100);border-radius:var(--radius);padding:16px;background:var(--surface-raised)}.stocking-summary .capacity-ring{width:132px}.compat-stat{border:1px solid transparent;border-top-color:var(--ink-100)!important;border-radius:4px;padding:5px}.compat-stat.warning{border-color:#dd5d718c!important;background:var(--danger-bg);color:var(--danger-text)}.quantity-field{grid-template-columns:minmax(0,1fr) 90px;align-items:center;margin-top:10px}.quantity-field input{padding:8px 10px}.profile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-editor,.user-list,.currency-table{display:grid;gap:8px}.section-editor article{display:grid;grid-template-columns:48px minmax(0,1fr) 80px 44px;gap:9px;align-items:center}.colour-input{height:44px;padding:4px}.order-input{text-align:center}.inline-create input[type=color]{width:48px;height:44px;padding:4px}.currency-table{max-height:520px;overflow:auto}.currency-table .table-head,.currency-table .table-row{grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(140px,.7fr)}.currency-table .table-row>span,.currency-table .table-row small{display:block;color:var(--ink-500)}.invite-row input{flex:1}.invite-row .searchable-select{width:150px}.user-list article{display:grid;grid-template-columns:minmax(210px,1fr) 130px repeat(3,auto) 44px;gap:8px;align-items:center;border-top:1px solid var(--ink-100);padding-top:10px}.user-identity{display:flex;align-items:center;gap:10px}.user-identity small{display:block;color:var(--ink-500)}.security-panel{max-width:720px}.security-panel>svg{color:var(--aqua-650)}.compact-toolbar{min-height:54px}.compact-toolbar>strong{color:var(--ink-700);font-size:.82rem}.capture-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.capture-source{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid var(--ink-200);border-radius:var(--radius);padding:10px 13px;background:var(--paper);color:var(--blue-700);overflow:hidden}.capture-source:hover,.capture-source:focus-within{border-color:var(--aqua-650);background:var(--surface-raised)}.capture-source span,.capture-source small{display:block}.capture-source small{margin-top:2px;color:var(--ink-500);font-size:.7rem}.capture-source input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.photo-tile.filled{cursor:zoom-in;border-style:solid}.photo-open,.photo-delete{position:absolute;top:7px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:5px;padding:0;background:#071928d1;color:#fff}.photo-open{right:42px}.photo-delete{right:7px;background:#9a2d42e6}.photo-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:18px;background:#071928c2}.photo-editor{width:min(1120px,100%);max-height:calc(100vh - 36px);display:grid;grid-template-rows:auto minmax(220px,1fr) auto auto auto;gap:12px;overflow-y:auto;border-radius:var(--radius);padding:16px;background:var(--paper);box-shadow:var(--shadow)}.photo-editor>header,.photo-editor>footer,.photo-editor-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-editor h2{margin:0;font-family:Nunito Variable,system-ui,sans-serif;font-size:1.35rem}.photo-editor-canvas{position:relative;width:fit-content;max-width:100%;min-height:220px;margin:auto;overflow:hidden;border-radius:5px;background:var(--stage)}.photo-editor-canvas.add{cursor:crosshair}.photo-editor-canvas.remove{cursor:default}.photo-editor-canvas>img{display:block;width:auto;max-width:100%;height:auto;max-height:56vh;object-fit:contain}.crop-frame{position:absolute;border:2px solid var(--aqua-500);background:#25c6cf0f;box-shadow:0 0 0 9999px #0719287a;pointer-events:none}.photo-editor-tools{justify-content:flex-start}.photo-editor-tools>label{min-width:min(360px,100%)}.photo-editor-tools .annotation-swatch{flex:0 0 auto;margin:20px 2px 0 0}.photo-editor-tools .segmented{margin:20px 0 0 auto}.crop-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:1px solid var(--ink-100);border-radius:var(--radius);padding:10px;background:var(--surface-raised)}.crop-controls input{padding:0;accent-color:var(--aqua-650)}.ghost-action.danger{color:var(--danger-text)}.mfa-setup{display:grid;gap:12px}.mfa-setup code{overflow-wrap:anywhere;border-radius:var(--radius);padding:14px;background:var(--stage);color:#fff;font-size:1rem}@media(max-width:1180px){.metric-grid,.goods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tank-board,.admin-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.species-picker,.compatibility-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.fish-guide-grid,.species-stock-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.user-list article{grid-template-columns:minmax(210px,1fr) 120px repeat(2,auto)}}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-aside{min-height:300px}.app-shell{display:block}.sidebar{display:none}.workspace{padding-bottom:94px}.mobile-brand,.mobile-nav{display:flex}.topbar{align-items:flex-start}.topbar-actions .ghost-action{display:none}.split-layout,.tool-layout,.sales-layout,.invoice-layout,.settings-grid,.result-panel{grid-template-columns:1fr}.capture-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}.mobile-nav{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:5;display:flex;gap:4px;padding:8px;border:1px solid rgba(205,219,228,.9);border-radius:var(--radius);background:var(--glass-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow-x:auto}.mobile-nav button,.mobile-nav a{text-decoration:none;display:grid;place-items:center;gap:3px;min-height:54px;border:0;border-radius:var(--radius);background:transparent;color:var(--ink-500);font-size:.64rem;font-weight:900;flex:1 0 56px}.mobile-nav button.active,.mobile-nav a.active{background:#25c6cf21;color:var(--blue-900)}}@media(max-width:620px){.catalogue-dialog-backdrop{align-items:end;padding:0}.catalogue-dialog{max-height:94vh;border-radius:var(--radius) var(--radius) 0 0;padding:14px}.catalogue-create-form{grid-template-columns:1fr}.catalogue-create-form .full-width{grid-column:auto}.catalogue-dialog>footer{bottom:-14px;padding-bottom:14px}.login-page{padding:18px}.login-panel h1{font-size:2.6rem}.login-aside{display:none}.workspace{padding:17px 13px 92px}.topbar{margin-bottom:20px}.topbar h1{font-size:1.45rem}.metric-grid,.goods-grid,.tank-board,.admin-grid,.form-grid,.form-grid.three,.form-grid.four,.species-picker,.compatibility-grid,.fish-guide-grid,.species-stock-grid,.capture-choice,.selected-profile-grid,.user-create-grid{grid-template-columns:1fr}.tank-detail-band,.capture-options,.inline-create,.invite-row,.catalogue-toolbar,.annotation-toolbar,.catalogue-summary,.catalogue-search-row{align-items:stretch;flex-direction:column}.capture-options .primary-action{margin-left:0}.table-head{display:none}.stock-table .table-row,.currency-table .table-row{grid-template-columns:1fr}.invoice-line-head{display:none}.user-list article,.section-editor article{grid-template-columns:1fr}.invoice-line .issue-notes{grid-column:auto}.sub-tabs{width:100%}.section-heading,.toolbar-band,.capture-actions,.capture-hero{align-items:stretch;flex-direction:column}.capture-hero .searchable-select,.toolbar-band input{max-width:none}.capture-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.capture-source-actions,.crop-controls{grid-template-columns:1fr 1fr}.photo-editor-backdrop{align-items:end;padding:0}.photo-editor{width:100%;max-height:94vh;border-radius:var(--radius) var(--radius) 0 0;padding:12px}.photo-editor-tools{align-items:stretch;flex-direction:column}.photo-editor-tools .annotation-swatch{display:none}.photo-editor-tools .segmented{width:100%;margin:0}.photo-editor-tools .segmented button{flex:1}.photo-editor>footer{position:sticky;bottom:-12px;border-top:1px solid var(--ink-100);padding:10px 0 12px;background:var(--paper)}.camera-tile,.photo-tile{min-height:136px}.tank-row{display:grid}.tank-row-meta{justify-content:space-between;text-align:left}.review-panel,.parameter-row{grid-template-columns:1fr}.correction-row,.selection-row,.sale-line,.invoice-line,.add-line-grid,.illustrated-correction,.sale-line.illustrated-sale-line,.catalogue-admin-list article{grid-template-columns:1fr}.invoice-line.illustrated-invoice-line{grid-template-columns:1fr}.selected-profile-grid article{grid-template-columns:92px minmax(0,1fr)}.selected-profile-grid>article>img{width:92px;height:80px}.compatibility-setup,.stocking-summary{grid-template-columns:1fr}.search-control,.annotation-toolbar label{min-width:0;width:100%}.result-panel{justify-items:center}.result-stats{width:100%}}.capture-grid.growing{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-tile.preparing,.photo-tile.add-tile{gap:6px;color:var(--blue-700);font-weight:800;text-align:center}.photo-tile.add-tile{cursor:pointer}.photo-tile.add-tile input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.photo-tile.failed{border:2px solid var(--coral)}.analysis-badge{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;background:#071928c7;color:#fff;font-size:.72rem;font-weight:800}.analysis-badge.done{background:#2e8c5eeb}.analysis-badge.failed{background:#c44056f0}.photo-retry{position:absolute;right:8px;top:44px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:999px;background:var(--paper);color:var(--coral);box-shadow:var(--soft-shadow)}.gentle-note{margin:0;color:var(--ink-500);font-size:.92rem}.analysis-progress{display:grid;gap:8px;border-radius:var(--radius);padding:14px 16px;background:var(--ink-100)}.analysis-progress p{margin:0}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#075aa424}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--aqua-650);transition:width .4s ease}.analysis-failures .text-action{margin-left:6px}.suggestion-review h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.suggestion-review .correction-row{grid-template-columns:72px minmax(0,1fr) minmax(150px,220px) 92px auto}.correction-row.confirmed{border-color:#4bbf888c;background:#4bbf8812}.confirm-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:800;white-space:nowrap}.confirm-toggle input{width:22px;height:22px}.add-missed .searchable-select{flex:1;min-width:0}.photo-editor{grid-template-rows:none;grid-auto-rows:auto}.photo-editor-tools{flex-wrap:wrap}.photo-editor-tools .segmented.compact{margin:0}.dot-controls,.zoom-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.zoom-controls span{min-width:48px;text-align:center;font-weight:800}.dot-size{display:flex;align-items:center;gap:10px;font-weight:800}.dot-size input{width:150px}.dot-preview{display:inline-block;flex:0 0 auto;border:2px solid var(--aqua-650);border-radius:999px}.photo-stage{max-height:62vh;overflow:auto;border-radius:5px;background:var(--stage);touch-action:pan-x pan-y}.photo-stage-inner{min-width:100%;margin:0 auto}.photo-canvas{position:relative;line-height:0}.photo-canvas.mode-add{cursor:crosshair}.photo-canvas>img,.count-area-crop img{display:block;width:100%;height:auto}.count-area-crop{display:block;--rc-drag-handle-size: 44px;--rc-drag-handle-mobile-size: 44px;--rc-drag-handle-bg-colour: transparent;--rc-drag-bar-size: 22px;--rc-border-color: rgba(255, 255, 255, .9)}.count-area-crop .ReactCrop__drag-handle{border:0}.count-area-crop .ReactCrop__drag-handle:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:2px solid var(--ink-950);border-radius:4px;background:#fff}.ignore-mask{position:absolute;border:2px solid var(--aqua-500);box-shadow:0 0 0 9999px #07192880;pointer-events:none}.detection-box{position:absolute;border:2px dashed;border-radius:3px;pointer-events:none}.detection-outline{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.detection-outline polygon{fill:none;stroke-width:.4;vector-effect:non-scaling-stroke}.detection-ring{position:absolute;display:grid;place-items:center;min-width:6px;min-height:6px;padding:0;border:2px solid currentColor;border-radius:999px;background:transparent;box-shadow:0 0 0 1px #ffffffd9,inset 0 0 0 1px #fff9;transform:translate(-50%,-50%)}.detection-ring:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.detection-ring i{width:3px;height:3px;border-radius:999px;background:currentColor;box-shadow:0 0 0 1px #fff}.detection-ring.review{border-style:dashed}.detection-ring.selected{border-width:3px}.detection-ring.visible-sign{box-shadow:0 0 0 3px var(--amber),0 0 0 5px var(--paper)}.visible-signs-notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-left:3px solid var(--amber);background:var(--warn-bg);color:var(--warn-text);font-size:.8rem}.visible-signs-notice p{margin:3px 0 8px}.visible-signs-notice>div>div{display:flex;flex-wrap:wrap;gap:6px}.visible-signs-notice .ghost-action{font-size:.76rem}.dot-visible-sign{color:var(--warn-text)!important;font-weight:700}.dot-detail{display:flex;align-items:center;gap:10px;border-radius:var(--radius);padding:10px 12px;background:var(--ink-100)}.dot-detail div{display:grid;flex:1}.dot-detail small{color:var(--ink-500)}.area-actions{display:grid;gap:10px}.area-actions .subtle-copy{margin:0}@media(max-width:620px){.suggestion-review .correction-row{grid-template-columns:72px minmax(0,1fr)}.suggestion-review .correction-row>.searchable-select,.suggestion-review .correction-row>input,.suggestion-review .correction-row>.confirm-toggle{grid-column:1 / -1}.dot-size input{width:120px}}.workspace-warning.critical{border-color:#dd5d7166;background:#dd5d711a}.more-backdrop{align-items:end}.more-sheet{width:min(520px,100%);display:grid;gap:6px;margin:0 auto;padding:16px 16px max(16px,env(safe-area-inset-bottom));border-radius:var(--radius) var(--radius) 0 0;background:var(--paper);box-shadow:var(--shadow)}.more-sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.more-sheet a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;border-radius:var(--radius);color:var(--ink-950);font-weight:800;text-decoration:none}.more-sheet a.active,.more-sheet a:hover{background:var(--ink-100)}.species-combobox-field{display:grid;gap:6px;min-width:0}.species-combobox-field>label{font-weight:800;font-size:.86rem}.species-dropdown .dropdown-group{margin:6px 10px 2px;color:var(--ink-500);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.species-dropdown .dropdown-hint{margin:6px 10px;color:var(--ink-500);font-size:.82rem}.species-dropdown>button.highlight{background:var(--ink-100)}.species-dropdown>button .annotation-swatch{flex:0 0 auto}.photo-editor.with-legend{width:min(1280px,100%)}.photo-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;align-items:start}.species-legend{display:grid;gap:8px;align-content:start}.species-legend .eyebrow{margin:0}.legend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;border:1px solid var(--ink-100);border-radius:var(--radius);padding:6px}.legend-row.active{border-color:var(--aqua-650);background:#25c6cf14}.legend-select{display:flex;align-items:center;gap:10px;min-height:44px;border:0;background:transparent;text-align:left}.legend-select span:last-child{display:grid}.legend-select small{color:var(--ink-500)}.legend-relabel{grid-column:1 / -1;display:grid;gap:6px}.annotation-swatch{display:inline-block;width:16px;height:16px;border-radius:999px;box-shadow:0 0 0 2px #fff,0 0 0 3px #0719282e}.species-photo-wrap{position:relative;display:inline-block}.annotation-swatch.overlay{position:absolute;right:-4px;bottom:-4px}.dot-badge{position:absolute;left:8px;bottom:8px;border-radius:999px;padding:2px 7px;background:#071928bd;color:#fff;font-size:.7rem;font-weight:800}.dot-detail{flex-wrap:wrap}.dot-detail .species-combobox-field{min-width:220px;flex:1}.photo-editor>footer{gap:10px}.suggestion-review .correction-row .species-combobox-field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.suggestion-review .add-missed{margin-top:8px;max-width:460px}.stock-split,.holding-note{display:block;color:var(--ink-500);font-size:.78rem;font-weight:700}.holding-note{color:var(--warn-text)}.tank-page .species-stock-card{grid-template-columns:70px minmax(0,1fr) auto auto}.batch-list .recent-row,.movement-list .recent-row{align-items:center}.recent-row span{display:block;color:var(--ink-500);font-size:.84rem}@media(max-width:900px){.photo-editor-body{grid-template-columns:1fr}}.theme-switch{display:inline-flex;gap:2px;width:fit-content;padding:3px;border:1px solid rgba(205,219,228,.3);border-radius:var(--radius)}.theme-switch button{display:grid;place-items:center;width:34px;height:30px;border:0;border-radius:6px;background:transparent;color:inherit;opacity:.75}.theme-switch button.active{background:#25c6cf40;opacity:1}.more-sheet .theme-switch{border-color:var(--ink-200);color:var(--ink-950)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.live-goods-actions{margin-bottom:16px}
