.admin-header-right { display: flex; align-items: center; gap: 24px; }
.dashboard-main { width: min(1080px, 90%); margin: 36px auto 60px; }
.auth-card { max-width: 600px; margin: 70px auto; text-align: center; }
.auth-card h1 { margin-top: 20px; }
.auth-card > p:not(.eyebrow) { color: var(--muted); margin: 25px auto; max-width: 400px; font-size: 16px; }
.auth-card > .text-link { display: table; margin: 24px auto; }
#auth-message { margin-top: 26px; text-align: left; }
.uid-panel { padding: 20px; margin-top: 24px; background: var(--soft-blue); text-align: left; font-size: 14px; }
.uid-panel code { overflow-wrap: anywhere; user-select: all; }
.uid-panel > code { display: block; margin: 10px 0; }
.dashboard-heading h1 { font-size: clamp(32px, 4vw, 46px); }
.dashboard-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 20px 0 10px; }
.refresh-status { display: flex; align-items: center; gap: 10px; min-width: 0; }
#last-updated { color: var(--muted); font-size: 14px; line-height: 1.5; }
.dashboard-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex-shrink: 0; padding: 12px; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--blue-mid); }
.dashboard-icon-button:hover:not(:disabled) { background: var(--soft-blue); }
.dashboard-icon-button .icon { width: 22px; height: 22px; }
#refresh-data { position: relative; overflow: visible; padding: 10px; }
#refresh-data .icon { width: 26px; height: 26px; overflow: visible; }
/* Wrap at a readable gauge size rather than shrinking three gauges into every screen. */
.stats-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 24px; max-width: 850px; margin: 12px auto 30px; }
.stat-card { position: relative; container-type: inline-size; flex: 0 0 clamp(160px, 25vw, 240px); min-width: 0; aspect-ratio: 200 / 160; }
.stat-gauge { display: block; width: 100%; height: 100%; overflow: visible; }
.gauge-track,.gauge-fill { fill: none; stroke-width: 8; stroke-linecap: round; }
.gauge-track { stroke: var(--border); }
.gauge-fill { stroke: var(--blue-light); }
.stat-reading { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding-top: 4%; }
.stat-reading h2 { font: 500 16px var(--font-body); font-size: clamp(16px, 8cqw, 19px); color: var(--blue-mid); }
.stat-total { font: 400 42px/1.1 var(--font-heading); font-size: clamp(36px, 21cqw, 50px); font-variant-numeric: tabular-nums; }
.guest-list-section { margin-top: 12px; }
.guest-list-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 20px; }
.response-controls { display: flex; gap: 8px; margin-left: auto; }
.response-controls select { width: clamp(130px, 16vw, 180px); min-width: 0; min-height: 48px; font-size: 16px; padding-inline: 10px; background: transparent; }
.guest-list-heading h2 { font-size: 28px; display: flex; align-items: center; gap: 12px; }
.count-badge { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 50%; background: var(--soft-blue); color: var(--blue-mid); font: 14px var(--font-body); }
#visible-count { font-size: 14px; }
.list-toolbar { margin: 16px 0 20px; }
.list-toolbar input,.list-toolbar select { min-height: 48px; font-size: 16px; background: transparent; }
.search-field { position: relative; min-width: 0; }
.search-field > .icon { position: absolute; left: 14px; top: 15px; color: var(--muted); pointer-events: none; }
.search-field input { padding-left: 43px; }
.guest-list { border-top: 1px solid var(--border); }
.guest-tile { padding: 14px 0; display: grid; grid-template-columns: minmax(0,1fr) 230px auto; align-items: center; gap: 16px; border-bottom: 1px solid var(--border); }
.guest-name { font: 500 16px/1.5 var(--font-body); overflow-wrap: anywhere; }
.guest-events { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; font-variant-numeric: tabular-nums; }
.event-chip { display: inline-flex; align-items: baseline; gap: 3px; font-size: 16px; white-space: nowrap; }
.event-abbreviation { color: var(--muted); }
.event-chip[data-status="not-invited"],.event-chip[data-status="no"] { color: var(--muted); }
.tentative-mark { font-size: 12px; color: var(--blue-light); }
.badge { display: inline-block; font-size: 12px; line-height: 1.5; padding: 2px 7px; margin-top: 4px; border-radius: var(--radius); }
.badge.warning { background: var(--warning-bg); color: var(--warning); }
.guest-actions { display: flex; gap: 0; }
.guest-actions button { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 12px; border: 0; border-radius: 50%; background: transparent; color: var(--blue-mid); }
.guest-actions button:hover:not(:disabled) { background: var(--soft-blue); }
.guest-actions .delete-button { color: var(--error); }
.guest-actions .icon { width: 19px; height: 19px; }
.empty-state { text-align: center; color: var(--muted); padding: 36px 16px; font-size: 16px; }
@media (max-width: 767px) {
 .dashboard-main { margin-top: 24px; }
 .dashboard-actions { margin-top: 14px; }
 .stats-grid { gap: 16px; margin: 18px auto 28px; }
 .response-controls select { width: 130px; }
 .guest-tile { grid-template-columns: minmax(0,1fr) auto; gap: 5px 10px; padding: 12px 0; }
 .guest-tile > div:first-child { grid-column: 1; grid-row: 1; }
 .guest-events { grid-column: 1; grid-row: 2; gap: 14px; }
 .guest-actions { grid-column: 2; grid-row: 1 / 3; }
 .guest-list-heading h2 { font-size: 25px; }
 .admin-header-right { gap: 12px; }
 .auth-card { margin: 40px auto; }
}
@media (max-width: 359px) {
 .guest-events { gap: 10px; }
}
