:root,.portal,.printov,[data-mode=day]{--bg:#f2f3f5;--surface:#ffffff;--panel:#e9ebee;--hairline:#dde0e5;--ink:#1c222a;--ink-soft:#3c4653;--muted:#5b6470;--overlay:rgba(18,24,32,.44);--primary:#1e242b;--on-primary:#ffffff;--primary-hover:#12161b;--primary-tint:#e6e9ed;--on-primary-tint:#2a323c;--accent:#f26419;--on-accent:#ffffff;--accent-hover:#d8530c;--accent-strong:#c04b08;--accent-strong-hover:#a84207;--accent-tint:#fdece2;--on-accent-tint:#9a3f0e;--green:#1e6e48;--green-tint:#e0f1e8;--on-green-tint:#175338;--amber:#8a5f12;--amber-tint:#f6ecd3;--on-amber-tint:#6d4b10;--red:#b02e2e;--red-tint:#f8e2df;--on-red-tint:#8c2622;--on-danger:#ffffff;--info:#2b5f8f;--info-tint:#e4eef8;--on-info-tint:#234c72;--neutral-tint:#e7eaee;--on-neutral-tint:#45505c;--glass-bg:color-mix(in srgb, var(--surface) 68%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 84%, transparent);--glass-border:color-mix(in srgb, var(--ink) 9%, transparent);--glass-highlight:rgba(255,255,255,.42);--glass-shadow:0 12px 40px -12px rgba(18,28,38,.16);--blur-chrome:18px;--blur-sheet:24px;--glass-saturate:1.35;--bg-wash:radial-gradient(1100px 700px at 8% -4%, rgba(30,36,43,.06), transparent 60%), radial-gradient(900px 640px at 104% 12%, rgba(242,100,25,.05), transparent 55%);--noise-opacity:.022;--font-head:"Barlow Semi Condensed", -apple-system, sans-serif;--font-body:"Inter", -apple-system, sans-serif;--font-data:"Inter", -apple-system, sans-serif;--fz-xs:12px;--fz-sm:13px;--fz-md:14px;--fz-base:15px;--fz-lg:17px;--fz-xl:20px;--fz-2xl:25px;--fz-3xl:32px;--fz-display:40px;--radius-1:8px;--radius-2:12px;--radius-3:18px;--radius-pill:999px;--shadow-1:0 1px 2px rgba(18,28,38,.05);--shadow-2:0 2px 6px rgba(18,28,38,.05), 0 8px 24px -10px rgba(18,28,38,.1);--shadow-3:0 4px 10px rgba(18,28,38,.06), 0 16px 40px -12px rgba(18,28,38,.14);--shadow-4:0 8px 16px rgba(18,28,38,.08), 0 28px 70px -16px rgba(18,28,38,.22);--dur-instant:80ms;--dur-micro:.15s;--dur-standard:.24s;--dur-expressive:.4s;--ease-out:cubic-bezier(.2,0,0,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-spring:cubic-bezier(.34,1.4,.64,1);--focus-ring:2px solid var(--accent);--appt-mot:#1e242b;--appt-service:#3f6c8a;--appt-repair:#5d7a3f;--appt-diag:#7a5d3f;--appt-tyres:#6b5d8a;--font-plate: var(--font-data);--plate-radius: 6px;--fz-kicker: 11px;--fz-4xl: var(--fz-display);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--lh-tight:1.2;--lh-snug:1.4;--lh-base:1.6;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--space-10:72px;--radius-sm: var(--radius-1);--radius-md: var(--radius-2);--radius-lg: var(--radius-2);--radius-xl: var(--radius-3);--border-thin:1px;--border-med:2px;--border-thick:3px;--border-accent:4px;--shadow-sm: var(--shadow-1);--shadow-md: var(--shadow-2);--shadow-lg: var(--shadow-3);--sidebar-w:248px;--topbar-h:60px;--bottombar-h:64px;--content-max:1280px;--touch:48px;--tap-lg:56px;--ctl:44px;--ls-1:.3px;--ls-2:.4px;--ls-3:.5px;--col-tile:220px;--col-detail:200px;--modal-w:620px;--login-w:420px;--ease: var(--ease-out);--dur-fast: var(--dur-micro);--dur: var(--dur-standard);--z-content:1;--z-sticky:50;--z-nav:60;--z-overlay:200;--z-modal:300;--z-toast:400;--sidebar-display:flex;--bottombar-display:none;--content-pad-x: var(--space-8);--content-pad-bottom: var(--space-8);--diary-cols-min:160px;--print-paper:#ffffff;--print-paper-alt:#fafaf7;--print-ink-status:#2f7d4f;--print-overlay:rgba(15,18,28,.62);--print-shadow:0 24px 60px rgba(0,0,0,.28);--print-bar-line:rgba(255,255,255,.4);--print-bar-hover:rgba(255,255,255,.12)}:root[data-mode=night]{--bg:#15181c;--surface:#1d2126;--panel:#262b31;--hairline:rgba(233,237,241,.11);--ink:#e9edf1;--ink-soft:#d5dbe1;--muted:#a6b0ba;--overlay:rgba(0,0,0,.6);--primary:#a9bccb;--on-primary:#141c23;--primary-hover:#bccdd9;--primary-tint:rgba(169,188,203,.14);--on-primary-tint:#cddae4;--accent:#f2854a;--on-accent:#341504;--accent-hover:#f59a68;--accent-strong:#f2854a;--accent-strong-hover:#f59a68;--accent-tint:rgba(242,133,74,.13);--on-accent-tint:#f8c4a4;--green:#6fbe93;--green-tint:rgba(111,190,147,.13);--on-green-tint:#ade0c6;--amber:#e0ac4a;--amber-tint:rgba(224,172,74,.13);--on-amber-tint:#eecf94;--red:#e57373;--red-tint:rgba(229,115,115,.13);--on-red-tint:#f2aeae;--info:#7fb2e2;--info-tint:rgba(127,178,226,.13);--on-info-tint:#b7d5f0;--neutral-tint:rgba(233,237,241,.09);--on-neutral-tint:#c6ced6;--glass-bg:color-mix(in srgb, var(--surface) 60%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 78%, transparent);--glass-border:rgba(233,237,241,.1);--glass-highlight:rgba(255,255,255,.07);--glass-shadow:0 12px 44px -10px rgba(0,0,0,.5);--noise-opacity:.03}@media (max-width: 640px){:root{--sidebar-display:none;--bottombar-display:flex;--content-pad-x: var(--space-4);--content-pad-bottom: calc(var(--bottombar-h) + var(--space-6));--diary-cols-min:120px}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg-wash),var(--bg);color:var(--ink);font-size:var(--fz-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--dur-expressive) var(--ease-in-out),color var(--dur-expressive) var(--ease-in-out)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='1'/></svg>")}h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--ink)}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;text-align:left;color:inherit}.muted{color:var(--muted)}.right{text-align:right}.tabular,.num{font-variant-numeric:tabular-nums;font-family:var(--font-data)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow)}.glass-sheet{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow)}@supports not (backdrop-filter: blur(1px)){.glass,.glass-sheet{background:color-mix(in srgb,var(--surface) 97%,transparent)}}@media (prefers-reduced-transparency: reduce){.glass,.glass-sheet{background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}.shell{display:grid;grid-template-columns:auto 1fr;min-height:100%}.sidebar{display:var(--sidebar-display);flex-direction:column;width:var(--sidebar-w);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));border-right:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow);color:var(--ink);position:sticky;top:0;height:100vh;padding:var(--space-5) var(--space-3);z-index:var(--z-nav)}@supports not (backdrop-filter: blur(1px)){.sidebar{background:color-mix(in srgb,var(--surface) 97%,transparent)}}@media (prefers-reduced-transparency: reduce){.sidebar{background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}.sidebar .brand{font-family:var(--font-head);font-weight:var(--fw-black);font-size:var(--fz-xl);color:var(--ink);padding:var(--space-2) var(--space-3) var(--space-5);letter-spacing:-.01em}.sidebar .brand small{display:block;font-size:var(--fz-kicker);font-weight:var(--fw-medium);color:var(--muted);text-transform:uppercase;letter-spacing:var(--ls-3);margin-top:var(--space-1)}.nav{display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto;flex:1}.nav a{display:flex;align-items:center;gap:var(--space-3);min-height:var(--ctl);padding:0 var(--space-3);border-radius:var(--radius-1);color:var(--ink-soft);font-weight:var(--fw-medium);font-size:var(--fz-md);position:relative;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav a .ic{width:var(--space-5);text-align:center;display:inline-flex;opacity:.9}.nav a:hover{background:var(--panel);color:var(--ink)}.nav a.active{background:var(--primary-tint);color:var(--on-primary-tint);font-weight:var(--fw-semibold)}.nav a.active:before{content:"";position:absolute;left:calc(-1 * var(--space-3));top:var(--space-2);bottom:var(--space-2);width:var(--border-thick);background:var(--accent);border-radius:var(--radius-pill)}.nav-group-label{font-size:var(--fz-kicker);text-transform:uppercase;letter-spacing:var(--ls-3);color:var(--muted);padding:0 var(--space-3);margin:var(--space-3) 0 var(--space-1)}.nav .badge-dot{margin-left:auto;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-pill);font-size:var(--fz-kicker);padding:0 var(--space-2);font-weight:var(--fw-bold)}.sidebar .userbox{border-top:var(--border-thin) solid var(--hairline);padding-top:var(--space-4);margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fz-md)}.userbox .who{display:flex;align-items:center;gap:var(--space-3);min-width:0}.userbox .who-lines{min-width:0}.userbox .avatar-chip{flex:none;width:var(--space-8);height:var(--space-8);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--primary-tint);color:var(--on-primary-tint);font-weight:var(--fw-bold);font-size:var(--fz-md)}.userbox .name{font-weight:var(--fw-semibold);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbox .role{color:var(--muted);text-transform:uppercase;font-size:var(--fz-kicker);letter-spacing:var(--ls-2)}.userbox .switch-user{width:100%;min-height:var(--ctl);justify-content:center}.userbox .quiet-row{display:flex;gap:var(--space-2);align-items:center}.userbox .quiet-row .toggle{flex:1 1 0;min-width:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--ctl);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-1);cursor:pointer;color:var(--ink-soft);font-family:var(--font-body);font-size:var(--fz-kicker);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease)}.userbox .quiet-row .toggle:hover{background:var(--panel)}.userbox .quiet-row .toggle[aria-pressed=true]{background:var(--primary-tint);color:var(--on-primary-tint)}.sync{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fz-xs);font-weight:var(--fw-semibold);color:var(--on-neutral-tint);background:var(--neutral-tint);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}.sync .dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill)}.sync.online .dot{background:var(--green)}.sync.syncing .dot{background:var(--amber)}.sync.offline .dot{background:var(--red)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:var(--space-4);min-height:var(--topbar-h);padding:0 var(--content-pad-x);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);position:sticky;top:0;z-index:var(--z-sticky)}@supports not (backdrop-filter: blur(1px)){.topbar{background:color-mix(in srgb,var(--surface) 97%,transparent)}}@media (prefers-reduced-transparency: reduce){.topbar{background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}.topbar h1{font-size:24px}.topbar .spacer{flex:1}.content{padding:var(--space-6) var(--content-pad-x) var(--content-pad-bottom);max-width:var(--content-max);width:100%;position:relative;z-index:var(--z-content)}.bottombar{display:var(--bottombar-display);position:fixed;bottom:0;left:0;right:0;height:var(--bottombar-h);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-chrome)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);z-index:var(--z-sticky);justify-content:space-around;align-items:stretch}@supports not (backdrop-filter: blur(1px)){.bottombar{background:color-mix(in srgb,var(--surface) 97%,transparent)}}@media (prefers-reduced-transparency: reduce){.bottombar{background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}.bottombar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--ink-soft);font-size:var(--fz-xs);flex:1;min-height:var(--touch)}.bottombar a.active{color:var(--on-primary-tint);font-weight:var(--fw-semibold)}.card{background:var(--surface);border:var(--border-thin) solid var(--hairline);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm)}.grid{display:grid;gap:var(--space-4)}.grid.cols{grid-template-columns:repeat(auto-fill,minmax(var(--diary-cols-min),1fr))}.tiles{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(var(--col-tile),1fr));margin-bottom:var(--space-5)}.tile{background:var(--surface);border:var(--border-thin) solid var(--hairline);border-left:var(--border-accent) solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm)}.tile .k{color:var(--muted);font-size:var(--fz-kicker);text-transform:uppercase;letter-spacing:var(--ls-2)}.tile .v{font-family:var(--font-head);font-size:var(--fz-3xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.tile.accent .v{color:var(--on-accent-tint)}table{width:100%;border-collapse:collapse;font-size:var(--fz-md)}th{text-align:left;font-size:var(--fz-kicker);text-transform:uppercase;letter-spacing:var(--ls-3);color:var(--muted);padding:var(--space-2) var(--space-3);border-bottom:var(--border-med) solid var(--hairline);background:var(--panel)}td{padding:var(--space-3);border-bottom:var(--border-thin) solid var(--hairline);vertical-align:middle;font-family:var(--font-data);font-variant-numeric:tabular-nums}tr:hover td{background:var(--panel)}tr.clickable{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--ctl);padding:0 var(--space-5);border-radius:var(--radius-2);border:none;font-weight:var(--fw-semibold);font-size:var(--fz-base);background:var(--primary-tint);color:var(--on-primary-tint);transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{background:color-mix(in srgb,var(--primary-tint) 82%,var(--primary))}.btn:active{transform:translateY(var(--border-thin))}.btn.primary{background:var(--accent-strong, var(--accent));color:var(--on-accent);box-shadow:var(--shadow-1)}.btn.primary:hover{background:var(--accent-strong-hover, var(--accent-hover));box-shadow:var(--shadow-2);transform:translateY(-1px)}.btn.primary:active{transform:none;box-shadow:var(--shadow-1)}.btn.dark{background:var(--primary-tint);color:var(--on-primary-tint)}.btn.ghost{background:transparent;color:var(--ink-soft)}.btn.ghost:hover{background:var(--panel)}.btn.sm{min-height:36px;padding:0 var(--space-3);font-size:var(--fz-md);border-radius:var(--radius-1)}.btn.lg{min-height:var(--tap-lg)}.btn.block{width:100%;justify-content:center}.btn.danger{background:var(--red);color:var(--on-danger)}.btn.danger:hover{background:var(--red);filter:brightness(.93)}.btn.ghost.danger{background:transparent;color:var(--red);box-shadow:inset 0 0 0 var(--border-thin) var(--red)}.btn.ghost.danger:hover{background:var(--red-tint);filter:none}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fz-xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill)}.badge.green{background:var(--green-tint);color:var(--on-green-tint)}.badge.amber{background:var(--amber-tint);color:var(--on-amber-tint)}.badge.red{background:var(--red-tint);color:var(--on-red-tint)}.badge.info{background:var(--info-tint);color:var(--on-info-tint)}.badge.neutral{background:var(--neutral-tint);color:var(--on-neutral-tint)}.plate{display:inline-block;font-family:var(--font-plate);font-weight:var(--fw-bold);letter-spacing:.08em;background:var(--surface);color:var(--ink);padding:var(--space-1) var(--space-3);border-radius:var(--plate-radius);border:var(--border-thin) solid var(--hairline);font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.field label{font-size:var(--fz-sm);font-weight:var(--fw-semibold);color:var(--ink-soft)}.field input,.field select,.field textarea{min-height:var(--touch);padding:0 var(--space-3);border:var(--border-thin) solid var(--hairline);border-radius:var(--radius-2);font-size:var(--fz-base);font-family:var(--font-body);background:var(--surface);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.field textarea{padding:var(--space-2) var(--space-3);min-height:var(--space-9);line-height:var(--lh-snug)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 var(--border-thick) var(--accent-tint)}.row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.row>*{flex:1;min-width:0}.error-text{color:var(--red);font-size:var(--fz-md);margin-top:var(--space-3);text-align:center}.skel{position:relative;overflow:hidden;background:var(--panel);border-radius:var(--radius-1)}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--glass-highlight),transparent);animation:shimmer 1.2s var(--ease-in-out) infinite}.skel-row{height:var(--touch)}.skel-list{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0}@keyframes shimmer{to{transform:translate(100%)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:var(--modal-w);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-4)}.modal h2{font-size:var(--fz-xl);margin-bottom:var(--space-4)}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow);border-radius:var(--radius-3);padding:var(--space-8);width:100%;max-width:var(--login-w)}@supports not (backdrop-filter: blur(1px)){.login-card{background:color-mix(in srgb,var(--surface) 97%,transparent)}}@media (prefers-reduced-transparency: reduce){.login-card{background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}.login-card .brand{font-family:var(--font-head);font-weight:var(--fw-black);font-size:var(--fz-3xl);text-align:center;margin-bottom:var(--space-2);color:var(--primary)}.login-card .brandbar{height:var(--space-1);border-radius:var(--radius-sm);background:var(--accent);margin-bottom:var(--space-6)}.staff-grid{display:flex;flex-direction:column;gap:var(--space-2)}.staff-btn{text-align:left;padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);border:var(--border-thin) solid var(--hairline);background:var(--surface);min-height:var(--tap-lg);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.staff-btn:hover{border-color:var(--accent);transform:translateY(calc(-1 * var(--border-med)));box-shadow:var(--shadow-2)}.staff-btn.sel{border-color:var(--accent);background:var(--accent-tint)}.staff-btn .nm{font-weight:var(--fw-bold)}.staff-btn .rl{font-size:var(--fz-kicker);text-transform:uppercase;letter-spacing:var(--ls-2);color:var(--muted)}.pin{display:flex;gap:var(--space-2);justify-content:center;margin:var(--space-4) 0}.pin input{width:var(--space-8);height:var(--tap-lg);text-align:center;font-size:var(--fz-2xl);border:var(--border-med) solid var(--hairline);border-radius:var(--radius-2)}.mono{font-family:var(--font-data);font-variant-numeric:tabular-nums}.head-figure{font-family:var(--font-head);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar .spacer{flex:1}.section-title{font-size:var(--fz-lg);margin:var(--space-5) 0 var(--space-3)}.empty{text-align:center;color:var(--muted);padding:var(--space-8)}.spinner{display:inline-block;width:var(--space-5);height:var(--space-5);border:var(--border-med) solid var(--hairline);border-top-color:var(--accent);border-radius:var(--radius-pill);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-grid{display:grid;gap:var(--space-3) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(var(--col-detail),1fr))}.kv .k{font-size:var(--fz-sm);color:var(--muted)}.kv .v{font-weight:var(--fw-semibold)}.timeline{border-left:var(--border-med) solid var(--hairline);padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.timeline .ev{position:relative}.timeline .ev:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - var(--border-med));top:var(--space-1);width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--accent)}.rag-tabs{display:flex;gap:var(--space-2)}.rag-pick{flex:1;min-height:var(--tap-lg);border-radius:var(--radius-2);border:var(--border-med) solid var(--hairline);font-weight:var(--fw-bold);background:var(--surface);text-align:center;justify-content:center}.rag-pick.green.on{background:var(--green-tint);border-color:var(--green);color:var(--on-green-tint)}.rag-pick.amber.on{background:var(--amber-tint);border-color:var(--amber);color:var(--on-amber-tint)}.rag-pick.red.on{background:var(--red-tint);border-color:var(--red);color:var(--on-red-tint)}.signature-pad{border:var(--border-med) dashed var(--hairline);border-radius:var(--radius-2);touch-action:none;width:100%;background:var(--surface)}@keyframes rise{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.printov{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--print-overlay);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--space-4);overflow-y:auto}.printwrap{width:100%;max-width:860px;display:flex;flex-direction:column;gap:var(--space-3)}.printbar{position:sticky;top:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.printbar__title{font-family:var(--font-head);font-weight:700;letter-spacing:.02em;color:var(--on-primary)}.printbar .spacer{flex:1}.printbar .btn.ghost{color:var(--on-primary);background:transparent;border:1px solid var(--print-bar-line)}.printbar .btn.ghost:hover{background:var(--print-bar-hover)}.printscroll{display:flex;justify-content:center}.sheet{width:100%;max-width:820px;background:var(--print-paper);color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--print-shadow);padding:52px 56px 40px;font-family:var(--font-body)}.sheet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.sheet__mark{font-family:var(--font-head);font-weight:700;font-size:30px;letter-spacing:.04em;color:var(--primary);line-height:1}.sheet__mark span{color:var(--accent)}.sheet__tag{font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:6px}.sheet__co{text-align:right;font-size:11.5px;line-height:1.7;color:var(--muted);display:flex;flex-direction:column}.sheet__co strong{color:var(--ink);font-size:13px}.sheet__accent{height:4px;background:var(--accent);margin:22px 0 26px}.sheet__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:24px}.sheet__metaL h1{font-family:var(--font-head);font-weight:700;font-size:26px;color:var(--ink);margin:0 0 6px}.sheet__metaL p{font-size:12.5px;color:var(--muted);max-width:46ch;line-height:1.5;margin:0}.sheet__billto{margin-top:16px;display:flex;flex-direction:column;gap:2px}.sheet__billto span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sheet__billto b{font-size:13px;color:var(--ink);font-weight:600}.sheet__metaR{display:flex;flex-direction:column;gap:7px;min-width:160px}.sheet__metaR div{display:flex;justify-content:space-between;gap:16px;font-size:12px;border-bottom:1px dotted var(--hairline);padding-bottom:5px}.sheet__metaR span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;align-self:center}.sheet__metaR b{font-family:var(--font-head);font-weight:700;color:var(--ink)}.sheet__status{text-transform:capitalize;color:var(--print-ink-status)}.sheet__hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);background:var(--accent-tint);border-radius:var(--radius-md);padding:22px 26px;margin-bottom:22px}.sheet__hero h2{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--primary);margin:0}.sheet__hero p{margin:4px 0 0;font-size:12.5px;color:var(--muted);text-transform:capitalize}.sheet__hero-amt{text-align:right}.sheet__hero-amt span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sheet__hero-amt b{font-family:var(--font-head);font-weight:800;font-size:24px;color:var(--ink)}.sheet__block{margin-bottom:22px}.sheet__blockh{font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--hairline)}.sheet__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px}.sheet__fields div{display:flex;justify-content:space-between;gap:14px;font-size:12.5px;border-bottom:1px dotted var(--hairline);padding-bottom:7px}.sheet__fields span{color:var(--muted)}.sheet__fields b{color:var(--ink);font-weight:600;text-transform:capitalize}.sheet__text{font-size:12.5px;line-height:1.7;color:var(--ink-soft);margin:0;white-space:pre-wrap}.sheet__table{width:100%;border-collapse:collapse}.sheet__table th{text-align:left;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:0 10px 8px;border-bottom:2px solid var(--primary);background:transparent}.sheet__table td{font-size:12.5px;color:var(--ink-soft);padding:9px 10px;border-bottom:1px solid var(--hairline);vertical-align:top}.sheet__table th.r,.sheet__table td.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sheet__table tbody tr:nth-child(2n) td{background:var(--print-paper-alt)}.sheet__empty{text-align:center;color:var(--muted);padding:22px 0;font-style:italic}.sheet__summary{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-top:6px}.sheet__sumrow{display:flex;justify-content:space-between;gap:28px;min-width:280px;padding:7px 12px;font-size:13px}.sheet__sumrow:last-child{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-sm)}.sheet__sumrow b{font-family:var(--font-head);font-weight:700;font-variant-numeric:tabular-nums}.sheet__foot{margin-top:30px;padding-top:14px;border-top:1px solid var(--hairline);font-size:10.5px;color:var(--muted);text-align:center}@media (max-width: 640px){.sheet{padding:30px 22px 26px}.sheet__head,.sheet__meta,.sheet__hero{flex-direction:column;gap:var(--space-3);align-items:flex-start}.sheet__co{text-align:left}.sheet__fields{grid-template-columns:1fr}}@media print{body>*:not(.printov){display:none!important}html,body{margin:0!important;padding:0!important;background:var(--print-paper)!important;height:auto!important}.printov{position:static!important;inset:auto!important;background:var(--print-paper)!important;padding:0!important;margin:0!important;display:block!important;overflow:visible!important}.printbar{display:none!important}.printwrap{max-width:none!important;gap:0!important;margin:0!important}.printscroll{display:block!important}.sheet{max-width:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important}@page{margin:14mm;size:A4}}.u-mt1{margin-top:var(--space-1)}.u-mt2{margin-top:var(--space-2)}.u-mt3{margin-top:var(--space-3)}.u-mb1{margin-bottom:var(--space-1)}.u-mb2{margin-bottom:var(--space-2)}.u-mb3{margin-bottom:var(--space-3)}.u-my32{margin:var(--space-3) 0 var(--space-2)}.u-ml1{margin-left:4px}.u-block{display:block}.u-hidden{display:none}.u-green{color:var(--green)}.u-red{color:var(--red)}.u-flex-none{flex:none}.u-wrap{flex-wrap:wrap}.u-align-end{align-items:flex-end}.u-flexrow{display:flex;gap:var(--space-2);flex-wrap:wrap}.u-scroll-x{overflow-x:auto}.u-img{max-width:100%;border-radius:8px;margin-bottom:var(--space-2)}.board-grid{min-width:900px;display:flex;flex-direction:column;gap:var(--space-2)}.board-row{display:grid;grid-template-columns:var(--board-cols);gap:var(--space-1);align-items:stretch}.tbl-fixed{table-layout:fixed}.tbl-fixed td{overflow:hidden;text-overflow:ellipsis}.rem-table th:nth-child(1){width:17%}.rem-table th:nth-child(2){width:21%}.rem-table th:nth-child(3){width:9%}.rem-table th:nth-child(4){width:9%}.rem-table th:nth-child(5){width:9%}.rem-table th:nth-child(6){width:12%}.rem-table th:nth-child(7){width:23%}.fleet-tbl th:nth-child(1){width:31%}.board-colhead{font-size:10px;text-align:center}.board-bayname{font-weight:600;font-size:13px;align-self:center}.board-slot{background:var(--surface);border:1px dashed var(--hairline);border-radius:4px;cursor:pointer;min-height:40px}.jtile{background:var(--surface);border:var(--border-thin) solid var(--hairline);border-radius:var(--radius-1);padding:var(--space-1) var(--space-2);cursor:pointer;min-height:40px;font-size:var(--fz-xs);overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px;box-shadow:var(--shadow-1);transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.jtile:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.jtile.late{border-color:var(--red);background:var(--red-tint)}.jtile-top{display:flex;align-items:center;gap:var(--space-2);min-width:0}.jtile-top .surname{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jtile-promise{margin-left:auto;font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-weight:var(--fw-semibold)}.jtile.late .jtile-promise{color:var(--on-red-tint)}.jtile-glyphs{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.glyph{display:inline-flex;align-items:center;gap:2px;font-size:var(--fz-kicker);font-weight:var(--fw-semibold);color:var(--muted);white-space:nowrap}.glyph .gdot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill)}.gdot.sent{background:var(--amber)}.gdot.decided{background:var(--green)}.glyph.money{color:var(--on-green-tint)}.plate.sm{padding:0 var(--space-2);font-size:var(--fz-xs)}.tile.edge-amber{border-left-color:var(--amber)}.tile.edge-info{border-left-color:var(--info)}.tile.edge-green{border-left-color:var(--green)}.tile.edge-red{border-left-color:var(--red)}.tyre-grid{display:grid;gap:var(--space-3);max-width:420px;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"nsf front osf" "nsr spare osr";margin:var(--space-3) 0;padding:var(--space-5) var(--space-4);border:var(--border-med) solid var(--hairline);border-radius:var(--radius-3);background:var(--panel);position:relative}.tyre-grid .car-front{grid-area:front;align-self:center;text-align:center;color:var(--muted);font-size:var(--fz-kicker);text-transform:uppercase;letter-spacing:var(--ls-3)}.tyre-cell{min-height:var(--touch);min-width:var(--touch);border-radius:var(--radius-2);border:var(--border-med) solid var(--hairline);background:var(--surface);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:center;transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}button.tyre-cell:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.tyre-cell.nsf{grid-area:nsf}.tyre-cell.osf{grid-area:osf}.tyre-cell.nsr{grid-area:nsr}.tyre-cell.osr{grid-area:osr}.tyre-cell.spare{grid-area:spare;border-style:dashed}.tyre-cell .pos{font-size:var(--fz-kicker);text-transform:uppercase;letter-spacing:var(--ls-2);color:var(--muted);font-family:var(--font-body)}.tyre-cell .mm{font-weight:var(--fw-bold);font-size:var(--fz-base)}.tyre-cell.green{background:var(--green-tint);border-color:var(--green);color:var(--on-green-tint)}.tyre-cell.green .pos{color:var(--on-green-tint)}.tyre-cell.amber{background:var(--amber-tint);border-color:var(--amber);color:var(--on-amber-tint)}.tyre-cell.amber .pos{color:var(--on-amber-tint)}.tyre-cell.red{background:var(--red-tint);border-color:var(--red);color:var(--on-red-tint)}.tyre-cell.red .pos{color:var(--on-red-tint)}.tyre-cell.sel{outline:var(--focus-ring);outline-offset:2px}.tyre-legal{color:var(--red);font-size:var(--fz-sm);font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}.approve-item p{font-size:var(--fz-lg);line-height:1.7}.approve-item .toolbar strong:first-child{font-size:var(--fz-lg)}.approve-tabs{display:flex;flex-direction:column;gap:var(--space-2)}.approve-tabs .rag-pick{width:100%;min-height:var(--tap-lg);font-size:var(--fz-lg)}.brief{display:flex;flex-direction:column;margin:0}.brief-row{display:grid;grid-template-columns:96px 1fr;gap:var(--space-4);padding:var(--space-3) 0}.brief-row:first-child{padding-top:0}.brief-row:last-child{padding-bottom:0}.brief-row+.brief-row{border-top:1px solid var(--hairline)}.brief-row dt{font-size:var(--fz-kicker, 11px);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding-top:3px}.brief-row dd{margin:0;font-size:var(--fz-md);line-height:1.6}@media (max-width: 640px){.brief-row{grid-template-columns:1fr;gap:var(--space-1)}}.content>*+*{margin-top:var(--space-5)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-2, 12px);min-height:var(--ctl, 44px);padding:0 var(--space-3)}textarea{padding:var(--space-2) var(--space-3)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}th{white-space:nowrap}.board-row{position:relative}.jtile{position:relative;touch-action:none}.jtile.dragging{opacity:.55}.jtile-h{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;touch-action:none;z-index:2}.jtile-h.left{left:-2px}.jtile-h.right{right:-2px}.jtile-h:hover{background:var(--accent-tint)}.drag-ghost{position:absolute;top:1px;bottom:1px;border:2px dashed var(--accent);background:var(--accent-tint);border-radius:var(--radius-1);pointer-events:none;z-index:3;opacity:.75}body.board-dragging{user-select:none;-webkit-user-select:none;cursor:grabbing}.board-msg{margin-bottom:var(--space-2)}.jtile{cursor:grab}body.board-dragging .jtile{cursor:grabbing}.jtile-h:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:3px;height:55%;border-radius:var(--radius-pill);background:var(--ink-soft);opacity:.3;transition:opacity var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.jtile-h.left:after{left:3px}.jtile-h.right:after{right:3px}.jtile:hover .jtile-h:after{opacity:1;background:var(--accent)}.staff-multi{cursor:default}.staff-multi .hat-row{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.sidebar{height:100vh;height:100dvh}.login-wrap{min-height:100vh;min-height:100dvh}html{-webkit-text-size-adjust:100%}a,button,.btn,.clickable,.nav a,.bottombar a,.bottombar button,input,select,textarea{-webkit-tap-highlight-color:transparent}.btn,.nav a,.bottombar a,.bottombar button,.clickable{touch-action:manipulation}.board{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}img,video,canvas,svg.media{max-width:100%;height:auto}@media (max-width: 1024px){table tbody tr:hover td,table tbody tr.clickable:hover td,.tbl tbody tr:hover td,.tbl tbody tr.clickable:hover td,tr.clickable:hover td,.tbl tr:hover td{background:transparent}table tbody tr:hover,table tbody tr.clickable:hover,.tbl tbody tr:hover,.tbl tbody tr.clickable:hover{background:var(--surface)}.nav a:hover{background:transparent;opacity:.82}.btn:hover{background:var(--panel)}.btn.primary:hover{background:var(--accent)}.btn.dark:hover{background:var(--primary)}.btn.ghost:hover{background:transparent}.btn.danger:hover{filter:none}.btn.ghost.danger:hover{background:transparent;filter:none}.clickable:hover,.card:hover,.tile:hover{background:var(--surface)}}@media (max-width: 1024px){.field input,.field select,.field textarea,input,select,textarea{font-size:16px}.btn,button,.nav a,.clickable,.staff-btn{min-height:var(--touch)}.btn.sm,button.sm,.iconbtn,.icon-btn,.btn-icon,.btn.icon{min-height:44px;min-width:44px}}@media (max-width: 1024px){table{display:block;width:100%}table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}table tbody{display:grid;gap:var(--space-2);grid-template-columns:1fr;min-width:0}table tr{display:block;background:var(--surface);border:var(--border-thin) solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-width:0;overflow-wrap:break-word}table td{display:inline;padding:0;border:0;white-space:normal;vertical-align:baseline;min-width:0}table td:first-child{display:block;font-weight:var(--fw-bold);font-size:var(--fz-base);color:var(--ink);margin-bottom:2px}table td:first-child:before{content:""}table td:not(:first-child){font-size:var(--fz-sm);color:var(--muted)}table td:not(:first-child):before{content:"·";color:var(--hairline);margin:0 var(--space-1)}table td:nth-child(2):before{content:"";margin:0}table td.row-actions,table td:has(>button),table td:has(>a.btn){display:block;margin-top:var(--space-2);font-size:var(--fz-md)}table td:not(:first-child).row-actions:before,table td:not(:first-child):has(>button):before,table td:not(:first-child):has(>a.btn):before{content:"";margin:0}table td:empty{display:none}}@media (min-width: 641px) and (max-width: 1024px){table tbody{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media (max-width: 640px){.shell{grid-template-columns:1fr}table tbody{grid-template-columns:1fr;gap:0;background:var(--surface);border:var(--border-thin) solid var(--hairline);border-radius:var(--radius-md);overflow:hidden}table tr{border:0;border-bottom:var(--border-thin) solid var(--hairline);border-radius:0;padding:6px var(--space-3)}table tr:last-child{border-bottom:0}table tr{display:flow-root}table td:first-child{margin-bottom:0;line-height:var(--lh-tight)}table td:not(:first-child){line-height:var(--lh-tight)}table td.row-actions,table td:has(>button),table td:has(>a.btn){float:none;clear:both;display:flex;gap:var(--space-2);width:100%;margin:var(--space-2) 0 0}table td.row-actions>.btn,table td.row-actions>button,table td:has(>button)>button,table td:has(>button)>.btn,table td:has(>a.btn)>a.btn{flex:1 1 0;min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.tile-grid,.grid.cols{grid-template-columns:1fr}.grid.kpis,.kpis,.kpi-row,.stat-grid,.tiles{grid-template-columns:1fr 1fr;gap:var(--space-2)}.kpi{padding:var(--space-3);min-width:0}.kpi>*:not(:first-child),.kpi .num,.kpi .value,.kpi .figure,.kpi strong,.kpi b{font-size:var(--fz-xl);line-height:var(--lh-tight);overflow-wrap:normal}.kpi .sub{font-size:var(--fz-sm);white-space:normal}.content,.topbar{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}.content>.card,.card{padding:var(--space-3)}.bottombar{height:calc(var(--bottombar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.modal .toolbar:not(:first-child),.modal .actions,.modal .form-actions{display:flex;gap:var(--space-2);width:100%;margin-top:var(--space-4)}.modal .toolbar:not(:first-child)>.btn,.modal .toolbar:not(:first-child)>button,.modal .actions>.btn,.modal .actions>button{flex:1 1 0;min-height:48px}.modal .toolbar:not(:first-child)>.spacer{display:none}.modal form>.btn,.modal>.btn{display:block;width:100%;margin-top:var(--space-2);min-height:48px}.overlay{padding:0;align-items:stretch}.modal{width:100%;max-width:100%;height:100dvh;max-height:none;border-radius:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 var(--space-4) calc(var(--space-7) + env(safe-area-inset-bottom))}.modal>.toolbar:first-child,.modal h2:first-child{position:sticky;top:0;z-index:2;background:var(--surface);margin:0 calc(-1 * var(--space-4)) var(--space-3);padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) var(--space-3);border-bottom:var(--border-thin) solid var(--hairline)}.staff-grid{grid-template-columns:1fr}.staff-btn{min-height:var(--touch);text-align:left}.pin{display:flex;justify-content:center;margin:var(--space-4) 0}.pin input{width:100%;max-width:280px;min-height:56px;font-size:1.5rem;text-align:center;letter-spacing:.4em}}.bottombar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-soft);font-size:var(--fz-xs);background:none;border:0;min-height:var(--touch)}.bottombar button.active{color:var(--on-primary-tint);font-weight:var(--fw-semibold)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--overlay);display:flex;flex-direction:column;justify-content:flex-end}.mobile-menu .sheet{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);max-height:85dvh;overflow-y:auto;padding:var(--space-3) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg)}@supports not (backdrop-filter: blur(1px)){.mobile-menu .sheet{background:var(--surface)}}@media (prefers-reduced-transparency: reduce){.mobile-menu .sheet{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}.mobile-menu .sheet-handle{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--hairline);margin:0 auto var(--space-3)}.mobile-menu .sheet-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.mobile-menu .sheet-head .name{font-weight:var(--fw-semibold);font-size:var(--fz-md)}.mobile-menu .sheet-head .role{font-size:var(--fz-xs);color:var(--muted);text-transform:uppercase;letter-spacing:var(--ls-2)}.mobile-menu .sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.mobile-menu .sheet-grid a{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:var(--border-thin) solid var(--hairline);color:var(--ink);font-weight:var(--fw-semibold);font-size:var(--fz-md)}.mobile-menu .sheet-grid a.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.mobile-menu .sheet-grid a .ic{width:18px;height:18px}.mobile-menu .sheet-quiet-row{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.mobile-menu .sheet-quiet-row .btn.block{flex:1 1 auto;width:auto}
