:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172332;background:#fff;--navy:#071b33;--blue:#1261a0;--red:#b42318;--line:#d7dee7;--quiet:#536273;--green:#16734a}
#qr-result{margin-top:14px;text-align:center}#qr-canvas{display:block;max-width:280px;width:100%;height:auto;margin:0 auto;border:12px solid #fff}
#radio-qr-result{margin-top:14px;text-align:center}#radio-qr-canvas{display:block;max-width:280px;width:100%;height:auto;margin:0 auto;border:12px solid #fff}
/* Campus Support is intentionally denser than the permanent-team application. */
.campus-switch{display:grid;gap:14px;margin:8px 0 16px;padding:18px!important;border:2px solid var(--line)!important;border-radius:14px}.campus-switch h3{margin-bottom:6px;font-size:1.2rem}.campus-switch button{min-height:60px;font-size:1rem}
.close-support-day{display:grid;gap:10px;margin:8px 0 16px;padding:18px!important;border:2px solid #d9a6a2!important;border-radius:14px}.close-support-day h3{margin-bottom:0;font-size:1.2rem}.close-support-day .meta{margin-bottom:0}.close-support-day button{width:100%;min-height:60px;font-size:1rem;background:#fff}.close-day-count{margin:0;color:var(--navy);font-size:.86rem;font-weight:850}
.action-status{position:sticky;z-index:2;top:76px;margin:8px 0;padding:13px 15px;border-radius:10px;background:#e9f7f0;color:var(--green);font-weight:800}.action-status.error{background:#fff1f0;color:var(--red)}button:disabled{cursor:not-allowed;opacity:.48}
.topbar{display:grid!important;grid-template-columns:auto 1fr auto;gap:12px}.topbar>div{text-align:left}.back-link{display:grid;min-width:52px;min-height:52px;place-items:center;padding:0 10px;border:1px solid #ffffff55;border-radius:10px;color:#fff;font-size:2rem;font-weight:850;text-decoration:none}.back-link span{display:none}.error-actions{display:grid;gap:10px;width:min(320px,100%);margin:22px auto 0}.error-actions a{display:grid;min-height:52px;place-items:center;border:1px solid #aab6c4;border-radius:8px;color:var(--navy);font-weight:800;text-decoration:none}.qr-first{margin:8px 0 16px;padding:18px!important;border:2px solid var(--blue)!important;border-radius:14px}.qr-first h3{font-size:1.2rem}.qr-action{min-height:60px;font-size:1.05rem}.admin-settings summary{min-height:52px;padding:14px 0;cursor:pointer;font-weight:850}@media(min-width:600px){.back-link{display:flex;gap:6px;font-size:1rem}.back-link span{display:inline}}
.compact-intro{padding:10px 0 12px;border:0}.compact-intro h2{font-size:1.55rem;letter-spacing:-.025em}.compact-intro p:last-child{margin:0;color:var(--quiet)}
#check-in{padding-bottom:20px}.checkin-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10px}.checkin-grid label{margin:7px 0}.location-plan{margin:14px 0 8px;padding:13px 14px;border:1px solid var(--line);border-radius:12px}.location-plan legend{padding:0 5px}.location-plan label{margin:8px 0}.location-plan:has(#same-location:checked) [data-service]:not([data-first]){display:none}.location-plan:has(#same-location:checked) label:has([data-service]:not([data-first])){display:none}.flexible-choice{margin:10px 0}.optional-details{margin:8px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.optional-details summary{padding:12px 2px;cursor:pointer;font-weight:800}.optional-details summary span{float:right;color:var(--quiet);font-size:.78rem;font-weight:600}.optional-details label{margin-top:0}
#radio{font-size:1.12rem;font-weight:850}#radio::placeholder{color:#697789;font-weight:650}#radio[readonly]{background:#eef2f6;color:var(--navy)}
body:has(#flexible:checked) .location-plan{display:none}
.identity{padding:13px 0 11px;border:0}.identity h2{font-size:1.9rem;letter-spacing:-.04em}.now-card{display:grid;gap:3px;padding:17px 18px;border-radius:14px;background:var(--navy);color:#fff}.now-card span{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.72}.now-card strong{font-size:1.65rem}.now-card small{margin-top:5px;color:#fff;opacity:.82}.quick-actions{grid-template-columns:1.6fr .8fr;padding:10px 0 4px}.quick-actions button{min-height:50px}.quick-actions .primary-action{background:var(--blue);border-color:var(--blue);color:#fff}.availability-control{grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:8px 0 14px}.availability-control select{min-height:44px}.planned-strip{padding:13px 0;border-top:1px solid var(--line)}.planned-strip h3{margin:0 0 5px;color:var(--quiet);font-size:.76rem;letter-spacing:.07em;text-transform:uppercase}.planned-strip .service{display:flex;justify-content:space-between;gap:10px;padding:7px 0}.planned-strip .service strong{font-size:.88rem}.info-section{border-top:1px solid var(--line)}.info-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px;cursor:pointer;list-style:none}.info-section summary::-webkit-details-marker{display:none}.info-section summary span{display:grid;gap:2px}.info-section summary small{font-size:.78rem}.info-section summary b{font-size:1.3rem;color:var(--blue)}.info-section[open] summary b{transform:rotate(45deg)}.info-content{padding:0 2px 14px}.info-content .service{padding:9px 0}.end-shift{width:100%;margin-top:16px;border-color:#d9a6a2;color:var(--red);background:#fff}.alert{border-radius:8px}
.support-presence-section{margin-top:4px}.support-presence-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.support-presence-row:first-child{border-top:0}.support-presence-row>span{display:grid;gap:2px}.support-presence-row>span:last-child{text-align:right}.support-presence-row small{color:var(--quiet);font-size:.74rem;text-transform:capitalize}
*{box-sizing:border-box}body{margin:0;background:#fff}button,input,select,textarea{font:inherit}button,select,input,textarea{min-height:48px;border:1px solid #aab6c4;border-radius:8px;background:#fff;color:#172332}button{padding:.7rem 1rem;font-weight:750;cursor:pointer}.topbar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:12px max(16px,env(safe-area-inset-left));background:var(--navy);color:#fff}.topbar p,.topbar h1{margin:0}.topbar p{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.topbar h1{font-size:1.2rem}.topbar span{font-size:.74rem}main{width:min(720px,100%);margin:auto;padding:16px 16px calc(28px + env(safe-area-inset-bottom))}.state,.intro,.identity,.panel{border-bottom:1px solid var(--line);padding:16px 0}.state{text-align:center}.state.error{color:var(--red)}.eyebrow{margin:0 0 4px;color:var(--blue);font-size:.74rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}h2,h3,p{margin-top:0}h2{margin-bottom:6px}h3{font-size:1rem;margin-bottom:10px}label{display:grid;gap:6px;margin:14px 0;font-weight:750}small{color:var(--quiet);font-weight:500}select,input,textarea{width:100%;padding:10px 12px}fieldset{border:0;padding:0;margin:16px 0}legend{font-weight:850}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:22px;min-height:22px}.primary{width:100%;background:var(--navy);border-color:var(--navy);color:#fff}.danger{border-color:var(--red);color:var(--red)}.identity{display:flex;justify-content:space-between;gap:12px}.identity h2,.identity p{margin-bottom:0}#availability-badge{align-self:start;padding:6px 9px;border-radius:999px;background:#e9f7f0;color:var(--green);font-size:.74rem;font-weight:850}.alert{margin:14px 0;padding:12px;border-left:5px solid var(--red);background:#fff;color:var(--red);font-weight:750}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0}.quick-actions .danger{grid-column:1/-1}.panel p:last-child{margin-bottom:0}.service,.person,.message,.shift{padding:10px 0;border-top:1px solid var(--line)}.service:first-child,.person:first-child,.message:first-child,.shift:first-child{border-top:0}.service strong,.person strong,.message strong{display:block}.meta{color:var(--quiet);font-size:.82rem}.message p{margin:4px 0 0;white-space:pre-wrap}.empty{color:var(--quiet)}#message-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}#message-form label{margin:0}#message-form button{background:var(--blue);color:#fff;border-color:var(--blue)}ol{padding-left:22px}li{margin:7px 0}.important{color:var(--red);font-weight:800}dialog{width:min(620px,calc(100% - 24px));max-height:85dvh;border:0;border-radius:12px;padding:16px;color:#172332;background:#fff;box-shadow:0 18px 60px #071b3355}dialog::backdrop{background:#071b33a6}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-head button{min-width:48px;font-size:1.4rem}.map-list{display:grid;gap:8px;overflow:auto}.map-list a{display:block;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-weight:750;text-decoration:none}.summary{padding:12px;background:var(--navy);color:#fff;font-weight:800}.shift.alert-shift{border-left:4px solid var(--red);padding-left:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:600px){.quick-actions{grid-template-columns:1fr 1fr 1fr}.quick-actions .danger{grid-column:auto}}

/* Compact guest operations, using the shared member typography and surfaces. */
.guest-app{min-height:100dvh;--navy:var(--theme-text);--blue:var(--theme-text);--line:var(--theme-border);--quiet:var(--theme-muted);--guest-surface:var(--theme-surface);--guest-soft:var(--theme-surface-strong);--red:#a62539;background:var(--theme-canvas);color:var(--theme-text);font:15px/1.4 var(--ds-font-family)}
html[data-theme="dark"] .guest-app{--red:#ff8d96}
.guest-app .topbar{position:static;background:var(--theme-canvas);color:var(--theme-text);border-bottom:1px solid var(--line);padding:10px 14px;gap:10px}.guest-app .topbar h1{font-size:clamp(1.25rem,4vw,1.55rem);line-height:1.2}.guest-app .topbar p{color:var(--quiet);font-size:.72rem}.guest-app .topbar #connection{color:var(--quiet);font-size:.72rem}.guest-app .topbar .back-link{min-width:44px;min-height:44px;border:1px solid var(--line);color:var(--theme-text);font-size:1.4rem}.guest-app main{max-width:760px;padding:12px 14px 24px}.guest-app :is(h2,h3){color:var(--theme-text)}.guest-app h2{font-size:1.2rem}.guest-app h3{font-size:1rem}.guest-app :is(button,input,select,textarea){font:inherit;min-height:44px;background:var(--guest-surface);color:var(--theme-text);border-color:var(--line)}.guest-app :is(input,select,textarea){font-size:16px}.guest-app label{color:var(--theme-text)}.guest-app button{padding:9px 12px;border-radius:9px}.guest-app .primary,.guest-app .primary-action,.guest-app #message-form button{background:var(--theme-text);color:var(--theme-canvas);border-color:var(--theme-text)}.guest-app .danger,.guest-app .end-shift{color:var(--red);background:var(--guest-surface);border-color:var(--line)}.guest-app :is(.panel,.now-card,.identity,.planned-strip,.info-section,.optional-details,.location-plan,.alert){border:1px solid var(--line);background:var(--guest-surface);color:var(--theme-text);border-radius:10px;box-shadow:none}.guest-app :is(.panel.campus-switch,.panel.close-support-day,.panel.qr-first){display:block;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:10px;margin:8px 0}.guest-app .panel{padding:0 12px;margin:8px 0}.guest-app .panel>summary{padding:12px 0}.guest-app :is(summary,.check){min-height:44px;cursor:pointer}.guest-app summary{font-weight:650}.guest-app .panel>summary .meta{font-weight:400;margin-left:8px}.guest-app details.panel>button{margin-bottom:12px}.guest-app .panel form{padding-bottom:12px}.guest-app .close-support-day button,.guest-app .campus-switch button,.guest-app .qr-action{min-height:44px;width:auto;font-size:.9rem}.guest-app .command-heading{display:flex;align-items:center;gap:10px;margin-bottom:8px}.guest-app .command-heading h2{margin:0}.guest-app .command-heading .summary{margin:0;color:var(--quiet);background:transparent;font-size:.82rem;font-weight:500;padding:0}.guest-app #refresh-command{margin-left:auto;font-size:.82rem}.guest-app .shift{padding:10px 0;border-bottom:1px solid var(--line)}.guest-app .shift p{margin:4px 0}.guest-app .shift>strong{font-size:1rem}.guest-app .shift-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.guest-app .shift-top strong{overflow-wrap:anywhere}.guest-app .shift-details summary{font-size:.8rem;color:var(--quiet);padding:12px 0}.guest-app .shift-details .danger{font-size:.82rem}.guest-app .meta,.guest-app .empty,.guest-app .close-day-count{color:var(--quiet)}.guest-app .action-status{position:static;background:var(--guest-soft);color:var(--theme-text);padding:10px 12px;font-size:.86rem;font-weight:500;top:auto}.guest-app .inline-status{margin:8px 0;font-size:.86rem;color:var(--quiet)}.guest-app .inline-status.error,.guest-app .action-status.error{color:var(--red);background:var(--guest-soft)}.guest-app .inline-status.error{padding:8px;border-radius:6px}.guest-app .identity,.guest-app .now-card{padding:12px;margin-bottom:10px}.guest-app #availability-badge{background:var(--guest-soft);color:var(--theme-text);border:1px solid var(--line)}.guest-app .check input{width:20px;min-height:20px;height:20px;flex:none;accent-color:var(--theme-text)}.guest-app .availability-control{min-height:44px}.guest-app .support-presence-row{padding:9px 0}.guest-app :is(.service,.person,.message){border-color:var(--line)}.guest-app .info-section summary,.guest-app .planned-strip h3{color:var(--theme-text)}.guest-app .info-section summary small{color:var(--quiet)}.guest-app .checkin-grid,.guest-app .quick-actions{gap:8px}.guest-app .quick-actions{grid-template-columns:1fr 1fr}.guest-app .error-actions a{min-height:44px;color:var(--theme-text);border-color:var(--line)}.guest-app .state{padding:24px 16px}.guest-app dialog{margin:auto;background:var(--guest-surface);color:var(--theme-text);border:1px solid var(--line)}.guest-app .map-list a{color:var(--theme-text);border-color:var(--line);min-height:44px}.guest-app :focus-visible{outline:2px solid var(--theme-text);outline-offset:2px}.guest-app #qr-result .meta,.guest-app #radio-qr-result .meta{padding-bottom:12px}
@media(max-width:420px){.guest-app .topbar{grid-template-columns:auto 1fr}.guest-app .topbar #connection{grid-column:2}.guest-app .topbar .back-link{grid-row:1/3}.guest-app .command-heading{flex-wrap:wrap}.guest-app .command-heading .summary{flex:1}.guest-app .topbar #campus-label{display:none}.guest-app .topbar h1{font-size:1.25rem}}

.guest-app .now-card small{color:var(--quiet);opacity:1}.guest-app #qr-result a,.guest-app #radio-qr-result a{display:inline-flex;min-height:44px;align-items:center;color:var(--theme-text)}

.guest-app .info-section,.guest-app .planned-strip{padding-inline:12px;margin-top:8px}
