:root { color-scheme:light;--navy:#12325b;--navy-bright:#184a82;--blue:#087cf0;--blue-deep:#075ec5;--blue-pale:#eaf5ff;--pale:#edf6ff;--line:#cddfed;--text:#203b57;--muted:#587794;--green:#009b72;--green-pale:#dff8ef;--red:#e14343;--red-pale:#ffebeb;--violet:#7148d8;--accent-shadow:#087cf044;--highlight:#55c7ff;--display-dark:#0b2d50;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;}
[data-theme="grey"] {--navy:#343b46;--navy-bright:#596575;--blue:#65758b;--blue-deep:#48586d;--blue-pale:#edf0f3;--pale:#f1f3f5;--line:#d3d8de;--text:#303943;--muted:#687581;--violet:#675d78;--accent-shadow:#5965753d;--highlight:#aeb8c4;--display-dark:#292f38;}
[data-theme="purple"] {--navy:#39265f;--navy-bright:#654095;--blue:#8254cf;--blue-deep:#6639b1;--blue-pale:#f0eafd;--pale:#f6f1fc;--line:#ddd1ec;--text:#413451;--muted:#746386;--violet:#8254cf;--accent-shadow:#8254cf3d;--highlight:#c19aff;--display-dark:#2d1d4c;}
[data-theme="green"] {--navy:#17483c;--navy-bright:#28705d;--blue:#198b68;--blue-deep:#116b50;--blue-pale:#e5f5ef;--pale:#edf8f3;--line:#c9e2d8;--text:#29483f;--muted:#587b70;--violet:#557666;--accent-shadow:#198b683d;--highlight:#62d3ad;--display-dark:#10392f;}
[data-theme="christmas"] {--navy:#174b37;--navy-bright:#a5222e;--blue:#c52b36;--blue-deep:#98202a;--blue-pale:#fff0f1;--pale:#f3f8f4;--line:#d5dfd7;--text:#294439;--muted:#65786c;--green:#16834f;--green-pale:#e3f5ea;--violet:#a5222e;--accent-shadow:#a5222e3d;--highlight:#e7c35a;--display-dark:#103929;}
* { box-sizing:border-box; }
body { margin:0; background:var(--pale); color:var(--text); min-height:100vh; }
a { color:inherit; }
.topbar { min-height:82px; padding:0 max(20px,calc((100% - 1120px)/2)); background:linear-gradient(110deg,var(--navy),var(--navy-bright)); color:white; display:grid;grid-template-columns:1fr auto 1fr;gap:18px; align-items:center; box-shadow:0 4px 18px #0a4b8730; }
.brand { display:flex; gap:10px; align-items:center; text-decoration:none; font-weight:750; letter-spacing:-.02em; }
.brand-mark { display:block; width:54px; height:54px; border-radius:14px; object-fit:cover; box-shadow:0 3px 10px #001d3838; }
.seasonal-logo,.display-seasonal-logo { display:none;}[data-theme="christmas"] .seasonal-logo { display:block;width:42px;height:42px;margin-left:3px;object-fit:contain;}[data-theme="christmas"] .display-seasonal-logo { display:block;position:absolute;top:10px;left:12px;width:54px;height:54px;object-fit:contain;}[data-theme="christmas"] .display-heading { padding-top:50px;}[data-theme="christmas"] .site-metric,[data-theme="christmas"] .metric,[data-theme="christmas"] .practice-brand { background:linear-gradient(135deg,var(--navy),var(--navy-bright));}
nav { display:flex; align-items:center; justify-self:end;gap:18px; font-size:.9rem; } nav a,.nav-button { color:#d9e2ec; text-decoration:none; }
nav form { margin:0; }.nav-button { border:0; background:none; font:inherit; cursor:pointer; padding:8px 0; }
.container { width:min(1120px,100%); margin:0 auto; padding:36px 20px 64px; }
h1,h2 { color:var(--navy); letter-spacing:-.035em; margin:.15em 0; } h1 { font-size:clamp(2rem,6vw,3rem); line-height:1.05; } h2 { font-size:1.35rem; }
.eyebrow { color:var(--blue); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:800; margin:0 0 8px; }.muted,.empty { color:var(--muted); }
.hero.compact { margin-bottom:24px; }.status-card { display:flex; align-items:center; gap:14px; margin-top:24px; padding:18px; border-radius:14px; background:white; box-shadow:0 8px 28px #102a4310; border:1px solid var(--line); }.status-card strong,.status-card span { display:block; }.status-label { color:var(--muted); font-size:.78rem; margin-bottom:2px; }.status-dot { width:14px;height:14px;border-radius:50%;background:#829ab1;box-shadow:0 0 0 5px #829ab122;}.status-card.in .status-dot { background:var(--green);box-shadow:0 0 0 5px #13795b22;}.status-card.out .status-dot { background:var(--red);box-shadow:0 0 0 5px #c0362c22;}
.panel,.auth-card,.result-card { background:white; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:0 8px 30px #102a430a; }.narrow { max-width:680px;margin:18px auto; }.action-grid { display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px; }
.button { min-height:46px; display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:9px;border:1px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;}.button:hover { transform:translateY(-1px);}.button.primary { background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:white;box-shadow:0 5px 16px var(--accent-shadow);}.button.primary:hover { box-shadow:0 8px 22px var(--accent-shadow);}.button.secondary { background:white;border-color:var(--line);color:var(--navy);}.button.secondary:hover { border-color:var(--blue);background:var(--blue-pale);}
.section-heading,.page-heading { display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px;}.timeline-item { display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:15px 0;border-top:1px solid #e0ebf3;}.timeline-item small,td small { display:block;color:var(--muted);margin-top:3px;}.movement-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:.68rem;font-weight:850;background:#e4eef7;}.movement-icon.in { color:#007b59;background:var(--green-pale);}.movement-icon.out { color:#c92e3a;background:var(--red-pale);}
.badge { display:inline-block;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:850;letter-spacing:.04em;background:#e4eef7;color:var(--muted);}.badge.in { background:var(--green-pale);color:#007b59;}.badge.out,.badge.warning { background:var(--red-pale);color:#c92e3a;}
.badge.admin { background:#eee8ff;color:var(--violet);}.heading-actions { display:flex;gap:10px;flex-wrap:wrap;}.button.small { min-height:36px;padding:7px 12px;font-size:.8rem;}.table-action { text-align:right;}.check-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;}.check { display:flex!important;align-items:center;gap:9px!important;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8fbff;}.check input { width:auto;accent-color:var(--blue);}.form-stack label small { color:var(--muted);font-weight:400;line-height:1.4;}
.badge.automatic { background:#e3f3ff;color:#006bb5;}
.row-actions { display:flex;justify-content:flex-end;gap:8px;white-space:nowrap;}.metrics.three { grid-template-columns:repeat(3,minmax(0,1fr));}.metric .metric-text { font-size:1.35rem;margin-top:10px;}.metric strong small { display:inline;color:#bcccdc;font-size:.8rem;}.week-toolbar { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;margin-bottom:20px;padding:14px 18px;}.week-toolbar > :first-child { justify-self:start;}.week-toolbar > :last-child { justify-self:end;}.week-toolbar span,.week-toolbar strong { display:block;}.week-toolbar span { color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;}.week-toolbar strong { color:var(--navy);margin-top:3px;}.table-empty { text-align:center;padding:36px;}
.user-link { color:var(--navy);text-decoration-color:#9fb3c8;text-underline-offset:3px;}.user-link:hover { color:var(--blue);}
.audit-marker { display:block;width:max-content;margin-top:6px;}.audit-badges { display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}.audit-entry { padding:16px 0;border-top:1px solid var(--line);}.audit-entry small { display:block;color:var(--muted);margin-top:2px;}.audit-entry p { margin:10px 0 4px;font-size:.88rem;}.audit-entry span { color:var(--muted);font-size:.82rem;}
.display-shell { overflow:hidden;border-radius:22px;background:#0b2d50;color:white;box-shadow:0 20px 60px #0b4f8838;}.display-heading { position:relative;display:flex;align-items:end;justify-content:space-between;gap:30px;padding:38px 36px 30px;background:linear-gradient(120deg,#12325b,#0874c9);}.display-reconfigure { position:absolute;top:11px;right:15px;color:#d5ecff;font-size:.65rem;font-weight:650;text-decoration:none;opacity:.78;}.display-reconfigure:hover,.display-reconfigure:focus-visible { color:white;opacity:1;text-decoration:underline;text-underline-offset:3px;}.display-identity { display:flex;align-items:center;gap:20px;}.display-identity img { width:117px;height:117px;border-radius:28px;box-shadow:0 10px 28px #001b354f;}.display-heading h1 { color:white;margin:5px 0;font-size:clamp(2rem,4vw,3.4rem);}.display-heading p { margin:0;color:#d5ecff;}.display-brand { color:#65d5ff;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:850;}.display-controls { display:grid;justify-items:end;gap:12px;}.display-practice-brand,.practice-header-brand { display:grid;place-items:center;padding:2px 4px;}.display-practice-brand img { display:block;width:260px;height:58px;object-fit:contain;}.practice-header-brand img { display:block;width:240px;height:52px;object-fit:contain;}.display-site-picker label { display:grid;gap:7px;color:#d5ecff;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;}.display-site-picker select { min-width:220px;background:#ffffff1c;border-color:#ffffff45;color:white;}.display-site-picker option { color:var(--text);}.display-codes { display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#68c5ff;}.display-code { display:grid;grid-template-columns:auto 1fr;align-items:center;justify-items:center;gap:8px 16px;padding:28px 5vw 32px;background:white;color:var(--text);}.display-action-icon { width:52px;height:52px;display:grid;place-items:center;border-radius:50%;font-size:1.8rem;font-weight:900;}.display-code-in .display-action-icon { background:var(--green-pale);color:var(--green);}.display-code-out .display-action-icon { background:var(--red-pale);color:var(--red);}.display-action-copy { justify-self:start;}.display-action-copy span { color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;}.display-action-copy h2 { min-height:2.4em;margin:2px 0;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.2;}.display-qr-frame { grid-column:1/-1;width:min(360px,100%);padding:14px;margin:10px 0;background:white;border:2px solid #c6e5f8;border-radius:18px;box-shadow:0 12px 38px #087cf025;}.display-qr-frame img { display:block;width:100%;height:auto;}.display-test-link { grid-column:1/-1;color:var(--blue-deep);font-size:.76rem;text-underline-offset:3px;}.display-footer { display:flex;justify-content:space-between;gap:20px;padding:15px 28px;color:#c9e8ff;font-size:.75rem;}.dev-details { margin:18px auto 0;max-width:820px;color:var(--muted);font-size:.78rem;}.dev-details summary { cursor:pointer;text-align:center;}.dev-details p { text-align:center;}.dev-details label { display:grid;gap:5px;margin-top:12px;font-weight:700;}.dev-details textarea { font-family:ui-monospace,SFMono-Regular,monospace;font-size:.72rem;}
code { padding:4px 7px;border-radius:5px;background:#e8eef3;color:var(--navy);font-weight:700;}
.site-metrics { display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px;}.site-metric { position:relative;display:grid;min-height:138px;padding:18px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--navy-bright));color:white;text-decoration:none;box-shadow:0 8px 22px #164b7e24;transition:box-shadow .15s ease,filter .15s ease;}.site-metric:hover { box-shadow:0 10px 26px #164b7e34;filter:brightness(1.05);}.site-metric.selected { outline:3px solid #55c7ff;outline-offset:2px;}.site-metric span { color:#d1e7f7;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;}.site-metric strong { align-self:center;font-size:2.35rem;line-height:1;}.site-metric small { align-self:end;color:white;font-size:.84rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.movement-actions { display:grid;justify-items:end;gap:7px;}.delete-link,.danger-text { color:var(--red);}.delete-link { font-size:.72rem;text-underline-offset:2px;}.button.danger { background:var(--red);color:white;}.danger-panel { border-top:4px solid var(--red);}.deletion-summary { display:grid;gap:5px;margin:22px 0;padding:16px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);}.deletion-summary span { color:var(--muted);font-size:.86rem;}.deleted-panel { margin-top:20px;border-left:4px solid var(--red);}
.report-filters { max-width:720px;}
.live-total { min-width:190px;padding:15px 20px;border-radius:13px;background:linear-gradient(135deg,var(--green),#00b98a);color:white;box-shadow:0 8px 22px #009b7230;}.live-total span,.live-total strong { display:block;}.live-total span { font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;}.live-total strong { margin-top:2px;font-size:2rem;}.dashboard-section-heading { margin-bottom:12px;}.building-occupancy-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}.building-occupancy { padding:0;overflow:hidden;}.building-occupancy > header { display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);background:#f4faff;}.building-occupancy h2 { margin:2px 0;}.site-code { color:var(--blue);font-size:.66rem;font-weight:850;letter-spacing:.1em;}.occupancy-count { min-width:42px;height:42px;padding:0 10px;display:grid;place-items:center;border-radius:12px;background:var(--green-pale);color:var(--green);font-size:1.2rem;font-weight:850;}.occupant-list { display:grid;}.occupant { display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #e5eef5;text-decoration:none;transition:background .15s ease;}.occupant:hover { background:#f7fbff;}.occupant:last-child { border-bottom:0;}.occupant-avatar { width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--blue),#55c7ff);color:white;font-weight:850;}.occupant strong,.occupant small { display:block;}.occupant small { color:var(--muted);margin-top:2px;font-size:.72rem;}.presence-dot { width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #009b7218;}.building-empty { padding:24px 22px;margin:0;}
.schedule-grid { display:grid;gap:10px;}.schedule-header-row,.schedule-row { display:grid;grid-template-columns:minmax(90px,1.3fr) repeat(2,minmax(0,1fr));align-items:center;gap:12px;}.schedule-header { color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;}.schedule-day { color:var(--navy);font-size:.84rem;}.schedule-control { min-width:0;}.schedule-mobile-label { display:none;}.time-picker { display:grid;grid-template-columns:minmax(58px,1fr) auto minmax(58px,1fr);align-items:center;gap:5px;font-variant-numeric:tabular-nums;}.time-picker.allow-clear { grid-template-columns:minmax(58px,1fr) auto minmax(58px,1fr) auto;}.time-picker select { min-width:0;padding-left:7px;padding-right:4px;}.time-picker > span,.datetime-time > span { color:var(--navy);font-weight:850;}.time-clear { min-height:34px;padding:5px 7px;border:0;background:transparent;color:var(--red);font:inherit;font-size:.68rem;font-weight:750;cursor:pointer;}.datetime-picker { display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(145px,1fr);gap:9px;}.datetime-time { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;font-variant-numeric:tabular-nums;}.datetime-time select { min-width:0;}.practice-brand { display:grid;justify-items:center;gap:8px;margin-top:28px;padding:14px 16px;border-radius:12px;background:linear-gradient(120deg,var(--navy),var(--navy-bright));}.practice-brand span { color:#d5ecff;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;}.practice-brand img { display:block;width:min(100%,390px);height:auto;max-height:94px;object-fit:contain;}
.correction-values { display:grid;grid-template-columns:auto 1fr;gap:2px 8px;min-width:210px;}.correction-values > span { grid-row:span 2;color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;}.correction-values strong { color:var(--navy);font-size:.74rem;}.correction-values small { margin:0 0 7px;}.correction-reason { margin-top:7px!important;padding-top:7px;border-top:1px solid var(--line);font-style:italic;}
.daily-summary { margin-bottom:20px;}.daily-summary .section-heading { margin-bottom:16px;}.daily-hours-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;}.daily-hours { min-width:0;padding:14px 8px;border:1px solid var(--line);border-radius:11px;background:#f7fbff;text-align:center;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease;}.daily-hours:hover { border-color:var(--blue);box-shadow:0 6px 16px #087cf01c;}.daily-hours.today { border-color:var(--blue);background:#eaf5ff;box-shadow:inset 0 0 0 1px #087cf022;}.daily-hours span,.daily-hours small,.daily-hours strong,.daily-hours em { display:block;}.daily-hours span { color:var(--navy);font-size:.76rem;font-weight:850;text-transform:uppercase;}.daily-hours small { color:var(--muted);font-size:.66rem;margin-top:2px;}.daily-hours strong { color:var(--blue-deep);font-size:1.35rem;margin-top:10px;}.daily-hours em { color:var(--muted);font-size:.62rem;font-style:normal;}.duration-fields,.boundary-choice { margin:0;padding:0;border:0;}.duration-fields legend,.boundary-choice legend { margin-bottom:9px;color:var(--navy);font-size:.82rem;font-weight:750;}.duration-fields { display:grid;grid-template-columns:1fr 1fr;gap:12px;}.boundary-choice { display:grid;gap:9px;}.boundary-choice label { display:flex!important;align-items:flex-start;gap:10px!important;padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fbff;cursor:pointer;}.boundary-choice input { width:auto;margin-top:3px;accent-color:var(--blue);}.boundary-choice span,.boundary-choice strong,.boundary-choice small { display:block;}.boundary-choice small { margin-top:3px;}
.auth-shell { min-height:calc(100vh - 150px);display:grid;place-items:center;}.auth-card { width:min(440px,100%);padding:clamp(24px,6vw,40px);}.form-stack { display:grid;gap:18px;margin-top:26px;}.form-stack label,.week-picker label { display:grid;gap:7px;font-size:.82rem;font-weight:750;color:var(--navy);}input,select,textarea { width:100%;border:1px solid #bcccdc;border-radius:9px;background:white;color:var(--text);padding:12px;font:inherit;}input:focus,select:focus,textarea:focus { outline:3px solid #4da3ff44;border-color:var(--blue);}
.result-card { max-width:580px;margin:10vh auto;text-align:center;padding:44px 28px;}.result-icon { margin:0 auto 18px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:2rem;font-weight:900;background:#e7f6f1;color:var(--green);}.result-card.failure .result-icon { background:#fff0ef;color:var(--red);}.result-card .button { margin-top:12px;}.back-link { display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:18px;}
.metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px;}.metric { background:linear-gradient(135deg,var(--navy),var(--navy-bright));color:white;border-radius:14px;padding:20px;box-shadow:0 8px 22px #164b7e24;}.metric span { display:block;color:#d1e7f7;font-size:.8rem;}.metric strong { display:block;font-size:2rem;margin-top:4px;}.table-panel { padding:0;overflow:auto;}table { width:100%;border-collapse:collapse;}th,td { padding:16px 20px;text-align:left;border-bottom:1px solid #e0ebf3;}th { color:#416886;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;background:#eef7ff;}.hours { font-weight:750;color:var(--navy);}.week-picker { display:flex;align-items:end;gap:12px;margin-bottom:18px;max-width:460px;}.alert { padding:13px 16px;border-radius:9px;margin-bottom:18px;background:var(--green-pale);color:#007b59;border-left:4px solid var(--green);}.alert-error { background:var(--red-pale);color:#b92b36;border-left-color:var(--red);}
.security-note { margin-top:20px;padding:12px;border-left:3px solid #f0a202;background:#fff9e8;color:#735c0f;font-size:.8rem;}
@media (max-width:760px) { .practice-header-brand { display:none;}.topbar { grid-template-columns:1fr auto;padding:0 16px;}.container { padding:24px 14px 44px; }.panel { border-radius:12px;padding:18px;}.table-panel { padding:0;}.page-heading { align-items:stretch;flex-direction:column;}.page-heading .button { width:100%;}.action-grid { display:grid;}.metrics { gap:10px;}.metric { padding:16px;}th,td { padding:13px 14px;}.timeline-item { grid-template-columns:44px 1fr;}.timeline-item .badge { grid-column:2;justify-self:start;}.week-picker { align-items:stretch;flex-direction:column;}.week-picker .button { width:100%;}nav { gap:12px;} }
@media (max-width:760px) { .display-heading { align-items:stretch;flex-direction:column;padding:22px;}.display-identity { gap:12px;}.display-identity img { width:87px;height:87px;border-radius:21px;}.display-site-picker select { width:100%;}.display-code { padding:20px 10px;grid-template-columns:34px 1fr;gap:6px 8px;}.display-action-icon { width:34px;height:34px;font-size:1.2rem;}.display-action-copy h2 { font-size:.95rem;}.display-action-copy span { font-size:.58rem;}.display-qr-frame { padding:5px;border-radius:9px;}.display-test-link { font-size:.62rem;}.display-footer { align-items:center;flex-direction:column;text-align:center;gap:3px;}.display-shell { border-radius:14px;} }
.report-list { padding:0;overflow:hidden;}.report-list-heading,.report-user > summary,.report-day { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;}.report-list-heading { padding:12px 22px;background:var(--navy);color:white;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;}.report-list-heading span:last-child { text-align:right;}.report-user { border-top:1px solid var(--line);}.report-user:first-of-type { border-top:0;}.report-user > summary { padding:18px 22px;cursor:pointer;list-style:none;transition:background .15s ease;}.report-user > summary::-webkit-details-marker { display:none;}.report-user > summary:hover,.report-user[open] > summary { background:var(--blue-pale);}.report-person { display:grid;gap:3px;position:relative;padding-left:22px;}.report-person::before { content:'›';position:absolute;left:2px;top:1px;color:var(--blue-deep);font-size:1.25rem;font-weight:900;transition:transform .15s ease;}.report-user[open] .report-person::before { transform:rotate(90deg);}.report-person small,.report-day small { color:var(--muted);}.report-days { padding:2px 22px 14px 44px;background:#f8fbfe;}.report-day { padding:10px 0;border-top:1px solid var(--line);}.report-day > span:first-child { display:grid;gap:2px;}.report-day .hours { font-size:.86rem;}@media (max-width:600px) { .report-list-heading { display:none;}.report-user > summary { padding:16px;gap:10px;}.report-person { padding-left:18px;}.report-days { padding:0 16px 12px 34px;}.report-user .hours { font-size:.8rem;} }
@media (max-width:760px) { .display-heading { padding-top:34px;} }
@media (max-width:760px) { .metrics.three { grid-template-columns:1fr 1fr;}.metrics.three .metric:first-child { grid-column:1/-1;}.week-toolbar { grid-template-columns:1fr 1fr;gap:12px;}.week-toolbar > div { grid-column:1/-1;grid-row:1;}.week-toolbar > :first-child { grid-column:1;}.week-toolbar > :last-child { grid-column:2;}.row-actions { flex-direction:column;}.row-actions .button { width:100%;} }
@media (max-width:760px) { .daily-hours-grid { grid-template-columns:repeat(7,minmax(62px,1fr));overflow-x:auto;padding-bottom:6px;}.daily-hours { padding:12px 6px;}.daily-hours strong { font-size:1.15rem;} }
@media (max-width:640px) { .datetime-picker { grid-template-columns:1fr;}.time-picker { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}.time-picker.allow-clear { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;}.schedule-panel { overflow:hidden;}.schedule-header-row { display:none;}.schedule-row { grid-template-columns:minmax(0,1fr);gap:9px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--blue-pale);}.schedule-day { font-size:1rem;}.schedule-control { display:grid;gap:5px;}.schedule-mobile-label { display:block;color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;} }
@media (max-width:760px) { .building-occupancy-grid { grid-template-columns:1fr;}.live-total { width:100%;}.occupant { padding:13px 15px;} }
.display-shell { background:var(--display-dark);}.display-heading { background:linear-gradient(120deg,var(--navy),var(--blue-deep));}.display-codes { background:var(--highlight);}.site-metric.selected { outline-color:var(--highlight);}.building-occupancy > header,.daily-hours,.report-days { background:var(--blue-pale);}.daily-hours.today { background:var(--blue-pale);}.occupant:hover,.report-user > summary:hover,.report-user[open] > summary { background:var(--blue-pale);}th { background:var(--blue-pale);}.check,.boundary-choice label { background:color-mix(in srgb,var(--blue-pale) 55%,white);}
.report-sites { background:#f8fbfe;padding:4px 22px 16px 44px;}.report-site { overflow:hidden;margin-top:12px;border:1px solid var(--line);border-radius:11px;background:white;}.report-site > header { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 16px;background:var(--blue-pale);}.report-site > header span:first-child { display:grid;gap:2px;}.report-site > header small { color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;}.report-site .report-days { padding:0 16px 8px;background:white;}.report-no-time { margin:0;padding:18px 0;}@media (max-width:600px) { .report-sites { padding:2px 12px 12px 28px;}.report-site > header { padding:11px 12px;}.report-site .report-days { padding:0 12px 6px;} }
.auto-week-picker { max-width:280px;}.report-days-first { display:grid;gap:11px;padding:14px 22px 18px 44px;background:#f8fbfe;}.report-day-group { overflow:hidden;border:1px solid var(--line);border-radius:11px;background:white;}.report-day-group > header,.report-day-site { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;}.report-day-group > header { padding:13px 16px;background:var(--blue-pale);}.report-day-group > header span:first-child,.report-day-site span:first-child { display:grid;gap:2px;}.report-day-group small,.report-day-site small { color:var(--muted);font-size:.66rem;}.report-day-sites { padding:0 16px 7px;}.report-day-site { padding:10px 0;border-top:1px solid var(--line);}.report-day-sites > .empty { margin:0;padding:12px 0;}@media (max-width:600px) { .report-days-first { padding:11px 12px 14px 28px;}.report-day-group > header { padding:11px 12px;}.report-day-sites { padding:0 12px 5px;} }
