@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/BeVietnamPro-Regular-B93vcljG.woff2) format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/BeVietnamPro-Medium-ejzMKjvj.woff2) format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/BeVietnamPro-SemiBold-C3W8tUdV.woff2) format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/BeVietnamPro-Bold-C6nuK6hZ.woff2) format("woff2")}@font-face{font-family:Noto Sans Greek;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF;src:url(/assets/NotoSansGreek-Regular-DwOSzoe-.woff2) format("woff2")}@font-face{font-family:Noto Sans Greek;font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF;src:url(/assets/NotoSansGreek-Medium-Cz-z9cfQ.woff2) format("woff2")}@font-face{font-family:Noto Sans Greek;font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF;src:url(/assets/NotoSansGreek-SemiBold-B98VAJV1.woff2) format("woff2")}@font-face{font-family:Noto Sans Greek;font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF;src:url(/assets/NotoSansGreek-Bold-CTZDsD2e.woff2) format("woff2")}:root{--sf-blue-050: #E5EEFF;--sf-blue-100: #CBDDFF;--sf-blue-200: #B1CCFF;--sf-blue-300: #7AA9FF;--sf-blue-400: #4E82FF;--sf-blue-500: #1F54FF;--sf-blue-600: #0D34FF;--sf-blue-700: #0B2CD9;--sf-blue-800: #081FA0;--sf-blue-900: #0B0D17;--sf-ink: #0B0D17;--sf-ink-2: #181C2A;--sf-ink-3: #2D334A;--sf-ink-4: #3F455B;--sf-ink-5: #52576B;--sf-ink-6: #7A7E8E;--sf-ink-7: #A4A7B3;--sf-ink-8: #BABDC5;--sf-ink-9: #D1D2D8;--sf-ink-10: #E8E8EC;--sf-ink-11: #F6F6F7;--sf-ink-12: #FFFFFF;--sf-sky-050: #F8FCFF;--sf-sky-100: #F0F7FF;--sf-sky-200: #E5EEFF;--sf-sky-300: #B1CCFF;--sf-sky-400: #7AA9FF;--sf-sand-050: #FEFBF0;--sf-sand-100: #FDF8E1;--sf-sand-200: #FBECB3;--sf-sand-300: #DACD9B;--sf-sand-400: #BAAF84;--sf-sand-ink: #2D291D;--sf-midnight: #000116;--sf-success-050: #F0FFF1;--sf-success-100: #E1FFE3;--sf-success-200: #C0FFC5;--sf-success-400: #4FFF74;--sf-success-500: #0DFF5F;--sf-success-600: #0ADE52;--sf-success-700: #07BE44;--sf-success-800: #03802C;--sf-warning-050: #FFFCEE;--sf-warning-100: #FFF8DD;--sf-warning-200: #FFF1B9;--sf-warning-400: #FFE57E;--sf-warning-500: #FFD80D;--sf-warning-700: #BEA007;--sf-warning-800: #806B03;--sf-danger-050: #FFEDEB;--sf-danger-100: #FFDAD7;--sf-danger-200: #FFB5AF;--sf-danger-400: #FF7774;--sf-danger-500: #FF0D34;--sf-danger-600: #DE0A2C;--sf-danger-700: #BE0724;--sf-alarm-050: #FFF2EB;--sf-alarm-100: #FFE6D7;--sf-alarm-200: #FFCCAE;--sf-alarm-400: #FFA36F;--sf-alarm-500: #FF770D;--sf-alarm-700: #BE5707;--sf-lime-200: #D2FF85;--sf-lime-500: #D9FF06;--sf-lime-700: #6C8001;--sf-celery-200: #DBFFA1;--sf-celery-500: #9BBE61;--sf-ice-200: #F8FCFF;--sf-ice-500: #9A9C9E;--sf-bg: var(--sf-ink-12);--sf-bg-subtle: var(--sf-ink-11);--sf-bg-muted: var(--sf-sky-050);--sf-bg-inverse: var(--sf-ink);--sf-bg-brand: var(--sf-blue-600);--sf-bg-brand-soft: var(--sf-sky-200);--sf-fg: var(--sf-ink);--sf-fg-muted: var(--sf-ink-4);--sf-fg-subtle: var(--sf-ink-6);--sf-fg-disabled: var(--sf-ink-8);--sf-fg-inverse: var(--sf-ink-12);--sf-fg-brand: var(--sf-blue-600);--sf-fg-link: var(--sf-blue-600);--sf-border: var(--sf-ink-10);--sf-border-strong: var(--sf-ink-8);--sf-border-brand: var(--sf-blue-600);--sf-status-success: var(--sf-success-700);--sf-status-success-bg: var(--sf-success-100);--sf-status-warning: var(--sf-warning-700);--sf-status-warning-bg: var(--sf-warning-100);--sf-status-danger: var(--sf-danger-600);--sf-status-danger-bg: var(--sf-danger-100);--sf-status-alarm: var(--sf-alarm-500);--sf-status-alarm-bg: var(--sf-alarm-100);--sf-live: var(--sf-blue-400);--sf-font-sans: "Be Vietnam Pro", "Noto Sans Greek", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sf-font-display: "Be Vietnam Pro", "Noto Sans Greek", system-ui, sans-serif;--sf-w-thin: 100;--sf-w-extralight: 200;--sf-w-light: 300;--sf-w-regular: 400;--sf-w-medium: 500;--sf-w-semibold: 600;--sf-w-bold: 700;--sf-w-extrabold: 800;--sf-w-black: 900;--sf-d1-size: 60px;--sf-d1-weight: 700;--sf-d1-lh: 1.2;--sf-d2-size: 48px;--sf-d2-weight: 700;--sf-d2-lh: 1.2;--sf-d3-size: 42px;--sf-d3-weight: 700;--sf-d3-lh: 1.2;--sf-h2-size: 36px;--sf-h2-weight: 700;--sf-h2-lh: 1.3;--sf-h3-size: 32px;--sf-h3-weight: 700;--sf-h3-lh: 1.4;--sf-h4-size: 30px;--sf-h4-weight: 700;--sf-h4-lh: 1.4;--sf-h5-size: 26px;--sf-h5-weight: 700;--sf-h5-lh: 1.4;--sf-h6-size: 22px;--sf-h6-weight: 700;--sf-h6-lh: 1.4;--sf-p1-size: 18px;--sf-p1-weight: 400;--sf-p1-lh: 1.36;--sf-p2-size: 16px;--sf-p2-weight: 400;--sf-p2-lh: 1.5;--sf-p3-size: 14px;--sf-p3-weight: 400;--sf-p3-lh: 1.5;--sf-c1-size: 12px;--sf-c1-weight: 400;--sf-c1-lh: 1.5;--sf-c2-size: 10px;--sf-c2-weight: 500;--sf-c2-lh: 1.5;--sf-radius-xs: 4px;--sf-radius-sm: 8px;--sf-radius-md: 12px;--sf-radius-lg: 16px;--sf-radius-xl: 20px;--sf-radius-2xl: 40px;--sf-radius-pill: 9999px;--sf-shadow-xs: 0 1px 2px rgba(24,28,42,.06);--sf-shadow-sm: 0 2px 6px rgba(24,28,42,.08);--sf-shadow-md: 0 6px 16px rgba(24,28,42,.1);--sf-shadow-lg: 0 14px 32px rgba(24,28,42,.14);--sf-shadow-xl: 0 24px 48px rgba(24,28,42,.18);--sf-shadow-focus: 0 0 0 4px rgba(13,52,255,.2);--sf-space-1: 4px;--sf-space-2: 8px;--sf-space-3: 12px;--sf-space-4: 16px;--sf-space-5: 20px;--sf-space-6: 24px;--sf-space-7: 32px;--sf-space-8: 40px;--sf-space-9: 48px;--sf-space-10: 64px;--sf-space-11: 80px;--sf-space-12: 120px;--sf-ease-standard: cubic-bezier(.2, 0, 0, 1);--sf-ease-out: cubic-bezier(.16, 1, .3, 1);--sf-dur-fast: .12s;--sf-dur-med: .2s;--sf-dur-slow: .36s;--sf-btn-h-xs: 24px;--sf-btn-h-s: 32px;--sf-btn-h-m: 40px;--sf-btn-h-l: 48px;--sf-btn-h-xl: 56px}html,body{font-family:var(--sf-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.sf-d1,h1.sf-display{font:var(--sf-d1-weight) var(--sf-d1-size)/var(--sf-d1-lh) var(--sf-font-display);letter-spacing:-.01em;color:var(--sf-fg)}.sf-d2{font:var(--sf-d2-weight) var(--sf-d2-size)/var(--sf-d2-lh) var(--sf-font-display);letter-spacing:-.01em}.sf-d3{font:var(--sf-d3-weight) var(--sf-d3-size)/var(--sf-d3-lh) var(--sf-font-display);letter-spacing:-.005em}.sf-h2{font:var(--sf-h2-weight) var(--sf-h2-size)/var(--sf-h2-lh) var(--sf-font-sans)}.sf-h3{font:var(--sf-h3-weight) var(--sf-h3-size)/var(--sf-h3-lh) var(--sf-font-sans)}.sf-h4{font:var(--sf-h4-weight) var(--sf-h4-size)/var(--sf-h4-lh) var(--sf-font-sans)}.sf-h5{font:var(--sf-h5-weight) var(--sf-h5-size)/var(--sf-h5-lh) var(--sf-font-sans)}.sf-h6{font:var(--sf-h6-weight) var(--sf-h6-size)/var(--sf-h6-lh) var(--sf-font-sans)}.sf-p1{font:var(--sf-p1-weight) var(--sf-p1-size)/var(--sf-p1-lh) var(--sf-font-sans)}.sf-p2{font:var(--sf-p2-weight) var(--sf-p2-size)/var(--sf-p2-lh) var(--sf-font-sans)}.sf-p3{font:var(--sf-p3-weight) var(--sf-p3-size)/var(--sf-p3-lh) var(--sf-font-sans)}.sf-c1{font:var(--sf-c1-weight) var(--sf-c1-size)/var(--sf-c1-lh) var(--sf-font-sans);color:var(--sf-fg-subtle)}.sf-c2{font:var(--sf-c2-weight) var(--sf-c2-size)/var(--sf-c2-lh) var(--sf-font-sans);letter-spacing:.02em;text-transform:uppercase;color:var(--sf-fg-subtle)}:where(button,a,input,select,textarea):focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--sf-shadow-focus);border-radius:var(--sf-radius-sm)}:root{--haccp-accent: #0e7c7b;--haccp-accent-soft: #E3F2F1;--haccp-accent-ink: #0a5f5e}:root{--seafy-logo-mark: #D9FF06;--seafy-logo-ink: #27009D}:root{--bg: var(--sf-bg-subtle);--surface: var(--sf-bg);--surface-2: var(--sf-bg-subtle);--fg: var(--sf-fg);--muted: var(--sf-fg-muted);--line: var(--sf-border);--line-control: var(--sf-ink-9);--accent: var(--sf-bg-brand);--accent-ink: var(--sf-fg-link);--accent-soft: var(--sf-bg-brand-soft);--ok: var(--sf-success-800);--ok-soft: var(--sf-success-100);--warn: #A34A05;--warn-soft: var(--sf-alarm-100);--warn-line: var(--sf-alarm-200);--warn-halo: rgba(255, 119, 13, .25);--live-halo: rgba(78, 130, 255, .2);--hot: var(--sf-danger-700);--hot-soft: var(--sf-danger-100);--hot-line: var(--sf-danger-200);--bad: var(--sf-danger-600);--haccp-scrim: rgba(0, 1, 22, .6);--haccp-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--hover-ghost: rgba(11, 13, 23, .06);--radius: var(--sf-radius-sm);--radius-md: var(--sf-radius-md);--radius-lg: var(--sf-radius-lg);font-family:var(--sf-font-sans, "Segoe UI", system-ui, sans-serif);color:var(--fg);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}h1{font-size:32px;margin:0 0 8px}.muted{color:var(--muted)}.error{color:var(--hot)}::placeholder{color:var(--sf-ink-5);opacity:1}a{color:var(--accent-ink)}small{font-size:max(12px,.8333em)}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"header header" "side main";min-height:100vh}.appheader{grid-area:header;min-height:80px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px}.brand{display:flex;align-items:center;gap:10px}.brand small{display:block;color:var(--muted);font-size:12px}.appheader .brand{gap:12px}.seafylogo{display:block;flex:none}.modbadge{background:var(--haccp-accent-soft);color:var(--haccp-accent-ink)}.appheader .tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}.tenant{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.tpill{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid var(--line-control);border-radius:var(--sf-radius-pill);background:var(--surface);font-weight:600;max-width:320px}.tpill .icon{flex:none;color:var(--accent)}.tpill strong,.tpill small{font-size:14px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpill select{min-height:46px;font:inherit;font-weight:600;border:0;background:var(--surface);color:var(--fg);padding:0;max-width:240px}.tpill select:focus-visible{box-shadow:none}.tpill:focus-within{border-color:var(--sf-border-brand);box-shadow:var(--sf-shadow-focus)}.tenant .role{color:var(--accent-ink);font-size:12px}.sync{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px 0 12px;border-radius:var(--sf-radius-pill);background:var(--bg);font-size:14px;font-weight:600;white-space:nowrap}.sync .dot{width:8px;height:8px;border-radius:50%;background:var(--sf-live);box-shadow:0 0 0 4px var(--live-halo)}.sync.offline{color:var(--warn)}.sync.offline .dot{background:var(--warn);box-shadow:0 0 0 4px var(--warn-halo)}.avatar{flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--sf-fg-inverse);display:grid;place-items:center;font-size:14px;font-weight:700}.sidebar{grid-area:side;background:var(--surface);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:16px;min-width:0}.sidebar>*{flex-shrink:0}.sidebar nav,.drawer nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a,.drawer nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--radius);color:var(--muted);font-size:15px;font-weight:500;text-decoration:none}.sidebar nav a .icon,.drawer nav a .icon{flex:none}.sidebar nav a .label,.drawer nav a .label{flex:1;min-width:0}.sidebar nav a:hover,.drawer nav a:hover{background:var(--bg)}.sidebar nav a.active,.drawer nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar>button.link,.drawer .sheet>button.link{display:flex;align-items:center;gap:12px;padding:0 12px}.lang{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);margin-top:auto}.version{color:var(--muted);font-size:12px}.content{grid-area:main;padding:24px;max-width:none;min-width:0}@media(min-width:1200px){.content{padding:32px 40px}}@media(min-width:768px){.appheader:not(.compact){position:sticky;top:0;z-index:5}.sidebar{position:sticky;top:80px;align-self:start;height:calc(100vh - 80px);height:calc(100dvh - 80px);overflow-y:auto}.sidebar,.sidebar nav{scrollbar-width:thin;scrollbar-color:var(--line-control) transparent}.sidebar::-webkit-scrollbar,.sidebar nav::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb,.sidebar nav::-webkit-scrollbar-thumb{background:var(--line-control);border-radius:var(--sf-radius-pill)}.appheader .tools,.tenant{flex-wrap:nowrap}.tenant,.tpill,.tpill select{min-width:0}.tpill{flex:0 1 auto}.brand small{white-space:nowrap}}@media(min-width:768px)and (max-width:1199px){.shell{grid-template-columns:72px minmax(0,1fr)}.appheader{padding:0 24px}.appheader .brand small,.appheader .tenant .role{display:none}.sidebar{padding:16px 8px;gap:12px;z-index:4}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px;margin:-4px;gap:0}.sidebar nav a{justify-content:center;padding:0;min-height:44px}.sidebar nav a .label,.sidebar .lang>span,.sidebar>button.link .label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar nav a .badge{position:absolute;top:2px;right:2px;min-width:20px;height:20px;padding:0 6px}.sidebar .lang select{width:56px;padding:0 2px;font-size:12px;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sidebar>button.link{justify-content:center;padding:0;min-width:44px}.sidebar .pill.offline,.sidebar .queue-badge .pill{white-space:normal;text-align:center;font-size:12px;overflow-wrap:anywhere}.sidebar .pill.offline{align-self:stretch;height:auto;line-height:1.25;padding:6px 4px}.sidebar .queue-badge{justify-content:center}.sidebar .install{position:fixed;right:16px;bottom:16px;width:280px;z-index:4;background:var(--surface);box-shadow:var(--sf-shadow-md)}.shell:has(.sidebar .install) .content{padding-bottom:160px}.sidebar .panel.confirm{position:fixed;left:88px;bottom:16px;width:280px;margin:0;z-index:6;box-shadow:var(--sf-shadow-md)}.sidebar .version{display:none}}.appheader.compact,.bottombar{display:none}.appheader.compact{min-height:56px;padding:0 8px 0 4px;gap:4px;position:sticky;top:0;z-index:5}.appheader .menu,.drawer .close{flex:none;width:48px;height:48px;padding:0;display:grid;place-items:center}.appheader.compact .title{flex:1;min-width:0;text-align:center;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync.compact{min-width:48px;min-height:48px;padding:0;justify-content:center;background:none}.sync.compact.offline{padding:0 12px 0 8px;gap:6px;font-size:12px}.bottombar{position:fixed;left:0;right:0;bottom:0;z-index:5;min-height:56px;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottombar a,.bottombar button{position:relative;flex:1 1 0;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0;margin:0;border:0;border-radius:var(--radius);background:none;color:var(--muted);font:inherit;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer}.bottombar a.active{color:var(--accent);font-weight:600}.bottombar .label{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.bottombar .badge{position:absolute;top:4px;left:calc(50% + 6px);margin:0;min-width:20px;height:20px;padding:0 6px;font-size:12px}.drawer{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:100%;max-height:85vh;max-height:85dvh;overflow:auto;overscroll-behavior:contain;border:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:0;background:var(--surface);color:var(--fg);box-shadow:var(--sf-shadow-xl)}.drawer::backdrop{background:var(--haccp-scrim)}html:has(.drawer[open]),body:has(.drawer[open]){overflow:hidden}.drawer .sheet{display:flex;flex-direction:column;gap:12px;padding:4px 16px calc(16px + env(safe-area-inset-bottom))}.drawer .sheethead{display:flex;align-items:center;justify-content:space-between;min-height:48px}.drawer .sheethead strong{font-size:16px;font-weight:700}.drawer nav a{min-height:48px}.drawer .tenant{flex-direction:column;align-items:stretch}.drawer .tpill{max-width:none}.drawer .tpill select{flex:1;min-width:0;max-width:none}.drawer .lang{margin-top:0}.skeleton .content{display:grid;gap:16px;align-content:start}.skeleton .bone{height:112px;border-radius:var(--radius-md);background:var(--sf-bg-subtle);border:1px solid var(--line);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.skeleton .bone{animation:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:767px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"header" "main"}.appheader:not(.compact),.sidebar{display:none}.appheader.compact,.bottombar{display:flex}.content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.pill.offline{align-self:flex-start;min-height:32px;display:inline-flex;align-items:center}.install{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);font-size:13px}.install small{color:var(--muted);font-size:12px}.install-actions{display:flex;gap:8px;flex-wrap:wrap}table.grid td.cell.pending,.cell.pending,table.t tr.pending td{color:var(--accent-ink);font-style:italic}.queue-badge{display:flex;justify-content:flex-start;gap:6px;flex-wrap:wrap;align-items:center;background:none;border:0;padding:0;min-width:0;min-height:44px;font:inherit;text-align:left}.modal .queue-panel{width:min(560px,100%);display:flex;flex-direction:column;gap:8px}.queue-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.queue-panel li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;min-height:52px}.queue-panel li small{display:block;font-size:12px}.queue-panel .acts{display:flex;gap:8px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-top:16px}.card{padding:20px;display:flex;justify-content:space-between;align-items:center;min-height:72px}.pill{white-space:nowrap}.pill,.chip,.badge,.modbadge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1.25;padding:6px 10px;border-radius:var(--sf-radius-pill);background:var(--bg);color:var(--muted)}.chip{margin-left:4px;vertical-align:middle}.badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;justify-content:center;background:var(--hot-soft);color:var(--hot)}.status-done .pill,.pill.signed,.pill.good,.chip.ok{background:var(--ok-soft);color:var(--ok)}.status-todo .pill,.pill.warn,.chip.low,ul.tree .node.supplier .pill{background:var(--warn-soft);color:var(--warn)}.pill.hot,.pill.bad,.chip.allergen,.chip.tofix{background:var(--hot-soft);color:var(--hot)}.pill.profile,.chip.queued,ul.tree .node.client .pill{background:var(--accent-soft);color:var(--accent-ink)}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:min(420px,100%);min-width:0;padding:24px;display:flex;flex-direction:column;gap:8px}.login .brand{margin-bottom:8px}.login .brand{gap:12px}.login form>button,.login form>a.btn,.pinpad>a.btn{width:100%}.verdict .kv{grid-template-columns:max-content minmax(0,1fr)}.verdict .kv dd{overflow-wrap:anywhere;word-break:break-all}.login button,.login label{margin-top:8px}.login .or{text-align:center;font-size:13px;color:var(--muted);margin:8px 0 0}.login .lead{color:var(--muted);margin:0 0 8px}button,a.btn,.filebtn,.pagehead .button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font:inherit;font-weight:600;border:1px solid var(--btn-line, var(--line-control));border-radius:var(--radius);background:var(--btn-bg, var(--surface));color:var(--btn-fg, var(--fg));text-decoration:none;cursor:pointer}:where(button,a.btn,.filebtn,.pagehead .button):where(:not(:disabled)):hover{background:var(--btn-hover, var(--bg))}:where(.form,.actions,.rowactions,.panel .pagehead,.login) :where(button),:where(a.btn,.filebtn,.pagehead .button,.scan-button){--btn-bg: var(--accent);--btn-fg: var(--sf-fg-inverse);--btn-line: transparent;--btn-hover: var(--sf-blue-700)}button.link,a.link:not(.card){justify-content:flex-start;min-width:0;padding:8px 0;border:0;background:none;color:var(--accent-ink);font:inherit;text-align:left;text-decoration:none}button.secondary{min-height:44px;min-width:44px;font:inherit;font-weight:600}:is(button,a.btn,.filebtn).secondary,.login button.oauth,.scan .row button,.monthnav button,.tabs button{--btn-bg: var(--surface);--btn-fg: var(--fg);--btn-line: var(--line-control);--btn-hover: var(--bg)}button.danger{--btn-bg: var(--sf-danger-600);--btn-fg: var(--sf-fg-inverse);--btn-line: transparent;--btn-hover: var(--sf-danger-700)}.rowactions button.icon,.appheader .menu,.drawer .close,.cellbtn,.daybtn{--btn-bg: transparent;--btn-fg: var(--fg);--btn-line: transparent;--btn-hover: var(--hover-ghost)}.form button,.actions button,.pagehead button,.pagehead .button,.login button,.monthnav button,a.btn,.filebtn{min-height:48px}.fill .actions button,button.toggle{min-height:56px}button:disabled{cursor:default}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px;list-style:none}summary::-webkit-details-marker{display:none}svg.icon{flex:none;vertical-align:-.2em}button:disabled:not(.toggle){opacity:.5}:where(input:not([type=checkbox],[type=radio],[type=file]),select,textarea){min-height:48px;min-width:0;max-width:100%;font:inherit;font-size:1rem;font-weight:400;border:1px solid var(--line-control);border-radius:var(--radius);padding:0 16px;background:var(--surface);color:var(--fg)}textarea{min-height:96px;padding:12px 16px}.flagged:is(input,select,textarea,fieldset),[aria-invalid=true]:is(input,select,textarea){border-color:var(--bad);background:var(--sf-danger-050)}.form label,.login label,.sensor .fields label,.panel.scan>label,label.unit,legend{font-size:13px;font-weight:600;color:var(--muted)}legend{padding:0 4px}fieldset{border:1px solid var(--line);border-radius:var(--radius-md);padding:4px 12px 8px;margin:0;min-width:0}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.form:not(.inline) label:not([class]):has(>:is(input:not([type=checkbox],[type=radio]),select,textarea)){display:flex;flex-direction:column;gap:4px}.form small,.field small{font-size:12px;font-weight:400}label.check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:400;color:var(--fg);cursor:pointer}label.check input{flex:none;width:24px;height:24px;min-height:0;margin:0}.card,.panel,.login form,.pinpad,.modal>*{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.panel{padding:20px;margin-top:16px;display:grid;gap:12px}@media(min-width:768px){.panel{padding:20px 24px}}.panel>:is(h2,.pagehead):first-child{grid-column:1 / -1;padding-bottom:12px;border-bottom:1px solid var(--line)}.modal>*{padding:24px;width:min(440px,100%);max-height:100%;overflow:auto;box-shadow:var(--sf-shadow-lg)}progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:12px;border:0;border-radius:var(--sf-radius-pill);background:var(--bg);overflow:hidden;accent-color:var(--accent)}progress::-webkit-progress-bar{background:transparent}progress::-webkit-progress-value{background:var(--accent);border-radius:var(--sf-radius-pill)}progress::-moz-progress-bar{background:var(--accent);border-radius:var(--sf-radius-pill)}progress.over::-webkit-progress-value{background:var(--hot)}progress.over::-moz-progress-bar{background:var(--hot)}.flash{position:sticky;top:0;bottom:0;z-index:5;background:var(--bg);display:grid;gap:8px;padding-block:4px}.flash:empty{display:none}.flash .panel{margin-top:0}@media(max-width:767px){.flash{top:56px;bottom:calc(56px + env(safe-area-inset-bottom))}}@media(min-width:768px){.flash{top:80px}}.panel h2{font-size:20px;font-weight:700;margin:0}.panel h3{font-size:15px;margin:8px 0 0}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.mono{font-family:var(--haccp-font-mono)}.form{display:flex;flex-direction:column;gap:8px;max-width:480px}.form.inline{flex-direction:row;flex-wrap:wrap;align-items:end;max-width:none}.form.inline>label:not(.check){align-self:center}.form .row{display:flex;gap:8px}.form .row input{flex:1}.actions{display:flex;gap:8px;margin-top:8px}.tw{overflow-x:auto;padding:4px;margin:-4px}.panel+.tw{margin-top:12px}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th,table.t td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.t th{font-weight:600;color:var(--muted)}table.t thead th{font-size:12px;background:var(--surface-2);white-space:nowrap}table.t td{height:52px}.qr{display:flex;gap:16px;align-items:center}.code{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:10px;font-size:12px;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.pinpad{width:min(420px,100%);padding:24px;display:flex;flex-direction:column;gap:12px;align-items:center}.dots{display:flex;gap:12px;align-items:center;min-height:60px;color:var(--accent-ink)}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.keys button{min-height:64px;font-size:24px;--btn-bg: var(--bg);--btn-fg: var(--fg);--btn-line: var(--line-control);--btn-hover: var(--line)}.keys button:nth-child(10){grid-column:2}.keys button.ok{--btn-bg: var(--accent);--btn-fg: var(--sf-fg-inverse);--btn-line: transparent;--btn-hover: var(--sf-blue-700);color:var(--btn-fg);grid-column:1 / -1}.pagehead{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.pagehead h1{margin:0;flex:1 1 auto}.pagehead .titles{flex:1 1 0;min-width:min(100%,280px)}.pagehead .meta{margin:4px 0 0;font-size:14px;color:var(--muted)}.monthnav{display:flex;align-items:stretch;border:1px solid var(--line-control);border-radius:var(--sf-radius-pill);background:var(--surface)}.monthnav button{min-height:46px;padding:0 12px;--btn-line: transparent;--btn-hover: var(--hover-ghost)}.monthnav>button:first-child{border-radius:var(--sf-radius-pill) 0 0 var(--sf-radius-pill)}.monthnav>button:last-child{border-radius:0 var(--sf-radius-pill) var(--sf-radius-pill) 0}.monthnav input{min-height:0;border:0;border-radius:0;padding:0 8px;text-align:center}.monthnav input:focus-visible{box-shadow:none}.monthnav button:focus-visible,.ai-pagenav button:focus-visible{box-shadow:inset 0 0 0 2px var(--sf-border-brand);background:var(--hover-ghost)}.monthnav:focus-within{border-color:var(--sf-border-brand);box-shadow:var(--sf-shadow-focus)}.card.link{text-decoration:none;color:inherit}.cards.fryers{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cards.fryers .card{flex-direction:column;align-items:stretch;justify-content:flex-start;align-self:start;gap:12px;padding:24px}.cards.fryers .card>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cards.fryers .card>div:first-child>strong{font-size:20px;font-weight:700}.panel .card{border-radius:var(--radius-md)}.card.link:hover{border-color:var(--accent)}.card small{display:block;margin-top:2px}.cards.today{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:24px}.cards.kpis{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.cards.today .card{align-items:flex-start;padding:24px;gap:12px}.cards.today .card>div{display:grid;gap:4px}.cards.today .card strong{font-size:20px;font-weight:700}.cards.today .card small{font-size:16px;font-weight:500;margin:4px 0 0}.cards.today .chips{margin-top:8px}.banner{display:flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius-md);padding:10px 14px}.banner .icon{flex:none}.banner.bad{background:var(--hot-soft);color:var(--hot)}.ok{color:var(--ok)}table.grid{border-collapse:separate;border-spacing:0;font-size:14px;min-width:100%;background:var(--surface)}table.grid th,table.grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:4px 6px;text-align:center;vertical-align:middle;min-width:56px}table.grid thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);font-weight:600;color:var(--muted);font-size:12px;padding:6px}table.grid thead th small{display:block;font-weight:400;white-space:nowrap}table.grid tbody th{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;padding:0 4px;min-width:96px}table.grid tbody th,table.grid td{height:52px}table.grid thead th:first-child{left:0;z-index:3}table.grid thead tr.rooms th{height:24px;padding:0 6px;line-height:22px;font-size:11px}table.grid thead tr.rooms+tr th{top:24px}table.t tr.grouphead th{text-align:left;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;padding:6px}table.grid tr.closed td,table.grid td.closedcell{background:var(--sf-bg-subtle);color:var(--muted);font-weight:600}table.grid tr.today th,table.grid tr.today td{background:var(--sf-sky-100)}table.grid tr.selected th{box-shadow:inset 4px 0 var(--accent)}.daybtn{display:flex;justify-content:flex-start;gap:6px;padding:0 4px;width:100%;min-width:0;color:inherit;font-weight:500}table.t .daybtn{min-width:44px}.cell.empty{color:var(--sf-ink-5)}table.grid td.cell.oor{background:var(--sf-danger-050);color:var(--hot);font-weight:600}.cell.oor small{color:var(--fg);font-weight:400}.cell.notdue{color:var(--sf-ink-5)}.cell.done{color:var(--ok);font-weight:600}.cell.notdone{color:var(--hot);font-weight:600}.cellbtn{padding:0 6px;font-weight:inherit;color:inherit}.cell details summary{justify-content:center}.cell details small{display:block;text-align:left;white-space:normal;min-width:160px;max-width:240px;padding:4px 0}button.link.small{min-height:44px;min-width:44px;padding:0 8px;font-size:12px}.toggle{min-width:56px;border:1px solid var(--line-control);background:var(--surface);color:var(--muted)}.toggle.on{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.cell .state{display:inline-flex;align-items:center;gap:4px}.cell.due:not(.done,.notdone) .state .icon{color:var(--muted)}.fill{min-width:0}.fill table.t{width:auto}.fill th{text-align:left}.fill table.t th,.fill table.t td{vertical-align:top}.fill td.oor{background:var(--sf-danger-050)}.fill tbody th{font-weight:500;color:var(--fg)}.fill tbody th small{display:block;font-weight:400;font-size:12px}.fill input{width:96px;min-height:56px}.fill label{display:block;margin-top:8px;font-size:13px;font-weight:600;color:var(--muted)}.fill textarea{display:block;width:100%;min-width:180px;margin-top:4px}.fill small.error{display:block;margin-top:4px}.emptystate{display:grid;justify-items:center;gap:8px;padding:32px 16px;text-align:center}.emptystate .icon{color:var(--sf-ink-5)}.emptystate a{display:inline-flex;align-items:center;min-height:44px}.daypanel h2{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.signpad canvas{width:100%;max-width:480px;height:160px;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface);touch-action:none;display:block;cursor:crosshair}.thumb{max-width:240px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.reviews{margin:0;padding-left:18px;font-size:14px;display:grid;gap:4px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--haccp-scrim);display:grid;place-items:center;padding:16px;z-index:10}dialog.modal{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;color:inherit}dialog.modal:not([open]){display:none}dialog.modal::backdrop{background:transparent}.modal h2{margin:0;font-size:20px}.floormap{position:relative;display:inline-block;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);-webkit-user-select:none;user-select:none}.floormap img{display:block;max-width:100%;max-height:60vh}.floormap.pickable{cursor:crosshair;touch-action:manipulation}.marker{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.marker:after{content:"";width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--accent-ink)}.marker.alert:after{background:var(--hot);box-shadow:0 0 0 1px var(--hot)}.marker.picked:after{width:20px;height:20px;background:var(--warn);box-shadow:0 0 0 2px var(--warn),0 0 0 6px var(--warn-halo)}.pestpanel{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.pestpanel>div>h2{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}table.t td.wrap{white-space:pre-wrap;max-width:280px}table.t.pest th[scope=row]{vertical-align:top}table.t.pest th.selected{box-shadow:inset 4px 0 var(--accent)}table.t.pest tr.closed td{background:var(--sf-bg-subtle);color:var(--muted);font-weight:600}table.t.pest tr.today td{background:var(--sf-sky-100)}.rowactions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}table.t td.rowactions{display:table-cell;text-align:right;white-space:nowrap}table.t td.rowactions>*{vertical-align:middle}table.t td.rowactions>*+*{margin-left:6px}.rowactions button.icon{font-size:18px;padding:0}tr.archived td{color:var(--muted)}tr.editrow input,tr.editrow select{width:100%;min-width:80px}.limits{display:flex;gap:6px;align-items:center}.limits input{width:88px}.weekdays{display:flex;gap:4px;flex-wrap:wrap}.weekdays .toggle{min-height:44px;min-width:44px;padding:0 6px;font-size:13px}table.t td .weekdays{flex-wrap:nowrap}.list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.list li{display:flex;gap:10px;align-items:center;min-height:52px;padding:4px 10px;border-bottom:1px solid var(--line);font-weight:500}.list li>div:first-of-type{flex:1;display:grid;gap:2px}.notifications li.unread{background:var(--accent-soft);font-weight:600;border-radius:var(--radius)}.notifications small{font-weight:400}.notifications .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--muted)}.notifications .dot.bad{background:var(--hot)}.notifications .dot.warn{background:var(--warn)}.pageno{align-self:center}.filebtn{position:relative;overflow:hidden;width:fit-content}.filebtn input{position:absolute;opacity:0;width:1px;height:1px}.panel .pagehead{margin:0}.form.inline>label:not(.check):has(>:is(input,select)){display:flex;flex-direction:column;gap:4px;align-self:auto}.form.inline:not(.filters)>input:not([type=checkbox],[type=date]),.form.inline:not(.filters)>label:not(.check):has(>input:not([type=date])){flex:1 1 340px;min-width:0}.form.inline:not(.filters)>label:not(.check):has(>input:not([type=date]))>input{width:100%}.form .row>label{flex:1}.aibar{position:relative;height:12px;border-radius:var(--sf-radius-pill);background:var(--bg);border:1px solid var(--line);overflow:visible;margin:8px 0}.aibar .fill{display:block;height:100%;border-radius:var(--sf-radius-pill);background:var(--ok)}.aibar.warn .fill{background:var(--warn)}.aibar.bad .fill{background:var(--hot)}.aibar .mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--muted)}.aibar .mark.stop{background:var(--hot)}a.pill{text-decoration:none;min-height:44px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs>button:not(.toggle){min-height:48px}.tabs button[aria-selected=true],.tabs button[aria-checked=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.chips{display:inline-flex;gap:4px;flex-wrap:wrap}.chips .chip{margin:0}.chips .pill{white-space:normal}.card.link>div{min-width:0}label.unit{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}.limits label.unit input,.form .row label.unit input,.form label.unit input{width:88px;min-width:0;flex:none}table.t.fleet td small{display:block;font-size:12px}table.t.fleet a{color:var(--accent-ink);font-weight:600}.indicators{margin-top:12px}.indicators .card{flex-direction:column;align-items:flex-start;gap:6px}.banner.warn{background:var(--warn-soft);color:var(--warn)}table.t tr.selected td,table.t tr.selected th{background:var(--accent-soft)}table.grid tbody th .daybtn{cursor:default;--btn-hover: transparent}.budget{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.budget progress{width:160px}@media(max-width:767px){.pagehead .tabs,.pagehead select{width:100%}.budget progress{width:100%}.pagehead>.monthnav{flex:1 1 100%;min-height:56px}.pagehead>.monthnav input{flex:1}.fill .actions{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:4;margin:0;padding:12px 16px;background:var(--surface);border-top:1px solid var(--line)}.fill .actions button{width:100%}.shell:has(form.fill .actions) .content{padding-bottom:calc(160px + env(safe-area-inset-bottom))}}.actions.wrap{flex-wrap:wrap}.filters{margin:12px 0;align-items:center}.filters input[type=search]{flex:1 1 240px}.searchbox{position:relative;display:flex;min-width:0}.filters .searchbox{flex:1 1 240px}.searchbox>.icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.searchbox input{width:100%;padding-left:44px}.filters label{display:flex;gap:6px;align-items:center}.form.inline.filters>label:not(.check):has(>:is(input,select)){align-items:flex-start}table.t.lots td small,table.t.sources td small{display:block;font-size:12px}table.t td .pill{margin-left:6px}.form.intake,.form.prepare{max-width:720px}.form .cols{display:grid;gap:8px 32px;align-items:start}.form .col{display:flex;flex-direction:column;gap:8px;min-width:0}@media(min-width:1200px){.form.intake,.form.prepare{max-width:1240px}.form .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.form .row>div{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.form .row>:is(div,label)>:is(input,select){flex:none;width:100%}.form fieldset.allergens{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}.form small.error{display:block}.scan{display:grid;gap:4px;padding:12px;background:var(--accent-soft);border-radius:var(--radius-md)}.scan .row{flex-wrap:wrap}.scan input{flex:1 1 200px;font-size:18px}.camera{display:grid;gap:8px}.camera video{width:100%;max-width:480px;border-radius:var(--radius-md);background:var(--sf-midnight)}.chip.allergen{margin:0}.banner.ok{background:var(--ok-soft);color:var(--ok)}.panel.confirm{border-color:var(--hot-line)}.panel.sources .pagehead input[type=search]{flex:1 1 200px}table.t.sources td input,table.t.plan td input{width:110px}table.t.sources td label.tick{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-8px -10px;cursor:pointer}table.t.sources td input[type=checkbox]{width:24px;height:24px;min-height:0}table.t.plan td small.unit{display:block;margin-top:2px}table.t.plan td select{max-width:320px}table.t tr.short td,table.t tr.short th{background:var(--sf-danger-050)}.shortlist{margin:0;padding-left:18px;font-size:14px}.parties{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.parties .panel{margin-top:12px;align-content:start}ul.tree{list-style:none;margin:0;padding-left:20px;border-left:1px dashed var(--line)}ul.tree.root{padding-left:0;border-left:0}ul.tree li{padding:4px 0}ul.tree summary{flex-wrap:wrap}ul.tree .node{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}ul.tree .node.lot a{font-weight:600;color:var(--accent-ink)}.labelprint .form.inline{min-width:0}.labelprint .form.inline>div{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:100%}@media(max-width:767px){.form .row{flex-direction:column}.receiving-line .form .row{flex-direction:row}html{scroll-padding-bottom:calc(56px + env(safe-area-inset-bottom))}html:has(.actions.cta,form.fill .actions){scroll-padding-bottom:calc(137px + env(safe-area-inset-bottom))}.pagehead .actions{width:100%;flex-wrap:wrap}.actions.cta{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:4;margin:0;padding:12px 16px;background:var(--surface);border-top:1px solid var(--line)}.actions.cta button{width:100%;min-height:56px}.shell:has(.actions.cta) .content{padding-bottom:calc(160px + env(safe-area-inset-bottom))}}.panel.receiving-line{border-radius:var(--radius-md)}.panel.receiving-line[data-nc=true]{border-color:var(--hot-line);background:var(--sf-danger-050)}.receiving-line h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pdfpreview object{width:100%;height:70vh;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}ul.tree summary>.icon{color:var(--muted);transition:transform var(--sf-dur-fast) var(--sf-ease-standard)}ul.tree details[open]>summary>.icon{transform:rotate(90deg)}.filters .actions{margin:0 0 0 auto;flex-wrap:wrap}.filters .check{min-height:44px}table.t.masters td small{display:block;font-size:12px}.modal form.wide{width:min(820px,100%);max-width:none}.form.lineform{max-width:none;margin-top:8px}.form.lineform .row>div{flex:1 1 140px}table.t.doclines a,table.t.docs a,table.t.docs button.link{color:var(--accent-ink);font-weight:600}table.t td a,p.muted>a,ul.tree .node.lot a,.notifications small a,.expiring .list a{display:inline-flex;align-items:center;gap:4px;min-height:44px}table.t td a,.notifications small a,.expiring .list a{margin-block:-8px}table.t td a{text-decoration:none}table.t.masters td:first-child,table.t.lots td:first-child,[data-testid=mcp-tokens] :is(td:first-child,td:nth-child(2)){min-width:140px}table.t :is(td.mono,td .mono){white-space:nowrap}@media(max-width:767px){.filters .actions{margin-left:0;width:100%}.form.lineform .row>div{flex-basis:auto}}.form label.filebtn{color:var(--btn-fg, var(--fg));font-size:inherit}.form.lineform .row{flex-wrap:wrap}.card.kpi{flex-direction:column;align-items:flex-start;gap:4px}.card.kpi strong{font-size:36px;font-weight:700;line-height:1.2}.recipe-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:16px;align-items:start;margin-top:16px}.recipe-editor .form.recipe{max-width:none;margin-top:0}.form.recipe h2{font-size:20px;margin:8px 0 0}table.t.items td:first-child{min-width:128px}table.t.items td.qty{width:120px;min-width:100px}table.t.items td.unit{width:110px;min-width:90px}table.t.items input,table.t.items select{width:100%}table.t.items.flagged{outline:1px solid var(--bad)}.panel.cost.stale .cards,.panel.cost.stale table{opacity:.55}@media(max-width:1300px){.recipe-editor{grid-template-columns:minmax(0,1fr)}}.archive{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}.archive-tree ul{list-style:none;margin:0;padding-left:14px}.archive-tree>ul{padding-left:0}.archive-tree button.link{display:block;width:100%;padding:8px 10px;border-radius:var(--radius);color:var(--fg)}.archive-tree>ul>li>button.link{font-weight:600}.archive-tree button.link[aria-current=true]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.tagchips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.tagchips button.tag{font-size:13px;padding:0 12px;border-radius:var(--sf-radius-pill)}.tagchips button.tag[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.strike{text-decoration:line-through;color:var(--muted)}table.t.archive-docs .employee{display:block}.filepreview img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-md)}@media(max-width:1300px){.archive{grid-template-columns:minmax(0,1fr)}.archive-tree{max-height:40vh;overflow-y:auto;padding:4px}}.modal form.docform{width:min(560px,100%)}.review .low input,.review .low select,.review td.low input,.review td.low select{border-color:var(--warn);background:var(--sf-alarm-050)}.review .flagged input,.review .flagged select,.review td.flagged input,.review td.flagged select{border-color:var(--bad);background:var(--sf-danger-050)}.review fieldset.supplier{display:grid;gap:4px;border:0;padding:0}.review fieldset.supplier legend{font-weight:600;padding:0;margin-bottom:4px}.review fieldset.supplier .row{margin-top:4px}.review .ai-lines table input,.review .ai-lines table select{min-width:96px;width:100%}.review .ai-lines td.low{background:var(--sf-alarm-050)}.review .ai-lines td label.check{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-8px -10px;cursor:pointer}.review .ai-lines td label.check input{min-width:0;width:24px;height:24px;min-height:0}.form.review{max-width:none}.review .fieldhead{display:flex;align-items:center;gap:8px;min-height:44px}.review .fieldhead label{margin:0}.ack{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border-radius:var(--sf-radius-pill);background:var(--warn-soft);color:var(--warn);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.ack input,.review .ai-lines table .ack input{width:18px;height:18px;min-width:0;min-height:0;margin:0;accent-color:var(--ok)}.ack.on{background:var(--ok-soft);color:var(--ok)}.ack:focus-within{outline:2px solid var(--accent);outline-offset:2px}.review td .ack{margin-top:4px}.review .low:has(.ack.on) :is(input:not([type=checkbox]),select),.review td.low:has(.ack.on){border-color:var(--line);background:transparent}.review .ai-lines td{vertical-align:top}.review .ai-lines td.c-product{min-width:300px}.review .ai-lines td.c-product textarea{width:100%;min-height:44px;padding:8px 10px;resize:vertical;line-height:1.3;field-sizing:content}.review .ai-lines td.c-lot{min-width:130px}.review .ai-lines td.c-date{min-width:150px}.review .ai-lines :is(td.c-qty,td.c-unit){min-width:96px}.radios{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}.radios .radio{display:grid;grid-template-columns:24px 1fr;gap:4px 12px;align-items:center;min-height:44px;font-weight:400;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.radios .radio input{width:24px;height:24px;min-height:0;margin:0}.radios .radio small{grid-column:2;color:var(--muted)}.pill.profile{margin-left:8px;vertical-align:middle}.fhint{display:block;color:var(--muted);font-size:12px}.sensor{display:grid;gap:8px;text-align:left}.sensor h3{margin:0;font-size:15px}.sensor .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.sensor .fields label{display:grid;gap:4px}.sensor .status{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}table.t tr.sensorrow td{background:var(--bg);padding:12px 10px}.ai-card{flex:1 1 auto;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}.ai-toolbar input[type=search]{flex:1 1 200px}.scan-button{min-height:96px;width:100%;font-size:20px}.scan-preview{max-width:100%;max-height:50vh;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--line);justify-self:center}.scan-shots{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.scan-shots li{display:grid;gap:2px;width:120px;justify-items:center;font-size:13px}.scan-shots img{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line)}.scan-progress{width:100%}.ai-split{display:grid;grid-template-columns:minmax(280px,5fr) minmax(320px,7fr);gap:12px;align-items:start}.ai-preview{position:sticky;top:88px}@media(max-width:900px){.ai-split{grid-template-columns:1fr}.ai-preview{position:static}}.ai-canvas{overflow:auto;max-height:80vh;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--sf-bg-subtle)}.ai-page{position:relative;min-width:100%}.ai-page img{display:block;width:100%;height:auto}.ai-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.ai-overlay rect{fill:var(--warn-halo);stroke:var(--warn);stroke-width:2;vector-effect:non-scaling-stroke}.ai-textfallback pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:70vh;overflow:auto;background:var(--sf-bg-subtle);padding:10px;border-radius:var(--radius-md);margin:0}.ai-split>*{min-width:0}.ai-pagenav{align-items:center}.ai-side{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.ai-side>*{min-width:0}.pill.conf{margin-left:4px}label.check.ack{font-size:13px}.review .ai-lines td label.check.ack{margin:0;justify-content:flex-start;min-width:0}.ai-itemlist li{align-items:center}.ai-itemlist li.current{background:var(--accent-soft)}.ai-itembtn{flex:1;display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:44px}.ai-items label.check{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;margin:0}.ai-items label.check input{width:24px;height:24px;min-height:0}.findings ul.list li{flex-wrap:wrap}.ai-apply{align-items:center}.ai-fields td{vertical-align:middle}.panel.mcp{min-width:0}.panel.mcp .issued{display:grid;gap:8px;min-width:0;outline:none;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.panel.mcp .issued h3{margin:0}.panel.mcp .issued:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--sf-shadow-focus);border-radius:var(--radius)}.form.intake,.form.prepare,.form.onboarding,.form.recipe{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;margin-top:16px}@media(min-width:768px){.form.intake,.form.prepare,.form.onboarding,.form.recipe{padding:24px}}.form.onboarding{max-width:720px}.form.prepare .panel{border-radius:var(--radius-md)}.panel.sources .pagehead .searchbox{flex:1 1 200px}ul.tree li>.node{min-height:44px}.card.kpi,.indicators .card{padding:24px;justify-content:flex-start}.card.kpi small,.indicators .card>small{font-size:14px}.indicators .figure{font-size:36px;font-weight:700;line-height:1.2}.indicators .card>.ok{font-size:20px;font-weight:700}.panel.scan{background:var(--surface);padding:20px}@media(min-width:768px){.panel.scan{padding:20px 24px}}.actions.ai-pagenav{display:inline-flex;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;justify-self:start;max-width:100%;border:1px solid var(--line-control);border-radius:var(--sf-radius-pill);background:var(--surface)}.ai-pagenav button{min-height:46px;padding:0 12px;border-radius:0;--btn-line: transparent;--btn-hover: var(--hover-ghost)}.ai-pagenav>button:first-child{border-radius:var(--sf-radius-pill) 0 0 var(--sf-radius-pill)}.ai-pagenav>button:last-child{border-radius:0 var(--sf-radius-pill) var(--sf-radius-pill) 0}.ai-pagenav .muted{display:inline-flex;align-items:center;padding:0 8px;white-space:nowrap}.ai-pagenav:focus-within{border-color:var(--sf-border-brand);box-shadow:var(--sf-shadow-focus)}.ai-card>h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:20px;font-weight:700;margin:0;padding-bottom:12px;border-bottom:1px solid var(--line)}.ai-card .panel,.ai-fields .panel{border-radius:var(--radius-md)}.form.review>div:not(.row,.tw,.actions,.field){display:flex;flex-direction:column;gap:4px}.queue-panel>h2{padding-bottom:12px;border-bottom:1px solid var(--line)}.panel.cert>summary{min-height:48px;gap:8px}.panel.cert>summary strong{font-size:20px;font-weight:700}.panel.cert>summary>.icon{color:var(--muted);transition:transform var(--sf-dur-fast) var(--sf-ease-standard)}.panel.cert[open]>summary{padding-bottom:12px;border-bottom:1px solid var(--line)}.panel.cert[open]>summary>.icon{transform:rotate(180deg)}button,a,.filebtn{transition:background-color var(--sf-dur-fast) var(--sf-ease-standard),border-color var(--sf-dur-fast) var(--sf-ease-standard),color var(--sf-dur-fast) var(--sf-ease-standard),box-shadow var(--sf-dur-fast) var(--sf-ease-standard),transform var(--sf-dur-fast) var(--sf-ease-standard)}button:not(.link):not(:disabled):active,a.btn:active,.filebtn:active,.pagehead .button:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){button,a,.filebtn,ul.tree summary>.icon,.panel.cert>summary>.icon{transition:none}button:not(.link):not(:disabled):active,a.btn:active,.filebtn:active,.pagehead .button:active{transform:none}}summary:focus-visible,[tabindex]:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--sf-shadow-focus);border-radius:var(--radius)}.filebtn:focus-within{box-shadow:var(--sf-shadow-focus)}a.pill:focus-visible,.tagchips button.tag:focus-visible{border-radius:var(--sf-radius-pill)}.card.link:focus-visible{border-radius:var(--radius-lg)}:is(input,select,textarea):focus-visible:not(.flagged,.flagged *):not(.low *):not([aria-invalid=true]){border-color:var(--sf-border-brand)}@media(max-width:767px){:where(input:not([type=checkbox],[type=radio],[type=file]),select){min-height:56px}.settings .panel>.form:not(.inline)>button[type=submit]{align-self:stretch}.settings .panel>.form:not(.inline)>:is(.actions,.row)>button{flex:1 1 auto}.keys button.ok{min-height:56px}.modal{padding:0;place-items:end stretch}.modal>*{width:100%;max-width:none;max-height:90vh;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}table.perm td:not(:first-child),table.perm th:not(:first-child){text-align:center;width:110px}table.perm .perm-owner{color:var(--ok, #2a7);font-weight:600}table.perm .perm-fixed{background:var(--panel-2, rgba(0, 0, 0, .04))}table.perm input[type=checkbox]{width:20px;height:20px}.fill .fillcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.fill .fillcard{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px;align-content:start;min-width:0}.fill .fillcard h3{margin:0;font-size:14px;font-weight:500;color:var(--fg)}.fill .fillcard h3 small{display:block;font-weight:400;font-size:12px}.fill .roomhead{grid-column:1 / -1;margin:4px 0 -4px;font-size:12px;font-weight:600;color:var(--muted)}.fill .slot{display:grid;gap:4px;align-content:start}.fill .slot .slotlabel{font-size:12px;font-weight:600;color:var(--muted)}.fill .slot.oor{background:var(--sf-danger-050);border-radius:8px;padding:6px;margin:-6px}.fill .slot input{width:100%}.fill .slot.pending{color:var(--accent-ink);font-style:italic}.fleet-filters{align-items:center;gap:12px}.t.fleet th button.sort{display:inline-flex;align-items:center;gap:2px;font:inherit;color:inherit;padding:0;min-height:44px}.fleet-open a{margin:0 2px}
