:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f3f4f7)var(--lightningcss-dark,#15171c);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1d2027);--surface-2:var(--lightningcss-light,#eceef3)var(--lightningcss-dark,#23262e);--border:var(--lightningcss-light,#bfc6d3)var(--lightningcss-dark,#313540);--text:var(--lightningcss-light,#0b0e14)var(--lightningcss-dark,#fff);--text-muted:var(--lightningcss-light,#434b5c)var(--lightningcss-dark,#d0d5e0);--text-faint:var(--lightningcss-light,#6f778a)var(--lightningcss-dark,#a8b0c1);--brand-red:#c11f2e;--brand-red-hover:#a41826;--accent:var(--lightningcss-light,#4d7c0f)var(--lightningcss-dark,#a3e635);--accent-wash:color-mix(in srgb, var(--accent) 14%, var(--surface));--glow:#a3e635;--link:var(--lightningcss-light,#2467d6)var(--lightningcss-dark,#6fb0ff);--action-bg:#84cc16;--action-fg:#14230a;--action-border:transparent;--action-glow:0 0 14px color-mix(in srgb, var(--glow) 60%, transparent);--available-bg:var(--lightningcss-light,#c6fae0)var(--lightningcss-dark,#22774d);--available-dim:var(--lightningcss-light,#e5faf0)var(--lightningcss-dark,#0f3321);--available-fg:var(--lightningcss-light,#0e6238)var(--lightningcss-dark,#d6ffeb);--available:var(--lightningcss-light,#18aa61)var(--lightningcss-dark,#52ffa8);--occupied-bg:var(--lightningcss-light,#c6d6fa)var(--lightningcss-dark,#223c77);--occupied-dim:var(--lightningcss-light,#e5ebfa)var(--lightningcss-dark,#0f1a33);--occupied-fg:var(--lightningcss-light,#0e2762)var(--lightningcss-dark,#d6e2ff);--occupied:var(--lightningcss-light,#1844aa)var(--lightningcss-dark,#5286ff);--onbreak-bg:var(--lightningcss-light,#dfc6fa)var(--lightningcss-dark,#4a2277);--onbreak-dim:var(--lightningcss-light,#efe5fa)var(--lightningcss-dark,#200f33);--onbreak-fg:var(--lightningcss-light,#350e62)var(--lightningcss-dark,#e9d6ff);--onbreak:var(--lightningcss-light,#5c18aa)var(--lightningcss-dark,#a352ff);--possiblyleft-bg:var(--lightningcss-light,#fac6e7)var(--lightningcss-dark,#772258);--possiblyleft-dim:var(--lightningcss-light,#fae5f3)var(--lightningcss-dark,#330f26);--possiblyleft-fg:var(--lightningcss-light,#620e43)var(--lightningcss-dark,#ffd6f0);--possiblyleft:var(--lightningcss-light,#aa1874)var(--lightningcss-dark,#ff52bf);--renewed-bg:var(--lightningcss-light,#9096df)var(--lightningcss-dark,#131553);--renewed-dim:var(--lightningcss-light,#d9daf2)var(--lightningcss-dark,#0d0e2b);--renewed-fg:var(--lightningcss-light,#0c0e45)var(--lightningcss-dark,#d6d9ff);--renewed:var(--lightningcss-light,#1d2087)var(--lightningcss-dark,#4c51f0);--overtime-bg:var(--lightningcss-light,#fac6cd)var(--lightningcss-dark,#77222e);--overtime-dim:var(--lightningcss-light,#fae5e8)var(--lightningcss-dark,#330f14);--overtime-fg:var(--lightningcss-light,#620e19)var(--lightningcss-dark,#ffd6dc);--overtime:var(--lightningcss-light,#aa182c)var(--lightningcss-dark,#ff5269);--warn-bg:var(--lightningcss-light,#faf0c6)var(--lightningcss-dark,#762);--warn-dim:var(--lightningcss-light,#faf6e5)var(--lightningcss-dark,#332c0f);--warn-fg:var(--lightningcss-light,#62510e)var(--lightningcss-dark,#fff7d6);--warn:var(--lightningcss-light,#aa8d18)var(--lightningcss-dark,#ffdc52);--ban-bg:var(--lightningcss-light,#fac6cb)var(--lightningcss-dark,#772229);--ban-dim:var(--lightningcss-light,#fae5e7)var(--lightningcss-dark,#330f12);--ban-fg:var(--lightningcss-light,#620e15)var(--lightningcss-dark,#ffd6da);--ban:var(--lightningcss-light,#aa1824)var(--lightningcss-dark,#ff5260);--susp-bg:var(--lightningcss-light,#fac6e2)var(--lightningcss-dark,#77224f);--susp-dim:var(--lightningcss-light,#fae5f0)var(--lightningcss-dark,#330f22);--susp-fg:var(--lightningcss-light,#620e3b)var(--lightningcss-dark,#ffd6ec);--susp:var(--lightningcss-light,#aa1866)var(--lightningcss-dark,#ff52ae);--cleaning-bg:var(--lightningcss-light,#fae4c6)var(--lightningcss-dark,#775222);--cleaning-dim:var(--lightningcss-light,#faf1e5)var(--lightningcss-dark,#33240f);--cleaning-fg:var(--lightningcss-light,#623e0e)var(--lightningcss-dark,#ffedd6);--cleaning:var(--lightningcss-light,#aa6b18)var(--lightningcss-dark,#ffb452);--pendingpayment-bg:var(--lightningcss-light,#c6f2fa)var(--lightningcss-dark,#226977);--pendingpayment-dim:var(--lightningcss-light,#e5f7fa)var(--lightningcss-dark,#0f2d33);--pendingpayment-fg:var(--lightningcss-light,#0e5462)var(--lightningcss-dark,#d6f8ff);--pendingpayment:var(--lightningcss-light,#1891aa)var(--lightningcss-dark,#52e2ff);--overdue-bg:var(--lightningcss-light,#fac6dc)var(--lightningcss-dark,#772245);--overdue-dim:var(--lightningcss-light,#fae5ee)var(--lightningcss-dark,#330f1e);--overdue-fg:var(--lightningcss-light,#620e31)var(--lightningcss-dark,#ffd6e7);--overdue:var(--lightningcss-light,#aa1855)var(--lightningcss-dark,#ff529a);--maintenance-bg:var(--lightningcss-light,#dddfe4)var(--lightningcss-dark,#4c515d);--maintenance-dim:var(--lightningcss-light,#eeeff2)var(--lightningcss-dark,#25272d);--maintenance-fg:var(--lightningcss-light,#353a46)var(--lightningcss-dark,#e7e9ef);--maintenance:var(--lightningcss-light,#5e6778)var(--lightningcss-dark,#a9b3c6);--needsclean-bg:var(--warn-bg);--needsclean-dim:var(--warn-dim);--needsclean-fg:var(--warn-fg);--needsclean:var(--warn);--chart-1:var(--accent);--chart-2:var(--lightningcss-light,#3f7fd1)var(--lightningcss-dark,#7fb0ea);--sn-day-fill:var(--lightningcss-light,#f3d05a)var(--lightningcss-dark,#a98312);--sn-day-soft:var(--lightningcss-light,#fbefb8)var(--lightningcss-dark,#3a3010);--sn-day-ink:var(--lightningcss-light,#7d5f00)var(--lightningcss-dark,#f0cf6a);--sn-swing-fill:var(--lightningcss-light,#b79ae6)var(--lightningcss-dark,#6f52b3);--sn-swing-soft:var(--lightningcss-light,#e6dcf7)var(--lightningcss-dark,#2c2347);--sn-swing-ink:var(--lightningcss-light,#5e3fae)var(--lightningcss-dark,#c1aaf0);--sn-night-fill:var(--lightningcss-light,#b4bdbb)var(--lightningcss-dark,#566260);--sn-night-soft:var(--lightningcss-light,#dde3e2)var(--lightningcss-dark,#2a3331);--sn-night-ink:var(--lightningcss-light,#45524f)var(--lightningcss-dark,#c2ccca);--sn-task:var(--lightningcss-light,#8fd1c9)var(--lightningcss-dark,#1f5a55);--sn-rooms:var(--lightningcss-light,#e4ebec)var(--lightningcss-dark,#22302e);--sn-break:var(--lightningcss-light,#f6d3dc)var(--lightningcss-dark,#5b2f3b);--sn-host:var(--lightningcss-light,#d5dde8)var(--lightningcss-dark,#2a3442);--sn-float:var(--lightningcss-light,#17806a)var(--lightningcss-dark,#5fd1b0);--sn-float-soft:var(--lightningcss-light,#d6f0e8)var(--lightningcss-dark,#12392f);--sn-heat-blue:var(--lightningcss-light,#4682eb)var(--lightningcss-dark,#6ea0f5);--sn-heat-amber:var(--lightningcss-light,#b86e0a)var(--lightningcss-dark,#e8a24a);--timeoff-bg:var(--lightningcss-light,#af1d83)var(--lightningcss-dark,#9d2579);--timeoff-fg:#fff;--sn-host-text:var(--lightningcss-light,#14211f)var(--lightningcss-dark,#fff);--sn-header-ink:#14211f;--tile-strip-tint:var(--lightningcss-light,#00000024)var(--lightningcss-dark,#00000052);--control-h:36px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow:var(--lightningcss-light,0 8px 24px -8px #14161e2e)var(--lightningcss-dark,0 8px 28px -8px #0000008c)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}#root{min-height:100vh}button,input,select,textarea{font-family:inherit}textarea{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:84px;color:var(--text);resize:vertical;box-sizing:border-box;border-radius:8px;padding:9px 10px;font-size:13px}.load-more-row{justify-content:center;margin-top:12px;display:flex}.link{appearance:none;font:inherit;color:var(--link);text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:600;text-decoration:none}.link:hover:not(:disabled){text-decoration:underline}.link:disabled{color:inherit;cursor:default}select{appearance:none;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);color:var(--text);font:inherit;cursor:pointer;background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;max-width:100%;padding:0 32px 0 12px;font-size:13.5px;font-weight:600}select:disabled{opacity:.5;cursor:not-allowed}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range],[type=button],[type=submit],[type=hidden])){min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit;padding:0 10px;font-size:13.5px}.btn{--btn-bg:var(--surface);--btn-fg:var(--text);--btn-border:var(--border);--btn-glow:none;--btn-hover-border:var(--accent);appearance:none;min-height:var(--control-h);border:1px solid var(--btn-border);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--btn-glow);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13.5px;font-weight:600;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--btn-hover-border)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{--btn-bg:var(--action-bg);--btn-fg:var(--action-fg);--btn-border:var(--action-border);--btn-glow:var(--action-glow);--btn-hover-border:var(--action-border)}.btn-primary:hover:not(:disabled){filter:brightness(1.2)}.btn-primary:disabled{--btn-border:color-mix(in srgb, var(--glow) 35%, transparent);--btn-glow:none;opacity:.6}.btn-soft{--btn-bg:var(--surface-2);--btn-fg:var(--text-muted);--btn-border:transparent}.btn-soft:hover:not(:disabled){color:var(--text)}.btn-small{min-height:28px;padding:0 10px;font-size:12px}.tone-available{--btn-hover-border:var(--available);--btn-bg:var(--available-bg);--btn-fg:var(--available-fg);--btn-border:transparent}.tone-occupied{--btn-hover-border:var(--occupied);--btn-bg:var(--occupied-bg);--btn-fg:var(--occupied-fg);--btn-border:transparent}.tone-onbreak{--btn-hover-border:var(--onbreak);--btn-bg:var(--onbreak-bg);--btn-fg:var(--onbreak-fg);--btn-border:transparent}.tone-possiblyleft{--btn-hover-border:var(--possiblyleft);--btn-bg:var(--possiblyleft-bg);--btn-fg:var(--possiblyleft-fg);--btn-border:transparent}.tone-renewed{--btn-hover-border:var(--renewed);--btn-bg:var(--renewed-bg);--btn-fg:var(--renewed-fg);--btn-border:transparent}.tone-overtime{--btn-hover-border:var(--overtime);--btn-bg:var(--overtime-bg);--btn-fg:var(--overtime-fg);--btn-border:transparent}.tone-needsclean{--btn-hover-border:var(--needsclean);--btn-bg:var(--needsclean-bg);--btn-fg:var(--needsclean-fg);--btn-border:transparent}.tone-cleaning{--btn-hover-border:var(--cleaning);--btn-bg:var(--cleaning-bg);--btn-fg:var(--cleaning-fg);--btn-border:transparent}.tone-maintenance{--btn-hover-border:var(--maintenance);--btn-bg:var(--maintenance-bg);--btn-fg:var(--maintenance-fg);--btn-border:transparent}.tone-pendingpayment{--btn-hover-border:var(--pendingpayment);--btn-bg:var(--pendingpayment-bg);--btn-fg:var(--pendingpayment-fg);--btn-border:transparent}.btn-action{text-align:left;white-space:nowrap;justify-content:space-between;gap:12px;width:100%;font-weight:700;display:flex}a.btn{text-decoration:none}.btn-action .hint{color:var(--text-muted);white-space:normal;text-align:right;min-width:0;font-size:11px;font-weight:400}.btn-action.selected{border-color:var(--accent);background:var(--accent-wash)}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tab{appearance:none;min-height:var(--control-h);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 14px;font-size:13.5px;font-weight:600}.tab:hover:not(.active){color:var(--text)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.choice{--choice:var(--accent);min-height:var(--control-h);--choice-bg:var(--accent-wash);--choice-fg:var(--text);appearance:none;border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);font:inherit;cursor:pointer;border:1px solid #0000;padding:8px 14px;font-size:13px;font-weight:600}.choice.active{background:var(--choice-bg);border-color:var(--choice);color:var(--choice-fg)}.tag{border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.choices{flex-wrap:wrap;gap:6px;display:flex}.choices-compact .choice{width:30px;height:34px;padding:0;font-size:13px}.tone-warn{--btn-hover-border:var(--warn);--btn-bg:var(--warn-bg);--btn-fg:var(--warn-fg);--btn-border:transparent}@keyframes choice-blink{50%{opacity:.35}}.choice-blink{animation:1s step-start infinite choice-blink}@media (prefers-reduced-motion:reduce){.choice-blink{animation:none}}.link-underline{text-decoration:underline}.back-link{margin-bottom:14px;font-size:13px;display:inline-block}.segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:inline-flex;overflow:hidden}.segmented .tab{background:0 0;border:0;border-radius:0;margin:0}.segmented .tab+.tab{border-left:1px solid var(--border)}.segmented .tab.active{background:var(--action-bg);color:var(--action-fg);box-shadow:inset 0 0 10px color-mix(in srgb, var(--glow) 55%, transparent)}.tag-available{background:var(--available-bg);color:var(--available-fg)}.tag-occupied{background:var(--occupied-bg);color:var(--occupied-fg)}.tag-onbreak{background:var(--onbreak-bg);color:var(--onbreak-fg)}.tag-possiblyleft{background:var(--possiblyleft-bg);color:var(--possiblyleft-fg)}.tag-renewed{background:var(--renewed-bg);color:var(--renewed-fg)}.tag-overtime{background:var(--overtime-bg);color:var(--overtime-fg)}.tag-needsclean,.tag-warn{background:var(--warn-bg);color:var(--warn-fg)}.tag-cleaning{background:var(--cleaning-bg);color:var(--cleaning-fg)}.tag-maintenance{background:var(--maintenance-bg);color:var(--maintenance-fg)}.tag-pendingpayment{background:var(--pendingpayment-bg);color:var(--pendingpayment-fg)}.tag-button{appearance:none;cursor:pointer;border:0;font-family:inherit}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fee-defer-note{color:var(--text-muted);margin-top:2px;font-size:11.5px;font-style:normal}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:16px;padding:32px 28px}.login-card:has(.staff-list){max-width:560px}.login-brand{text-align:center;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;font-size:14px;font-weight:700}.login-subtitle{text-align:center;margin-bottom:20px;font-size:18px;font-weight:700}.login-hint{text-align:center;color:var(--text-muted);padding:20px 0;font-size:14px}.login-error{text-align:center;color:var(--overtime-fg);background:var(--overtime-bg);border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:13px}.staff-list{column-count:2;column-gap:8px}.staff-row{text-align:left;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;break-inside:avoid;border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;font-family:inherit;display:flex}.staff-row:hover{border-color:var(--accent)}.staff-row-avatar{background:var(--action-bg);width:34px;height:34px;color:var(--action-fg);border:1px solid var(--action-border);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.staff-row-name{font-size:14.5px;font-weight:600}.staff-row-role{color:var(--text-muted);font-size:12px}.pin-dots{justify-content:center;gap:14px;margin-bottom:20px;display:flex}.pin-dot{border:1px solid var(--border);background:0 0;border-radius:999px;width:14px;height:14px}.pin-dot.filled{background:var(--accent);border-color:var(--accent)}.pin-pad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pin-pad button{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;padding:16px 0;font-family:inherit;font-size:20px;font-weight:600}.pin-pad button:disabled{opacity:.5;cursor:not-allowed}.pin-pad-back,.pin-pad-del{color:var(--text-muted);font-size:14px!important;font-weight:600!important}.login-notice{text-align:center;color:var(--text-muted);margin:12px 0 0;font-size:13px}.checkin-pane input:not([type=checkbox]),.checkin-pane select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;width:100%;padding:9px 10px;font-family:inherit;font-size:13px}.checkin-error{color:var(--overtime-fg);background:var(--overtime-bg);border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:13px}.privacy-note{color:var(--text-faint);margin:0 0 14px;font-size:11.5px}.ci-search-input{margin-bottom:10px}.status-pill{text-transform:uppercase;border-radius:var(--radius);flex:none;padding:3px 8px;font-size:10px;font-weight:700}.status-active{background:var(--available-bg);color:var(--available-fg)}.status-expired,.status-maintenance{background:var(--maintenance-bg);color:var(--maintenance-fg)}.status-suspended,.status-banned{background:var(--overtime-bg);color:var(--overtime-fg)}.status-inactive{background:var(--maintenance-bg);color:var(--maintenance-fg)}.status-none{background:var(--surface-2);color:var(--text-muted)}.status-cleaning{background:var(--needsclean-bg);color:var(--needsclean-fg)}.checkin-choice-row{gap:8px;display:flex}.checkin-choice-row .btn{flex:1}.ci-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:10px 0 6px;font-size:11px;font-weight:700}.ci-field-label:first-child{margin-top:0}.ci-readonly-amount{color:var(--text);font-size:15px;font-weight:700}.ci-readonly-amount .hint{color:var(--text-muted);text-transform:none;letter-spacing:normal;font-size:12px;font-weight:500}.ci-checkbox-row{align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.field-error{color:var(--overtime);margin-top:8px;font-size:12px}.dob-confirm{color:var(--text-faint);margin-top:4px;font-size:12px}.ci-member-name-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.ci-member-name{font-size:19px;font-weight:700}.ci-member-name .link{font-weight:700}.panel-stat-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:9px 0;font-size:13px;display:flex}.ci-pending-charges{background:var(--overtime-bg);color:var(--overtime-fg);border-radius:10px;margin-top:14px;padding:12px}.ci-pending-charges-label{margin-bottom:6px;font-size:13px;font-weight:700}.ci-pending-charge-row{justify-content:space-between;gap:12px;padding:3px 0;font-size:12.5px;display:flex}.ci-pending-charge-amount{white-space:nowrap;font-weight:600}.ci-pending-charges-hint{opacity:.85;margin-top:6px;font-size:11.5px}.panel-stat-total{font-weight:700}.panel-stat-total span:first-child{color:var(--text)}.checkin-inventory-scroll{max-height:360px;margin-top:12px;overflow-y:auto}@media (width<=640px){.checkin-inventory-scroll{max-height:none;overflow-y:visible}}.checkin-blocked{background:var(--overtime-bg);color:var(--overtime-fg);text-align:center;border-radius:10px;margin-top:4px;padding:16px}.checkin-blocked-title{font-size:14.5px;font-weight:700}.checkin-blocked-body{margin-top:6px;font-size:12.5px}.checkin-blocked-note{opacity:.85;margin-top:10px;font-size:11.5px;font-style:italic}.empty-hint{color:var(--text-faint);padding:8px 0;font-size:13px}.maintenance-view{max-width:760px}.maintenance-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.maintenance-toolbar .sort-by-label{color:var(--text-muted);font-size:13px;font-weight:600}.panel-stat-row.panel-stat-row-inline{justify-content:flex-start;gap:6px}.priority-badge{text-transform:uppercase;border-radius:var(--radius);flex:none;padding:3px 8px;font-size:10px;font-weight:700}.priority-badge.priority-low{background:var(--available-bg);color:var(--available-fg)}.priority-badge.priority-medium{background:var(--needsclean-bg);color:var(--needsclean-fg)}.priority-badge.priority-high{background:var(--overtime-bg);color:var(--overtime-fg)}.priority-badge.priority-urgent{background:var(--overtime-bg);color:var(--overtime-fg);animation:1s step-start infinite priority-urgent-blink}@media (prefers-reduced-motion:reduce){.priority-badge.priority-urgent{animation:none}}@keyframes priority-urgent-blink{50%{opacity:.35}}.issue-status-badge{text-transform:uppercase;border-radius:var(--radius);flex:none;padding:3px 8px;font-size:10px;font-weight:700}.issue-card .issue-status-badge{text-align:center;min-width:82px}.issue-status-badge.status-open{background:var(--needsclean-bg);color:var(--needsclean-fg)}.issue-status-badge.status-in_progress{background:var(--occupied-bg);color:var(--occupied-fg)}.issue-status-badge.status-paused{background:var(--onbreak-bg);color:var(--onbreak-fg)}.issue-status-badge.status-fixed{background:var(--available-bg);color:var(--available-fg)}.issue-status-badge.status-closed,.issue-status-badge.status-duplicate,.issue-status-badge.status-cannot_reproduce,.issue-status-badge.status-wont_fix{background:var(--border);color:var(--muted,inherit)}.issue-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;margin-bottom:6px;padding:12px 14px;font-family:inherit;display:flex}.issue-card:hover{border-color:var(--accent)}.issue-card-body{flex:auto;min-width:0}.issue-card-title{font-size:13.5px;font-weight:600}.issue-card-meta{color:var(--text-muted);margin-top:3px;font-size:11.5px}.issue-card-badges{flex:none;align-items:center;gap:6px;display:flex}.issue-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.issue-detail-title{font-size:18px;font-weight:700}.issue-detail-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.issue-photo-list{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.issue-photo-thumb{border:1px solid var(--border);border-radius:8px;width:64px;height:64px;display:block;position:relative;overflow:hidden}.issue-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.issue-photo-remove{color:#fff;cursor:pointer;background:#0a0c1099;border:none;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.report-issue-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;max-width:420px;margin-bottom:14px;padding:14px;display:flex}.report-issue-form input:not([type=checkbox]),.report-issue-form select,.report-issue-form textarea{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13.5px}.report-issue-form textarea{resize:vertical;min-height:56px}.report-issue-subject-row{align-items:center;gap:6px;display:flex}.report-issue-form .report-issue-subject-row input{flex:1;width:auto;min-width:0}.choices-compact{flex:none;gap:4px}.room-offline-toggle{flex-direction:column;gap:4px;margin:8px 0;display:flex}.room-offline-toggle .hint{color:var(--text-muted);font-size:12px}.activity-view{max-width:720px}.activity-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.activity-filter-sep{color:var(--text-muted);font-size:12px}.activity-member-filter{color:var(--text);background:var(--surface-2);border-radius:8px;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;font-size:13px;display:flex}.activity-list{flex-direction:column;gap:2px;display:flex}.activity-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 4px;font-size:13.5px;display:flex}.activity-line{flex:auto;min-width:200px}.activity-reason{color:var(--text-muted);font-size:12.5px}.activity-ext-link{color:var(--link);text-decoration:none}.activity-when{color:var(--text-faint);white-space:nowrap;flex:none;font-size:12px}.activity-undo{color:var(--text-muted);flex:1 0 100%;font-size:12.5px}.activity-undo-error{color:var(--overtime);margin-top:4px}.floor-hint,.floor-error{color:var(--text-muted);padding:20px 0;font-size:14px}.floor-error{color:var(--overtime)}.legend{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;font-size:12px;display:flex}.checkin-mode-banner{z-index:5;background:var(--pendingpayment-bg);border:none;border-bottom:3px solid var(--pendingpayment);border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin:-12px -16px 12px;padding:14px 16px;display:flex;position:sticky;top:-12px}.checkin-mode-banner-title{color:var(--pendingpayment);font-size:15px;font-weight:800}.checkin-mode-banner-sub{color:var(--pendingpayment);opacity:.85;margin-top:2px;font-size:12.5px;font-weight:600}.filter-row-compact{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.sort-by-label{color:var(--text-muted);font-size:12.5px;font-weight:600}.filter-select-active{background:var(--occupied-bg);color:var(--occupied-fg);border-color:var(--occupied)}.filter-pane-overlay{z-index:20;background:#0a0c1059;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.filter-pane{background:var(--surface);border:1px solid var(--border);width:100%;max-width:640px;box-shadow:var(--shadow);border-radius:12px;padding:16px}.filter-pane-head{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.filter-pane-title{font-size:14.5px;font-weight:700}.filter-pane-summary{color:var(--text-muted);margin-bottom:14px;font-size:12.5px}.filter-pane-columns{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.filter-pane-col{flex-direction:column;gap:3px;min-width:0;display:flex}.filter-pane-col-head{text-transform:uppercase;color:var(--text-faint);margin-bottom:3px;font-size:10.5px;font-weight:700}.filter-pane-opt{appearance:none;width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 8px;font-family:inherit;font-size:13px;font-weight:600}.filter-pane-opt:hover{background:var(--surface-2)}.filter-pane-opt-active{background:var(--occupied-bg);color:var(--occupied-fg)}.filter-pane-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:18px;padding-top:12px;display:flex}@media (width<=640px){.filter-pane-overlay{top:var(--mobile-topbar-h);align-items:stretch;padding:0;position:fixed;bottom:0;left:0;right:0}.filter-pane{border:none;border-radius:0;max-width:none;height:100%;overflow-y:auto}.filter-pane-columns{grid-template-columns:1fr;gap:4px}.filter-pane-col{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.filter-pane-col:first-child{border-top:none;margin-top:0;padding-top:0}}.empty-hint{color:var(--text-faint);text-align:center;padding:30px 0;font-size:13px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.type-groups{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.type-group-head{white-space:nowrap;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.type-group-icon{font-size:15px}.type-group-name{text-transform:uppercase;color:var(--text);font-size:11px;font-weight:700}.type-group-price{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.tile{--tile-bg:var(--surface);--tile-dim:var(--surface);--tile-fg:var(--text);--tile-edge:var(--border);appearance:none;border:1px solid var(--tile-edge);background:var(--tile-bg);color:var(--tile-fg);box-shadow:0 0 10px color-mix(in srgb, var(--tile-edge) 35%, transparent);text-align:left;cursor:pointer;border-radius:9px;flex-direction:column;justify-content:space-between;min-height:62px;padding:4px 7px 5px;font-family:inherit;display:flex;position:relative}.tile-faded{background:var(--tile-dim);box-shadow:0 0 5px color-mix(in srgb, var(--tile-edge) 18%, transparent)}.tile-inert{cursor:default;opacity:.45}.tile-head{line-height:1.15}.tile-type-row{text-transform:uppercase;background:var(--tile-strip-tint);border-radius:8px 8px 0 0;justify-content:space-between;align-items:baseline;gap:6px;margin:-4px -7px 3px;padding:3px 7px 2px;font-size:9.5px;font-weight:700;display:flex}.tile-price{font-variant-numeric:tabular-nums}.tile-num{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.tile-num-wrap{text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.2;overflow:visible}.tile-pill{text-transform:uppercase;opacity:.85;font-size:10px;font-weight:700}.tile-pill-time{text-transform:none}.tile-guest{opacity:.9;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}.tile-timer{opacity:.8;font-size:11px}.tile-amenity-badges{flex-wrap:nowrap;justify-content:flex-end;gap:4px;display:flex;position:absolute;bottom:3px;left:4px;right:4px;overflow:hidden}.tile-amenity-badge{letter-spacing:.02em;color:inherit;opacity:.65;white-space:nowrap;font-size:7px;font-weight:800;line-height:1}.tile-available{--tile-bg:var(--available-bg);--tile-dim:var(--available-dim);--tile-fg:var(--available-fg);--tile-edge:var(--available)}.tile-occupied{--tile-bg:var(--occupied-bg);--tile-dim:var(--occupied-dim);--tile-fg:var(--occupied-fg);--tile-edge:var(--occupied)}.tile-onbreak{--tile-bg:var(--onbreak-bg);--tile-dim:var(--onbreak-dim);--tile-fg:var(--onbreak-fg);--tile-edge:var(--onbreak);border-style:dashed}.tile-possiblyleft{--tile-bg:var(--possiblyleft-bg);--tile-dim:var(--possiblyleft-dim);--tile-fg:var(--possiblyleft-fg);--tile-edge:var(--possiblyleft)}.tile-renewed{--tile-bg:var(--renewed-bg);--tile-dim:var(--renewed-dim);--tile-fg:var(--renewed-fg);--tile-edge:var(--renewed)}.tile-needsclean{--tile-bg:var(--needsclean-bg);--tile-dim:var(--needsclean-dim);--tile-fg:var(--needsclean-fg);--tile-edge:var(--needsclean)}.tile-cleaning{--tile-bg:var(--cleaning-bg);--tile-dim:var(--cleaning-dim);--tile-fg:var(--cleaning-fg);--tile-edge:var(--cleaning)}.tile-maintenance{--tile-bg:var(--maintenance-bg);--tile-dim:var(--maintenance-dim);--tile-fg:var(--maintenance-fg);--tile-edge:var(--maintenance)}.tile-overtime{--tile-bg:var(--overtime-bg);--tile-dim:var(--overtime-dim);--tile-fg:var(--overtime-fg);--tile-edge:var(--overtime)}.tile-pendingpayment{--tile-bg:var(--pendingpayment-bg);--tile-dim:var(--pendingpayment-dim);--tile-fg:var(--pendingpayment-fg);--tile-edge:var(--pendingpayment)}.tile-clean{background:var(--surface);color:var(--text-muted);border-color:var(--border)}.tile-overdue{background:var(--overdue-bg);color:var(--overdue-fg);border-color:var(--overdue);animation:1.4s ease-in-out infinite tile-overdue-blink}@keyframes tile-overdue-blink{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.tile-overdue{animation:none}}.tile-overtime.tile-severe-overtime{animation:2.2s ease-in-out infinite tile-severe-overtime-glow}@keyframes tile-severe-overtime-glow{0%,to{box-shadow:0 0 #cc123500}50%{box-shadow:0 0 10px 2px var(--overtime)}}@media (prefers-reduced-motion:reduce){.tile-overtime.tile-severe-overtime{animation:none}}.tile-break-glow{animation:2.2s ease-in-out infinite tile-break-glow}@keyframes tile-break-glow{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 10px 2px}}@media (prefers-reduced-motion:reduce){.tile-break-glow{animation:none}}.scrim{z-index:15;background:#0a0c1059;position:fixed;inset:0}.panel{background:var(--surface);border-left:1px solid var(--border);width:360px;max-width:100vw;height:100%;box-shadow:var(--shadow);z-index:16;padding:22px;position:fixed;top:0;right:0;overflow-y:auto}@media (width<=640px){.panel{top:var(--mobile-topbar-h);border-left:none;width:100%;height:auto;padding:18px 16px;position:fixed;bottom:0}}.panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.panel-room{color:var(--text-muted);text-transform:uppercase;margin-bottom:2px;font-size:12px}.report-issue-form{margin-top:4px}.report-issue-input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13px}.report-issue-input+.report-issue-input{margin-top:8px}.report-issue-checkbox{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.checkout-fees{margin-top:14px}.checkout-fee-label{flex:1}.checkout-fee-amount{color:var(--text-muted);font-variant-numeric:tabular-nums}.checkout-fee-amount-struck{opacity:.6;text-decoration:line-through}.checkout-fees .report-issue-checkbox:first-of-type{margin-top:6px}.panel-guest{margin-bottom:16px;font-size:19px;font-weight:700}.panel-guest-name{margin-bottom:16px;font-size:16px;font-weight:700}.panel-overtime-alert{background:var(--overdue-bg);color:var(--overdue-fg);border-radius:8px;margin-bottom:14px;padding:9px 12px;animation:1.4s ease-in-out infinite tile-overdue-blink}@media (prefers-reduced-motion:reduce){.panel-overtime-alert{animation:none}}.panel-autocheckout-alert{background:var(--possiblyleft-bg);color:var(--possiblyleft-fg);border-radius:8px;margin-bottom:14px;padding:9px 12px}.panel-autocheckout-headline{font-size:13px;font-weight:700}.panel-autocheckout-detail{margin-top:4px;font-size:12px;font-weight:400}.panel-autocheckout-property{border-top:1px solid color-mix(in srgb, currentColor 35%, transparent);margin-top:10px;padding-top:10px}.panel-autocheckout-alert .report-issue-checkbox,.panel-autocheckout-alert .checkout-fee-amount{color:inherit}.panel-autocheckout-alert .report-issue-checkbox{font-size:13px;font-weight:600}.panel-overtime-headline{font-size:13px;font-weight:700}.panel-overtime-detail{margin-top:4px;font-size:12px;font-weight:400}.panel-stat-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:9px 0;font-size:13px;display:flex}.panel-stat-row span:first-child{color:var(--text-muted)}.panel-renewal-add{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:9px 0;font-size:13px;display:flex}.panel-renewal-reason{color:var(--text-muted);font-size:12px}.panel-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.panel-actions-row{gap:8px;display:flex}.panel-actions-row .btn-action{flex-direction:column;flex:1;align-items:flex-start;gap:2px}.panel-actions-row .btn{flex:1}.checkout-title{margin-bottom:4px;font-size:15px;font-weight:700}.checkout-fees .panel-actions-row{margin-top:14px}.checkout-cancel{width:100%;margin-top:8px}.defer-reason-input{box-sizing:border-box;width:100%}.room-activity-row{border-bottom:1px solid var(--border);padding:7px 0;font-size:12.5px}.room-activity-line{color:var(--text)}.room-activity-when{color:var(--text-muted);margin-top:1px;font-size:11px}.panel-error{color:var(--overtime-fg);background:var(--overtime-bg);border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:13px}.panel-grace-notice{color:var(--available-fg);background:var(--available-bg);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px;font-weight:600}.checklist{flex-direction:column;gap:10px;margin-top:12px;display:flex}.checklist-last-occupant{appearance:none;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:400;display:flex}.checklist-last-occupant:disabled{cursor:default}.checklist-last-occupant .hint{color:var(--text-muted);font-size:11px;font-weight:400}.checklist-report-issue{margin-top:4px}.checklist-item{align-items:center;gap:10px;font-size:14px;display:flex}.checklist-actions{flex-direction:column;gap:8px;margin-top:10px;display:flex}.mark-clean{padding:12px 0;font-size:14px}.mark-clean:disabled{opacity:.45;cursor:not-allowed}.issue-row{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.issue-row-title{margin-bottom:8px;font-size:13.5px;font-weight:600}.issue-row-actions{gap:8px;display:flex}.issue-row-actions .btn{flex:1}.floor-connection-banner{background:var(--overtime-bg);color:var(--overtime-fg);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:14px;font-weight:600}.room-description{color:var(--text-muted,#5f6470);white-space:pre-wrap;margin:4px 0 12px;font-size:14px}.cleaner-queue{max-width:1320px}.queue-columns{flex-wrap:wrap;gap:24px;display:flex}.queue-column{flex:320px;min-width:0}.queue-list{flex-direction:column;gap:10px;display:flex}.queue-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.queue-card:hover{border-color:var(--text-muted)}.queue-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.queue-card-main{flex-direction:column;gap:4px;min-width:0;display:flex}.queue-room{font-size:15px;font-weight:700}.queue-meta{color:var(--text-muted);font-size:12px}.queue-status-pill{text-transform:uppercase;border-radius:var(--radius);white-space:nowrap;align-self:flex-start;padding:3px 9px;font-size:10.5px;font-weight:700}.queue-status-pill.dirty{background:var(--needsclean-bg);color:var(--needsclean-fg)}.queue-status-pill.claimed{background:var(--occupied-bg);color:var(--occupied-fg)}.queue-status-pill.paused{background:var(--onbreak-bg);color:var(--onbreak-fg)}.queue-status-pill.overdue{background:var(--overdue-bg);color:var(--overdue-fg)}.queue-status-pill.clean{background:var(--available-bg);color:var(--available-fg)}.queue-card-overdue{border-color:var(--overdue);animation:1.4s ease-in-out infinite tile-overdue-blink}@media (prefers-reduced-motion:reduce){.queue-card-overdue{animation:none}}.queue-empty{color:var(--text-muted);text-align:center;padding:30px 0;font-size:13.5px}.queue-subhead{color:var(--text-muted);margin:-2px 0 8px;font-size:12.5px;line-height:1.35}.room-detail{max-width:640px}.room-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.room-detail-title{font-size:20px;font-weight:700}.room-detail-status{color:var(--text-muted);margin-top:2px;font-size:12.5px}.room-detail-report{margin-bottom:16px}.member-results{flex-direction:column;gap:6px;display:flex}.member-result{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px 14px;font-family:inherit;display:flex}.member-result:hover{border-color:var(--accent)}.member-result-name{font-size:13px;font-weight:600}.member-result-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.member-tier-tag{color:var(--text-muted);background:var(--surface);border-radius:var(--radius);vertical-align:middle;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:600}.members-view{max-width:720px}.members-view input:not([type=checkbox]),.members-view select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;width:100%;padding:9px 10px;font-family:inherit;font-size:13px}.incident-type-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.members-page-title{margin:0 0 14px;font-size:20px;font-weight:700}.members-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.members-toolbar input.members-search-input,.members-toolbar select.members-status-select{width:auto}.members-search-input{border:1px solid var(--border);background:var(--surface-2);min-width:0;color:var(--text);border-radius:8px;flex:2 220px;padding:9px 10px;font-family:inherit;font-size:13.5px}.members-status-select{appearance:none;border:1px solid var(--border);background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center;min-width:150px;color:var(--text);cursor:pointer;border-radius:8px;flex:none;padding:9px 28px 9px 10px;font-family:inherit;font-size:13px}.status-banner{border-radius:10px;margin-bottom:14px;padding:14px 16px}.status-banner-label{text-transform:uppercase;letter-spacing:.03em;font-size:15px;font-weight:700}.status-banner-sub{opacity:.9;margin-top:3px;font-size:12.5px}.status-banner-reason{text-align:left;margin-top:6px;font-size:13px;line-height:1.4}.status-banner.status-active{background:var(--available-bg);color:var(--available-fg)}.status-banner.status-expired{background:var(--maintenance-bg);color:var(--maintenance-fg)}.status-banner.status-suspended{background:var(--susp-bg);color:var(--susp-fg)}.status-banner.status-banned{background:var(--ban-bg);color:var(--ban-fg)}.status-pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.status-pill.status-active{background:var(--available-bg);color:var(--available-fg)}.status-pill.status-suspended{background:var(--susp-bg);color:var(--susp-fg)}.status-pill.status-banned{background:var(--ban-bg);color:var(--ban-fg)}.status-banner.status-none{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.status-banner.status-none .status-banner-label{text-transform:none;letter-spacing:normal}.member-warning-banner{background:var(--warn-bg);color:var(--warn-fg);border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:10px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.member-warning-body{flex:1;min-width:0}.member-birthday-banner{background:var(--accent-wash);color:var(--text);border:1px solid var(--accent);border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.member-warning-icon{flex:none}.pronoun-tag{color:var(--text-muted);background:var(--surface-2);border-radius:var(--radius);vertical-align:middle;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:600}.member-detail-header{margin-bottom:4px}.member-detail-name{font-size:18px;font-weight:700}.member-identity-line{color:var(--text-muted);margin-top:3px;font-size:12.5px}.note-item{border-top:1px solid var(--border);padding:10px 0}.note-item:first-child{border-top:none}.note-body{white-space:pre-wrap;font-size:13px}.note-meta{color:var(--text-faint);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.note-pushed{color:var(--available)}.add-note-row{gap:8px;margin-top:12px;display:flex}.add-note-row input{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);border-radius:8px;flex:1;padding:0 10px;font-family:inherit;font-size:13px}.visit-row,.charge-row,.ls-sale-row{border-top:1px solid var(--border);padding:10px 0;font-size:13px}.visit-row:first-child,.charge-row:first-child,.ls-sale-row:first-child{border-top:none}.visit-row-line,.ls-sale-row-line{justify-content:space-between;gap:10px;display:flex}.ls-sale-row-line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.visit-row-meta{color:var(--text-muted);margin-top:2px;font-size:11.5px}.charge-row-line{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.charge-row-amount{font-weight:700}.charge-row-actions{gap:6px;margin-top:8px;display:flex}.charge-group{border-top:1px solid var(--border);padding:10px 0;font-size:13px}.charge-group:first-of-type{border-top:none}.charge-pick-row{cursor:pointer;align-items:baseline;gap:8px;padding:5px 0 0;display:flex}.charge-pick-label{flex:1}.merge-summary-text{text-align:left;color:var(--text);padding:8px 0;font-size:13px}.merge-mismatch-warning{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-top:8px;padding:8px 10px;font-size:12.5px}.member-tier-picker{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:14px}.add-member-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;max-width:360px;margin-bottom:14px;padding:14px;display:flex}.add-member-form input:not([type=checkbox]),.add-member-form select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13.5px}.incident-actions-block{text-align:left;margin-top:10px}.incident-action-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.incident-radio{align-items:center;gap:8px;padding:4px 0;font-size:13px;font-weight:500;display:flex}.member-past-incidents{margin:12px 0}.status-banner .incident-review-line,.member-warning-banner .incident-review-line{color:inherit}.incident-radio input[type=radio]{flex:none;width:auto;margin:0;padding:0}.incident-action-right{gap:8px;margin-left:auto;display:flex}.member-warning-banner .note-meta{color:inherit;opacity:.85;margin-top:2px;font-weight:400}.member-warning-banner .note-meta b{font-weight:700}.member-warning-banner .incident-review-line{margin-top:6px}.member-warning-banner .incident-actions-block,.status-banner .incident-actions-block{margin-top:8px}.dp-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;display:flex}.dp-table-scroll{overflow-x:auto}.dp-table{border-collapse:separate;border-spacing:0;width:100%;min-width:480px;font-size:13.5px}.dp-table th,.dp-table td{text-align:center;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}.dp-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:center;font-size:11px;font-weight:700}.dp-row-label{white-space:nowrap;font-weight:600;text-align:left!important}.dp-window-header,.dp-view-header{border-left:1px solid var(--border)}.dp-view-header{text-transform:none!important;letter-spacing:normal!important;font-size:10px!important;font-weight:600!important}.dp-cell-override{background:var(--occupied-bg);color:var(--occupied-fg);font-weight:700}.dp-unset{color:var(--text-faint);font-style:italic}.dp-cell-input{border:1px solid var(--border);background:var(--surface-2);width:84px;color:var(--text);text-align:center;border-radius:6px;padding:5px 6px;font-family:inherit;font-size:13px}.dp-cell-input:disabled{opacity:.6}.dp-cell-result{color:var(--text-muted);white-space:normal;max-width:140px;margin-top:3px;font-size:10.5px}.dp-group-mappings{flex-direction:column;gap:6px;margin:12px 0;display:flex}.dp-group-mapping-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.dp-group-mapping-label{color:var(--text-muted);font-weight:600}.dp-group-mapping-status{color:var(--text-faint);font-size:12px}.section-label{text-transform:uppercase;color:var(--text);margin:26px 0 4px;font-size:12.5px;font-weight:700}.section-label:first-child{margin-top:0}.settings-hint,.settings-error{color:var(--text-muted);padding:20px 0;font-size:14px}.settings-error{color:var(--overtime)}.settings-view{max-width:640px}@media (width<=640px){.settings-tabs{flex-wrap:wrap;row-gap:0}}.staff-cards{flex-direction:column;gap:10px;display:flex}.staff-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.staff-card.inactive{opacity:.55}.staff-card-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.staff-card-name{font-size:14.5px;font-weight:700}.staff-card-deactivated{color:var(--text-muted);font-size:12px;font-weight:400}.staff-card-role{color:var(--text-muted);font-size:12px;font-weight:600}.staff-card-perms{color:var(--text-muted);margin-top:4px;font-size:12px}.amenities-list{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.amenity-checkbox-row{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.staff-card-actions{flex:none;align-items:center;gap:8px;display:flex}.staff-card-error{color:var(--overtime-fg);background:var(--overtime-bg);border-radius:6px;margin-top:8px;padding:6px 10px;font-size:12px}.room-list{flex-direction:column;display:flex}.room-list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 2px;display:flex}.room-list-row:first-child{border-top:1px solid var(--border)}.room-list-row.inactive{opacity:.55}.room-list-row.editing{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:4px 0;padding:14px;display:block}.room-list-name{font-size:14.5px;font-weight:700}.room-type-field{align-items:center;gap:8px;margin:8px 0;display:flex}.room-type-field-label{color:var(--text);font-size:13px;font-weight:600}.room-type-select{border:1px solid var(--border);background:var(--surface);width:auto;min-width:9em;color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.admin-banner{background:var(--overtime-bg);color:var(--overtime-fg);border:1px solid var(--overtime);text-align:center;text-transform:uppercase;letter-spacing:.04em;border-radius:8px;margin-bottom:18px;padding:10px 14px;font-size:13px;font-weight:700}.pin-input{border:1px solid var(--border);background:var(--surface-2);width:90px;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:2px;border-radius:8px;padding:7px 8px;font-family:inherit}.perms-editor{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.perm-checkbox{align-items:center;gap:8px;font-size:13px;display:flex}.perms-editor-actions{gap:8px;margin-top:4px;display:flex}.add-staff-form{flex-direction:column;gap:8px;max-width:320px;display:flex}.add-staff-form input,.add-staff-form select,.add-staff-form textarea,.staff-card textarea{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px}.staff-card input,.staff-card textarea{width:100%;margin-bottom:8px}.perm-checkbox input,.amenity-checkbox-row input{flex:none;width:auto;margin-bottom:0}.staff-card .hours-input-small{flex:none;width:56px;margin-bottom:0}.tier-field input,.tier-field select{box-sizing:border-box;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:10px 12px;font-family:inherit;font-size:14.5px}.add-staff-form .btn{align-self:flex-start}.pricing-windows{flex-direction:column;gap:10px;display:flex}.pricing-window-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:6px 10px;padding:10px 12px;display:flex}.pricing-window-row input,.pricing-window-row select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}.pw-field{flex-direction:column;gap:3px;display:flex}.pw-field-label{text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:700}.pw-label{width:150px}.hours-schedule-row{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.hours-input-small{border:1px solid var(--border);background:var(--surface-2);width:56px;color:var(--text);text-align:center;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}.pw-from-to{color:var(--text-muted);padding-bottom:7px;font-size:12.5px}.schedule-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.schedule-days{gap:4px;display:flex}.inline-field{align-items:center;gap:8px;display:flex}.inline-field-label{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.inline-field-input{border:1px solid var(--border);background:var(--surface-2);width:220px;color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}.locker-grid{flex-wrap:wrap;gap:6px;display:flex}.locker-chip{border:1px solid var(--border);min-width:40px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 8px;font-size:13px}.locker-chip:hover{border-color:var(--accent)}.locker-chip.out{opacity:.45;text-decoration:line-through}.locker-chip.selected{background:var(--accent-wash);border-color:var(--accent)}.side-pane{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;width:360px;display:flex;overflow-y:auto}.side-pane-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:13.5px;font-weight:700;display:flex}.side-pane-head-plain{border-bottom:none;padding-bottom:6px}.panel-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:20px;line-height:1}.side-pane-body{flex:1;padding:16px}@media (width<=640px){.side-pane{top:var(--mobile-topbar-h);z-index:20;border-left:none;width:100%;position:fixed;bottom:0;left:0;right:0}}.task-lists{flex-direction:column;gap:12px;margin-bottom:10px;display:flex}.task-list-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.task-list-head{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.task-list-name{font-size:14.5px;font-weight:700}.task-recurring-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text);background:var(--accent-wash);border-radius:var(--radius);vertical-align:middle;margin-left:8px;padding:2px 7px;font-size:10.5px;font-weight:700}.task-list-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.tasks-view{max-width:980px}.tasks-intro{color:var(--text-muted);margin:0 0 12px;font-size:13.5px}.tasks-toast{background:var(--accent-wash);border:1px solid var(--accent);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13.5px}.tasks-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}.tasks-table th,.tasks-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:13.5px}.tasks-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);font-size:12px}.tasks-table tr:last-child td{border-bottom:none}.draw-card{background:var(--accent-wash);border:1px solid var(--accent);border-radius:12px;margin-bottom:14px;padding:16px 18px}.draw-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:12px}.draw-room{margin:2px 0;font-size:26px;font-weight:800}.draw-sub{color:var(--text-muted);font-size:13.5px}.draw-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.review-rubric{color:var(--text-muted);margin:6px 0 14px;padding-left:20px;font-size:14px;line-height:1.6}.review-result-row{gap:10px;margin:12px 0;display:flex}.review-result-row .btn{flex:1}.review-excellent.selected{border-color:var(--available);background:var(--available-bg)}.review-needs.selected{border-color:var(--overdue);background:var(--overdue-bg)}.review-dirty-check{align-items:center;gap:8px;margin-top:12px;font-size:13.5px;display:flex}.review-photos{gap:6px;margin-top:6px;display:flex}.review-photos img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:64px;height:64px}.incident-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.incident-sev{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius);background:var(--surface-2);padding:2px 8px;font-size:11.5px;font-weight:700}.incident-sev-warning{background:var(--warn-bg);color:var(--warn-fg)}.incident-sev-suspended{background:var(--susp-bg);color:var(--susp-fg)}.incident-sev-banned{background:var(--ban-bg);color:var(--ban-fg)}.incident-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,340px) 1fr;align-items:center;gap:8px 16px;padding:9px 2px;display:grid}.incident-row-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.incident-row-name{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:15px;display:flex}@media (width<=640px){.incident-row{grid-template-columns:1fr}.incident-row-tags{justify-content:flex-start}}.incident-tag{border-radius:var(--radius);padding:2px 8px;font-size:11.5px;font-weight:700}.incident-tag-needs{background:var(--overdue-bg);color:var(--overdue-fg)}.incident-tag-reviewed{background:var(--available-bg);color:var(--available-fg)}.incident-tag-expiring{background:var(--possiblyleft-bg);color:var(--possiblyleft-fg)}.incident-reason{margin:8px 0 6px;font-size:14px}.incident-actions{gap:8px;margin-top:10px;display:flex}.incident-review-line{margin-top:6px}.member-incident-review{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:10px 12px}.tasks-random-row td{background:var(--accent-wash);font-weight:600}.tasks-random-hint{color:var(--text-muted);margin-left:12px;font-weight:400}.tc-view{max-width:1100px}.tc-muted{color:var(--text-muted);font-size:12.5px}.tc-faint{color:var(--text-faint)}.tc-bad{color:var(--overtime)}.tc-warn{color:var(--cleaning)}.tc-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tc-weeknav{align-items:center;gap:6px;display:flex}.tc-weeklabel{text-align:center;min-width:170px;font-weight:700}.tc-tabs{gap:6px;margin-left:auto;display:flex}.tc-onduty{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.tc-stats{flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:14px;display:flex}.tc-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:110px;padding:10px 16px}.tc-stat-n{font-size:24px;font-weight:800;line-height:1.1}.tc-stat-l{color:var(--text-muted);font-size:12px}.tc-lock{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.tc-banner{background:var(--cleaning-bg);color:var(--cleaning-fg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:14px;padding:10px 14px;font-size:13.5px;display:flex}.tc-section{margin-bottom:18px}.tc-h{align-items:baseline;gap:12px;margin:0 0 6px;font-size:15px;display:flex}.tc-h-total{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.tc-h2{margin:18px 0 6px;font-size:13.5px}.tc-table{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.tc-row{border-top:1px solid var(--border);grid-template-columns:140px 140px minmax(130px,1fr) 100px 64px minmax(150px,1.2fr) 110px;align-items:center;gap:8px;min-width:820px;padding:8px 12px;font-size:13.5px;display:grid}.tc-row:first-child{border-top:none}.tc-row-review{background:var(--overtime-bg);background:color-mix(in srgb, var(--overtime-bg) 45%, var(--surface))}.tc-row-noshow{grid-template-columns:150px 190px 1fr}.tc-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);font-size:11.5px;font-weight:700}.tc-cell{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.tc-cell-day{flex-direction:column;align-items:flex-start;gap:0}.tc-cell-hours{font-weight:700}.tc-cell-act{justify-content:flex-end}.tc-sched{color:var(--text-muted)}.tc-chip{border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.tc-chip-bad{background:var(--overtime-bg);color:var(--overtime-fg);border-color:#0000}.tc-chip-warn{background:var(--cleaning-bg);color:var(--cleaning-fg);border-color:#0000}.tc-chip-ok{background:var(--available-bg);color:var(--available-fg);border-color:#0000}.tc-chip-note{background:var(--surface-2)}.tc-reason-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tc-reason-chips{flex-wrap:wrap;gap:4px;width:100%;display:flex}.tc-pick{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font:inherit;cursor:pointer;color:var(--text-muted);padding:3px 10px;font-size:12px}.tc-pick.active{border-color:var(--accent);background:var(--accent-wash);color:var(--text)}.tc-export{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tc-hours-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.tc-hours{border-collapse:collapse;width:100%;min-width:760px;font-size:13.5px}.tc-hours th,.tc-hours td{text-align:right;border-top:1px solid var(--border);padding:7px 10px}.tc-hours th:first-child,.tc-hours td:first-child{text-align:left}.tc-hours thead th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-top:none;font-size:11.5px}.tc-hours tfoot td{background:var(--surface-2);font-weight:700}.tc-pane{flex-direction:column;gap:12px;display:flex}.tc-field{flex-direction:column;gap:4px;font-size:13px;display:flex}.tc-field>span{color:var(--text-muted);font-weight:600}.tc-quick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tc-breaks{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.tc-break{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tc-check{align-items:center;gap:4px;font-weight:400;display:inline-flex}.tc-actions{gap:8px;display:flex}.tc-issues{margin:0;padding-left:18px;font-size:13px}.tc-history{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.tc-testing{background:var(--accent-wash);color:var(--text);margin-bottom:12px}.sn{flex-direction:column;gap:28px;max-width:1320px;display:flex}.sn h2{margin:0;font-size:20px}.sn h3{margin:0;font-size:15px}.sn p{max-width:72ch;margin:0}.sn section{flex-direction:column;gap:12px;min-width:0;display:flex}.sn-muted{color:var(--text-muted)}.sn-mono{font-variant-numeric:tabular-nums}.sn-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;display:flex}.sn-bar .sn-bar-text{flex-direction:column;flex:360px;gap:4px;min-width:260px;margin-right:auto;display:flex}.sn-bar .sn-bar-note,.sn-bar .sn-when{max-width:none;color:var(--text-muted);font-size:13px}.sn-bar label{align-items:center;gap:6px;font-size:13px;display:flex}.sn-error{color:var(--overtime);font-size:13px}.sn ul.sn-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.sn-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.sn table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.sn th,.sn td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:9px 12px;font-size:13px}.sn th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:11px}.sn tr:last-child td{border-bottom:0}.sn table.sn-wrap th{white-space:normal;vertical-align:bottom;padding:8px;line-height:1.25}.sn table.sn-wrap td{padding:9px 8px}.sn-pill{white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.sn-pill.day{background:var(--sn-day-soft);color:var(--sn-day-ink)}.sn-pill.swing{background:var(--sn-swing-soft);color:var(--sn-swing-ink)}.sn-pill.night{background:var(--sn-night-soft);color:var(--sn-night-ink)}.sn-good{color:var(--available);font-weight:600}.sn-warn{color:var(--overtime);font-weight:600}.sn-chip{background:var(--sn-task);color:var(--text);border-radius:99px;padding:1px 8px;font-size:12px;display:inline-block}.sn-heat{table-layout:fixed}.sn-heat th,.sn-heat td{text-align:center;white-space:nowrap;padding:5px 1px;font-size:11px;overflow:hidden}.sn-heat th:first-child,.sn-heat td:first-child{text-align:left;white-space:normal;text-transform:none;letter-spacing:0;width:112px;color:var(--text);padding:5px 6px 5px 10px;font-size:12px;line-height:1.25}.sn-heat th:first-child{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px}.sn-heat th.hr{color:var(--sn-header-ink);font-weight:700}.sn-heat th.day{background:var(--sn-day-fill)}.sn-heat th.swing{background:var(--sn-swing-fill)}.sn-heat th.night{background:var(--sn-night-fill)}.sn-heat td.band-day{background:var(--sn-day-soft)}.sn-heat td.band-swing{background:var(--sn-swing-soft)}.sn-heat td.band-night{background:var(--sn-night-soft)}.sn-heat td.act{vertical-align:middle;padding:4px 0}.sn-heat td.act .em{font-size:15px;line-height:1.15}.sn-heat td.act small{margin-bottom:2px;font-size:10.5px;display:block}.sn-heat tr.sep td{border-top:2px solid var(--border)}.sn-heat td.shiftcell{font-size:11px;font-weight:600}.sn-heat td.shiftcell.day{color:var(--sn-day-ink)}.sn-heat td.shiftcell.swing{color:var(--sn-swing-ink)}.sn-heat td.shiftcell.night{color:var(--sn-night-ink)}.sn-heat td.tot,.sn-heat th.tot{border-left:2px solid var(--border);text-align:center;white-space:normal;width:84px;font-size:12px;line-height:1.2}.sn-heat td.tot b{font-size:13px}.sn-heat td.tot small{color:var(--text-muted);font-size:10px;display:block}.sn-days{flex-wrap:wrap;gap:6px;display:flex}.sn-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.sn-legend i{vertical-align:-2px;border:1px solid var(--border);border-radius:2px;width:12px;height:12px;margin-right:6px;display:inline-block}.sn-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.sn-note{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.sn-vcols{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;display:grid}.sn-vcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);border-top-width:4px;min-width:0;overflow:hidden}.sn-vcard h3{padding:12px 14px 4px}.sn-vcard table{table-layout:fixed}.sn-vcard th:first-child,.sn-vcard td:first-child{width:46px}.sn-vcard th:last-child,.sn-vcard td:last-child{text-align:center;width:82px}.sn-vcard td{padding:7px 8px}.sn-vcard td.hrc{font-size:12.5px;font-weight:600}.sn-it{border-left:5px solid var(--border);margin:3px 0;padding:2px 0 2px 8px;font-size:13px;line-height:1.35}.sn-it small{color:var(--text-muted);font-size:12px;display:block}.sn-it.rooms{border-left-color:var(--sn-rooms)}.sn-it.task{border-left-color:var(--sn-task)}.sn-it.break{border-left-color:var(--sn-break)}.sn-it.quick{border-left-color:var(--sn-rooms)}.sc-view{max-width:1200px}.sc-tabs{margin:0 0 12px}.sc-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.sc-gridwrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.sc-grid{border-collapse:collapse;width:100%;min-width:900px;font-size:13px}.sc-grid th,.sc-grid td{border-top:1px solid var(--border);border-left:1px solid var(--border);vertical-align:top;text-align:left;padding:6px}.sc-grid th:first-child,.sc-grid td:first-child{border-left:none}.sc-grid thead th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-top:none;font-size:11.5px}.sc-grid tfoot th,.sc-grid tfoot td{background:var(--surface-2);font-size:12.5px;font-weight:600}.sc-name{background:var(--surface);z-index:1;width:150px;min-width:130px;position:sticky;left:0}.sc-grid thead .sc-name,.sc-grid tfoot .sc-name{background:var(--surface-2)}.sc-today{background:var(--accent-wash)}.sc-hours{color:var(--text-muted);font-size:12px;font-weight:600;display:block}.sc-hours-warn{color:var(--cleaning)}.sc-hours-bad{color:var(--overtime)}.sc-shift{text-align:left;background:var(--accent-wash);border:1px solid var(--accent);width:100%;font:inherit;color:var(--text);cursor:pointer;border-radius:7px;flex-direction:column;align-items:flex-start;margin-bottom:4px;padding:4px 7px;font-size:12.5px;font-weight:700;display:flex}.sc-shift:disabled{cursor:default}.sc-pos{color:var(--text-muted);font-size:11.5px;font-weight:500}.sc-draft{background:var(--surface);border-style:dashed}.sc-conflict{border-color:var(--overtime)}.sc-warn{color:var(--overtime);font-size:11px;font-weight:700}.sc-add{border:1px dashed var(--border);width:100%;color:var(--text-faint);cursor:pointer;font:inherit;opacity:.55;background:0 0;border-radius:7px;padding:1px 0;line-height:1.1}.sc-add:hover{opacity:1;border-color:var(--accent)}.sc-avail{background:var(--surface-2);color:var(--text-muted);border-radius:6px;margin-bottom:3px;padding:2px 6px;font-size:11px;display:block}.sc-avail-unavailable{background:var(--overtime-bg);color:var(--overtime-fg)}.sc-avail-time_off{background:var(--timeoff-bg);color:var(--timeoff-fg);font-weight:700}.sc-avail-preferred{background:var(--available-bg);color:var(--available-fg)}.sc-addperson{margin:10px 0 6px}.sc-presets{flex-wrap:wrap;gap:6px;display:flex}.sc-pattern{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.sc-pattern-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.sc-pattern-row{justify-content:space-between;gap:8px;padding:3px 0;font-size:13.5px;display:flex}.sc-mine{max-width:760px}.sc-myshift{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:9px 14px;font-size:14px;display:flex}.sc-myshift:first-child{border-top:none}.sc-myshift .tc-linkbtn{margin-left:auto}.sc-cal{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.sc-cal input{flex:1;min-width:260px;font-size:12.5px}.sc-availform{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.sc-meta{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:8px;display:flex}.sc-viewtoggle{margin:0}.sc-legend{flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.sc-legend-item{align-items:center;gap:6px;font-weight:600;display:inline-flex}.sc-legend-item i{border-radius:3px;width:11px;height:11px;display:inline-block}.sc-cover{border-radius:10px;margin-bottom:10px;padding:8px 14px;font-size:13.5px}.sc-cover-ok{background:var(--available-bg);color:var(--available-fg)}.sc-cover-bad{background:var(--overtime-bg);color:var(--overtime-fg)}.sc-who{color:var(--pos-ink,var(--text));font-size:12.5px}.sc-empty{color:var(--text-faint)}.sc-shift{background:0 0}.sc-shift.sc-t-day,.sc-sw.sc-t-day{background:var(--sn-day-soft);border-color:var(--sn-day-fill)}.sc-shift.sc-t-swing,.sc-sw.sc-t-swing{background:var(--sn-swing-soft);border-color:var(--sn-swing-fill)}.sc-shift.sc-t-night,.sc-sw.sc-t-night{background:var(--sn-night-soft);border-color:var(--sn-night-fill)}.sc-shift.sc-t-day.sc-host,.sc-sw.sc-t-day.sc-host{background:var(--sn-day-fill);border-color:var(--sn-day-ink)}.sc-shift.sc-t-swing.sc-host,.sc-sw.sc-t-swing.sc-host{background:var(--sn-swing-fill);border-color:var(--sn-swing-ink)}.sc-shift.sc-t-night.sc-host,.sc-sw.sc-t-night.sc-host{background:var(--sn-night-fill);border-color:var(--sn-night-ink)}.sc-shift.sc-host,.sc-shift.sc-host .sc-who{color:var(--sn-host-text)}.sc-shift.sc-host .sc-pos{color:var(--sn-host-text);opacity:.85}.sc-shift.sc-draft.sc-t-day,.sc-shift.sc-draft.sc-t-swing,.sc-shift.sc-draft.sc-t-night{border-style:dashed}.sc-shift.sc-selected{outline:3px solid var(--accent);outline-offset:1px}.sc-check{margin-bottom:1px;font-size:14px;line-height:1}.sc-sw{border-style:solid;border-width:1px;border-radius:3px;width:14px;height:14px;display:inline-block}.sc-legend-group{color:var(--text-muted);font-weight:700}.sc-selbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.sc-grid td .sc-add{opacity:0;min-height:26px;transition:opacity .1s}.sc-grid td:hover .sc-add,.sc-grid td .sc-add:focus-visible{opacity:1}@media (hover:none){.sc-grid td .sc-add{opacity:.45}}.sc-shift{position:relative}.sc-odd{font-size:13px;line-height:1;position:absolute;top:2px;right:4px}.sc-rolemoji{margin-right:2px;font-size:15px}.clock-modal-backdrop{z-index:1000;background:#14161e73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.clock-modal{background:var(--surface);color:var(--text);box-shadow:var(--shadow);border-radius:14px;width:100%;max-width:440px;padding:20px 22px}.clock-modal h3{margin:0 0 8px;font-size:17px}.clock-modal p{color:var(--text-muted);margin:0 0 14px;font-size:14px}.clock-modal-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.clock-choices{flex-direction:column;gap:8px;display:flex}.clock-choices label{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.clock-choices label.active{border-color:var(--accent);background:var(--accent-wash)}.clock-choice-detail{flex-wrap:wrap;align-items:center;gap:6px;padding:0 4px 4px 28px;font-size:14px;display:flex}.clock-choice-detail input:not([type=time]){flex:1;min-width:180px}.clock-toast{background:var(--overtime-bg);color:var(--overtime-fg);z-index:1001;cursor:pointer;box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-weight:600;position:fixed;top:12px;left:50%;transform:translate(-50%)}.supplies-view{max-width:640px}.supply-card.below-par{border-color:var(--overtime)}.supply-below-par-badge{border-radius:var(--radius);background:var(--overtime-bg);color:var(--overtime-fg);text-transform:uppercase;vertical-align:middle;margin-left:8px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-block}.supply-counts-row{font-variant-numeric:tabular-nums;margin-top:6px}.supply-count-value{font-size:15px;font-weight:700}.supply-count-sep{color:var(--text-faint);margin:0 3px}.supply-par-value{color:var(--text-muted);font-size:12px}.supply-last-counted{color:var(--text-faint);margin-top:4px;font-size:11.5px}.supply-cost-tag{color:var(--text-faint);margin-left:8px}.supply-count-row{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.supply-count-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.supply-count-form input{border:1px solid var(--border);background:var(--surface-2);width:100px;color:var(--text);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:13px}.reports-view{max-width:900px}.report-index-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;max-width:900px;margin-bottom:26px;display:grid}.report-card{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:12px;padding:16px 18px;font-family:inherit}.report-card:hover{border-color:var(--accent)}.report-card-title{margin-bottom:8px;font-size:13.5px;font-weight:700}.report-card-stat{font-size:22px;font-weight:700}.report-card-hint{color:var(--text-muted);margin-top:4px;font-size:11.5px}.report-more-list{flex-direction:column;gap:2px;max-width:420px;display:flex}.report-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:640px;margin-bottom:20px;padding:18px 20px}.report-title{margin-bottom:2px;font-size:14px;font-weight:700}.report-sub{color:var(--text-muted);margin-bottom:16px;font-size:12px}.digest-date-input{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;margin-bottom:14px;padding:6px 8px;font-family:inherit;font-size:13px}.hbar-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.hbar-label{width:108px;color:var(--text-muted);flex:none;font-size:12.5px}.hbar-track{background:var(--surface-2);border-radius:4px;flex:1;height:14px;overflow:hidden}.hbar-fill{background:var(--chart-1);border-radius:4px;height:100%}.hbar-value{text-align:right;width:54px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.bar-chart-bars{border-bottom:1px solid var(--border);align-items:flex-end;gap:3px;height:140px;padding-bottom:2px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.bar-col-bars{justify-content:center;align-items:flex-end;gap:2px;width:100%;height:100%;display:flex}.bar{border-radius:3px 3px 0 0;width:100%;max-width:16px}.bar-labels{gap:3px;margin-top:6px;display:flex}.bar-label-col{text-align:center;color:var(--text-muted);flex:1;min-width:0;font-size:9px}.chart-legend{color:var(--text-muted);gap:14px;margin-bottom:10px;font-size:11.5px;display:flex}.chart-legend-item{align-items:center;gap:5px;display:flex}.chart-legend-dot{border-radius:2px;width:9px;height:9px}.report-stats-row{flex-wrap:wrap;gap:20px;margin-bottom:4px;display:flex}.report-stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.report-stat-label{color:var(--text-muted);font-size:11.5px}.occupancy-log-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:420px;overflow:auto}.occupancy-log-table{border-collapse:collapse;width:100%;font-size:12.5px}.occupancy-log-table th{background:var(--surface-2);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;padding:8px 10px;font-size:11px;font-weight:700;position:sticky;top:0}.occupancy-log-table td{border-top:1px solid var(--border);font-variant-numeric:tabular-nums;padding:7px 10px}.employee-activity-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 14px;display:flex}.employee-activity-table th:not(:first-child),.employee-activity-table td:not(:first-child){text-align:right}.employee-activity-table tbody tr{cursor:pointer}.employee-activity-table tbody tr.selected{background:var(--surface-2)}.employee-activity-table td:first-child{white-space:nowrap}.shift-report{max-width:1280px}.shift-toolbar{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:10px;display:flex}.shift-date{align-items:center;gap:6px;display:flex}.shift-day{color:var(--text-muted);margin-bottom:16px;font-size:13px}.shift-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:16px 20px 14px}.shift-block-head{margin-bottom:12px}.shift-block-date{letter-spacing:-.01em;margin:0 0 4px;font-size:28px;font-weight:700}.shift-block-shift{color:var(--shift-fg)}.shift-block-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.shift-block-time{color:var(--text-muted);font-size:13px}.shift-scroll{overflow-x:auto}.shift-grid{min-width:min-content;display:grid}.shift-cell{border-top:1px solid var(--border);min-width:0;padding:10px 14px}.shift-mid{background:var(--shift-bg);text-align:center}.shift-colhead{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-top:0;padding-top:4px;padding-bottom:6px;font-size:12px;font-weight:700}.shift-colhead span{text-transform:none;letter-spacing:0;margin-left:4px;font-weight:400}.shift-label{font-size:14px;font-weight:700;display:block}.shift-num,.shift-flow b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.shift-overdue{color:var(--overtime);margin-top:2px;font-size:12px;font-weight:700}.shift-flow{font-size:14px}.shift-flow-sep{color:var(--text-faint);margin:0 4px}.shift-who{text-align:left;width:max-content;max-width:100%;margin:8px auto 0;padding:0;font-size:13px;list-style:none}.shift-who li{border-top:1px dotted var(--border);gap:10px;padding:2px 0;display:flex}.shift-who li:first-child{border-top:0}.shift-who-n{font-variant-numeric:tabular-nums;text-align:right;min-width:22px;font-weight:700}.shift-extras{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:4px 22px;margin-top:10px;padding-top:10px;font-size:13px;display:flex}.shift-extras b{color:var(--text)}.shift-footnote{color:var(--text-faint);max-width:760px;font-size:12px}.shift-names{text-transform:none;letter-spacing:0;color:var(--text);margin-top:4px;font-size:12px;font-weight:400;line-height:1.4}.shift-live{margin-left:6px}.shift-label-sub{color:var(--text-muted);padding-left:28px;font-size:13px;font-weight:400}.shift-row-sub{padding-top:6px;padding-bottom:6px}.shift-row-sub .shift-num,.shift-row-sub .shift-flow b{font-size:16px;font-weight:700}.shift-in{color:var(--available)}.shift-out{color:var(--overtime)}.shift-pipe{color:var(--text-faint)}.shift-footnote p{margin:0 0 6px}.shift-label{white-space:nowrap}.shift-statecell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shift-break{color:var(--text-muted);font-size:13px;font-weight:400}.shift-who-auto{color:var(--text-muted)}.shift-who li{border-top:1px solid var(--border)}.shift-block{--shift-bg:var(--surface-2);--shift-fg:var(--text)}.shift-block[data-shift=day]{--shift-bg:var(--warn-dim);--shift-fg:var(--warn)}.shift-block[data-shift=swing]{--shift-bg:var(--onbreak-dim);--shift-fg:var(--onbreak)}.shift-block[data-shift=overnight]{--shift-bg:var(--surface-2);--shift-fg:var(--text-muted)}.shift-statecell{min-height:0}.shift-cell{padding-top:12px}.shift-colhead{padding-top:4px}.shift-flow-sep{display:none}.shift-sub{color:var(--text-muted);font-size:12px}.shift-people td{border-top:1px solid var(--border);vertical-align:top;padding:10px 14px}.shift-people-name{white-space:nowrap;font-weight:700}.shift-zero{color:var(--text-faint)}.shift-label:not(.shift-label-sub){padding-top:17px}.shift-people .shift-sub{white-space:nowrap;display:block}.shift-people td{white-space:nowrap}.shift-colhead.shift-mid{text-align:left}.shift-names{text-transform:none;letter-spacing:0;width:auto;margin:6px 0 0;font-size:13px;font-weight:400}.shift-names li{border-top:0;padding:1px 0}.shift-names .shift-who-n{min-width:34px}.shift-names-empty{text-transform:none;letter-spacing:0;color:var(--text-faint);margin-top:4px;font-size:12px;font-weight:400}.shift-person-pick{align-items:center;gap:14px;margin-bottom:10px;display:flex}.shift-person-hours{color:var(--text-muted);font-size:14px}.shift-person-hours b{color:var(--text);font-size:18px}.shift-names .shift-who-n{color:var(--text);font-weight:700}.shift-who li span{white-space:nowrap}.shift-people{border-collapse:collapse;width:100%;font-size:14px}.shift-people th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;padding:2px 8px 8px;font-size:11.5px}.shift-people td{border-top:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:8px}.shift-people td b{font-variant-numeric:tabular-nums;font-size:18px}.shift-people .shift-sub{font-size:11.5px;line-height:1.2;display:block}.shift-people-name{font-weight:700}.shift-people-hours{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.shift-people-hours b{color:var(--text);font-size:14px}.waitlist-page{max-width:100%}.waitlist-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.waitlist-header h1{margin:0;font-size:18px}.waitlist-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.waitlist-toggle-disabled{color:var(--text-muted);cursor:default}.waitlist-toggle input{width:16px;height:16px}.waitlist-error{color:var(--overtime);padding:10px 0;font-size:14px}.waitlist-columns{gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.waitlist-column{flex-direction:column;flex:0 0 260px;gap:10px;display:flex}.waitlist-column-head{text-transform:uppercase;color:var(--text);font-size:12.5px;font-weight:700}.waitlist-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.waitlist-card-match{border-color:var(--overtime)}.waitlist-card-checkedin{opacity:.8}.waitlist-card-notice,.waitlist-card-match-notice{border-radius:6px;margin-bottom:4px;padding:4px 8px;font-size:12px;font-weight:600}.waitlist-card-notice{background:var(--overtime-bg);color:var(--overtime-fg)}.waitlist-card-match-notice{background:var(--occupied-bg);color:var(--occupied-fg)}.waitlist-card-name{appearance:none;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14.5px;font-weight:700}.waitlist-card-name:hover{text-decoration:underline}.waitlist-card-meta{color:var(--text-muted);font-size:12px}.waitlist-card-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.waitlist-card-texted{color:var(--text-faint);margin-top:2px;font-size:11.5px}.inventory-view{max-width:480px}.inventory-intro{color:var(--text-muted);margin-bottom:16px;font-size:13px;line-height:1.5}.inventory-search-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.inventory-results{flex-direction:column;gap:4px;margin-top:8px;display:flex}.inventory-result{appearance:none;text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 12px;font-family:inherit}.inventory-result:hover{background:var(--surface-2)}.inventory-result-name{color:var(--text);font-size:13.5px;font-weight:600}.inventory-result-sku{color:var(--text-faint);margin-top:2px;font-size:11.5px}.inventory-detail{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:20px;padding:16px}.inventory-detail-name{color:var(--text);font-size:15px;font-weight:700}.inventory-counts-row{gap:12px;margin:14px 0;display:flex}.inventory-count-box{text-align:center;background:var(--surface-2);border-radius:8px;flex:1;padding:10px 6px}.inventory-count-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:22px;font-weight:700}.inventory-count-label{color:var(--text-muted);margin-top:2px;font-size:11px}.inventory-action-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.inventory-action-label{color:var(--text);font-size:13px}.inventory-action-form{align-items:center;gap:6px;display:flex}.inventory-action-form input{border:1px solid var(--border);background:var(--surface-2);width:70px;color:var(--text);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:13px}.inventory-print-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.inventory-print-option{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;padding:8px 16px;display:flex}.topbar-spacer{flex:auto}.brand-logo{flex:none;width:26px;height:26px}.brand-name{text-transform:uppercase;white-space:nowrap;font-size:15px;font-weight:700}.staff-badge-wrap{flex:none;position:relative}.staff-badge{appearance:none;background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-family:inherit;font-size:13px;display:flex}.staff-avatar{background:var(--action-bg);width:24px;height:24px;color:var(--action-fg);border:1px solid var(--action-border);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:relative}.on-duty-dot{background:var(--available);border:1.5px solid var(--surface);border-radius:999px;width:8px;height:8px;position:absolute;bottom:-1px;right:-1px}.staff-menu{background:var(--surface);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow);z-index:5;border-radius:10px;padding:4px;position:absolute;top:calc(100% + 6px);left:0}.staff-menu-divider{background:var(--border);height:1px;margin:4px 6px}.staff-menu-item{appearance:none;width:100%;color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:8px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.staff-menu-item:hover{background:var(--surface-2)}.staff-menu-logout{color:var(--overtime)}.clock-group{white-space:nowrap;flex:none;align-items:baseline;gap:6px;font-size:13px;display:flex}.clock-now{font-variant-numeric:tabular-nums;color:var(--available);font-weight:700}.clock-sep{color:var(--text-faint)}.clock-out{font-variant-numeric:tabular-nums;color:var(--overtime);font-weight:700}.clock-rate{text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border-radius:var(--radius);white-space:nowrap;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.search-box{flex:0 0 296px;align-items:center;gap:8px;width:296px;min-width:0;display:flex}.search-input-wrap{flex:auto;min-width:0;position:relative}.search-input-wrap input{border:1px solid var(--border);background:var(--surface-2);width:100%;min-width:0;height:36px;color:var(--text);box-sizing:border-box;border-radius:8px;padding:0 28px 0 10px;font-family:inherit;font-size:13px}.search-clear-btn{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:16px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.waitlist-bell-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:16px;display:flex;position:relative}.waitlist-bell-flash{animation:1s ease-in-out infinite waitlist-flash}@keyframes waitlist-flash{0%,to{background:var(--surface-2);border-color:var(--border)}50%{background:var(--overtime-bg);border-color:var(--overtime)}}.notif-bell-wrap{flex:none;gap:6px;display:flex;position:relative}.notif-bell-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:16px;display:flex;position:relative}.notif-bell-flash{animation:1s ease-in-out infinite waitlist-flash}.notif-bell-badge{background:var(--overtime);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.notif-bell-badge-left{background:var(--possiblyleft);color:var(--possiblyleft-bg);top:auto;bottom:-4px}.notif-bell-badge-quiet{background:var(--text-muted)}.hamburger-btn{border:1px solid var(--brand-red);background:var(--brand-red);color:#fff;cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:16px;display:flex}.hamburger-btn:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}.hamburger-btn:focus-visible{outline:2px solid var(--brand-red);outline-offset:2px}.menu-list{flex-direction:column;gap:2px;display:flex}.nav-item{appearance:none;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:11px 12px;font-family:inherit;font-size:14px;font-weight:600}.nav-item:hover{background:var(--surface-2)}.my-pin-form{flex-direction:column;display:flex}.my-pin-form .pin-input{margin-bottom:4px}.app-body{flex:1;min-height:0;display:flex}.app-main{flex:1;min-width:0;padding:12px 16px;overflow-y:auto}@media (width<=640px){.topbar{z-index:30;grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:6px 8px;padding:8px 10px;display:grid;position:sticky;top:0}.app-shell{--mobile-topbar-h:95px}.brand-logo,.brand-name,.topbar-spacer{display:none}.staff-badge-wrap{grid-area:1/1}.clock-rate{white-space:nowrap;grid-area:1/2;justify-self:start;padding:2px 6px;font-size:10px}.clock-group{flex-direction:column;grid-area:1/3;justify-self:start;align-items:flex-start;gap:0;font-size:11px;line-height:1.25}.clock-sep,.staff-badge-name{display:none}.notif-bell-wrap{grid-area:2/4/auto/6;justify-self:end;gap:3px}.notif-bell-btn{width:30px;height:32px;font-size:15px}.hamburger-btn{grid-area:1/5;justify-self:end}.search-box{grid-area:2/1/auto/4;width:100%;max-width:none}.app-main{padding:8px 10px}}@media (width>=641px) and (width<=900px){.brand-name,.staff-badge-name{display:none}.search-box{flex:0 150px;width:150px}}.offline-banner{background:var(--overtime);color:#fff;text-align:center;padding:8px 16px;font-size:13.5px;font-weight:600}.offline-banner strong{text-transform:uppercase;margin-right:6px;font-weight:800}
