@font-face{font-family:'Golos Text';src:url('/golos-text.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
:root{font-family:'Golos Text',sans-serif;font-size:14px;line-height:20px;font-synthesis:none;color:var(--ink);background:var(--bg);--bg:#F5F4F0;--surface:#fff;--ink:#252A27;--muted:#6B716C;--line:#E3E6DF;--amber:#EDB94C;--green:#32664D;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--panel-radius:12px;--control-radius:8px;scrollbar-color:#a2a79f var(--bg)}
*{box-sizing:border-box}body{margin:0}::selection{background:#f6e6be;color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-underline-offset:3px}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #996509}button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);font-weight:500;cursor:pointer}button:hover{background:#f0f1ec;border-color:#a2a79f}button:active:not(:disabled){background:#e8eae3}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--amber);border-color:var(--amber);color:var(--ink)}button.primary:hover{background:#e9a82e;border-color:#e9a82e}button.primary:active{background:#da9821}button.dark{background:var(--ink);color:white;border-color:var(--ink)}strong{font-weight:600}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:28px;line-height:34px;letter-spacing:-.02em;font-weight:600;margin:0 0 8px}h2{font-size:18px;line-height:24px;font-weight:600;margin:0 0 16px}h3{font-size:16px;line-height:24px;font-weight:600;margin:0 0 8px}p{margin:8px 0 16px}small,.footnote{font-size:12px;line-height:16px;color:var(--muted)}.sub{color:var(--muted);margin:0;max-width:75ch}.icon{flex-shrink:0;vertical-align:middle}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--ink);color:#fff;padding:32px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--amber);color:var(--ink);font-size:24px;line-height:32px}.brand-sub{margin:12px 0 32px;color:#bec5bf;font-size:12px;line-height:16px}.nav{display:grid;gap:4px}.nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border-color:transparent;color:#d6dbd5;padding:12px;white-space:nowrap}.nav button:hover{background:#343b35;color:#fff}.nav button.selected{background:#32664D;color:#fff}.nav button.selected .icon{color:var(--amber)}.sidebar-foot{margin-top:auto;padding:24px 12px 0;font-size:12px;line-height:20px;color:#c9d0c9}.sidebar-foot a{display:block;margin-top:12px}.sidebar-foot button{margin-top:16px;background:transparent;color:inherit;width:100%;border-color:#59615a}.phone-label,.mobile-logout,.topbar-brand{display:none}.main{min-width:0;width:100%;max-width:1480px;margin:0 auto;padding:24px 32px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.date{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0}.hero>div{min-width:0}.hero>button{flex-shrink:0}.pill{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;line-height:16px;background:#eceee8;color:#4f5950}.demo-pill{background:#faedcf;color:#76521e}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface);margin:24px 0;overflow:hidden}.stat{min-width:0;padding:16px 24px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:28px;line-height:34px;font-weight:600;margin:8px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat span{display:block;font-size:12px;line-height:16px;color:var(--muted)}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--panel-radius);padding:24px;margin:24px 0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-head h2{margin:0}.two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.two>.panel{margin-top:0}.table-wrap{overflow:auto;position:relative}table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}th{font-size:12px;line-height:16px;font-weight:500;color:var(--muted);padding:12px 8px;border-bottom:1px solid var(--line)}td{padding:16px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}tbody tr:last-child td{border-bottom:0}.shift-table{table-layout:fixed}.shift-table th:nth-child(1){width:25%}.shift-table th:nth-child(2){width:30%}.shift-table th:nth-child(3){width:22%}.shift-table th:nth-child(4){width:18%}.shift-table th:last-child{width:5%}.shift-table td small{display:block;margin-top:4px}.person{display:flex;align-items:start;gap:12px}.person>div{min-width:0}.avatar{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eceee8;color:#586355;font-size:12px;font-weight:500}.person small{display:block;margin-top:4px}.person .site-address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shift-date{color:var(--muted);font-size:12px;line-height:16px;margin-bottom:8px}.point-address{margin:0 0 8px;overflow-wrap:anywhere}.point-address>strong{display:block;font-weight:500}.point-address>small{display:block;margin:4px 0}.point-address.unresolved{color:var(--muted)}.shift-table .point-address>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-block;max-width:100%;font-size:12px;line-height:16px;font-weight:400;border-radius:4px;padding:4px 8px;background:#eceee8;color:#50594f;overflow-wrap:anywhere}.badge.good{background:#e5eee4;color:#326449}.badge.warn{background:#faedcf;color:#76521e}.badge.bad{background:#f7e5df;color:#873923}.link-button{background:transparent;border-color:transparent;color:var(--ink);padding:8px;font-weight:500}.shift-action .link-button{min-width:40px;padding:8px}.address-source{margin:16px 0 0}.selected-address{padding:0 0 16px;border-bottom:1px solid var(--line);color:var(--muted)}.gps-detail{font-variant-numeric:tabular-nums}.site-card{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.site-card:first-child{padding-top:0}.site-card:last-child{padding-bottom:0;border-bottom:0}.site-card>div:first-child{min-width:0;flex:1 1 200px}.site-card small{display:block;margin-top:8px}.site-card p{margin:4px 0 8px}.notice{border:1px solid var(--line);border-radius:8px;background:#eef1e9;padding:16px;margin:16px 0;overflow-wrap:anywhere}.notice.amber,.start-notice.amber{background:#faedcf;border-color:#e6ce9b;color:#76521e}.start-notice.red{background:#f7e5df;border-color:#e2b5a8;color:#873923}.sheet-summary .stat{padding:12px 24px}.sheet-summary .stat strong{font-size:24px;line-height:32px;margin:4px 0}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{width:180px;margin:0}.filters+ .footnote{margin:8px 0 16px}label{display:grid;gap:8px;font-size:12px;line-height:16px;font-weight:500;margin:0 0 16px;min-width:0}input,select,textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #bac1b8;background:var(--surface);border-radius:var(--control-radius);caret-color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:disabled{background:#f0f1ec;color:var(--muted)}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#76521e}.check{display:flex;align-items:start;gap:12px;font-weight:400;line-height:20px}form.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}form.grid .full{grid-column:1/-1}.form-section{margin:16px 0}.form-section:first-child{margin-top:0}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.history-heading{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.timeline{display:grid}.event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 16px;padding:16px 0;border-bottom:1px solid var(--line)}.event>.badge{grid-column:2;justify-self:start}.event small{display:block;margin-top:8px}.event time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.event .point-address{margin-top:8px}.plot{width:100%;height:220px;border:1px solid var(--line);border-radius:8px;background:#fafbf7}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:8px}.empty{padding:32px 16px;color:var(--muted);text-align:center}.audit{padding:12px 0;border-top:1px solid var(--line);font-size:12px}.audit p{margin-bottom:8px}.invite{overflow-wrap:anywhere}.invite:empty{display:none}.login{max-width:480px;margin:8vh auto;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.login .brand{margin-bottom:32px}.login form{margin-top:24px}.login button{width:100%;margin:8px 0;min-height:48px}.mobile{max-width:500px;margin:0 auto;padding:24px 20px 60px}.mobile .big{width:100%;min-height:56px;margin-top:12px}.clock{font-size:40px;line-height:48px;font-weight:600;margin:12px 0;font-variant-numeric:tabular-nums}.worker-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.worker-name{color:var(--muted);margin-bottom:8px}.mono{font-variant-numeric:tabular-nums}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:16px 24px;max-width:90vw;z-index:20;display:none;box-shadow:0 4px 16px #0002;overflow-wrap:anywhere}#toast.show{display:block}.hidden{display:none}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:30;background:white;color:var(--ink);padding:12px;border-radius:8px}
@media(max-width:1099px){.shell{display:block}.sidebar{position:static;height:auto;padding:16px 24px;display:grid;grid-template-columns:auto 1fr;gap:16px 32px;align-items:center}.brand-sub,.sidebar-foot{display:none}.nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.nav button{justify-content:center;gap:8px;padding:10px 8px}.main{padding:24px}.mobile-logout{display:inline-block}.two{grid-template-columns:1fr}.two>.panel{margin-bottom:24px}.shift-table,.shift-table tbody{display:block;width:100%}.shift-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shift-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;padding:24px 0;border-bottom:1px solid var(--line)}.shift-table tr:first-child{padding-top:0}.shift-table tr:last-child{border-bottom:0;padding-bottom:0}.shift-table td{display:block;min-width:0;border:0;padding:0}.shift-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;line-height:16px;color:var(--muted);margin-bottom:8px}.shift-table td:first-child::before{display:none}.shift-table .shift-action{grid-column:1/-1}.shift-action .link-button{width:100%;text-align:right;border:1px solid var(--line)}.shift-action .sr-only{position:static;width:auto;height:auto;clip:auto;overflow:visible;white-space:normal;margin-right:8px}.shift-table .point-address>strong{display:-webkit-box}.stat{padding:16px}.topbar{flex-wrap:wrap}}
@media(min-width:701px) and (max-width:900px){.sidebar{grid-template-columns:1fr}.nav button{justify-content:start}}
@media(max-width:700px){.sidebar{padding:0;display:block}.sidebar>.brand{display:none}.brand{font-size:24px;line-height:32px}.nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.nav button{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 0;min-width:0;min-height:60px;font-size:12px;line-height:16px}.nav button{color:var(--muted)}.nav button.selected{background:#faedcf;color:var(--ink)}.nav button.selected .icon{color:var(--ink)}.nav .desktop-label{display:none}.phone-label{display:inline}.main{padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.topbar{padding-bottom:8px;gap:8px;flex-wrap:nowrap}.topbar-brand{display:block;flex-shrink:0}.topbar-brand .brand{font-size:20px;line-height:28px;gap:8px}.topbar-brand .mark{width:28px;height:28px}.topbar-context,.date-label{display:none}.topbar .date{flex-wrap:nowrap;gap:0}.topbar .link-button{padding:8px}.person .site-address{-webkit-line-clamp:3}.date{gap:4px}.hero{align-items:start;flex-wrap:wrap;gap:12px;margin:16px 0}.hero>div{flex:1 1 160px}.hero>button{padding:10px 12px}.hero h1{font-size:28px;line-height:34px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}.stat{padding:16px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat strong{font-size:24px;line-height:32px}.panel{padding:16px;margin:16px 0}.panel-head{align-items:start}.shift-table tr{grid-template-columns:1fr;gap:12px}.shift-table td[data-label]::before{display:none}.shift-table .shift-time{grid-row:2}.shift-table .start-point{grid-row:3}.shift-table .shift-assessment{grid-row:4}.sheet-summary{display:flex;flex-wrap:wrap;border:0;background:transparent;gap:8px 16px}.sheet-summary .stat{display:flex;align-items:baseline;gap:8px;padding:0;border:0}.sheet-summary .stat:first-child,.sheet-summary .stat:last-child{display:none}.sheet-summary .stat strong{font-size:14px;line-height:20px;margin:0}.sheet-summary .stat span{font-size:12px}.hero .sub{font-size:12px;line-height:16px}.shift-table .shift-action{grid-column:auto}.two{gap:0}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters label{width:auto}.filters button{grid-column:1/-1}.filters input{padding:10px 8px}input,select,textarea{font-size:16px}form.grid{grid-template-columns:1fr}form.grid .full{grid-column:auto}.site-card>div:first-child{flex-basis:100%}.site-card button{flex:1}.login{margin:24px 16px;padding:24px;max-width:none}.plot{height:180px}.event{gap:8px}.table-wrap table:not(.shift-table){font-size:12px;line-height:16px}.table-wrap table:not(.shift-table) td,.table-wrap table:not(.shift-table) th{padding:12px 4px}#toast{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* Factual monthly calendar — shares the cabinet tokens and native controls. */
.sheet-switch{display:flex;gap:4px;margin-top:20px;flex-wrap:wrap}.sheet-switch button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.calendar-surface{min-width:0}.calendar-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.calendar-toolbar h2{margin:0;flex:1 1 180px;text-transform:capitalize}.calendar-toolbar label{margin:0;max-width:220px}.calendar-month-actions{display:flex;gap:4px;align-items:center}.calendar-month-actions button{display:flex;align-items:center;justify-content:center}.previous-icon{display:flex;transform:rotate(180deg)}
.calendar-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.calendar-filters label{margin:0}.calendar-summary{display:flex;flex-wrap:wrap;gap:16px 32px;margin:20px 0;padding:16px 0;border-block:1px solid var(--line)}.calendar-summary dt{font-size:12px;color:var(--muted)}.calendar-summary dd{margin:4px 0 0;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.calendar-caption{margin:12px 0}
.calendar-grid{table-layout:fixed;background:var(--surface);width:100%;border-collapse:collapse}.calendar-grid th{text-align:center;padding:12px 4px}.calendar-grid td{width:14.285%;height:116px;padding:4px;border:1px solid var(--line);vertical-align:top}.calendar-grid tbody tr:last-child td{border-bottom:1px solid var(--line)}.calendar-grid .calendar-blank{background:var(--bg)}.calendar-grid .is-selected{background:#fff8e8;box-shadow:inset 0 0 0 2px #856024}.calendar-date{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:4px 8px;border:0;background:transparent;text-align:left}.is-today .calendar-date{font-weight:700;text-decoration:underline;text-underline-offset:4px}.calendar-count{font-size:12px;color:var(--muted)}.calendar-pins{display:grid;gap:4px;margin-top:4px}.calendar-pin{display:flex;align-items:center;gap:4px;min-width:0;width:100%;min-height:24px;padding:3px 4px;border:1px solid transparent;border-radius:4px;background:var(--site-soft);color:var(--ink);text-align:left;font-size:12px;line-height:16px}.calendar-pin .icon{flex:none;color:var(--site-color);width:16px;height:16px}.calendar-pin:hover{border-color:var(--site-color);background:var(--site-soft)}.pin-full{min-width:0;flex:1}.pin-full strong,.pin-full>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-full strong{font-weight:500}.pin-initials{display:none}.pin-warning{color:#873923;font-weight:700;flex:none}.calendar-more{width:100%;min-height:30px;padding:4px;font-size:12px;background:transparent;border:0;text-align:left}.calendar-empty{padding:20px 0;max-width:65ch}.calendar-empty p{margin:8px 0}.calendar-distribution ul{padding:0;margin:16px 0 0;list-style:none}.calendar-distribution li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.calendar-distribution li>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}.calendar-distribution small{display:block;color:var(--muted);margin-top:4px}.site-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--site-color);border:1px solid var(--site-color)}.distribution-value{font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-record{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:24px;padding:20px 0;border-top:1px solid var(--line)}.calendar-record>div{min-width:0;overflow-wrap:anywhere}.calendar-record h3{margin:0 0 8px}.calendar-record p{margin:8px 0}.calendar-site-name .site-dot{margin-right:4px}.calendar-record-decision button{display:block;margin-top:12px}.calendar-day-panel .panel-head{flex-wrap:wrap}
@media(max-width:1099px){.calendar-record{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.calendar-record-decision{grid-column:1/-1}.calendar-record-decision button{display:inline-block;margin:0 0 0 12px}.calendar-pin .icon{display:none}}
@media(max-width:700px){.calendar-toolbar{gap:12px}.calendar-toolbar h2{flex-basis:100%;font-size:20px}.calendar-toolbar label{width:100%;max-width:none}.calendar-month-actions{width:100%}.calendar-month-actions button:nth-child(2){flex:1}.calendar-filters{gap:12px;grid-template-columns:1fr}.calendar-summary{gap:12px 20px;margin:16px 0}.calendar-summary>div{flex:1 1 100px}.calendar-summary dd{font-size:16px}.calendar-grid td{padding:2px;height:96px}.calendar-grid th{padding:8px 0}.calendar-date{padding:4px 2px;min-height:36px}.calendar-count{display:none}.calendar-pin{min-height:28px;justify-content:center;padding:3px 0;gap:1px}.pin-full{display:none}.pin-initials{display:block;font-size:12px;font-weight:500}.pin-warning{font-size:10px}.calendar-more{min-height:28px;text-align:center;padding:2px 0}.calendar-distribution li{flex-wrap:wrap;gap:8px}.calendar-distribution li>span:nth-child(2){flex-basis:calc(100% - 24px)}.distribution-value{padding-left:18px}.calendar-record{grid-template-columns:1fr;gap:12px}.calendar-record-decision{grid-column:auto}.calendar-record-decision button{display:block;width:100%;margin:12px 0 0}.calendar-day-panel .panel-head{gap:8px}}

.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0;font-size:12px}.calendar-legend>span{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.calendar-share-bar{display:block;width:100%;height:12px;margin:16px 0}.calendar-share-bar rect{fill:var(--site-color)}.calendar-empty img{display:block;margin-bottom:12px;max-width:140px}.calendar-grid td:nth-child(n+6):not(.is-selected):not(.calendar-blank){background:#fafaf7}.calendar-grid .is-today .calendar-date{outline:1px solid #856024;outline-offset:-2px;border-radius:4px}
@media(max-width:700px){.calendar-grid .calendar-date{min-height:28px}.calendar-pins{gap:2px;margin-top:2px}.calendar-pin{min-height:20px;padding:2px 0;line-height:16px}.calendar-more{min-height:24px}}

.site-palette-1{--site-color:#C56A2C;--site-soft:#FFF0E3}.site-palette-2{--site-color:#326CA8;--site-soft:#EAF2FC}.site-palette-3{--site-color:#387B5A;--site-soft:#EAF5ED}.site-palette-4{--site-color:#805398;--site-soft:#F4ECF8}.site-palette-5{--site-color:#8C6234;--site-soft:#F8F0E5}.site-palette-6{--site-color:#356F78;--site-soft:#EAF5F6}

/* Shared MAX intake follows the cabinet's existing form and row vocabulary. */
.registration-link,.registration-queue{min-width:0}
.registration-link .panel-head,.registration-queue .panel-head{flex-wrap:wrap;gap:8px 16px}
.registration-enabled{background:#edf5ed;color:var(--green)}
.registration-share{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:20px}
.registration-share label{margin:0}.registration-share input{background:#fafaf7}
.registration-note{margin:8px 0 0;max-width:75ch}
.registration-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.registration-confirm{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}
.registration-confirm p{max-width:65ch;margin:0}
.registration-feedback{margin:12px 0 0;max-width:65ch;color:var(--green)}
.registration-feedback.is-error{color:#873923}
.registration-request{padding:24px 0;border-top:1px solid var(--line)}
.registration-request:first-child{padding-top:8px;border-top:0}.registration-request:last-child{padding-bottom:0}
.registration-request-head{display:flex;justify-content:space-between;align-items:start;gap:8px 24px}
.registration-request-head>div{min-width:0}.registration-request-head h3{margin:0 0 4px}
.registration-request-head time{flex-shrink:0;font-variant-numeric:tabular-nums}
.registration-request-form{margin-top:20px}
.registration-request-form fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px 24px;border:0;padding:0;margin:0;min-width:0}
.registration-request-form fieldset>label{margin:0;align-content:start}
.registration-request-form .registration-actions{grid-column:1/-1;margin-top:0}
.registration-no-worker .registration-sites{grid-column:1/-1}
.registration-field-label{font-size:12px;line-height:16px;font-weight:500;margin:0 0 8px}
.registration-site-options{display:grid;gap:4px}
.registration-site-options .check{margin:0;min-height:44px;padding:8px 0}
.registration-site-options .check>span{min-width:0;overflow-wrap:anywhere}
.registration-site-options small{display:block;margin-top:4px}
.registration-sites>.footnote{margin:8px 0 0}
.registration-empty{padding:12px 0 8px}.registration-empty>p:first-child{font-weight:500;margin-bottom:8px}
.registration-consent-note{padding-top:20px;margin:20px 0 0;border-top:1px solid var(--line);max-width:75ch}
@media(max-width:700px){.registration-share{grid-template-columns:1fr;gap:12px}.registration-share>button{width:100%}.registration-actions>button{flex:1 1 100%}.registration-request{padding:24px 0}.registration-request-head{flex-direction:column;gap:8px}.registration-request-form fieldset{grid-template-columns:1fr;gap:20px}.registration-request-form{margin-top:16px}.registration-field-label{font-size:14px;line-height:20px}.registration-request-form fieldset>label{font-size:14px;line-height:20px}}

/* One approved compact-calendar packet; header/controls/grid precede metrics. */
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0}.calendar-heading h1{margin:0;font-size:28px;line-height:34px}.calendar-heading .sheet-switch{margin:0;flex-wrap:nowrap}.calendar-heading .sheet-switch button{padding:8px 12px}
.calendar-controls{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1fr);align-items:end;gap:16px}.calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:4px;align-items:center}.calendar-toolbar label{margin:0;max-width:none;min-width:0}.calendar-toolbar input{padding:8px;min-width:0;height:44px}.calendar-toolbar>button{display:flex;align-items:center;justify-content:center;min-width:0;height:44px;padding:8px}.calendar-filters{margin:0;gap:12px}.calendar-filters label{gap:4px}.calendar-filters select{padding:8px;max-width:100%}.calendar-filter-reset{min-height:32px;padding:4px 0;font-size:12px}.calendar-caption{margin:8px 0;font-size:12px;line-height:16px}.calendar-legend{margin:8px 0;gap:4px 16px}.calendar-legend>span{max-width:220px}.calendar-legend-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-grid th{padding:8px 4px}.calendar-date{min-height:28px;padding:4px}.calendar-pins{gap:2px;margin-top:2px}.calendar-more{min-height:24px;padding:2px 4px}.calendar-summary{margin:12px 0;padding:12px 0}.calendar-summary dd{font-size:16px}.calendar-summary>div{flex:1 1 100px}
@media(max-width:700px){.calendar-heading h1{font-size:24px;line-height:32px}.calendar-heading .sheet-switch button{font-size:12px;line-height:16px;padding:8px 10px;min-height:44px}.calendar-controls{grid-template-columns:minmax(0,1fr);gap:12px}.calendar-toolbar{gap:4px}.calendar-toolbar label{width:auto}.calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-filters label{font-size:12px}.calendar-filters select{padding:8px 4px}.calendar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.calendar-legend>span{max-width:none;gap:6px}.calendar-grid .calendar-date{min-height:44px;padding:4px 2px}.calendar-grid td{height:96px}.calendar-pin{min-height:20px;padding:1px 0}.calendar-more{min-height:24px}.calendar-summary{gap:8px 16px}}
@media(max-width:700px){.calendar-pins{gap:0;margin-top:0}.calendar-pin{min-height:16px;height:16px;padding:0;border-width:0;line-height:16px}.calendar-more{min-height:16px;height:16px;padding:0;line-height:16px}}

/* Monthly factual sheet: compact display; full facts remain accessible. */
.calendar-heading{flex-wrap:wrap}.calendar-heading .sheet-switch{flex-wrap:wrap}
.summary-surface{min-width:0}.summary-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0}.summary-actions p{margin:0}.summary-actions button{min-height:44px}
.summary-guide,.summary-note{margin:8px 0;font-size:14px;line-height:20px}.summary-help summary{min-height:44px;cursor:pointer;padding:12px 0}.summary-help p{max-width:75ch}
.summary-legend{display:flex;gap:4px 12px;overflow-x:auto;margin:8px 0;font-size:14px;line-height:20px}.summary-legend>span{display:flex;align-items:center;gap:6px;min-width:0;flex:0 0 auto;max-width:180px}.summary-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.summary-scroll{max-width:100%;max-height:65vh;overflow:auto;isolation:isolate;scrollbar-color:var(--muted) var(--surface);scroll-padding-inline:168px 120px}
.summary-table{width:max-content;border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums}
.summary-scroll .summary-table th,.summary-scroll .summary-table td{box-sizing:border-box;width:64px;min-width:64px;max-width:64px;padding:4px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:14px;line-height:20px}
.summary-table thead th{position:sticky;top:0;z-index:2;background:var(--surface)}
.summary-scroll .summary-table .summary-name{position:sticky;left:0;z-index:1;background:var(--surface);width:168px;min-width:168px;max-width:168px;padding:6px}
.summary-worker-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.summary-name small,.summary-total small,.summary-table tfoot small{display:block;font-weight:400}
.summary-scroll .summary-table .summary-total{position:sticky;right:0;z-index:1;background:var(--surface);width:120px;min-width:120px;max-width:120px}
.summary-scroll .summary-table thead .summary-name,.summary-scroll .summary-table thead .summary-total{z-index:3}
.summary-table tfoot{font-weight:600}.summary-table .summary-empty{background:var(--surface)}
.summary-day{display:block;width:100%;min-height:44px;min-width:44px;padding:0;text-align:left;font-size:14px;line-height:20px}
.summary-day[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:-2px}
.summary-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 2px;color:var(--ink);background:var(--site-soft);border-left:1px solid var(--site-color);padding:2px;overflow-wrap:anywhere}.summary-group+.summary-group{margin-top:4px}.summary-group-warning{color:#873923;font-weight:700}.summary-group-count,.summary-group-ongoing{font-size:12px;line-height:16px}
.summary-scroll:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(max-width:700px){.summary-scroll .summary-table .summary-name,.summary-scroll .summary-table .summary-total{width:104px;min-width:104px;max-width:104px}.summary-scroll{max-height:60vh;scroll-padding-inline:104px}.summary-surface .calendar-controls{gap:8px}.summary-surface .calendar-filters select{min-height:44px}.summary-surface .calendar-filter-reset{min-height:44px}.summary-actions{flex-wrap:nowrap}.summary-actions p{font-size:12px;line-height:16px}.summary-actions button{padding:8px;flex-shrink:0}}
