:root{--bg:#f1f5f9;--card:#ffffff;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--muted:#64748b;--accent:#2563eb;--accent-dark:#1d4ed8;--matin:#fffbeb;--aprem:#eff6ff}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1200px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.topbar h1{font-size:20px;margin:0}.topbar .sub{color:var(--muted);font-size:14px}.nav{display:flex;align-items:center;gap:8px}.nav .range{font-weight:600;min-width:220px;text-align:center}.week-switch{display:inline-flex;align-items:center;gap:8px}.week-picker{position:relative;display:inline-flex}.range-btn{font:inherit;font-weight:600;min-width:220px;text-align:center;background:none;border:1px solid transparent;border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--text)}.range-btn:hover{background:#f1f5f9;border-color:var(--border-strong)}.range-btn .caret{color:var(--muted);font-size:12px}.week-picker-input{position:absolute;left:50%;bottom:-4px;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-strong);background:#fff;color:var(--text);border-radius:8px;cursor:pointer;font-size:14px;line-height:1}.btn:hover{background:#f8fafc;text-decoration:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-danger{color:#b91c1c;border-color:#fecaca;background:#fff5f5}.btn-sm{padding:4px 8px;font-size:13px;border-radius:6px}.btn-ghost{border-color:transparent;background:transparent}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background:#fff;color:var(--text);font-size:13px;font-weight:600;text-decoration:none;line-height:1}.back-btn:hover{background:#f1f5f9;text-decoration:none}.back-btn .back-arr{font-size:15px}.topbar .back-btn{margin-top:6px}.grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.day{background:var(--card);min-height:120px;display:flex;flex-direction:column}.day-head{padding:8px 10px;font-weight:600;text-transform:capitalize;background:#f8fafc;border-bottom:1px solid var(--border);font-size:13.5px}.day-body{padding:6px;display:flex;flex-direction:column;gap:4px;flex:1 1}.slot-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 2px 0}.shift{border-left:4px solid var(--c,var(--accent));background:var(--bg-soft,#f8fafc);border-radius:6px;padding:5px 8px;font-size:13px;line-height:1.25}.shift .nm{font-weight:600}.shift .hr{color:var(--muted)}.shift.mine{background:var(--bg-strong,#e0e7ff);box-shadow:inset 0 0 0 2px var(--c)}.shift.mine .nm{font-weight:800}.shift.mine .h,.shift.mine .hr{color:#1e293b}.shift.dimmed{opacity:.4}.shift.peek{background:var(--bg-strong,#e0e7ff);outline:2px dashed var(--c);outline-offset:-2px}.shift.peek .nm{font-weight:800}.shift.peek .h,.shift.peek .hr{color:#1e293b}.shift.peekable{cursor:pointer}.shift.peekable:hover{filter:brightness(.97)}.me-pick{background:var(--card);border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;margin-bottom:14px}.me-pick-title{font-weight:600;margin-bottom:10px}.me-chips{display:flex;flex-wrap:wrap;gap:8px}.me-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-weight:600;font-size:14px;cursor:pointer}.me-chip:hover{background:#f1f5f9}.me-chip .dot{width:11px;height:11px;border-radius:50%}.me-banner{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--c) 10%,#fff);border-left:1px solid var(--c);border:1px solid var(--c);border-left-width:5px;border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:16px}.me-banner .me-dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto;align-self:flex-start;margin-top:3px}.me-banner .me-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.me-banner .me-next{font-size:16px}.me-banner .me-total{color:#475569;font-weight:600;font-size:14px}.me-banner .me-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.me-seg{display:inline-flex;border:1px solid var(--c);border-radius:999px;overflow:hidden;background:#fff;flex:0 0 auto}.me-seg button{border:none;background:transparent;cursor:pointer;padding:6px 10px;font-size:13px;font-weight:600;color:var(--c);white-space:nowrap}.me-seg button.active{background:var(--c);color:#fff}.me-change-link{border:none;background:none;cursor:pointer;padding:0;color:var(--muted);font-size:11px;text-decoration:underline;white-space:nowrap;flex:0 0 auto}.me-change-link:hover{color:#334155}.my-schedule{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.my-day{display:flex;gap:14px;align-items:baseline;padding:10px 14px;border-bottom:1px solid var(--border);font-size:16px}.my-day:last-of-type{border-bottom:none}.my-day-label{flex:0 0 120px;font-weight:700}.my-day-label em{font-style:normal}.my-day-label em,.my-today-link{font-weight:600;color:var(--accent);font-size:13px}.my-today-link{border:none;background:none;cursor:pointer;padding:0;text-decoration:underline}.my-today-link:hover{color:var(--accent-dark)}.my-day-times{display:flex;flex-wrap:wrap;gap:4px 16px}.my-slot{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.my-day-times.repos,.my-note,.repos{color:var(--muted);font-style:italic}.my-day.today{background:color-mix(in srgb,var(--accent) 8%,#fff)}.my-total{padding:12px 14px;background:#f8fafc;border-top:1px solid var(--border);font-size:16px}.my-total .my-contrat{color:var(--muted);font-weight:600}@media screen{body.view-mine .grid,body.view-mine .totals{display:none}}.shift .h{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#334155}.shift .note{font-style:italic;color:var(--muted)}.totals{margin-top:18px;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.totals-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 14px;background:#f8fafc;border-bottom:1px solid var(--border)}.totals-head h2{font-size:15px;margin:0;padding:0;background:none;border:none}.totals-month-link{white-space:nowrap}.totals table{width:100%;border-collapse:collapse}.totals thead th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:6px 14px;border-bottom:1px solid var(--border);background:#fcfcfd}.totals thead th.num{text-align:right;width:90px}.totals td{padding:7px 14px;border-bottom:1px solid var(--border);font-size:14px}.totals tr:last-child td{border-bottom:none}.totals .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.totals .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;width:90px}.totals .wnote{color:var(--muted)}.emp-list{display:flex;flex-wrap:wrap;gap:8px}.emp-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-weight:600}.emp-chip .dot{width:12px;height:12px;border-radius:50%}.emp-week{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.emp-day{background:#fff;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;gap:12px}.emp-day.off{color:var(--muted)}.emp-day .d{font-weight:600;text-transform:capitalize}.emp-day .slots{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.emp-day .slot{background:#f1f5f9;border-radius:6px;padding:4px 10px;font-size:14px}.admin-bar{background:#0f172a;color:#e2e8f0}.admin-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;padding:10px 16px}.admin-bar a,.admin-bar form button{color:#e2e8f0}.admin-links{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field label{font-size:13px;color:var(--muted);font-weight:600}.check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.check input{width:16px;height:16px;flex:0 0 auto}.input,input[type=date],input[type=password],input[type=text],input[type=time],select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;background:#fff;font-family:inherit}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.add-form{border-top:1px dashed var(--border-strong);margin-top:6px;padding-top:8px}.add-form .mini{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.add-form input,.add-form select{padding:4px 6px;font-size:13px;border-radius:6px}.add-form select{max-width:110px}.add-form input[type=time]{width:92px}.gaps-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;margin-bottom:14px;font-size:14px}.gaps-warn{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.gaps-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;font-weight:600}.gaps-label{font-weight:700}.gap-chip{border:1px solid #fca5a5;background:#fff;color:#991b1b;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;cursor:pointer}.gap-chip:hover{background:#fee2e2}.gap-flag{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:700;margin-bottom:4px}.shift.editable{display:flex;justify-content:space-between;align-items:center;gap:6px}.shift .del{border:none;background:transparent;color:#b91c1c;cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.flash{padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:14px}.flash-err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.hint{color:var(--muted);font-size:13px}.toolbar{gap:8px;align-items:center}.searchbar,.toolbar{display:flex;flex-wrap:wrap;margin-bottom:14px}.searchbar{gap:16px;align-items:flex-end;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.sb-group{display:flex;flex-direction:column;gap:3px}.sb-label{font-size:12px;color:var(--muted);font-weight:600}.sb-group form,.searchbar form{display:flex;gap:6px;align-items:center}.sb-input{padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;min-width:200px;font-family:inherit}.tpl-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:14px}.tpl-panel summary{cursor:pointer;font-weight:600}.tpl-body{margin-top:12px}.tpl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tpl-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--border)}.tpl-actions{display:flex;gap:6px}.print-only{display:none}@media print{@page{size:A4 landscape;margin:8mm}.no-print{display:none!important}.print-only{display:block}body{background:#fff;font-size:13px}.wrap{max-width:none;padding:0;margin:0}.topbar{display:none!important}.print-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:20px}.print-head h1{font-size:21px;margin:0}.print-head .range{font-weight:700;font-size:19px;color:#000}.grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;grid-gap:2px;gap:2px;border-radius:0}.day-head{padding:3px 5px;font-size:13px}.day-body{padding:3px 2px;gap:2px}.shift{padding:2px 3px;font-size:13px;border-left-width:3px;border-radius:3px;line-height:1.22}.shift .h,.shift .hr{font-size:11.5px}.slot-group-label{font-size:9px;margin:2px 1px 0}.totals{margin-top:12px;border-radius:0;page-break-inside:avoid;break-inside:avoid}.totals-head{display:block;padding:0}.totals h2,.totals-head{background:none;border:none}.totals h2{font-size:14px;padding:4px 0}.totals thead{display:none}.totals table{width:auto}.totals tbody{display:grid;grid-template-columns:repeat(3,auto);grid-column-gap:32px;column-gap:32px;grid-row-gap:2px;row-gap:2px}.totals tr{display:flex;gap:8px;align-items:baseline;border:none}.totals td{padding:1px 0;border:none;font-size:13px;white-space:nowrap}.totals .num{width:auto;text-align:left}.totals a{color:#000!important;text-decoration:none;font-weight:600}.grid{break-inside:auto!important;page-break-inside:auto!important}.day{page-break-inside:avoid;break-inside:avoid;min-height:0}.add-form,.searchbar,.shift .del,.totals form,.tpl-panel{display:none!important}.shift.editable{display:block}.shift{opacity:1!important;color:#000!important}.shift.mine{background:var(--bg-soft)!important;box-shadow:none!important}.shift.mine .nm{font-weight:600!important}.shift.dimmed{opacity:1!important}.emp-week{page-break-inside:avoid;break-inside:avoid}.emp-day{padding:5px 10px}}@media screen and (max-width:820px){.grid{grid-template-columns:repeat(2,1fr)}}.eye-focus{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:16px 18px;border-radius:22px;border:1px solid var(--border);background:var(--card);text-align:left;box-shadow:0 1px 2px rgb(0 0 0/.04),0 8px 24px -12px rgb(20 22 28/.25);transition:transform .15s;margin-bottom:14px;cursor:pointer;font-family:Figtree,system-ui,sans-serif}.eye-focus:active{transform:scale(.99)}.eye-focus .iris{width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#e11d48,#ea580c,#b7791f,#16a34a,#0e7490,#2563eb,#4f46e5,#9333ea,#db2777,#e11d48);animation:eye-spin 14s linear infinite}.eye-focus .iris:before{content:"";width:40px;height:40px;border-radius:50%;background:var(--card)}.eye-focus .pupil{position:absolute;left:calc(18px + 32px - 9px);top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--text)}.eye-focus .pupil:after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--card)}@keyframes eye-spin{to{transform:rotate(1turn)}}.eye-focus .txt{display:flex;flex-direction:column;gap:4px;min-width:0}.eye-focus b{font-family:Bricolage Grotesque,Figtree,system-ui,sans-serif;font-size:21px;font-weight:700;color:var(--text)}.eye-focus .live{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);flex-wrap:wrap}.eye-focus .live .pulse{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgb(22 163 74/.5);animation:eye-pulse 2s infinite}@keyframes eye-pulse{70%{box-shadow:0 0 0 7px rgb(22 163 74/0)}to{box-shadow:0 0 0 0 rgb(22 163 74/0)}}.eye-focus .faces{display:flex}.eye-focus .faces i{width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--card);margin-left:-6px}.eye-focus .faces i:first-child{margin-left:0}.eye-focus .go{margin-left:auto;font-size:22px;color:var(--muted)}#focus{--surface:#ffffff;--fg:#14161c;--muted:#6a7080;--line:#e3e5ec;--track:#f0f1f5;--open:#e6e8ee;--toast:#14161c;--toastfg:#fff;--fbg:#f2f3f7;--display:"Bricolage Grotesque","Figtree",system-ui,sans-serif;--body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;position:fixed;inset:0;z-index:1000;background:var(--fbg);color:var(--fg);font-family:var(--body);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top, 0px) + 10px) 16px calc(env(safe-area-inset-bottom, 0px) + 10px);overscroll-behavior:none;transition:background .3s}@media (prefers-color-scheme:dark){#focus{--surface:#181b22;--fg:#eef0f5;--muted:#9aa1b2;--line:#2a2e38;--track:#20242c;--open:#2a2f39;--toast:#eef0f5;--toastfg:#0f1115;--fbg:#0f1115;color-scheme:dark}}#focus button{font:inherit;color:inherit;cursor:pointer}#focus .ftop{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:8px;gap:8px}#focus .close{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:18px}#focus .day{display:block;background:none;min-height:0;text-align:center;min-width:0}#focus .day .d{font-family:var(--display);font-weight:700;font-size:20px}#focus .day .t{display:inline-block;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}#focus .day .t.today{color:var(--surface);background:var(--fg);padding:2px 9px;border-radius:999px}#focus .wdots{display:flex;justify-content:center;gap:4px;margin-top:10px;flex-wrap:wrap}#focus .wdots button{border:0;background:none;padding:5px 0;width:40px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--muted);font-weight:600;border-radius:10px}#focus .wdots button i{width:6px;height:6px;border-radius:50%;background:var(--line)}#focus .wdots button.work i{background:var(--p)}#focus .wdots button.on{color:var(--fg);background:var(--surface);box-shadow:0 0 0 1px var(--line)}#focus .wdots button.on i{width:16px;border-radius:3px}#focus .stage{position:relative;flex:1 1;min-height:0;margin-top:12px;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}#focus .card{inset:0;right:20px;border-radius:28px;padding:20px 18px 18px;gap:16px;overflow:hidden;will-change:transform;background:linear-gradient(180deg,color-mix(in srgb,var(--p) 16%,var(--surface)) 0,var(--surface) 46%);border:1px solid color-mix(in srgb,var(--p) 25%,var(--line));box-shadow:0 18px 40px -24px color-mix(in srgb,var(--p) 60%,transparent)}#focus .card,#focus .pdots{position:absolute;display:flex;flex-direction:column}#focus .pdots{right:0;top:50%;transform:translateY(-50%);gap:5px;align-items:center;z-index:2}#focus .pdots i{width:7px;height:7px;border-radius:50%;background:var(--c);opacity:.35}#focus .pdots i.on{opacity:1;height:22px;border-radius:4px}#focus .id{display:flex;align-items:center;gap:14px;min-width:0}#focus .av{width:60px;height:60px;flex:none;border-radius:50%;background:var(--p);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:28px;box-shadow:0 0 0 4px var(--surface),0 0 0 6px color-mix(in srgb,var(--p) 40%,transparent)}#focus .id .nm{min-width:0;display:flex;flex-direction:column;gap:6px}#focus .id h2{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(34px,10.5vw,52px);line-height:.95;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#focus .tags{display:flex;gap:6px;flex-wrap:wrap}#focus .tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--p) 14%,var(--surface));color:color-mix(in srgb,var(--p) 75%,var(--fg))}#focus .tag.me{background:var(--p);color:#fff}#focus .hours{display:flex;flex-direction:column;gap:2px}#focus .hours .h{font-family:var(--display);font-weight:700;font-size:clamp(32px,10vw,44px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.01em}#focus .hours .n{font-size:14px;color:var(--muted)}#focus .hours .n em{font-style:italic;color:var(--fg)}#focus .status{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-weight:600;font-size:14px;padding:6px 12px;border-radius:12px;background:var(--track)}#focus .status i{width:8px;height:8px;border-radius:50%;background:var(--muted)}#focus .status.live i{background:#16a34a;animation:eye-pulse 2s infinite}#focus .team{flex:1 1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-height:0}#focus .team .lbl{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}#focus .gantt{display:flex;flex-direction:column;gap:6px;overflow:hidden}#focus .row{display:grid;grid-template-columns:70px 1fr;align-items:center;grid-gap:8px;gap:8px;border:0;background:none;padding:0;text-align:left;border-radius:6px}#focus .row .who{all:unset;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#focus .row .tr{position:relative;height:18px;border-radius:6px;background:var(--track)}#focus .row .tr .o{position:absolute;top:0;bottom:0;background:var(--open)}#focus .row .tr .s{position:absolute;top:2px;bottom:2px;border-radius:4px;background:var(--c);opacity:.32}#focus .row.cur .who{color:var(--fg);font-weight:800}#focus .row.cur .tr{height:26px}#focus .row.cur .tr .s{opacity:1;top:0;bottom:0}#focus .row.with .tr .s{opacity:.6}#focus .gantt .now{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--fg);border-radius:1px}#focus .axis{display:grid;grid-template-columns:70px 1fr;grid-gap:8px;gap:8px}#focus .axis>div{position:relative;height:14px;font-size:10px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#focus .axis>div span{position:absolute;transform:translateX(-50%)}#focus .repos{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}#focus .repos .z{font-size:60px}#focus .repos b{font-family:var(--display);font-size:34px}#focus .repos span{color:var(--muted)}#focus .repos .next{margin-top:10px;font-size:14px;font-weight:600;color:var(--fg);background:var(--track);padding:8px 12px;border-radius:12px}#focus .nav{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:12px}#focus .nav button{width:48px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:16px}#focus .hint{font-size:12px;color:var(--muted);text-align:center;transition:opacity .4s;margin-top:4px}#focus .toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 74px);transform:translateX(-50%);background:var(--toast);color:var(--toastfg);padding:10px 16px;border-radius:12px;font-weight:600;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:calc(100% - 32px);text-align:center;z-index:20}#focus .toast.show{opacity:1}@media (min-width:700px){#focus{align-items:center}#focus .ftop,#focus .hint,#focus .nav,#focus .stage,#focus .wdots{width:min(480px,100%)}}@media (prefers-reduced-motion:reduce){#focus .card{transition:none!important}#focus .status.live i,.eye-focus .iris,.eye-focus .live .pulse{animation:none}}@media screen and (max-width:420px){.topbar{flex-wrap:wrap;align-items:flex-start}.topbar h1{font-size:18px}.topbar>.nav{width:100%}.topbar>.nav>.nav{display:contents}.nav{flex-wrap:wrap;row-gap:8px}.nav,.week-switch{justify-content:center}.week-switch{flex:1 1 100%}.nav .range,.range-btn{min-width:0}.range-btn{flex:0 1 auto}.print-btn .print-label{display:none}.print-btn{padding:7px 10px}}