/* Home and booking hierarchy, October 2026. */
body .app-main{max-width:1080px}
body .preferred-member-card{padding:24px;border:0;border-bottom:1px solid #42685b;border-radius:0;background:transparent;box-shadow:none;margin:0 0 20px}
body .preferred-member-card strong{font-size:clamp(26px,5vw,36px);letter-spacing:-.04em}
body .preferred-member-card small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#9dc5b5}
body .preferred-member-card p{margin-top:8px;font-size:13px}
body .quick-actions{gap:12px;margin:20px 0}
body .quick-action{position:relative;overflow:hidden;min-height:120px;border-radius:20px;padding:16px;display:flex;flex-direction:row;align-items:center;gap:12px;text-align:left;background:linear-gradient(145deg,#205648,#103e31);border-color:#62bdab}
body .quick-action-tournament{background:linear-gradient(145deg,#55472b,#303c2b);border-color:#c8a660}
body .quick-action strong{font-size:19px;line-height:1.2;letter-spacing:-.025em}
body .quick-action small{font-size:10px;letter-spacing:.08em;margin-top:10px;color:#b8d5c5}
body .quick-action em{font-size:12px;line-height:1.4}
body .quick-action>b{position:absolute;right:18px;top:22px}
body .quick-icon{width:36px;height:36px;flex:none;border-radius:11px;margin-bottom:0;color:#7be1ca}
body .quick-action-tournament .quick-icon{color:#f4ce7c;background:#302d1f}
body .quick-action-tournament small{color:#f1d69e}
body .quick-action em,body .quick-action>b{display:none}
body .next-activity-card{margin:12px 0 28px;padding:18px;border-radius:20px;background:#113b30;border-color:#416c5a}
body .next-activity-card h2{font-size:18px}
body .next-activity-copy small{font-size:10px;letter-spacing:.1em}
body .live-section{margin-top:30px}
body .live-board-card{min-height:210px;border-radius:22px}
body .registration-inbox-banner{margin:12px 0}
body .registration-inbox-banner>button{border-radius:20px;background:#1c4e3e;color:#f1f7e7;border:1px solid #6a9278;box-shadow:none;padding:18px}
body .registration-inbox-banner .inbox-number{background:#d5ec7c;color:#15382a;width:48px;height:48px;font-size:22px}
body .registration-inbox-banner strong{font-size:20px}
body .registration-inbox-banner small{font-size:13px;color:#b9d0c4}
body .captain-home{padding:22px;border:1px solid #7b9970;border-radius:24px;background:linear-gradient(120deg,#29533f,#10392d);margin:18px 0}
body .captain-home>small{font-size:10px;letter-spacing:.1em;color:#d5ec7c}
body .captain-home h2{font-size:23px;line-height:1.2;margin:12px 0}
body .captain-home p{font-size:13px;color:#bdd5c7}
body .captain-home button{min-height:46px}
body .captain-home .league-actions button:first-child{background:#d5ec7c;color:#18392b}
body .booking-section-fast{border-radius:24px}
body .booking-time-flow-fast{border-left:2px solid #4b7865;padding-left:12px}
body .booking-form .time-card-start legend,body .booking-form .duration-block legend{font-size:14px;color:#b9d5c8}
body .booking-confirm-bar{border-color:#658c69;border-radius:20px}
body .fast-board-card input:disabled+span{filter:saturate(.35);opacity:.85}
body .fast-board-card em{white-space:normal;line-height:1.35}
@media(max-width:480px){body .quick-action{padding:13px;min-height:126px;flex-direction:column;align-items:flex-start;gap:8px}body .quick-action strong{font-size:17px}body .quick-action small{font-size:9px;margin-top:5px}body .quick-icon{width:30px;height:30px}body .next-activity-card{grid-template-columns:1fr}body .next-activity-icon{display:none}body .app-topbar .brand-button img{width:72px;height:62px}body .live-board-card{padding:18px}}
/* Mobile-first Aston Martin palette, shared by all public screens. */
:root {
  color-scheme: dark;
  --bg: #071f1b;
  --surface: #143a31;
  --surface-soft: #1c493e;
  --ink: #f0f7f2;
  --muted: #b4cec5;
  --line: #365b50;
  --blue: #b7dfcd;
  --blue-deep: #084c3f;
  --purple: #b7dfcd;
  --accent: #d5ec7c;
  --green: #86ddb3;
  --green-soft: #164836;
  --danger: #ffb3ba;
  --danger-soft: #4a2931;
  --shadow-sm: 0 8px 24px #001b1424;
  --shadow-lg: 0 16px 44px #00160e30;
}
body[data-current-mode="inicio"] .app-main > .section-switcher,
body[data-current-mode="actividad"] .app-main > .section-switcher { display: none; }
[data-live-card="Diana 1"], [data-board-card="Diana 1"], .choice-card:has(input[value="Diana 1"]) { --board-color: #71ddc9; --board-bg: #174b42; }
[data-live-card="Diana 2"], [data-board-card="Diana 2"], .choice-card:has(input[value="Diana 2"]) { --board-color: #f2c36a; --board-bg: #4a4028; }
[data-live-card="Diana 3"], [data-board-card="Diana 3"], .choice-card:has(input[value="Diana 3"]) { --board-color: #c7a6f1; --board-bg: #39314e; }
body .live-board-card, body .board-card { border-top: 4px solid var(--board-color); }
body .board-disc, body .board-number { color: var(--board-color); background: var(--board-bg); }
body .live-board-card > button, body .board-book-button { display: flex; align-items: center; justify-content: center; min-height: 48px; width: 100%; padding: 12px; border-radius: 12px; color: #17251f; background: var(--board-color); font-size: 14px; font-weight: 850; }
body .board-book-button { width: calc(100% - 32px); }
body .choice-card > span { border-top: 4px solid var(--board-color); background: var(--board-bg); }
body .choice-card input:checked + span { border-color: var(--board-color); box-shadow: inset 0 0 0 2px var(--board-color); background: var(--board-bg); }
body .choice-card input:checked + span strong { color: var(--board-color); }
.tournament-details { padding: 14px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 14px; background: #103329; font-size: 13px; line-height: 1.6; }
.tournament-details strong, .tournament-details span { display: block; }
.tournament-details a { display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;margin-top:14px;border-radius:12px;background:var(--accent);color:#12382c;font-weight:850;text-decoration:none;text-align:center; }
.tournament-details span:first-child {font-size:20px;font-weight:850;color:#efffc5;margin-bottom:8px;}
.tournament-details {font-size:15px;border-color:#759c68;box-shadow:inset 4px 0 #cce780;}
.enrollment-explanation { color: var(--muted) !important; font-size: 14px !important; text-transform: none !important; letter-spacing: normal !important; line-height: 1.5; }
[data-enrollment-dialog] .dialog-secondary { width: 100%; margin-top: 12px; }
[data-enrollment-cancel] { background: transparent; color: var(--muted); }
.extra-player { margin-bottom: 12px; }
.extra-player select { width: 100%; min-height: 48px; }
body { background: radial-gradient(ellipse at 80% 0, #18514480, transparent 45rem), var(--bg); }
button, a, input, select, summary { touch-action: manipulation; }
button { transition: background .15s ease, border-color .15s ease; }
button:disabled { cursor: not-allowed; }
html { scroll-padding-top: 90px; }
input, select, button, textarea { scroll-margin-top: 90px; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
input, select, textarea { font-size: 16px; }
.app-topbar { gap: 10px; padding-top: env(safe-area-inset-top, 0px); }
.brand-button { margin-right: auto; }
.brand-button img { width: 64px; height: 54px; }
.activity-shortcut { min-height: 44px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: #143a31; font-size: 12px; font-weight: 750; cursor: pointer; }
.activity-shortcut.active { border-color: var(--accent); }
.activity-shortcut span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 4px; border-radius: 50%; color: #153a2b; background: var(--accent); }
.section-switcher { width: 100%; max-width: none; position: sticky; top: max(6px,env(safe-area-inset-top)); z-index: 25; margin-bottom: 18px; border-color: #456f60; background: #092e27f5; }
.section-switcher button { font-size: 14px; }
.section-switcher button.active { background: var(--accent); color: #173526; }
.connection-notice { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; margin-bottom: 16px; border: 1px solid #b59c5a; border-radius: 14px; color: #ffedc4; background: #3f3722; font-size: 13px; line-height: 1.45; }
.connection-notice button { flex-shrink: 0; min-height: 44px; padding: 8px 12px; border: 1px solid #c1a662; border-radius: 10px; color: #fff2d3; background: #554729; cursor: pointer; }
.home-hero { min-height: 245px; padding: 28px 34px; gap: 16px; background: linear-gradient(125deg,#124b3e,#065244 64%,#21715a); }
.hero-copy h1 { font-size: clamp(36px,5.5vw,62px); letter-spacing: -.045em; line-height: 1.04; }
.hero-copy > p:last-child { font-size: 15px; margin-top: 14px; }
.hero-logo-wrap { min-height: 200px; }
.hero-logo-wrap img { max-height: 210px; }
.preferred-member-card { background: #143a31; border-color: var(--line); }
.preferred-member-card strong { color: var(--ink); }
.preferred-member-card p, .preferred-member-card small { color: var(--muted); }
.preferred-member-card [data-choose-preferred-member] { display: none; }
.preferred-member-card [data-repeat-last-booking] { min-height: 44px; color: var(--blue); background: #0c2e26; border-color: var(--line); }
.preferred-member-avatar { display: none !important; }
.preferred-member-card { grid-template-columns: minmax(0,1fr) auto !important; }
.member-picker-trigger-avatar, .member-picker-option > span, .device-member-option > span:first-child, .device-admin-avatar { display: none !important; }
.member-picker-trigger { grid-template-columns: minmax(0,1fr) auto !important; }
.member-picker-option, .device-member-option { grid-template-columns: minmax(0,1fr) !important; }
.member-picker-option strong, .device-member-option strong { white-space: normal; overflow-wrap: anywhere; }
.access-review-shortcut { display: block; margin: 0 0 16px; padding: 12px 16px; border: 1px solid #72967c; border-radius: 14px; background: #174638; color: #e0eda6; font: 700 14px/1.5 system-ui; text-decoration: none; }
.access-review-shortcut[hidden] { display: none; }
.booking-time-chip { min-height: 48px; padding: 10px 8px; color: #f1f6ea; background: #205344; border-color: #739c88; }
.booking-time-chip.selected { color: #133629; background: #d4e88d; border-color: #e5f5af; box-shadow: inset 0 0 0 1px #e5f5af; }
.booking-time-chip:disabled { opacity: 1; color: #c1cdc6; background: #30473e; border-color: #5c7266; cursor: not-allowed; }
.booking-time-chip:focus-visible { outline: 3px solid #e5f5af; outline-offset: 3px; }
.quick-action { min-height: 114px; background: #1a493b; border: 1px solid #456f59; box-shadow: var(--shadow-sm); }
.quick-action-tournament { background: #295343; border-color: #638264; }
.quick-action strong, .quick-action small, .quick-action em, .quick-action > b { color: var(--ink); }
.quick-action em { color: var(--muted); }
.quick-icon { color: var(--accent); background: #082f26; }
.live-clock { background: #183d31; color: var(--muted); border-color: var(--line); font-variant-numeric: tabular-nums; }
.live-board-card { min-height: 240px; background: var(--surface); }
.live-board-card::after { display: none; }
.live-board-card[data-state="busy"] { background: #1c3d32; border-color: #789b70; }
.live-board-card[data-next-reason="torneo"] { border-color: #b4b66c; }
.live-board-card[data-next-reason^="liga"] { border-color: #6eab99; }
.board-disc, .board-number { color: #eafaee; background: #285d49; box-shadow: inset 0 0 0 4px #8fbd9840; }
.status-pill { color: var(--muted); background: #0c2a23; max-width: 100%; }
.live-board-card[data-state="busy"] .status-pill { color: #e4edbb; background: #3c4d2c; }
.live-board-card[data-state="busy"] .status-pill i { background: var(--accent); }
.live-booking-highlight, .live-booking-highlight[data-reason^="liga"] { background: #205545; border-color: #4f8b71; min-height: 104px; box-shadow: none; }
.live-booking-highlight[data-reason="torneo"] { background: #3a4c2c; border-color: #8c9e58; }
.live-booking-meta { flex-wrap: wrap; gap: 6px; }
.live-booking-meta b { color: #f4f8e1; font-size: 10px; letter-spacing: .035em; }
.live-booking-meta small { font-size: 9px; }
.live-booking-person { white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.live-board-card > button { min-height: 44px; margin-top: 8px; color: var(--accent); }
.next-activity-card { background: #1e4b3c; border-color: #658768; }
.next-activity-icon { background: #12392d; color: var(--accent); }
.next-activity-card > button, .notification-card button { min-height: 44px; background: var(--accent); color: #173526; border-color: var(--accent); }
.notification-card { background: var(--surface); border-color: var(--line); }
.notification-icon { background: #0c2a23; }
.notification-card button[data-active="true"] { background: #234d3f; }
.view-heading { min-height: 144px; padding: 26px; margin-bottom: 18px; background: linear-gradient(115deg,#174b3c,#245d4a); color: var(--ink); }
.view-heading h1 { font-size: clamp(32px,4.5vw,48px); }
.view-heading p:last-child { font-size: 14px; margin-top: 10px; color: #c9ded4; }
.view-heading .section-kicker { color: var(--accent); }
.booking-section { background: #0e2e26; border-color: var(--line); padding: 24px; gap: 28px; }
.booking-intro { top: 90px; }
.booking-intro h2 { font-size: 36px; }
.booking-form, .tournament-form { background: var(--surface); border-color: var(--line); box-shadow: none; }
.booking-form .form-block { margin-bottom: 18px; }
.field-label, .time-card legend { color: var(--ink); font-size: 12px; letter-spacing: .025em; }
.field-help { font-size: 12px; }
.form-block > input, .form-block > select, .form-block > textarea, .time-card input, .booking-other-date input,
.tournament-form .form-block > input, .tournament-form select, .tournament-form textarea { background: #0c2a23; color: var(--ink); border-color: #577769; }
.time-card, .booking-other-date, .editing-notice { color: var(--ink); background: #17372d; border-color: var(--line); }
.booking-time-flow { margin-bottom: 20px; }
.choice-card > span, .tournament-form .choice-card > span { min-height: 112px; padding: 12px 6px; display: flex; flex-direction: column; justify-content: center; gap: 6px; background: #0f3028; border-color: #4b7061; text-align: center; }
.choice-card strong { font-size: 30px; }
.choice-card em { font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.choice-card input:checked + span, .tournament-board-choice .choice-card input:checked + span { background: #315c40; border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.choice-card input:checked + span strong, .choice-card input:checked + span em { color: #f2fadf; }
.fast-board-card[data-availability="free"] em { color: #a7e5c1; }
.fast-board-card[data-availability="busy"] > span { background: #472e32; border-color: #a77278; }
.fast-board-card[data-availability="busy"] em { color: #ffc6ca; }
.fast-board-card em { white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.fast-board-card input:disabled + span { opacity: 1; }
.choice-grid:has(.fast-board-card) { grid-template-columns: 1fr; }
.fast-board-card > span { min-height: 94px; display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 4px 14px; text-align: left; padding: 14px; }
.fast-board-card > span > small { grid-column: 1; text-align: center; }
.fast-board-card > span > strong { grid-column: 1; font-size: 30px; text-align: center; }
.fast-board-card > span > em { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 14px; }
.choice-card input:disabled + span { opacity: .7; }
.segmented-control { gap: 6px; padding: 0; background: none; }
.segmented-control span { color: var(--muted); background: #0f3028; border: 1px solid #4b7061; }
.segmented-control input:checked + span, .segmented-control label:nth-child(2) input:checked + span { background: #315c40; border-color: var(--accent); color: #f2fadf; box-shadow: inset 0 0 0 1px var(--accent); }
.reason-control span { font-size: 12px; }
.tournament-route-button { width: 100%; min-height: 44px; margin-top: 8px; padding: 8px 0; border: 0; color: var(--accent); background: transparent; text-align: left; font-size: 12px; cursor: pointer; }
.next-activity-card { margin-top: 16px; }
.booking-date-shortcuts button, .duration-options span { color: var(--ink); background: #0f3028; border-color: #4b7061; }
.booking-date-shortcuts button.selected, .duration-options input:checked + span { color: #f2fadf; background: #315c40; border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.duration-options small, .booking-date-shortcuts small { font-size: 11px; }
.availability-preview { color: #d5f2de; background: #1c4c36; border-color: #5c8c6e; }
.availability-preview > span { color: #173526; }
.availability-preview small { font-size: 12px; }
.availability-preview[data-status="waiting"], .availability-preview[data-status="loading"] { background: #18362c; border-color: var(--line); }
.booking-alternatives button { min-height: 44px; background: #442f33; color: #ffd4d7; border-color: #a56c76; font-size: 12px; }
.booking-confirm-bar { position: static; margin-top: 16px; padding: 14px; border: 1px solid #658768; border-radius: 16px; background: #0c2a23; box-shadow: none; }
.booking-confirm-bar small { color: var(--muted); }
.booking-confirm-bar strong { color: var(--ink); white-space: normal; line-height: 1.5; font-size: 13px; }
.submit-button, .tournament-submit { min-height: 52px; color: #173526; background: var(--accent); box-shadow: none; font-size: 15px; }
.submit-button:disabled { opacity: .55; }
.tournament-layout { grid-template-columns: minmax(0,1.45fr) minmax(240px,.75fr); align-items: start; }
.tournament-form { grid-column: 1; grid-row: 1; order: -1; }
.tournament-info { grid-column: 2; grid-row: 1; position: sticky; top: 92px; background: #103e32; border: 1px solid var(--line); }
.tournament-info h2 { font-size: 25px; }
.tournament-rule { background: #205140; border: 1px solid #638569; }
.tournament-rule p { color: #d3e8da; }
.tournament-rule > span { background: #d5ec7c; color: #173526; }
.tournament-slot-card small, .tournament-slot-card em { font-size: 11px; }
.tournament-slot-card.selected { background: #315c40; border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.tournament-date-chip.selected { background: var(--accent); }
.tournament-summary p { font-size: 13px; line-height: 1.5; }
.optional-notes { margin: 0 0 18px; border-top: 1px solid var(--line); }
.optional-notes summary { min-height: 48px; padding: 14px 0; color: var(--muted); font-size: 13px; cursor: pointer; }
.optional-notes summary small { margin-left: 6px; }
.member-picker-trigger, .tournament-form .member-picker-trigger { border-color: #577769; color: var(--ink); background: #0f3028; }
.member-picker-trigger.identity-locked:disabled { opacity: 1; background: #0f3028; border-color: #577769; }
.member-picker-trigger small, .tournament-form .member-picker-trigger small { color: var(--muted); }
.member-picker-trigger strong, .tournament-form .member-picker-trigger strong { color: var(--ink); }
.member-picker-trigger-avatar { background: #3a654b; color: #f2fadf; }
.member-picker-trigger.identity-locked .member-picker-trigger-arrow { display: none; }
.agenda-toggle { color: var(--ink); background: #1c493b; border-color: var(--line); }
.agenda-toggle small { color: var(--muted); }
.agenda-shell, .week-calendar, .board-card, .my-reservations-shell { background: var(--surface); border-color: var(--line); }
.week-toolbar > button, .calendar-jump { background: #0e2e26; }
.week-day.selected { background: #476443; color: #f1f7d8; }
.board-heading, .board-card:nth-child(2) .board-heading { background: #1c493e; }
.reservation-item, .reservation-item[data-reason^="liga"] { grid-template-columns: minmax(0,1fr); gap: 7px; background: #154235; border-color: #507c66; border-left-color: #94d1b4; }
.reservation-item[data-reason="torneo"] { background: #35452a; border-color: #748b4c; border-left-color: var(--accent); }
.reservation-time { min-width: 0; font-size: 23px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.reservation-person strong { white-space: normal; overflow-wrap: anywhere; font-size: 15px; }
.reason-badge { justify-self: start; width: fit-content; display: inline-block; color: #d0f0df; background: #285e46; font-size: 10px; }
.reason-badge.torneo { color: #edf5be; background: #506235; }
.board-book-button, .next-activity-card button, .install-button, .admin-link { min-height: 44px; background: #163e31; color: var(--blue); border-color: #52745e; }
.activity-section-title { font-size: 18px; margin: 24px 0 12px; }
.my-reservations-shell { min-height: 0; padding: 16px; }
.no-owned-reservations { background: #0e2e26; border-color: #4b7061; }
.my-reservation-card { background: #0f3028; border-color: #456b57; }
.my-reservation-card h3 { margin-top: 9px; line-height: 1.4; }
.my-reservation-card p { font-size: 13px; }
.my-reservation-actions button { min-height: 44px; font-size: 12px; background: #214d3b; color: #d8f0df; border-color: #567a5c; }
.my-reservation-actions .my-share-button { color: #b7e7c9; background: #214d3b; border-color: #567a5c; }
.my-reservation-actions .my-transfer-button { color: #e9e1b5; background: #3e452c; border-color: #747b4c; }
.my-reservation-actions .my-delete-button { color: var(--danger); border-color: #9a636b; }
.app-tools { background: #15382d; border-color: var(--line); }
.result-dialog, .install-guide-dialog, .member-picker-dialog { color: var(--ink); background: #143a31; border: 1px solid #4b7061; }
.success-summary, .member-picker-option, .install-steps li { background: #0f3028; border-color: #4b7061; }
.member-picker-option strong { color: var(--ink); }
.member-picker-option small { color: var(--muted); }
.dialog-close, .install-guide-close, .member-picker-heading button { color: var(--ink); background: #285c46; }
.dialog-secondary, .install-guide-done { min-height: 48px; color: #173526; background: var(--accent); border-color: var(--accent); }
.success-mark { background: var(--accent); color: #173526; }
.toast { color: #173526; background: #d5ecbd; }
.empty-board small { font-size: 12px; }
@media (min-width: 881px) { .my-reservation-card { grid-template-columns: minmax(0,1fr) minmax(180px,.65fr); } }
body .live-board-card > button { color: #17251f; background: var(--board-color); min-height: 48px; padding: 12px; }
body .tournament-form .choice-card > span { border-top: 4px solid var(--board-color); background: var(--board-bg); }
body .tournament-board-choice .choice-card input:checked + span { border-color: var(--board-color); box-shadow: inset 0 0 0 2px var(--board-color); background: var(--board-bg); }
body .quick-action > span:nth-child(2) small { display:block; margin-top:7px; line-height:1.4; }
@media (max-width: 880px) {
  .tournament-layout { grid-template-columns: 1fr; }
  .tournament-form { grid-column: auto; grid-row: auto; }
  .tournament-info { grid-column: auto; grid-row: auto; position: static; }
  .booking-section { grid-template-columns: 1fr; }
  .booking-intro { position: static; }
  .booking-intro h2, .booking-intro > p { display: none; }
  .book-now-button { margin-top: 0; }
}
@media (max-width: 640px) {
  .app-topbar, .app-main, .site-footer { width: calc(100% - 24px); }
  .brand-button img { width: 53px; height: 45px; }
  .brand-button > span { display: none; }
  .home-hero { min-height: 186px; grid-template-columns: 1.05fr 1fr; padding: 22px 18px; gap: 2px; }
  .hero-copy { text-align: left; }
  .hero-copy h1 { font-size: clamp(29px,7.8vw,42px); }
  .hero-copy > p:last-child { font-size: 12px; line-height: 1.5; margin-top: 10px; }
  .hero-logo-wrap { min-height: 150px; grid-row: auto; }
  .hero-logo-wrap img { width: 100%; height: auto; max-height: 170px; }
  .hero-glow { width: 160px; height: 160px; }
  .quick-actions { grid-template-columns: 1fr 1fr; }
  .quick-action { min-height: 156px; padding: 15px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
  .quick-action strong { font-size: 17px; line-height: 1.25; }
  .quick-action > b, .quick-action em { display: none; }
  .quick-icon { width: 42px; height: 42px; }
  .live-board-card[data-state="free"]:not([data-next-reason]) { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 12px; }
  .live-board-card[data-state="free"]:not([data-next-reason]) .live-board-top { grid-column: 1/-1; }
  .live-board-card[data-state="free"]:not([data-next-reason]) h3 { margin: 2px 0; }
  .live-board-card[data-state="free"]:not([data-next-reason]) .live-booking-empty { grid-row: 3; grid-column: 1/-1; }
  .live-board-card[data-state="free"]:not([data-next-reason]) > button { margin: 0; }
  .live-board-card { min-height: 0; padding: 16px; }
  .live-board-card h3 { margin-top: 10px; font-size: 21px; }
  .live-booking-empty { min-height: 32px; margin-top: 4px; font-size: 13px; }
  .live-booking-highlight { min-height: 94px; margin-top: 8px; }
  .view-heading { min-height: 0; padding: 22px 18px; }
  .view-heading h1 { font-size: 33px; }
  .booking-section { padding: 0; gap: 14px; background: transparent; border: 0; }
  .booking-intro { padding: 0; }
  .book-now-button { margin: 0; }
  .booking-form, .tournament-form { padding: 20px 14px; }
  .booking-confirm-bar { grid-template-columns: 1fr; }
  .booking-confirm-bar .submit-button { width: 100%; font-size: 15px; }
  .tournament-slot-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tournament-slot-card { min-height: 106px; grid-template-columns: 1fr; gap: 8px; }
  .tournament-slot-card em { max-width: none; text-align: left; }
  .member-picker-trigger { min-height: 64px; }
  .device-member-option { min-height: 64px; }
  .reason-control span { font-size: 12px; }
  .section-title-row { gap: 10px; }
  .section-title-row h2 { font-size: 24px; }
  .field-label { text-transform: none; font-size: 14px; }
  .site-footer { min-height: 80px; margin-top: 20px; padding-bottom: max(18px,env(safe-area-inset-bottom)); }
}
.admin-favorites{margin:12px 0;padding:14px;border:1px solid #618b68;border-radius:16px;background:#123d30;color:#f2f5dc}.admin-favorites>strong,.admin-favorites>small{display:block}.admin-favorites>small{margin:5px 0 12px;color:#cfdbcc;font-size:12px;line-height:1.4}.admin-favorites>div{display:flex;flex-wrap:wrap;gap:8px}.admin-favorites button{min-height:46px;border:1px solid #7c9d73;border-radius:12px;background:#215540;color:#f4f8eb;font:inherit;font-weight:750;padding:10px 14px}.admin-favorites button[aria-pressed=true]{background:#d5e991;color:#153b2a}.member-favorite-row{display:flex;gap:5px;min-width:0}.member-favorite-row>.member-picker-option{flex:1;min-width:0}.member-favorite-row>button:last-child{flex:0 0 44px;min-height:48px;border:1px solid #7a956f;border-radius:12px;background:#173e30;color:#dfed9b;font-size:24px}.reason-badge[data-enrollment-state]{display:inline-block;white-space:normal;padding:8px 12px;line-height:1.4}.reason-badge[data-enrollment-state=pending],.reason-badge[data-enrollment-state=self]{background:#f7d79a;color:#55350a}.reason-badge[data-enrollment-state=confirmed]{background:#a9ebbd;color:#143e26}.reason-badge[data-enrollment-state=cancelled]{background:#f7b5af;color:#602522}
