.overview{max-width:1080px}.ov-head{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin-block-end:var(--s-4)}.ov-head h1{font-size:var(--t-xl);letter-spacing:-.02em}.ov-head-right{margin-inline-start:auto;display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.ov-for select{min-block-size:var(--tap);padding-inline:var(--s-3);font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-md)}.ov-for select:focus-visible{box-shadow:var(--ring);outline:none}.ov-daynav{display:inline-flex;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden}.ov-step{min-inline-size:var(--tap);min-block-size:var(--tap-fine);padding-inline:var(--s-2);font:inherit;font-size:var(--t-md);line-height:1;color:var(--ink-2);background:var(--paper);border:0;cursor:pointer}.ov-step.wide{font-size:var(--t-sm);font-weight:600;padding-inline:var(--s-3);min-inline-size:auto}.ov-step+.ov-step{border-inline-start:1px solid var(--rule)}.ov-step:hover:not([disabled]){background:var(--paper-sunk);color:var(--ink)}.ov-step:focus-visible{box-shadow:var(--ring);outline:none}.ov-step[disabled]{opacity:.4;cursor:default}.ov-trend{padding:var(--s-4);margin-block-end:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.ov-trend-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-block-end:var(--s-3)}.ov-trend-head h2{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:0}.ov-range{display:inline-flex;gap:2px;padding:2px;background:var(--paper-sunk);border-radius:var(--r-full)}.ov-range-btn{min-block-size:var(--tap-fine);padding-inline:var(--s-3);font:inherit;font-size:var(--t-xs);font-weight:600;color:var(--ink-2);background:transparent;border:0;border-radius:var(--r-full);cursor:pointer;font-variant-numeric:tabular-nums}.ov-range-btn:hover{color:var(--ink)}.ov-range-btn:focus-visible{box-shadow:var(--ring);outline:none}.ov-range-btn.on{color:var(--ink);background:var(--paper);box-shadow:var(--e-1)}.ov-legend{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-3)}.ov-legend .key{inline-size:10px;block-size:10px;border-radius:2px;display:inline-block;margin-inline-start:var(--s-3)}.ov-legend .key:first-child{margin-inline-start:0}.ov-legend .total{background:var(--paper-sunk);border:1px solid var(--rule-strong)}.ov-legend .done{background:var(--n-400)}.ov-legend .flag{inline-size:0;block-size:0;border-radius:0;border-inline:5px solid transparent;border-block-end:9px solid var(--danger);align-self:center}.chart-wrap{inline-size:100%}.trend{inline-size:100%;block-size:132px;display:block}.trend .axis{stroke:var(--rule);stroke-width:1}.trend .hit{fill:transparent}.trend .total{fill:var(--paper-sunk);stroke:var(--rule-strong);stroke-width:1}.trend .done{fill:var(--n-400)}.trend .flag{fill:var(--danger)}.trend .tick{fill:var(--ink-3);font-size:11px;text-anchor:middle;font-variant-numeric:tabular-nums}.trend .val{fill:var(--ink);font-size:11px;font-weight:680;text-anchor:middle;font-variant-numeric:tabular-nums;opacity:0;transition:opacity .12s ease;pointer-events:none}.trend .bar:hover .val,.trend .bar:focus-visible .val,.trend .bar.sel .val{opacity:1}.trend .bar{cursor:pointer}.trend .bar:hover .total{stroke:var(--ink-3)}.trend .bar:hover .done{fill:var(--ink-2)}.trend .bar:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.trend .bar.sel .total{stroke:var(--ink);stroke-width:1.5}.trend .bar.sel .done{fill:var(--ink-2)}.trend .bar.sel .tick{fill:var(--ink);font-weight:700}.ov-chart-skeleton{block-size:132px;border-radius:var(--r-md);background:var(--paper-2)}.ov-repeats{padding:var(--s-4) var(--s-5);margin-block-end:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.ov-repeats:not([open]){padding-block:var(--s-3)}.ov-repeats-title{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-block-end:var(--s-3);display:flex;align-items:center;gap:var(--s-2);min-block-size:44px;cursor:pointer}.ov-repeats-title::marker,.ov-repeats-title::-webkit-details-marker{content:"";display:none}.ov-repeats-title:before{content:"";inline-size:6px;block-size:6px;flex:none;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:rotate(-45deg);margin-block-start:-2px;transition:transform .15s ease}.ov-repeats[open] .ov-repeats-title:before{transform:rotate(45deg);margin-block-start:-4px}.ov-repeats:not([open]) .ov-repeats-title{margin-block-end:0}.ov-repeats-title:hover{color:var(--ink-2)}.ov-repeats-title:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm)}.ov-repeats-title .n{font-weight:640;color:var(--ink-2);background:var(--n-100);padding:1px var(--s-2);border-radius:var(--r-full);letter-spacing:0}.ov-slide{display:flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-2);font-size:var(--t-base)}.ov-dot{inline-size:8px;block-size:8px;border-radius:var(--r-full);flex:none}.ov-people{list-style:none;margin:var(--s-2) 0 0;padding:0;display:grid;gap:2px}.ov-person{display:flex;align-items:baseline;gap:var(--s-3);min-block-size:var(--tap-fine);padding:var(--s-1) var(--s-2);border-radius:var(--r-md);color:var(--ink);text-decoration:none}.ov-person:hover{background:var(--paper-2)}.ov-person:focus-visible{box-shadow:var(--ring);outline:none}.ov-person-n{font-weight:700;font-variant-numeric:tabular-nums;min-inline-size:3ch}.ov-person-name{font-weight:560}.ov-filters{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block-end:var(--s-3)}.ov-chip{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding-inline:var(--s-3);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.ov-chip:hover:not([disabled]){border-color:var(--rule-strong);color:var(--ink)}.ov-chip:focus-visible{box-shadow:var(--ring);outline:none}.ov-chip.active{color:var(--ink);background:var(--paper-sunk);border-color:var(--rule-strong)}.ov-chip[disabled]{opacity:.45;cursor:default}.ov-chip .n{font-size:var(--t-xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.ov-empty{padding:var(--s-5);text-align:center}.ov-flag{grid-column:3}.ov-spark{grid-column:4;display:block;inline-size:100px;justify-self:end}.spark{inline-size:100px;block-size:24px;display:block}.spark rect{fill:var(--rule-strong)}.spark rect.now{fill:var(--n-500)}.ov-h1{font-size:2rem;font-weight:680;line-height:1.15;letter-spacing:-.03em}.ov-h1.critical{color:var(--danger)}.ov-date{white-space:nowrap}@media(max-width:560px){.ov-h1{font-size:1.6rem}}.ov-upload{margin-inline-start:auto}.ov-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-1);padding:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1);margin-block-end:var(--s-4)}.ov-total{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:start;font:inherit;padding:var(--s-2);background:transparent;border:0;border-radius:var(--r-md)}button.ov-total{cursor:pointer}button.ov-total:hover:not([disabled]){background:var(--paper-2)}button.ov-total:focus-visible{box-shadow:var(--ring);outline:none}button.ov-total.on{background:var(--paper-sunk)}button.ov-total[disabled]{cursor:default}.ov-total .v{font-size:1.75rem;font-weight:660;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.ov-total .v .of{font-size:var(--t-md);font-weight:500;color:var(--ink-3)}.ov-total .k{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.ov-total.critical .v,.ov-total.critical .k{color:var(--danger)}.ov-sites{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.ov-site{position:relative;inline-size:100%;display:grid;grid-template-columns:minmax(10ch,20ch) 1fr max-content 100px;align-items:center;gap:var(--s-3);text-align:start;padding:var(--s-3) var(--s-4);min-block-size:60px;cursor:pointer;background:var(--paper);border:1px solid var(--rule);border-inline-start:4px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:var(--e-1);transition:box-shadow .15s ease,transform .15s ease}.ov-site:hover{box-shadow:var(--e-2);transform:translateY(-1px)}.ov-site-open{position:absolute;top:0;right:0;bottom:0;left:0;inline-size:100%;background:none;border:0;padding:0;cursor:pointer;border-radius:inherit}.ov-site-open:focus-visible{box-shadow:var(--ring)}.ov-site-name{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--t-md);font-weight:620;letter-spacing:-.01em}.ov-figs{display:flex;flex-wrap:wrap;gap:var(--s-4)}.ov-figs .fig{font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap}.ov-figs .fig b{font-size:var(--t-base);font-weight:640;color:var(--ink);font-variant-numeric:tabular-nums}.ov-meter{grid-column:2;display:block;block-size:4px;margin-block-start:var(--s-1);border-radius:var(--r-full);background:var(--paper-sunk);overflow:hidden}.ov-meter .fill{display:block;block-size:100%;background:var(--n-400);border-radius:inherit;transition:inline-size .18s ease}.ov-site.critical{border-inline-start:6px solid var(--sev-critical)!important;background:var(--sev-critical-bg);border-color:var(--sev-critical-edge)}.ov-flag{justify-self:end;position:relative;z-index:1;display:inline-flex;align-items:center;min-block-size:44px;text-decoration:none}.ov-flag-pill{font-size:var(--t-sm);font-weight:700;color:var(--n-0);background:var(--sev-critical);padding:3px var(--s-3);border-radius:var(--r-full);white-space:nowrap}.ov-flag:hover .ov-flag-pill{text-decoration:underline}.ov-flag:focus-visible{box-shadow:var(--ring);border-radius:var(--r-full)}.ov-none{font-style:italic}@media(max-width:720px){.ov-site{grid-template-columns:1fr;gap:var(--s-2)}.ov-meter,.ov-flag,.ov-spark{grid-column:1;justify-self:start}.trend{block-size:108px}.ov-head-right{inline-size:100%}}.pal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;justify-content:center;padding-block-start:12vh;padding-inline:var(--s-4);background:#1a161361}.pal{inline-size:min(560px,100%);max-block-size:70vh;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-lg);box-shadow:var(--e-3);overflow:hidden}.pal-input{inline-size:100%;min-block-size:56px;padding-inline:var(--s-5);font:inherit;font-size:var(--t-lg);color:var(--ink);background:var(--paper);border:0;border-block-end:1px solid var(--rule);border-radius:0}.pal-input:focus{outline:none}.pal-input::placeholder{color:var(--ink-3)}.pal-list{list-style:none;margin:0;padding:var(--s-2);overflow-y:auto}.pal-group{margin:var(--s-3) 0 var(--s-1);padding-inline:var(--s-3);font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.pal-list li:first-child .pal-group{margin-block-start:0}.pal-hit{inline-size:100%;display:flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap);padding-inline:var(--s-3);text-align:start;font:inherit;font-size:var(--t-base);color:var(--ink);background:transparent;border:0;border-radius:var(--r-md);cursor:pointer}.pal-hit.on{background:var(--paper-sunk)}.pal-hit:focus-visible{box-shadow:var(--ring);outline:none}.pal-dot{inline-size:8px;block-size:8px;border-radius:var(--r-full);flex:none}.pal-label{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-hint{flex:none}.pal-empty{padding:var(--s-5);text-align:center;margin:0}.pal-foot{padding:var(--s-2) var(--s-4);margin:0;border-block-start:1px solid var(--rule);background:var(--paper-2)}.sidebar-find{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);min-block-size:var(--tap-fine);margin-block-end:var(--s-3);padding-inline:var(--s-3);font:inherit;font-size:var(--t-sm);color:var(--ink-3);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer}.sidebar-find:hover{color:var(--ink);border-color:var(--rule-strong)}.sidebar-find:focus-visible{box-shadow:var(--ring);outline:none}.sidebar-find kbd{font:inherit;font-size:var(--t-xs);color:var(--ink-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sm);padding:1px var(--s-1)}@media(max-width:560px){.pal-back{padding-block-start:6vh}.pal-hint{display:none}}:root{--rail: 240px}.app{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-block-size:100dvh;--topbar-h: 0px}.app>main{min-inline-size:0;inline-size:100%}.sidebar{grid-column:1;position:sticky;inset-block-start:0;block-size:100dvh;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-3);background:var(--paper);border-inline-end:1px solid var(--rule);overflow-y:auto}.sidebar-logo{margin-inline-start:var(--s-2);margin-block-end:var(--s-4)}.sidebar-me{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);margin-block-end:var(--s-4);border-radius:var(--r-md);color:inherit;text-decoration:none;border:1px solid var(--rule)}.sidebar-me:hover{background:var(--paper-2)}.sidebar-me:focus-visible{box-shadow:var(--ring);outline:none}.sidebar-me-text{display:flex;flex-direction:column;min-inline-size:0}.sidebar-me-text b{font-size:var(--t-sm);font-weight:620}.sidebar-me-text .small{font-size:var(--t-xs)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-group{margin:var(--s-4) 0 var(--s-1);padding-inline:var(--s-2);font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.sidebar-group:first-child{margin-block-start:0}.sidebar-link{display:flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding:var(--s-2);border-radius:var(--r-md);font-size:var(--t-sm);font-weight:550;color:var(--ink-2);text-decoration:none}.sidebar-link:hover{background:var(--paper-2);color:var(--ink)}.sidebar-link:focus-visible{box-shadow:var(--ring);outline:none}.sidebar-link.active{background:var(--paper-sunk);color:var(--ink);font-weight:650}.sidebar-dot{inline-size:8px;block-size:8px;border-radius:var(--r-full);flex:none}.sidebar-hotel{display:flex;flex-direction:column;gap:2px}.sidebar-hotel.here{padding-block-end:var(--s-2)}.sidebar-sub{display:flex;flex-direction:column;gap:2px;margin:var(--s-1) 0 var(--s-1) var(--s-3);padding-inline-start:var(--s-3);border-inline-start:1px solid var(--rule)}.sidebar-sub .sidebar-link{font-size:var(--t-xs)}.sidebar-out{margin-block-start:auto;min-block-size:var(--tap);font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer}.sidebar-out:hover{background:var(--paper-2);color:var(--ink);border-color:var(--rule-strong)}.sidebar-out:focus-visible{box-shadow:var(--ring);outline:none}.sidebar-toggle,.sidebar-scrim{display:none}@media print{.app{display:block;min-block-size:0}}@media(max-width:899px){.app{grid-template-columns:minmax(0,1fr);--topbar-h: calc(var(--tap) + var(--s-4))}.sidebar-toggle{display:inline-flex;align-items:center;position:fixed;inset-block-start:var(--s-3);inset-inline-start:var(--s-3);z-index:40;min-block-size:var(--tap);padding-inline:var(--s-4);font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:var(--e-2);cursor:pointer}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:60;inline-size:min(280px,84vw);transform:translate(-101%);transition:transform .2s ease;box-shadow:var(--e-3)}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1a161373}.app>main{padding-block-start:calc(var(--tap) + var(--s-5))}}.week{max-width:1320px;margin:0 auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.week-head{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.week-head label{color:var(--ink-2);font-size:var(--t-sm);font-weight:550}.week-head select{min-width:150px}.week-head .spacer{flex:1}.day-tabs{position:sticky;top:var(--topbar-h, 0px);z-index:9;display:flex;gap:2px;padding:3px;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-md);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex:1 0 auto;min-width:46px;min-height:var(--tap-fine);padding:0 var(--s-3);font-size:var(--t-sm);font-weight:560;letter-spacing:.02em;color:var(--ink-2);background:none;border:0;border-radius:var(--r-sm);cursor:pointer;transition:background-color .12s ease,color .12s ease}.day-tab:hover{color:var(--ink);background:#fff9}.day-tab[aria-current=page]{background:var(--paper);color:var(--ink);font-weight:640;box-shadow:var(--e-1),inset 0 -2px 0 var(--accent)}@media(max-width:380px){.day-tabs{gap:1px;padding:2px}.day-tab{min-width:36px;padding:0 var(--s-1);letter-spacing:0}}.day-title{display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}.day-title .date{color:var(--ink-3);font-weight:500;font-size:var(--t-sm)}.summary{position:sticky;top:calc(var(--topbar-h, 0px) + 44px);z-index:8;display:flex;flex-wrap:wrap;gap:var(--s-5);padding:var(--s-3) var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.stat{display:flex;flex-direction:column;gap:1px}.stat .v{font-size:var(--t-lg);font-weight:640;letter-spacing:-.02em}.stat .k{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.stat.q .v{color:var(--ink-2)}.stat.progress{margin-inline-start:auto;min-width:168px}.stat.progress .of{color:var(--ink-3);font-weight:500;font-size:var(--t-base)}.stat.clocked{min-width:150px}.stat.clocked .of{color:var(--ink-3);font-weight:500;font-size:var(--t-base)}.stat.clocked .meter .fill{background:var(--clock-half-edge)}.stat.clocked.all .v{color:var(--clock-yes)}.stat.clocked.all .meter .fill{background:var(--ok)}.meter{display:block;block-size:5px;margin-block-start:var(--s-2);border-radius:var(--r-full);background:var(--paper-sunk);overflow:hidden}.meter .fill{display:block;block-size:100%;background:var(--accent);border-radius:inherit;transition:inline-size .18s ease}.week-head .filter{min-width:190px;flex:0 1 240px}.grid{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e-1)}.delta-row{display:grid;grid-template-columns:44px minmax(0,30%) minmax(90px,1fr) 90px 118px 118px 100px;grid-template-areas:"seq name span hours in out actions";align-items:center;gap:var(--s-2);min-height:var(--row-h);padding:var(--s-1) var(--s-3);border-top:1px solid var(--rule);transition:background-color .1s ease}.cell-seq{grid-area:seq}.cell-name{grid-area:name}.cell-span{grid-area:span}.cell-hours{grid-area:hours}.cell-in{grid-area:in}.cell-out{grid-area:out}.cell-actions{grid-area:actions}.track{position:relative;display:block;block-size:6px;border-radius:var(--r-full);background:var(--paper-sunk);overflow:hidden}.seg{position:absolute;inset-block:0;border-radius:inherit;background:var(--n-400);opacity:.55}.seg.spill{opacity:.3}.delta-row:first-child{border-top:0}.delta-row:hover{background:var(--n-25)}.cell-seq{text-align:right;padding-right:var(--s-1);color:var(--ink-3);font-size:var(--t-sm);font-weight:550}.cell-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s-2);min-width:0}.cell-name .who{min-width:0;overflow-wrap:break-word}.cell-name .given{color:var(--ink-2)}.cell-punch .actual{display:block;font-size:var(--t-xs);font-weight:500;color:var(--ink-3);line-height:1.25}.cell-punch .time{text-align:end}.clock-legend{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);margin-block-start:calc(var(--s-2) * -1);padding:var(--s-2) var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md)}.clock-legend-key{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.clock-legend-note{flex:1 1 28ch}.cell-hours{text-align:right;font-size:var(--t-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.cell-punch{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2)}.cell-punch .time{font-size:var(--t-base)}.cell-punch .time sup{font-size:9px;color:var(--ink-3);margin-left:1px}.tick{display:grid;place-items:center;min-height:var(--tap-fine);min-width:34px;cursor:pointer;border-radius:var(--r-sm);flex:none}.tick:hover{background:var(--paper-sunk)}.cell-punch input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--n-700);cursor:pointer;margin:0}.cell-punch input[disabled]{cursor:default}.chip{display:inline-flex;align-items:center;padding:1px var(--s-2);font-size:var(--t-xs);font-weight:560;border-radius:var(--r-full);border:1px solid var(--rule-strong);color:var(--ink-2);background:var(--paper-2);white-space:nowrap}.chip.leave{border-color:#cbb98a;background:var(--warn-tint);color:#6a5316}.chip.manual{border-style:dashed}.blockhead{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-1);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:var(--ink-3);background:var(--paper);border-top:1px solid var(--rule)}.blockhead:first-child{border-top:0}.blockhead:after{content:"";flex:1;height:1px;background:var(--rule)}.blockhead .n{font-variant-numeric:tabular-nums;color:var(--ink-3)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1a161357;display:grid;place-items:center;padding:var(--s-4)}.modal{width:min(430px,100%);background:var(--paper);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);box-shadow:var(--e-3)}.modal h3{font-size:var(--t-md)}.modal label{font-size:var(--t-sm);color:var(--ink-2);font-weight:550;margin-top:var(--s-1)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-3)}@media(max-width:1100px){.delta-row{grid-template-columns:44px minmax(0,1fr) 118px 118px 100px;grid-template-areas:"seq name in out actions"}.cell-hours,.cell-span{display:none}}@media(max-width:620px){.delta-row{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"seq name    actions" "seq punches punches"}.cell-span{display:none;row-gap:var(--s-1);gap:var(--s-2);padding:var(--s-2) var(--s-2);align-items:start}.cell-seq{padding-top:2px}.cell-name{align-self:center}.cell-in{grid-area:punches;justify-self:start}.cell-out{grid-area:punches;justify-self:end}.cell-actions{align-self:start}.summary{gap:var(--s-4)}.note-line{grid-column:1 / -1}}.cell-actions{display:flex;justify-content:flex-end;gap:2px;align-items:center}.cell-actions .link{padding:var(--s-1) var(--s-2);font-size:var(--t-sm);min-height:var(--tap-fine)}.cell-actions .has-note{color:var(--warn);font-weight:650;text-decoration:none}.note-list{list-style:none;margin:var(--s-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s-3);max-height:220px;overflow-y:auto}.note-list li{border-inline-start:3px solid var(--rule-strong);padding-inline-start:var(--s-3)}.note-head{display:flex;align-items:center;gap:var(--s-2)}.note-head .spacer{flex:1}.note-head .link{padding:var(--s-1) var(--s-2);min-height:30px;font-size:var(--t-sm)}.note-body{margin:var(--s-1) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.modal form{display:flex;flex-direction:column;gap:var(--s-2)}.note-line{grid-column:2 / -1;margin:0 0 var(--s-1);padding-inline-start:var(--s-2);border-inline-start:2px solid var(--warn);font-size:var(--t-sm);color:var(--ink-2)}.note-line .reason{font-weight:600;color:var(--warn)}.delta-row.with-note{row-gap:2px}.warnings{display:flex;flex-direction:column;gap:var(--s-2)}.activity-row{grid-template-columns:92px 1fr max-content;align-items:baseline}@media(max-width:560px){.activity-row{grid-template-columns:1fr;gap:2px;padding:var(--s-2)}}.cell-actions .link{display:inline-flex;align-items:center;gap:3px}.cell-actions .link svg{font-size:17px}.note-count{font-size:var(--t-xs);font-weight:650;line-height:1}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4);margin-block:var(--s-4) var(--s-2);text-align:center;cursor:pointer;background:var(--paper);border:1.5px dashed var(--rule-strong);border-radius:var(--r-lg);transition:border-color .12s ease,background-color .12s ease}.dropzone:hover{border-color:var(--n-400);background:var(--n-25)}.dropzone:focus-within{border-color:var(--accent);box-shadow:var(--ring);border-style:solid}.dropzone.dragging{border-color:var(--accent);border-style:solid;background:var(--accent-tint)}.dropzone-lead{font-size:var(--t-md);font-weight:580;color:var(--ink)}.dropzone-what{font-size:var(--t-sm);color:var(--ink-2);max-inline-size:46ch}.dropzone-formats{font-size:var(--t-xs);font-weight:600;letter-spacing:.06em;color:var(--ink-3);font-variant-numeric:tabular-nums}.dropzone-note{text-align:center;margin-block:0 var(--s-5)}.preview{border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-4);background:var(--paper)}.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 16px}.facts dt{color:var(--ink-2)}.name-list{margin:4px 0 12px;padding-inline-start:20px}.notice{border-inline-start:3px solid var(--warn);background:var(--warn-tint);padding:8px 12px;margin:12px 0}.preview-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}details summary{cursor:pointer;padding:6px 0}.branch-new{margin-block-start:var(--s-2)}.branch-new .name-list{margin-block-start:var(--s-1)}.upload-target{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2) var(--s-3);margin-block:var(--s-3);padding:var(--s-3);background:var(--paper-2);border:1px solid var(--rule);border-inline-start:4px solid var(--rule-strong);border-radius:var(--r-md)}.upload-target label{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:650}.upload-target select{max-inline-size:30ch}.upload-target.detected{background:var(--clock-yes-bg);border-color:var(--clock-yes-edge);border-inline-start-color:var(--clock-yes)}.upload-detected{font-size:var(--t-sm);font-weight:600;color:var(--clock-yes)}.punches{max-width:1320px;margin-inline:auto}.punches-lead{max-inline-size:62ch;margin-block-end:var(--s-4)}.punches-days-block,.punches-split{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg)}.punches-days{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.day-chip{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding:0 var(--s-3);font-size:var(--t-sm);font-weight:560;font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.day-chip:hover{border-color:var(--rule-strong);color:var(--ink)}.day-chip.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.day-chip.today{border-color:var(--rule-strong);font-weight:660}.day-chip.today:before{content:"";inline-size:6px;block-size:6px;border-radius:var(--r-full);background:var(--accent);flex:none}.day-chip.active.today:before{background:var(--accent-ink)}.day-chip-n{font-size:var(--t-xs);font-weight:680;opacity:.75}.day-chip-flag{display:inline-flex;align-items:center;justify-content:center;min-inline-size:1.4em;padding:0 3px;font-size:var(--t-xs);font-weight:700;color:var(--clock-half);background:var(--clock-half-bg);border:1px solid var(--clock-half-edge);border-radius:var(--r-full)}.day-chip:focus-visible{box-shadow:var(--ring)}.punches-hotels{display:flex;flex-wrap:wrap;gap:var(--s-2)}.hotel-chip{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding:0 var(--s-3);font-size:var(--t-sm);font-weight:560;color:var(--ink-2);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.hotel-chip:hover{border-color:var(--rule-strong);color:var(--ink)}.hotel-chip.active{color:var(--ink);background:var(--paper-sunk);border-color:currentColor;border-inline-start:4px solid var(--chip-accent, var(--rule-strong));font-weight:650}.hotel-chip:focus-visible{box-shadow:var(--ring)}.hotel-chip .dot{inline-size:10px;block-size:10px;border-radius:var(--r-full);flex:none}.hotel-chip.active .dot{inline-size:12px;block-size:12px}.hotel-chip .n{font-weight:680;color:var(--ink-2)}.punches-horizon{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);font-size:var(--t-sm);color:var(--sev-waiting);background:var(--sev-waiting-bg);border:1px solid var(--sev-waiting-edge);border-inline-start-width:4px;border-radius:var(--r-md)}.punches-horizon-time{font-size:var(--t-md);font-weight:700;letter-spacing:-.01em;flex:none}.punches-tabs{display:flex;flex-wrap:wrap;gap:var(--s-2)}.tab-chip{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding:0 var(--s-4);font-size:var(--t-sm);font-weight:560;color:var(--ink-2);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.tab-chip:hover{border-color:var(--rule-strong);color:var(--ink)}.tab-chip.active{color:var(--ink);background:var(--paper-sunk);border-color:var(--rule-strong);font-weight:650}.tab-chip:focus-visible{box-shadow:var(--ring)}.tab-chip .n{font-weight:680;color:var(--ink-2)}.rollcall{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1);overflow:hidden}.rollcall-what{padding:var(--s-3) var(--s-4);margin:0;border-block-end:1px solid var(--rule)}.rollcall-list{list-style:none;margin:0;padding:0}.rc-row{display:grid;grid-template-columns:max-content minmax(12ch,24ch) 13ch 1fr;align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-4);min-block-size:var(--row-h);border-block-start:1px solid var(--rule);border-inline-start:4px solid transparent;font-size:var(--t-base)}.rc-row:first-child{border-block-start:0}.rc-row.both{border-inline-start-color:var(--clock-yes-edge)}.rc-row.part{border-inline-start-color:var(--clock-half-edge)}.rc-row.none{border-inline-start-color:var(--clock-no-edge);background:var(--clock-no-bg)}.rc-row.pending{border-inline-start-color:var(--sev-waiting-edge)}.rc-row.off{border-inline-start-color:var(--rule-strong)}.rc-row.onoff{border-inline-start-color:var(--sev-critical);background:var(--sev-critical-bg)}.rc-name{font-weight:560;overflow-wrap:break-word;min-inline-size:0}.rc-row.off .rc-name{color:var(--ink-2)}.rc-shift,.rc-times{font-size:var(--t-sm);color:var(--ink-2)}.rc-times{white-space:nowrap;overflow-x:auto}.rollcall .clockmark{justify-content:flex-start}@media(max-width:720px){.rc-row{grid-template-columns:max-content 1fr;row-gap:2px;padding-block:var(--s-2)}.rc-name{grid-column:2}.rc-shift{grid-column:1}.rc-times{grid-column:2;white-space:normal}}.finding-group{margin-block-end:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-inline-start:3px solid var(--rule-strong);border-radius:var(--r-lg);box-shadow:var(--e-1);overflow:hidden}.finding-group.punch_on_absence{border-inline-start:6px solid var(--sev-critical-edge);border-color:var(--sev-critical-edge);border-inline-start-color:var(--sev-critical)}.finding-group.punch_on_absence .finding-head{background:var(--sev-critical-bg);color:var(--sev-critical)}.finding-group.missing_in,.finding-group.missing_out,.finding-group.not_rostered,.finding-group.schedule_mismatch{border-inline-start:6px solid var(--sev-attention-edge)}.finding-group.missing_in .finding-head,.finding-group.missing_out .finding-head,.finding-group.not_rostered .finding-head,.finding-group.schedule_mismatch .finding-head{background:var(--sev-attention-bg);color:var(--sev-attention)}.finding-group.unknown_day_code,.finding-group.unspecified_schedule{border-inline-start:6px solid var(--sev-routine-edge)}.finding-group.unknown_day_code .finding-head,.finding-group.unspecified_schedule .finding-head{background:var(--sev-routine-bg)}.finding-group.not_started_yet{border-inline-start:6px solid var(--sev-waiting-edge);border-color:var(--sev-waiting-edge);border-inline-start-color:var(--sev-waiting)}.finding-group.not_started_yet .finding-head{background:var(--sev-waiting-bg);color:var(--sev-waiting)}@media print{.finding-group,.finding-group.punch_on_absence,.finding-group.missing_in,.finding-group.missing_out,.finding-group.not_rostered,.finding-group.schedule_mismatch,.finding-group.unknown_day_code,.finding-group.unspecified_schedule,.finding-group.not_started_yet{border-inline-start-width:3px}.finding-group .finding-head{background:none;color:inherit}.rollcall .clockmark{padding:0;border:0;background:none;color:#000}.rc-row{border-inline-start-color:#999!important;background:none!important}}.finding-head{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-2) var(--s-4);border-block-end:1px solid var(--rule);background:var(--paper-2)}.finding-head h3{margin:0;font-size:var(--t-base);font-weight:640;letter-spacing:-.01em}.finding-head .count{font-size:var(--t-sm);font-weight:680;font-variant-numeric:tabular-nums;color:var(--ink-2);padding:1px var(--s-2);background:var(--paper-sunk);border-radius:var(--r-full)}.finding-head .why{flex:1 1 24ch;margin:0}.finding-list{list-style:none;margin:0;padding:0}.punches.has-findings .dropzone{padding-block:var(--s-3);margin-block-end:var(--s-3)}.punches.has-findings .dropzone-what{display:none}.finding{display:grid;grid-template-columns:minmax(12ch,22ch) 1fr max-content max-content;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);min-block-size:var(--row-h);border-block-start:1px solid var(--rule);font-size:var(--t-base)}.finding:first-child{border-block-start:0}.finding.focused{box-shadow:inset 4px 0 0 var(--ink),inset 0 0 0 1px var(--rule-strong)}.finding.focused .finding-name{font-weight:680}.finding-name{display:flex;flex-direction:column;gap:1px;font-weight:560;min-inline-size:0;overflow-wrap:break-word}.finding-shift{font-size:var(--t-xs);font-weight:500;color:var(--ink-3);letter-spacing:.01em}.finding-times,.finding-minutes{font-variant-numeric:tabular-nums;font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap}.finding-minutes{font-weight:640;color:var(--ink)}.vbar{position:relative;block-size:8px;border-radius:var(--r-full);background:var(--paper-sunk);min-inline-size:80px}.vbar-rostered{position:absolute;inset-block:0;border-radius:inherit;background:var(--n-400);opacity:.45}.vbar-punch{position:absolute;inset-block:-3px;inline-size:2px;border-radius:1px;background:var(--ink)}.vbar-punch.out{background:var(--ink-3)}.findings-empty{padding:var(--s-6) var(--s-4);text-align:center;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg)}.findings-empty-lead{margin:0 0 var(--s-1);font-size:var(--t-lg);font-weight:600;color:var(--ok)}.warn-note{padding:var(--s-3) var(--s-4);background:var(--warn-tint);border:1px solid var(--warn);border-radius:var(--r-md);color:var(--n-800);font-size:var(--t-sm)}@media(max-width:640px){.finding{grid-template-columns:1fr max-content;row-gap:var(--s-1)}.vbar{display:none}}.rc-row.blank{border-inline-start-color:var(--sev-routine-edge)}.acct{max-width:860px}.acct-head{display:flex;align-items:center;gap:var(--s-4);margin-block-end:var(--s-5)}.acct-head h2{margin:0 0 2px}.acct-head p{margin:0}.acct-avatar{flex:none;inline-size:52px;block-size:52px;display:grid;place-items:center;font-size:var(--t-md);font-weight:660;letter-spacing:.02em;color:var(--accent-ink);background:var(--accent);border-radius:var(--r-full)}.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-4);align-items:start;margin-block-end:var(--s-4)}.acct-card{padding:var(--s-4) var(--s-5);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.acct-card-title{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-block-end:var(--s-3)}.acct-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}.acct-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);font-size:var(--t-sm);font-weight:600;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-full)}.acct-chip-dot{inline-size:8px;block-size:8px;border-radius:var(--r-full);flex:none}.acct-chip.office{border-style:dashed;color:var(--ink-2)}.acct-caps{list-style:none;margin:var(--s-3) 0 0;padding:0}.acct-caps li{display:grid;grid-template-columns:1.5rem 1fr;align-items:baseline;gap:var(--s-2);padding-block:var(--s-2);font-size:var(--t-base)}.acct-caps li+li{border-block-start:1px solid var(--rule)}.acct-cap-mark{font-weight:700;text-align:center}.acct-caps .yes .acct-cap-mark{color:var(--ok)}.acct-caps .no{color:var(--ink-3)}.acct-caps .no .acct-cap-mark{color:var(--rule-strong)}.acct-pw{max-inline-size:30rem}.acct-pw .stack{display:grid;gap:var(--s-2)}.acct-pw label{font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.acct-pw button[type=submit]{justify-self:start;margin-block-start:var(--s-2);min-block-size:var(--tap)}.pv{max-width:1100px}.pv-controls{margin-block-end:var(--s-5)}.pv-controls h1{font-size:var(--t-xl);letter-spacing:-.02em;margin-block-end:var(--s-1)}.pv-controls p{margin:0 0 var(--s-3);max-inline-size:62ch}.pv-toggles{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block-end:var(--s-4)}.pv-toggle{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap);padding-inline:var(--s-4);font-size:var(--t-sm);font-weight:600;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.pv-toggle:hover{border-color:var(--rule-strong)}.pv-toggle:focus-within{box-shadow:var(--ring)}.pv-toggle input{inline-size:16px;block-size:16px;accent-color:var(--accent)}.pv-toggle .small{color:var(--ink-2)}.pv-section{margin-block-end:var(--s-6)}.pv-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-3);padding-block-end:var(--s-2);margin-block-end:var(--s-3);border-block-end:2px solid var(--ink);font-size:var(--t-base)}.pv-head strong{font-size:var(--t-lg);letter-spacing:-.01em}.pv-head .tabular{margin-inline-start:auto;color:var(--ink-2);font-variant-numeric:tabular-nums}.pv-section table{inline-size:100%;border-collapse:collapse;font-size:var(--t-sm);font-variant-numeric:tabular-nums}.pv-section th{text-align:start;font-size:var(--t-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:var(--s-2);border-block-end:1px solid var(--rule-strong);white-space:nowrap}.pv-section td{padding:var(--s-1) var(--s-2);border-block-end:1px solid var(--rule);vertical-align:top}.pv-section tbody tr:nth-child(2n){background:var(--paper-2)}@page pv-landscape{size:A4 landscape;margin:12mm 10mm}@media print{.pv{max-width:none;padding:0;page:pv-landscape}.pv-section{break-before:page;margin-block-end:0}.pv-section:first-of-type{break-before:auto}.pv-section thead{display:table-header-group}.pv-section tr{break-inside:avoid}.pv-section tbody tr:nth-child(2n){background:transparent}.pv-section td,.pv-section th{padding:1mm 2mm}.pv-section table{font-size:8pt}.pv-head{border-block-end-width:1pt}}.exp{max-width:900px}.exp-head{margin-block-end:var(--s-5)}.exp-head h2{margin-block-end:var(--s-1)}.exp-head p{margin:0;max-inline-size:64ch}.exp-card{padding:var(--s-4) var(--s-5);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.exp-card-title{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-block-end:var(--s-3)}.exp-card p{margin-block:0 var(--s-3)}.exp-card p:last-child{margin-block-end:0}.exp-period{margin-block-end:var(--s-4)}.exp-modes{display:inline-flex;padding:3px;background:var(--paper-sunk);border-radius:var(--r-full);margin-block-end:var(--s-4)}.exp-mode{min-block-size:var(--tap-fine);padding:0 var(--s-4);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:transparent;border:1px solid transparent;border-radius:var(--r-full);cursor:pointer}.exp-mode:hover{color:var(--ink)}.exp-mode:focus-visible{box-shadow:var(--ring);outline:none}.exp-mode.active{color:var(--ink);background:var(--paper);border-color:var(--rule);box-shadow:var(--e-1)}.exp-inputs{display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:flex-end}.exp-field{display:flex;flex-direction:column;gap:var(--s-1)}.exp-field>span{font-size:var(--t-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.exp-field select,.exp-field input{min-block-size:var(--tap);min-inline-size:11rem;font:inherit;padding:0 var(--s-3);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-md)}.exp-field select:focus-visible,.exp-field input:focus-visible{box-shadow:var(--ring);outline:none}.exp-summary{margin-block:var(--s-4) 0;padding-block-start:var(--s-3);border-block-start:1px solid var(--rule);font-size:var(--t-sm);font-weight:600;font-variant-numeric:tabular-nums}.exp-rows{font-weight:400}.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4);align-items:stretch}.exp-grid .exp-card{display:flex;flex-direction:column}.exp-grid .exp-actions{margin-block-start:auto}.exp-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block:var(--s-4) var(--s-3)}.exp-actions .btn{min-block-size:var(--tap)}.exp .notice,.exp .error{margin-block-start:var(--s-4)}.act{max-width:940px}.act-head{display:flex;align-items:flex-start;gap:var(--s-4);flex-wrap:wrap}.act-head h2{margin-block-end:var(--s-1)}.act-head>div{flex:1 1 20rem}.act-head p{margin:0;max-inline-size:62ch}.act-count{margin-inline-start:auto;padding-block-start:var(--s-2);flex:none}.act-tabs{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block:var(--s-4) var(--s-5);padding-block-end:var(--s-3);border-block-end:1px solid var(--rule)}.act-tab{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding:0 var(--s-3);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.act-tab:hover{border-color:var(--rule-strong);color:var(--ink)}.act-tab:focus-visible{box-shadow:var(--ring);outline:none}.act-tab.active{color:var(--ink);background:var(--paper-sunk);border-color:var(--rule-strong)}.act-tab-n{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.act-tab.active .act-tab-n{color:var(--ink-2)}.act-day+.act-day{margin-block-start:var(--s-5)}.act-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-block-end:var(--s-2);font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.act-list{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper);overflow:hidden}.act-row{display:grid;grid-template-columns:4ch 1fr max-content max-content;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-inline-start:3px solid transparent;font-size:var(--t-base)}.act-row+.act-row{border-block-start:1px solid var(--rule)}.cat-schedules{border-inline-start-color:var(--brand-sand)}.cat-punches{border-inline-start-color:var(--brand-bronze)}.cat-accounts{border-inline-start-color:var(--n-400)}.act-time{color:var(--ink-3);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.act-what{min-inline-size:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.45ch}.act-where{white-space:nowrap}.act-who{color:var(--ink-2);white-space:nowrap}.act-empty{margin-block-start:var(--s-5);padding:var(--s-6);text-align:center;background:var(--paper-2);border:1px dashed var(--rule-strong);border-radius:var(--r-lg)}.act-empty-title{font-weight:620;margin-block-end:var(--s-2)}.act-empty p:last-child{margin:0 auto;max-inline-size:52ch}.act-none{margin-block-start:var(--s-4)}.act-note{margin-block-start:var(--s-5)}@media(max-width:720px){.act-row{grid-template-columns:4ch 1fr;row-gap:var(--s-1)}.act-where,.act-who{grid-column:2}.act-what{flex-direction:column}.act-sep{display:none}}.set{max-width:720px}.set-head{margin-block-end:var(--s-5)}.set-head h2{margin-block-end:var(--s-1)}.set-head p{margin:0;max-inline-size:60ch}.set-card{padding:var(--s-5);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.set-list{list-style:none;margin:0;padding:0}.set-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);padding-block:var(--s-4)}.set-row:first-child{padding-block-start:0}.set-row+.set-row{border-block-start:1px solid var(--rule)}.set-label{flex:1;display:flex;flex-direction:column;gap:2px;cursor:pointer}.set-name{font-size:var(--t-base);font-weight:620}.set-label .small{max-inline-size:60ch}.set-input{display:inline-flex;align-items:baseline;gap:var(--s-2);flex:none}.set-input input{inline-size:5.5rem;min-block-size:var(--tap);font:inherit;font-size:var(--t-md);font-weight:620;font-variant-numeric:tabular-nums;text-align:end;padding:0 var(--s-3);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-md)}.set-input input:focus-visible{box-shadow:var(--ring);outline:none}.set-warn{margin-block:var(--s-4) 0;padding:var(--s-3) var(--s-4);font-size:var(--t-sm);color:var(--warn);background:var(--warn-tint);border-radius:var(--r-md)}.set-actions{display:flex;align-items:center;gap:var(--s-3);margin-block-start:var(--s-4)}.set-actions .btn{min-block-size:var(--tap)}.set-stamp{margin-block-start:var(--s-4);padding-block-start:var(--s-3);border-block-start:1px solid var(--rule)}@media(max-width:560px){.set-row{flex-direction:column;gap:var(--s-2)}.set-input{align-self:flex-start}}.queue{max-width:900px}.q-head{margin-block-end:var(--s-4)}.q-h1{font-size:2rem;font-weight:680;line-height:1.15;letter-spacing:-.03em;margin-block-end:var(--s-1)}.q-head p{margin:0;max-inline-size:62ch}.q-filters{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block-end:var(--s-4)}.q-list{list-style:none;margin:0;padding:0}.q-day{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin:var(--s-5) 0 var(--s-2);font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.q-list li:first-child .q-day{margin-block-start:0}.q-row{display:grid;grid-template-columns:5ch 4rem 1fr max-content max-content max-content;align-items:center;gap:var(--s-3);min-block-size:var(--row-h);padding:var(--s-2) var(--s-4);background:var(--paper);border:1px solid var(--rule);border-inline-start:3px solid var(--rule-strong);border-radius:var(--r-md);margin-block-end:var(--s-2)}.q-row:hover{border-color:var(--rule-strong)}.q-time{color:var(--ink-2);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.q-dir{font-size:var(--t-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.q-dir.in{color:var(--ink-2)}.q-name{display:inline-flex;align-items:center;min-block-size:var(--tap-fine);font-size:var(--t-base);font-weight:560;color:var(--ink);min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-name:hover{color:var(--accent)}.q-shift{white-space:nowrap}.q-hotel{display:inline-flex;align-items:center;min-block-size:var(--tap-fine);white-space:nowrap}.q-tick{min-block-size:var(--tap-fine)}.q-empty{margin-block-start:var(--s-5);padding:var(--s-7) var(--s-5);text-align:center;background:var(--paper-2);border:1px dashed var(--rule-strong);border-radius:var(--r-lg)}.q-empty-title{font-size:var(--t-lg);font-weight:620;margin-block-end:var(--s-2)}.q-empty p:last-child{margin:0 auto;max-inline-size:52ch}.q-note{margin-block-start:var(--s-5);padding-block-start:var(--s-3);border-block-start:1px solid var(--rule)}@media(max-width:720px){.q-row{grid-template-columns:5ch 4rem 1fr;row-gap:var(--s-2)}.q-shift{grid-column:3;justify-self:end}.q-hotel,.q-tick{grid-column:1 / -1;justify-self:start}}.person{max-width:900px}.pe-head{margin-block-end:var(--s-4)}.pe-h1{font-size:2rem;font-weight:680;line-height:1.15;letter-spacing:-.03em;margin-block-end:var(--s-1)}.pe-head p{margin:0}.pe-head a{display:inline-flex;align-items:center;min-block-size:var(--tap-fine)}.pe-card{padding:var(--s-4) var(--s-5);margin-block-end:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--e-1)}.pe-card-title{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-block-end:var(--s-3)}.pe-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-1)}.pe-day{display:grid;place-items:center;inline-size:var(--tap-fine);min-block-size:var(--tap-fine);font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ink-2);text-decoration:none;border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--paper);position:relative}.pe-day:hover{border-color:var(--rule-strong);color:var(--ink)}.pe-day:focus-visible{box-shadow:var(--ring);outline:none}.s-work{background:var(--paper);border-color:var(--rule-strong);color:var(--ink);font-weight:620}.s-off{background:var(--paper-sunk);color:var(--ink-2)}.s-leave,.s-sick{background:var(--paper-2);color:var(--ink-2);font-style:italic}.s-undefined{background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 3px,var(--paper-2) 3px,var(--paper-2) 6px)}.s-none{background:transparent;border-style:dashed;color:var(--ink-2)}.pe-day.flagged:after{content:"";position:absolute;inset-block-start:2px;inset-inline-end:2px;inline-size:5px;block-size:5px;border-radius:var(--r-full);background:var(--danger)}.pe-kinds{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}.pe-kinds li{display:flex;align-items:baseline;gap:var(--s-2);font-size:var(--t-base)}.pe-kind-n{font-weight:680;font-variant-numeric:tabular-nums}.pe-findings,.pe-notes{list-style:none;margin:0;padding:0}.pe-findings li,.pe-notes li{display:grid;grid-template-columns:5ch 1fr;gap:var(--s-3);align-items:baseline;padding-block:var(--s-2);font-size:var(--t-base)}.pe-findings li{grid-template-columns:5ch minmax(12ch,max-content) 1fr}.pe-findings li+li,.pe-notes li+li{border-block-start:1px solid var(--rule)}.pe-date{color:var(--ink-3);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.pe-kind{font-weight:560}.pe-when{min-inline-size:0}@media(max-width:620px){.pe-findings li{grid-template-columns:5ch 1fr}.pe-when{grid-column:2}}:root{--stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "DejaVu Sans", sans-serif;--n-0: #ffffff;--n-25: #fcfbfa;--n-50: #f7f5f3;--n-100: #efece8;--n-200: #e3ded8;--n-300: #cec7be;--n-400: #a8a099;--n-500: #736c64;--n-600: #5b544d;--n-700: #423c36;--n-800: #2b2621;--n-900: #1a1613;--paper: var(--n-0);--paper-2: var(--n-50);--paper-sunk: var(--n-100);--ink: var(--n-900);--ink-2: var(--n-600);--ink-3: var(--n-500);--rule: var(--n-200);--rule-strong: var(--n-300);--ok: #2f6b4f;--ok-tint: #e8f1ec;--warn: #8a6a1f;--warn-tint: #fbf4e2;--danger: #9b3232;--danger-tint: #f8ecec;--sev-critical: #9b3232;--sev-critical-bg: #fbeaea;--sev-critical-edge: #c74444;--sev-attention: #8a6a1f;--sev-attention-bg: #fdf4e0;--sev-attention-edge:#c9a03e;--sev-routine: #5b544d;--sev-routine-bg: #f4f2ef;--sev-routine-edge: #cec7be;--sev-waiting: #3d5a78;--sev-waiting-bg: #eef3f9;--sev-waiting-edge: #8aa7c4;--clock-yes: #1f5238;--clock-yes-bg: #e8f1ec;--clock-yes-edge: #a8ccb8;--clock-half: #6a5316;--clock-half-bg: #fbf4e2;--clock-half-edge: #cbb98a;--clock-no: #7d2b2b;--clock-no-bg: #f8ecec;--clock-no-edge: #d3aeae;--brand-ink: #2d2d2d;--brand-sand: #b89f7f;--brand-bronze: #8a6e4b;--brand-cream: #faf6e7;--accent: var(--n-700);--accent-tint: rgba(66, 60, 54, .1);--accent-ink: #ffffff;--t-xs: .75rem;--t-sm: .8125rem;--t-base: .9375rem;--t-md: 1rem;--t-lg: 1.1875rem;--t-xl: 1.5rem;--lh-tight: 1.2;--lh-base: 1.5;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--r-sm: 4px;--r-md: 7px;--r-lg: 11px;--r-full: 999px;--e-1: 0 1px 2px rgba(26, 22, 19, .05);--e-2: 0 1px 2px rgba(26, 22, 19, .05), 0 4px 12px -4px rgba(26, 22, 19, .1);--e-3: 0 16px 40px -16px rgba(26, 22, 19, .32);--row-h: 44px;--tap: 44px;--tap-fine: 34px;--ring: 0 0 0 3px var(--accent-tint), 0 0 0 1px var(--accent)}@media(any-pointer:coarse){:root{--tap-fine: 44px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--stack);font-size:var(--t-base);line-height:var(--lh-base);color:var(--ink);background:var(--paper-2);font-synthesis-weight:none;text-rendering:optimizeLegibility}h1,h2,h3,h4{line-height:var(--lh-tight);text-wrap:balance;margin:0;font-weight:640;letter-spacing:-.011em}h1{font-size:var(--t-xl)}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md)}p{margin:0}.tabular,input.tabular,.time,.count{font-variant-numeric:tabular-nums}.shell{max-width:1080px;margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-7);display:flex;flex-direction:column;gap:var(--s-4)}.muted{color:var(--ink-2)}.small{font-size:var(--t-sm)}.label{font-size:var(--t-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-base);font-weight:550;cursor:pointer;border-radius:var(--r-md);border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);box-shadow:var(--e-1);transition:background-color .12s ease,border-color .12s ease}.btn:hover{background:var(--n-25);border-color:var(--n-400)}.btn:active{background:var(--n-100)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-base);font-weight:550;cursor:pointer;border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);box-shadow:var(--e-1);transition:filter .12s ease}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:active{filter:brightness(.94)}.btn.btn-primary,.btn.btn-primary:hover,.btn.btn-primary:active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.btn-primary:hover{filter:brightness(1.08)}.btn.btn-primary:active{filter:brightness(.94)}button[disabled]{opacity:.45;cursor:not-allowed;filter:none}.link{background:none;border:0;padding:var(--s-2);min-height:var(--tap);font-size:var(--t-base);color:var(--accent);cursor:pointer;border-radius:var(--r-sm);text-decoration:none;text-underline-offset:3px}.link:hover{text-decoration:underline}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=date],input[type=file],input:not([type]),select,textarea{min-height:var(--tap);padding:0 var(--s-3);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:inset 0 1px 1px #1a161308}input:hover,select:hover{border-color:var(--n-400)}.shell input:not([type=checkbox]):not([type=radio]):not([type=file]),.shell select,.shell textarea{max-width:46ch;width:100%}textarea{padding:var(--s-2) var(--s-3);min-height:84px}.card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--e-1)}.stack{display:flex;flex-direction:column;gap:var(--s-2);max-width:360px}.stack label{font-size:var(--t-sm);color:var(--ink-2);font-weight:550}.stack>button{align-self:flex-start;margin-top:var(--s-2);min-height:var(--tap);padding-inline:var(--s-4);border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:550;cursor:pointer}.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-1) var(--s-5);margin:0}.facts dt{color:var(--ink-2);font-size:var(--t-sm)}.facts dd{margin:0}.notice{border-inline-start:3px solid var(--warn);background:var(--warn-tint);color:#4c3d12;padding:var(--s-3);border-radius:0 var(--r-md) var(--r-md) 0}.error{color:var(--danger)}.avatar{display:grid;place-items:center;inline-size:30px;block-size:30px;border-radius:var(--r-full);background:var(--accent);color:var(--accent-ink);font-size:var(--t-xs);font-weight:680;letter-spacing:.02em;flex:none}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.auth-ground{min-block-size:100vh;display:grid;place-items:center;padding:var(--s-5) var(--s-4);background:radial-gradient(120% 80% at 50% 0%,var(--brand-cream) 0%,transparent 60%),linear-gradient(180deg,var(--n-25) 0%,var(--paper-2) 100%)}.auth{inline-size:100%;max-width:420px;margin:0;padding:var(--s-6) var(--s-5) var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);--accent: var(--brand-bronze);--accent-tint: rgba(138, 110, 75, .16);background:var(--paper);border:1px solid var(--rule);border-block-start:3px solid var(--brand-bronze);border-radius:var(--r-lg);box-shadow:var(--e-3)}.auth .brandmark{margin-block-end:var(--s-3)}.auth h1{font-size:var(--t-xl);letter-spacing:-.02em;color:var(--brand-ink);text-align:center}.auth>.muted{text-align:center;margin-block-end:var(--s-4);letter-spacing:.02em}.auth form{display:flex;flex-direction:column;gap:var(--s-2)}.auth label{font-size:var(--t-sm);color:var(--ink-2);font-weight:550}.auth .code{font-size:1.75rem;letter-spacing:.3em;text-align:center;padding-left:.3em;font-weight:600}.auth form>button[type=submit]{margin-top:var(--s-2);min-height:var(--tap);border:0;border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);font-weight:550;cursor:pointer}.hotel-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.hotel-card{width:100%;text-align:start;padding:var(--s-4);cursor:pointer;font-size:var(--t-md);font-weight:600;background:var(--paper);border:1px solid var(--rule);border-inline-start:4px solid var(--accent);border-radius:var(--r-md);box-shadow:var(--e-1);transition:box-shadow .12s ease,transform .12s ease}.hotel-card:hover{box-shadow:var(--e-2);transform:translateY(-1px)}.picker{max-inline-size:760px;margin-inline:auto;padding-block-start:var(--s-6)}.picker .picker-head{margin-block-end:var(--s-5)}.picker .hotel-list{gap:var(--s-3)}.picker .hotel-card{padding-block:var(--s-5)}.hotel-card.office{background:var(--paper-2)}.hotel-card.office .hotel-card-name{color:var(--ink)}.btn,.btn-primary{text-decoration:none}.perm-panel{display:flex;flex-direction:column;gap:var(--s-2);margin-block-start:var(--s-3);padding-block-start:var(--s-3);border-block-start:1px solid var(--rule)}.perm-panel select{max-inline-size:28ch}.perm-panel .field-label{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.hotel-checks{display:flex;flex-wrap:wrap;gap:var(--s-2)}.hotel-checks .check{display:inline-flex;align-items:center;gap:var(--s-2);min-block-size:var(--tap-fine);padding:0 var(--s-3);border:1px solid var(--rule);border-radius:var(--r-full);cursor:pointer}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:var(--danger-tint)}.pw-field{position:relative;display:flex}.pw-field input{inline-size:100%;padding-inline-end:calc(var(--tap) + var(--s-1))}.pw-toggle{position:absolute;inset-block:0;inset-inline-end:0;display:grid;place-items:center;inline-size:var(--tap);min-block-size:var(--tap);padding:0;font-size:var(--t-md);line-height:1;background:none;border:0;border-radius:var(--r-sm);cursor:pointer;opacity:.7;transition:opacity .12s ease}.pw-toggle:hover{opacity:1}.pw-toggle:focus-visible{box-shadow:var(--ring);opacity:1}.pw-toggle[disabled]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.dup-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}.dup{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start}.dup-pair{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;font-size:var(--t-md)}.dup-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:1px var(--s-2);font-size:var(--t-xs);font-weight:560;border-radius:var(--r-full);border:1px solid var(--rule-strong);color:var(--ink-2);background:var(--paper-2)}.check{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-2);font-size:var(--t-sm);cursor:pointer;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper)}.check input{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}.chip.sick{border-color:#d3aeae;background:var(--danger-tint);color:#7d2b2b}.brandmark{display:block;inline-size:168px;block-size:auto;color:var(--brand-ink);margin-block-end:var(--s-4)}.brandmark.small{inline-size:96px;margin:0;flex:none}.picker-head{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin-block-end:var(--s-2)}.auth{text-align:start}.auth .brandmark{margin-inline:auto}.auth h1{text-align:center}.auth>.muted{text-align:center;margin-block-end:var(--s-4)}.sidebar-logo{inline-size:104px;block-size:auto;color:var(--brand-ink);flex:none}.topbar-divider{inline-size:1px;block-size:20px;background:var(--rule-strong);align-self:center}.hotel-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.clockmark{display:inline-flex;align-items:center;gap:4px;flex:none;padding:1px var(--s-2);font-size:var(--t-xs);font-weight:660;line-height:1.5;letter-spacing:.01em;white-space:nowrap;border:1px solid;border-radius:var(--r-full)}.clockmark-word{font-weight:560}.clockmark.both{color:var(--clock-yes);background:var(--clock-yes-bg);border-color:var(--clock-yes-edge)}.clockmark.part{color:var(--clock-half);background:var(--clock-half-bg);border-color:var(--clock-half-edge)}.clockmark.none{color:var(--clock-no);background:var(--clock-no-bg);border-color:var(--clock-no-edge)}.clockmark.pending{color:var(--sev-waiting);background:var(--sev-waiting-bg);border-color:var(--sev-waiting-edge)}.clockmark.off{color:var(--ink-2);background:var(--paper);border-color:var(--rule-strong)}.clockmark.onoff{color:var(--sev-critical);background:var(--sev-critical-bg);border-color:var(--sev-critical-edge)}.print-only{display:none}.merge-mark{font-size:20px;color:var(--ink-3);flex:none}.picker-upload{align-self:flex-start}.clockmark.blank{color:var(--sev-routine);background:var(--sev-routine-bg);border-color:var(--sev-routine-edge)}.crash{max-inline-size:52ch;margin-block:var(--s-6);padding:var(--s-5);background:var(--paper);border:1px solid var(--rule);border-inline-start:4px solid var(--danger);border-radius:var(--r-lg);box-shadow:var(--e-1)}.crash h2{margin-block-end:var(--s-2)}.crash-detail{margin-block:var(--s-3);padding:var(--s-3);background:var(--paper-sunk);border-radius:var(--r-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);overflow-wrap:anywhere}@page{size:A4 portrait;margin:12mm 10mm}@media print{.no-print,.topbar,.day-tabs,.week-head,.summary,.modal-backdrop,.cell-actions,button{display:none!important}body{background:#fff;color:#000;font-size:10.5pt}.week,.shell{max-width:none;padding:0;gap:0}.day-title{font-size:12pt;margin:0 0 5mm}.day-title .date{color:#000}.grid{border:0;border-top:.5pt solid #000;border-radius:0;box-shadow:none;background:none}.blockhead{border:0;padding:3mm 0 1mm;font-size:8pt;color:#000;background:none}.blockhead .n{color:#666}.blockhead:after{background:#bbb}.delta-row{break-inside:avoid;page-break-inside:avoid;min-height:0;padding:1.6mm 0;border-top:0;border-bottom:.3pt solid #999;background:none!important;grid-template-columns:44px minmax(0,1fr) 118px 118px;grid-template-areas:"seq name in out"}.cell-hours,.cell-span{display:none!important}.tick{min-height:0!important;display:inline!important}.cell-punch .actual{display:inline!important;margin-inline-start:1.2mm;color:#555}.cell-name{flex-wrap:nowrap!important;gap:1.2mm!important}.clockmark{padding:0!important;border:0!important;background:none!important;color:#000!important;font-size:8pt}.clockmark-word,.clock-legend{display:none!important}.print-only{display:block!important}.print-mark{inline-size:34mm;block-size:auto;color:#000;margin-block-end:2mm}.cell-seq,.cell-name .given{color:#000}.cell-punch input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:4mm;height:4mm;border:.4pt solid #000;border-radius:.5mm;background:#fff}.chip{border:.4pt solid #000;background:none!important;color:#000!important;border-radius:0;padding:0 1mm}.note-body{display:block!important;font-size:9pt;color:#000}.cell-punch input[type=checkbox]:checked{background:#000}a[href]:after{content:""}}
