:root{--ink-rgb: 43 39 34;--ink: rgb(var(--ink-rgb));--accent: #b07d4f;--accent-on-dark: #d9ab7c;--accent-tint: rgba(176, 125, 79, .08);--cream: #ece4d2;--cream-50: #f5f0e4;--cream-100: #efe8d9;--paper: #fbf9f3;--espresso: var(--ink);--espresso-soft: #4a443c;--muted: #8a8275;--faint: #a69e90;--line: rgb(var(--ink-rgb) / .09);--line-strong: rgb(var(--ink-rgb) / .15);--caramel: var(--accent);--caramel-dark: #95673f;--sage: #6e8b6b;--sage-soft: #e6ede3;--terracotta: #a9603f;--gold: #c2974e;--ok: #5b7d57;--ok-bg: #e7eee2;--warn: #a6772a;--warn-bg: #f4ead0;--danger: #a9503f;--danger-bg: #f3e0d9;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--ring: 0 0 0 1px rgb(var(--ink-rgb) / .07);--shadow: 0 1px 2px rgb(var(--ink-rgb) / .05);--shadow-lg: 0 24px 60px -12px rgb(var(--ink-rgb) / .3), 0 0 0 1px rgb(var(--ink-rgb) / .07);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}[data-org=wootton]{--cream: #dfe5cc;--cream-50: #edf1e2;--cream-100: #e5ead6;--paper: #f8faf2;--muted: #767d63;--faint: #979e84;--ink-rgb: 47 54 32;--accent: #7f9350;--accent-on-dark: #b3c47f;--accent-tint: rgba(127, 147, 80, .09);--espresso-soft: #4b5338;--caramel-dark: #67793f;--sage: #6d7b4e;--sage-soft: #e7ebdd;--gold: #97a24e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;font-feature-settings:"cv11","ss01"}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.tnum,.stat .value,.rota .staff-cell .who .hrs,.shift .time{font-variant-numeric:tabular-nums}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.boot-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow),var(--ring);padding:32px 34px;max-width:440px;text-align:center}.boot-card h2{margin:0 0 8px;font-size:18px;font-weight:700;letter-spacing:-.02em}.boot-card p{margin:6px 0;font-size:13.5px}.boot-card code{background:var(--cream-100);padding:1px 6px;border-radius:5px;font-size:12.5px}.boot-card .btn{margin-top:16px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--cream)}.login-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow),var(--ring);padding:36px 32px;width:100%;max-width:380px;display:flex;flex-direction:column}.clock-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--cream)}.clock-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow),var(--ring);padding:34px 28px;width:100%;max-width:400px;text-align:center}.clock-sub{margin:2px 0 18px;color:var(--muted);font-size:13px}.clock-msg{padding:20px 8px;color:var(--espresso-soft);font-size:14.5px}.clock-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:22px;border:none;border-radius:var(--radius);font-size:21px;font-weight:700;letter-spacing:-.02em;color:#fff;cursor:pointer;transition:background .15s,transform .05s}.clock-btn:active{transform:translateY(1px)}.clock-btn:disabled{opacity:.5}.clock-btn.in{background:var(--sage)}.clock-btn.out{background:var(--terracotta)}.clock-btn:hover{filter:brightness(1.05)}.clock-done{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;border-radius:var(--radius);background:var(--ok-bg);color:var(--ok);text-align:left;box-shadow:inset 0 0 0 1px #5b7d5726}.app{display:flex;min-height:100%;background:var(--cream);padding:8px}.sidebar{width:244px;flex-shrink:0;display:flex;flex-direction:column;padding:12px 10px 8px;position:sticky;top:8px;height:calc(100vh - 16px);overflow-y:auto}.brand{display:flex;align-items:baseline;padding:0 8px;font-size:22px;font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--ink)}.brand .dot{color:var(--accent)}.brand-sub{padding:0 8px;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:16px}.side-action{display:flex;align-items:center;gap:8px;width:100%;height:36px;margin-top:18px;padding:0 10px;border:1px solid var(--line);background:#fbf9f399;border-radius:var(--radius-sm);color:var(--muted);font-size:13px;font-weight:500;text-align:left;transition:background .15s,color .15s}.side-action:hover{background:var(--paper);color:var(--ink)}.org-switch{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:rgb(var(--ink-rgb) / .05)}.org-switch button{flex:1;border:none;background:transparent;border-radius:7px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--muted);transition:background .15s,color .15s,box-shadow .15s}.org-switch button:hover{color:var(--ink)}.org-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .08),var(--ring)}.org-switch.dark{display:flex;margin-top:18px}.org-switch.dark+.side-action{margin-top:10px}.staff-card{transition:box-shadow .15s,border-color .15s}.staff-card:hover{border-color:var(--line-strong);box-shadow:0 4px 14px -4px rgb(var(--ink-rgb) / .1)}.seg{display:inline-flex;gap:2px;padding:3px;background:rgb(var(--ink-rgb) / .05);border-radius:10px}.seg button{border:none;background:transparent;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--muted);transition:background .15s,color .15s}.seg button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .08),var(--ring)}.org-tag{font-size:12px;font-weight:600}.org-tag.dark,.org-tag.light{color:var(--muted)}.nav{display:flex;flex-direction:column;gap:20px;margin-top:20px}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-title{margin:0 0 4px;padding:0 10px;font-size:11.5px;font-weight:500;color:var(--faint)}.nav button{display:flex;align-items:center;gap:10px;height:32px;background:transparent;border:none;color:rgb(var(--ink-rgb) / .6);padding:0 10px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:400;text-align:left;transition:background .15s,color .15s;outline:none}.nav button:hover{background:rgb(var(--ink-rgb) / .04);color:var(--ink)}.nav button:focus-visible{box-shadow:0 0 0 2px rgb(var(--ink-rgb) / .2)}.nav button.active{background:var(--paper);color:var(--ink);font-weight:500;box-shadow:0 1px 2px rgb(var(--ink-rgb) / .06),var(--ring)}.nav .ico{width:16px;height:16px;flex-shrink:0;color:rgb(var(--ink-rgb) / .45)}.nav button.active .ico{color:var(--ink)}.nav .label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 4px;border-radius:6px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 8px 0}.me-avatar{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--accent-on-dark);font-size:11px;font-weight:700;border:none;padding:0}.sidebar-foot .who{flex:1;min-width:0}.sidebar-foot .who .nm{font-size:13px;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot .who .sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-btn{align-self:flex-start;background:transparent;border:none;color:var(--muted);padding:2px 0;font-size:12.5px;font-weight:500;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgb(var(--ink-rgb) / .2);cursor:pointer}.link-btn:hover{color:var(--ink)}.panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgb(var(--ink-rgb) / .05),var(--ring);min-height:calc(100vh - 16px)}.topbar{height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;font-size:13.5px}.crumbs .root{color:rgb(var(--ink-rgb) / .45)}.crumbs .sep{color:rgb(var(--ink-rgb) / .25)}.crumbs .here{font-weight:500}.main{flex:1;min-width:0;padding:28px 32px 56px}.main-inner{max-width:1152px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.page-head h1{margin:0;font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.03em}.page-head p{margin:6px 0 0;color:rgb(var(--ink-rgb) / .55);font-size:15px}.staff-shell{min-height:100%;background:var(--cream);padding:8px}.staff-shell>.staff-topbar,.staff-shell>.staff-main{background:var(--paper)}.staff-topbar{position:sticky;top:8px;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:16px;height:56px;padding:0 24px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--ring);border-bottom:1px solid var(--line)}.staff-main{margin:0;padding:28px max(22px,calc((100% - 920px)/2)) 60px;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--ring);min-height:calc(100vh - 72px)}.next-shift{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.next-shift:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgb(176 125 79 / .28),transparent 70%);pointer-events:none}.next-shift .ns-label{font-size:13px;font-weight:500;color:#ffffff8c}.next-shift .ns-day{font-size:30px;font-weight:700;letter-spacing:-.03em;margin-top:8px}.next-shift .ns-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:14px;color:#ffffffa6}.next-shift .ns-time{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#fff}.next-shift .ns-time svg{color:var(--accent-on-dark)}.next-shift .ns-note{background:#ffffff1a;padding:2px 10px;border-radius:999px;font-size:12.5px}.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:stretch}@media (max-width: 820px){.staff-grid{grid-template-columns:1fr}}.view-more{width:100%;justify-content:center;margin-top:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;border:1px solid rgb(var(--ink-rgb) / .09);background:var(--paper);color:rgb(var(--ink-rgb) / .78);padding:0 12px;border-radius:var(--radius-sm);font-weight:500;font-size:13px;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn:hover{background:rgb(var(--ink-rgb) / .03);color:var(--ink)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600;border-radius:var(--radius);padding:0 14px}.btn.primary:hover{background:rgb(var(--ink-rgb) / .85)}.btn.primary svg{color:var(--accent-on-dark)}.btn.accent{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600;border-radius:var(--radius)}.btn.accent:hover{background:rgb(var(--ink-rgb) / .85)}.btn.accent svg{color:var(--accent-on-dark)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:rgb(var(--ink-rgb) / .05);color:var(--ink)}.btn.sm{height:30px;padding:0 10px;font-size:12.5px}.btn.primary.sm{padding:0 12px}.btn.danger{color:var(--danger);border-color:#a9503f26;background:var(--danger-bg)}.btn.danger:hover{background:#ecd2c9}.btn:disabled{opacity:.4;cursor:not-allowed}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.grid{display:grid;gap:16px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat .label{font-size:13px;font-weight:500;line-height:1.35;color:rgb(var(--ink-rgb) / .6)}.stat .value{font-size:28px;font-weight:700;line-height:1;letter-spacing:-.03em;margin-top:10px}.stat .value small{font-size:14px;font-weight:500;letter-spacing:0;color:rgb(var(--ink-rgb) / .45)}.stat .sub{font-size:12px;color:rgb(var(--ink-rgb) / .45);margin-top:8px}.stat .accent-bar{display:none}.section-title{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0 0 2px}.section-sub{font-size:13px;color:rgb(var(--ink-rgb) / .5);margin:0 0 14px}.avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000000f}.avatar.sm{width:26px;height:26px;font-size:10.5px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;white-space:nowrap;font-weight:500;background:rgb(var(--ink-rgb) / .05);color:rgb(var(--ink-rgb) / .7);font-variant-numeric:tabular-nums}.chip svg{color:rgb(var(--ink-rgb) / .45)}.chip.role{background:rgb(var(--ink-rgb) / .05);color:rgb(var(--ink-rgb) / .7)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge.pending{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px #a6772a33}.badge.approved{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px #5b7d5726}.badge.declined{background:var(--danger-bg);color:var(--danger);box-shadow:inset 0 0 0 1px #a9503f26}.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.pending .d{background:var(--gold)}.badge.approved .d{background:var(--sage)}.badge.declined .d{background:var(--danger)}.list{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row .grow{flex:1;min-width:0}.row .name{font-weight:500}.row .meta{font-size:12.5px;color:rgb(var(--ink-rgb) / .5);font-variant-numeric:tabular-nums}.rota-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.rota-toolbar .week-label{font-weight:600;font-size:15px;letter-spacing:-.01em;min-width:210px}.rota-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.rota{display:grid;grid-template-columns:168px repeat(7,minmax(140px,1fr));min-width:1100px}.rota .head{position:sticky;top:0;background:var(--cream-50);border-bottom:1px solid var(--line);padding:10px 12px;font-size:13px;font-weight:600;z-index:1}.rota .head .dow{color:rgb(var(--ink-rgb) / .45);font-weight:500;font-size:11.5px}.rota .head.today{background:var(--cream-50);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.rota .head.today .dow{color:var(--ink)}.rota .corner{position:sticky;left:0;background:var(--cream-50);border-bottom:1px solid var(--line);border-right:1px solid var(--line);z-index:2}.rota .staff-cell{position:sticky;left:0;background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;display:flex;align-items:center;gap:9px;z-index:1}.rota .staff-cell .who{min-width:0}.rota .staff-cell .who .nm{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rota .staff-cell .who .hrs{font-size:11.5px;color:rgb(var(--ink-rgb) / .45)}.rota .cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px;min-height:64px;display:flex;flex-direction:column;gap:4px;position:relative}.rota .cell.today{background:var(--accent-tint)}.rota .cell:hover .add-shift{opacity:1}.add-shift{opacity:0;border:1px dashed var(--line-strong);background:transparent;border-radius:7px;color:var(--muted);font-size:12px;padding:5px;transition:opacity .12s,color .12s,border-color .12s;margin-top:auto}.add-shift:hover{border-color:var(--ink);color:var(--ink)}.shift{position:relative;border-radius:7px;padding:6px 8px;font-size:12px;border:1px solid var(--line);border-left:3px solid var(--ink);background:var(--paper);cursor:pointer;transition:box-shadow .12s,border-color .12s}.shift:hover{border-color:var(--line-strong);border-left-color:var(--ink);box-shadow:0 2px 8px -2px rgb(var(--ink-rgb) / .12)}.shift .time{font-weight:600;letter-spacing:-.01em}.shift .tag{font-size:10.5px;color:rgb(var(--ink-rgb) / .5);display:block}.shift.leave{border-color:#5b7d5726;border-left-color:var(--sage);background:var(--sage-soft);color:var(--ok);cursor:default}.leave-x{position:absolute;top:3px;right:3px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ok);font-size:14px;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .12s,background .12s}.shift.leave:hover .leave-x{opacity:1}.leave-x:hover{background:#5b7d571f}.shift.changed{box-shadow:inset 0 0 0 1.5px var(--gold)}.shift .change-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.shift.clash{border-color:#a9503f26;border-left-color:var(--danger);background:var(--danger-bg)}.shift.hol{border-color:#a9503f26;border-left-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.shift.hol .time{color:var(--danger);font-weight:600}.shift.hol .tag{color:var(--danger);font-size:10.5px;font-weight:600}.shift.clash .warn{color:var(--danger);font-weight:600}.notice{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:10px;font-size:12.5px;font-weight:500}.notice.warn{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px #a6772a33}.notice.danger{background:var(--danger-bg);color:var(--danger);box-shadow:inset 0 0 0 1px #a9503f26}.notice.ok{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px #5b7d5726}.bar{height:6px;border-radius:999px;background:rgb(var(--ink-rgb) / .06);overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;background:var(--ink)}.bar.high>span{background:var(--gold)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgb(var(--ink-rgb) / .32);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:64px 16px;z-index:50;overflow-y:auto}.modal{background:var(--paper);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg)}.modal-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:space-between;align-items:center;background:var(--cream-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:13px;font-weight:500;color:var(--ink)}.field input,.field select,.field textarea{width:100%;min-height:40px;border:1px solid rgb(var(--ink-rgb) / .1);background:var(--paper);border-radius:10px;padding:9px 12px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder,.field textarea::placeholder{color:rgb(var(--ink-rgb) / .35)}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgb(var(--ink-rgb) / .2);box-shadow:0 0 0 3px rgb(var(--ink-rgb) / .08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.icon-btn{border:none;background:transparent;color:var(--muted);padding:6px;border-radius:7px;display:inline-flex}.icon-btn:hover{background:rgb(var(--ink-rgb) / .05);color:var(--ink)}.empty{text-align:center;padding:36px 20px;color:rgb(var(--ink-rgb) / .45);font-size:13.5px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--cream-50)}.tabs{display:inline-flex;background:rgb(var(--ink-rgb) / .05);border-radius:10px;padding:3px;gap:2px}.tabs button{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-weight:600;font-size:13px;color:var(--muted)}.tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .08),var(--ring)}.split{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:start}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width: 900px){.form-cols{grid-template-columns:1fr}}@media (max-width: 1080px){.split{grid-template-columns:1fr}}.flex{display:flex;align-items:center}.gap8{gap:8px}.gap12{gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.mt0{margin-top:0}.muted{color:var(--muted)}.right{margin-left:auto}.swap-controls{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.mobile-topbar,.mobile-nav{display:none}.staff-brand{position:absolute;left:50%;transform:translate(-50%);font-size:20px}@media (max-width: 760px){html,body{overflow-x:hidden}.app{display:block;padding:0;background:var(--paper)}.sidebar{display:none}.panel{border-radius:0;box-shadow:none;min-height:100vh}.topbar{display:none}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;height:56px;padding:0 16px;padding-top:env(safe-area-inset-top);background:#fbf9f3e0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);z-index:40}.mobile-topbar .brand{padding:0;font-size:20px}.mobile-topbar .me-avatar{width:30px;height:30px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fbf9f3eb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgb(var(--ink-rgb) / .07);z-index:40}.mobile-nav button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:rgb(var(--ink-rgb) / .4);padding:0 2px;font-size:10.5px;font-weight:500}.mobile-nav button:before{content:"";position:absolute;top:0;width:32px;height:3px;border-radius:0 0 999px 999px;background:var(--accent);opacity:0;transition:opacity .15s}.mobile-nav button.active{color:var(--ink);font-weight:600}.mobile-nav button.active:before{opacity:1}.mobile-nav .ico-wrap{position:relative;display:inline-flex}.mobile-nav .count{position:absolute;right:-12px;top:-6px;border-radius:999px;box-shadow:0 0 0 2px var(--paper)}.main{padding:20px 16px calc(96px + env(safe-area-inset-bottom));max-width:100%}.page-head{margin-bottom:20px;gap:12px}.page-head h1{font-size:24px}.page-head p{font-size:14px}.page-head .flex{flex-wrap:wrap}input,select,textarea{font-size:16px!important}.field-row{grid-template-columns:1fr}.overlay{padding:12px;align-items:flex-start}.modal{max-width:100%}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.stat .value{font-size:24px}.list .row{flex-wrap:wrap}.row .swap-controls{margin-left:auto}.row .grow{min-width:55%}.staff-shell{padding:0;background:var(--paper)}.staff-topbar{top:0;height:auto;min-height:56px;padding:10px 16px;flex-wrap:wrap;gap:10px;justify-content:center;border-radius:0;box-shadow:none;background:#fbf9f3e0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.staff-brand{position:static;transform:none}.staff-main{padding:20px 16px 60px;border-radius:0;box-shadow:none}.next-shift{padding:20px}.next-shift .ns-day{font-size:24px}.rota{grid-template-columns:108px repeat(7,minmax(92px,1fr));min-width:740px}.rota .staff-cell{padding:8px;gap:6px}.rota .staff-cell .who .nm{font-size:12px}.rota-toolbar .week-label{min-width:0}}
