:root{font-family:Inter,Arial,sans-serif;color:#fff;background:#061b32;line-height:1.5}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:24px}header,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}h1{font-size:34px;letter-spacing:-.04em;margin:0}h2{font-size:22px;margin:0 0 10px}p{margin:8px 0 18px}.eyebrow{font-size:12px;color:#efb617;letter-spacing:.12em;font-weight:800;margin:0}.card{background:#082a4f;border:1px solid #ffffff25;border-radius:16px;padding:24px;margin:20px 0}.muted{font-size:14px;color:#dbe5f2}label{display:block;font-size:14px;font-weight:600}input,select{display:block;width:100%;padding:12px;border:1px solid #aab7c8;border-radius:8px;background:#061b32;color:white;font:inherit;margin:5px 0 15px}button{font:inherit;border:1px solid #efb617;border-radius:8px;padding:11px 16px;background:transparent;color:#efb617;cursor:pointer}button.gold{background:#efb617;color:#061b32;font-weight:750}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:3px}#auth{max-width:560px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats .card{margin:16px 0}.stats strong{display:block;color:#efb617;font-size:42px}.stats span{font-size:15px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}td,th{padding:12px 8px;border-bottom:1px solid #ffffff20}th{color:#efb617;font-size:13px}td{font-size:14px}td button{font-size:12px;padding:6px;margin:3px}#notice:not(:empty){padding:12px;background:#102f52;border-radius:8px}#setup-result{background:#102f52;padding:15px;margin:18px 0;border-radius:10px}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}#count-note{margin-top:18px}[hidden]{display:none!important}@media(max-width:600px){main{padding:16px}.card{padding:18px}.stats{gap:8px}.stats .card{padding:12px}.stats strong{font-size:32px}.stats span{font-size:12px}.account-form{display:block}.toolbar{gap:10px}.toolbar>div{width:100%}}

.office-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border-color:#efb61766}.office-summary>strong{font-size:64px;color:#efb617;line-height:1}.office-breakdown{grid-column:1/-1;display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #ffffff25;padding-top:16px}.office-breakdown b{color:#efb617;font-size:22px}.office-summary .muted{margin-bottom:0}:root{color-scheme:dark}@media(max-width:600px){.office-summary>strong{font-size:48px}.office-breakdown{gap:12px}.office-breakdown span{font-size:13px}.office-breakdown b{font-size:19px}}

.admin-link{color:#efb617;margin-right:12px}

.guest-checkin{margin-top:8px;padding:8px 12px;font-size:14px;white-space:nowrap}

.sync-status{font-size:13px;max-width:300px;line-height:1.45}.sync-status small{color:#edcdba}

.md-team-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}.md-team-total{border:1px solid #ffffff30;border-radius:12px;padding:16px;min-width:0;background:#061b3266}.md-team-total span{display:block;font-size:14px;overflow-wrap:anywhere}.md-team-total strong{display:block;color:#efb617;font-size:34px;line-height:1.2;margin-top:8px}.md-team-total.office-total{border-color:#efb617;background:#061b32}@media(max-width:600px){.md-team-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.md-team-total{padding:12px}.md-team-total strong{font-size:28px}}

button.md-team-total{text-align:left;color:#fff;width:100%;transition:border-color .15s,background .15s}button.md-team-total:hover,button.md-team-total[aria-pressed="true"]{border-color:#efb617;background:#061b32}button.md-team-total[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #efb617}#md-team-roster{margin-top:20px;border-top:1px solid #ffffff30;padding-top:16px}#md-team-roster h3{margin:0 0 12px;font-size:18px}.md-agent-list{list-style:none;padding:0;margin:0}.md-agent-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #ffffff20}.md-agent-list span{overflow-wrap:anywhere}.md-agent-list time{color:#dbe5f2;font-size:14px;white-space:nowrap}

.attendance-choice{width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.attendance-choice span{display:block}.attendance-choice[aria-pressed="true"]{border-color:var(--gold,#efb617);box-shadow:inset 0 0 0 2px #efb617}.attendance-choice:focus-visible{outline:3px solid #efb617;outline-offset:3px}.attendance-choice:hover{border-color:#efb617}

.guest-name,.guest-inviter{display:block}.guest-name{font-weight:600}.guest-inviter{margin-top:6px;font-size:.85em;line-height:1.4;color:#f1cf83;white-space:normal;overflow-wrap:anywhere}.guest-identity{min-width:130px}

.guest-agent-code{margin-top:8px;font-size:.85em;line-height:1.5;overflow-wrap:anywhere}.guest-agent-code span{display:block;user-select:text}.copy-agent-code{display:block;margin-top:6px;padding:6px 10px;font-size:.85em;min-height:36px}

.guest-form-link{display:inline-block;max-width:100%;padding:12px 18px;border:1px solid #efb617;border-radius:8px;background:#efb617;color:#061b32;font-weight:700;text-align:center;text-decoration:none;overflow-wrap:anywhere}.guest-form-link:focus-visible{outline:3px solid white;outline-offset:3px}

body:has(#dashboard)>main,body:has(#workspace-frame)>main{max-width:none;width:100%}

.team-breakdown summary{cursor:pointer;display:flex;align-items:center;gap:12px;list-style:none;min-height:30px}.team-breakdown summary:before{content:'+';font-size:23px;color:#efb617}.team-breakdown[open] summary:before{content:'−'}.team-breakdown summary h2{font-size:17px;margin:0}.team-breakdown[open] summary{margin-bottom:18px}.team-breakdown summary:focus-visible{outline:3px solid #efb617;outline-offset:4px}#guest-md-summary,#agent-md-summary{padding:16px 20px;margin:12px 0}.admin-attendance #push-card{display:none}.admin-attendance #staff-guest-checkin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;margin:0 0 20px}.admin-attendance #staff-guest-checkin h2{font-size:17px;margin:0}.admin-attendance #staff-guest-checkin p{display:none}.admin-attendance #staff-guest-checkin a{padding:8px 12px;font-size:13px}.admin-attendance main{padding:20px}.toolbar #welcome{font-size:20px}.toolbar #scope{font-size:13px;color:#dbe5f2}.stats .card{padding:16px 20px}.stats strong{font-size:34px}thead{background:#082a4f}tr:hover{background:#ffffff05}@media(max-width:600px){.admin-attendance main{padding:14px}.stats .card{padding:12px}.stats strong{font-size:28px}}

.embedded-attendance #push-card{display:none}.embedded-attendance #staff-guest-checkin{padding:16px 20px}.embedded-attendance #staff-guest-checkin p{display:none}.embedded-attendance #staff-guest-checkin h2{font-size:17px}

.dashboard-staff-menu{position:relative;display:inline-block;margin-right:10px}.dashboard-staff-menu summary{cursor:pointer;color:#efb617;padding:11px 16px;border:1px solid #efb617;border-radius:8px}.dashboard-staff-menu nav{position:absolute;right:0;top:100%;z-index:20;display:grid;gap:8px;padding:12px;min-width:210px;background:#082a4f;border:1px solid #ffffff30;border-radius:10px}.dashboard-staff-menu nav a{color:#efb617;padding:10px;font-size:14px}.dashboard-staff-menu summary:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Larger, readable BOM totals on Today and the full-screen dashboard. */
body:has(#dashboard):not(.admin-attendance) .office-summary{padding:clamp(24px,3vw,44px);gap:28px;min-height:340px}
body:has(#dashboard):not(.admin-attendance) .office-summary>strong{font-size:clamp(88px,12vw,156px);font-weight:800;letter-spacing:-.045em}
body:has(#dashboard):not(.admin-attendance) .office-summary h2{font-size:clamp(26px,3vw,38px)}
body:has(#dashboard):not(.admin-attendance) .office-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:26px}
body:has(#dashboard):not(.admin-attendance) .office-breakdown span{font-size:17px;line-height:1.4}
body:has(#dashboard):not(.admin-attendance) .office-breakdown b{display:block;font-size:clamp(40px,5vw,64px);line-height:1.1;margin-bottom:8px;font-weight:800;letter-spacing:-.025em}
body:has(#dashboard):not(.admin-attendance) .stats .card{padding:28px}
body:has(#dashboard):not(.admin-attendance) .stats strong{font-size:clamp(42px,6vw,72px)}
@media(max-width:600px){body:has(#dashboard):not(.admin-attendance) .office-summary{grid-template-columns:1fr;gap:20px;padding:22px;min-height:0}body:has(#dashboard):not(.admin-attendance) .office-summary>strong{font-size:100px}body:has(#dashboard):not(.admin-attendance) .office-breakdown{gap:18px;grid-template-columns:1fr;padding-top:22px}body:has(#dashboard):not(.admin-attendance) .office-breakdown span{display:flex;align-items:center;gap:16px;font-size:16px}body:has(#dashboard):not(.admin-attendance) .office-breakdown b{font-size:42px;margin:0;min-width:2.6ch}body:has(#dashboard):not(.admin-attendance) .stats .card{padding:14px}body:has(#dashboard):not(.admin-attendance) .stats strong{font-size:36px}}

/* Compact embedded staff workspace: retain large readable counts. */
.embedded-attendance main{padding:16px 20px}
.embedded-attendance header{gap:10px;margin-bottom:12px}
.embedded-attendance header .eyebrow{display:none}
.embedded-attendance header h1{font-size:25px}
.embedded-attendance #staff-guest-checkin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:0 0 12px}
.embedded-attendance #staff-guest-checkin h2{margin:0;font-size:16px}
.embedded-attendance #staff-guest-checkin a{padding:8px 14px;min-height:40px}
.embedded-attendance .toolbar{justify-content:flex-start;gap:16px;align-items:center}
.embedded-attendance .toolbar>div{margin-right:auto}
.embedded-attendance .toolbar #welcome{font-size:18px;margin:0}
.embedded-attendance .toolbar #scope{margin:3px 0;font-size:12px}
.embedded-attendance .toolbar input,.embedded-attendance .toolbar select{margin:3px 0 0;padding:9px 12px;min-height:40px}
.embedded-attendance #freshness{margin:8px 0;font-size:12px}
body.embedded-attendance:has(#dashboard):not(.admin-attendance) .stats .card{padding:18px 22px;margin:8px 0 12px}
body.embedded-attendance:has(#dashboard):not(.admin-attendance) .stats strong{font-size:52px;line-height:1.15;margin-top:6px}
.embedded-attendance #notice:empty{display:none}
@media(max-width:600px){.embedded-attendance main{padding:14px}.embedded-attendance .toolbar{gap:10px}.embedded-attendance .toolbar>div{width:100%}.embedded-attendance .toolbar>label{flex:1;min-width:110px}body.embedded-attendance:has(#dashboard):not(.admin-attendance) .stats .card{padding:12px}body.embedded-attendance:has(#dashboard):not(.admin-attendance) .stats strong{font-size:36px}}

/* Let attendance and its admin host use the available screen width. */
body:has(#dashboard)>main,body:has(#workspace-frame)>main{max-width:none;width:100%}
