:root{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;color:#11261d;background:radial-gradient(circle at 12% 8%,rgba(235,255,130,.28),transparent 24%),radial-gradient(circle at 88% 10%,rgba(32,121,81,.22),transparent 26%),linear-gradient(150deg,#f8ecd8,#f2ddc1 44%,#e4b88b);font-synthesis:none;font-weight:400;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--display-font: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--court-green: #1d5e42;--court-green-strong: #0f3323;--court-line: #f4f1e8;--clay: #c66b39;--clay-deep: #9d4f24;--ball: #e4ff73;--panel: rgba(255, 248, 238, .82);--panel-border: rgba(14, 46, 31, .12);--ink-soft: rgba(17, 38, 29, .72);--shadow: 0 24px 60px rgba(54, 33, 18, .15)}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{margin:0 auto;max-width:1280px;padding:28px 20px 112px}.auth-shell{max-width:1160px}.booking-panel{scroll-margin-top:108px}.site-header,.page-switch-panel,.hero-scoreboard,.booking-panel,.tournament-info-panel,.tournaments-panel,.account-panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);overflow:hidden;position:relative}.site-header,.page-switch-panel,.hero-scoreboard,.booking-panel,.tournament-info-panel,.tournaments-panel,.account-panel,.day-card{border-radius:32px}.site-header:after,.page-switch-panel:after,.hero-scoreboard:after,.booking-panel:after,.tournament-info-panel:after,.tournaments-panel:after,.account-panel:after{background:linear-gradient(120deg,rgba(255,255,255,.42),transparent 54%);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.site-header{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;gap:16px;justify-content:flex-start;margin:0 0 24px;min-height:164px;padding:20px 26px 20px 20px;position:relative;width:100%;z-index:40}.brand{--brand-portrait-width: 108px;--brand-logo-width: 88px;align-items:center;column-gap:20px;display:grid;grid-template-columns:var(--brand-portrait-width) minmax(0,1fr) var(--brand-logo-width);min-height:100%;min-width:0;width:100%}.brand-portrait{background:linear-gradient(160deg,#123a28fa,#091611fa);border:1px solid rgba(255,255,255,.18);border-radius:34px;box-shadow:0 18px 28px #102f212e,inset 0 1px #ffffff1f;flex-shrink:0;height:132px;overflow:hidden;padding:0;position:relative;width:var(--brand-portrait-width)}.brand-portrait:after{background:radial-gradient(circle,rgba(228,255,115,.92) 0%,rgba(228,255,115,.12) 54%,transparent 72%);content:"";height:42px;position:absolute;right:6px;top:10px;width:42px}.brand-portrait img{height:100%;object-fit:cover;object-position:center top;position:relative;width:100%;z-index:1}.brand-name{align-items:flex-start;color:var(--court-green-strong);display:flex;font-family:var(--display-font);font-size:clamp(2rem,4vw,3.5rem);flex-direction:column;font-style:italic;letter-spacing:.02em;justify-content:center;line-height:.92;max-width:none;text-align:left;width:100%}.brand-mark{align-self:center;display:flex;justify-content:center;width:var(--brand-logo-width)}.brand-mark img{display:block;height:auto;width:100%}.brand-line{display:block}.brand-line-secondary{font-size:.8em;line-height:1}.hero{display:flex;justify-content:center;margin-bottom:28px}.page-switch-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);margin-bottom:20px;padding:12px}.page-switch{background:#11261d0f;border-radius:999px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px}.page-switch-button{background:transparent;border:0;border-radius:999px;color:var(--court-green-strong);font-weight:800;min-height:56px;padding:0 18px;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.page-switch-button:hover{transform:translateY(-1px)}.page-switch-button.is-active{background:linear-gradient(135deg,#1d5e42f5,#0c271bf5);box-shadow:0 14px 24px #102f2129;color:#fff}.hero-copy{padding:40px}.eyebrow,.section-label{color:var(--court-green);font-size:.82rem;font-weight:800;letter-spacing:.16em;margin:0 0 14px;text-transform:uppercase}.hero h1,.panel-header h2{color:var(--court-green-strong);font-family:var(--display-font);line-height:.98;margin:0}.hero h1{font-size:clamp(2.8rem,4.9vw,5.1rem);max-width:11ch}.hero-text,.panel-tip,.day-header p{color:var(--ink-soft);margin:0}.hero-text{font-size:1.08rem;margin-top:20px;max-width:60ch}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.primary-action,.secondary-action{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;min-height:52px;padding:14px 20px;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.primary-action{background:linear-gradient(135deg,var(--clay),var(--clay-deep));box-shadow:0 14px 28px #9d4f243d;color:#fff}.secondary-action{background:#ffffffb3;border:1px solid rgba(17,38,29,.12);color:var(--court-green-strong)}.primary-action:hover,.secondary-action:hover,.footer-whatsapp:hover{filter:brightness(1.02);transform:translateY(-1px)}.hero-highlights{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.highlight-card{background:linear-gradient(180deg,#ffffffdb,#f8efe4eb),#fff;border:1px solid rgba(17,38,29,.08);border-radius:22px;min-height:100px;padding:16px}.highlight-card span{color:#11261d94;display:block;font-size:.76rem;font-weight:800;letter-spacing:.12em;margin-bottom:8px;text-transform:uppercase}.highlight-card strong{color:var(--court-green-strong);display:block;font-size:1rem;line-height:1.3}.hero-visual{display:grid;gap:18px}.hero-poster{background:linear-gradient(160deg,#123a28fa,#091611fa);min-height:426px;padding:18px}.hero-poster img{border-radius:24px;height:100%;min-height:390px;object-fit:cover;width:100%}.poster-badge{background:#091a13db;border:1px solid rgba(255,255,255,.12);border-radius:22px;bottom:28px;color:#fff;padding:14px 18px;position:absolute;right:28px}.poster-badge span{color:#ffffffb8;display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-bottom:4px;text-transform:uppercase}.poster-badge strong{font-family:var(--display-font);font-size:1.3rem;font-style:italic;font-weight:700}.hero-scoreboard{background:radial-gradient(circle at top right,rgba(230,255,126,.16),transparent 30%),linear-gradient(160deg,#0f3122fa,#101f18fa);color:#f8f2ea;margin:0 auto;max-width:760px;padding:24px;width:100%}.hero-scoreboard.is-tournaments{background:radial-gradient(circle at top left,rgba(198,107,57,.18),transparent 30%),radial-gradient(circle at top right,rgba(230,255,126,.12),transparent 28%),linear-gradient(160deg,#0f3122fa,#101f18fa)}.score-eyebrow{color:var(--ball);font-size:.8rem;font-weight:800;letter-spacing:.16em;margin:0 0 14px;text-transform:uppercase}.score-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.score-card{background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:22px;display:grid;gap:6px;padding:18px}.score-label{color:#ffffffb8;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.score-card strong{color:var(--ball);font-size:clamp(2rem,4vw,3rem);line-height:1}.score-card-status{font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.2;text-wrap:balance}.score-note{color:#fffc;font-size:.95rem;margin-top:16px;max-width:42ch}.booking-panel,.tournament-info-panel,.tournaments-panel{margin-bottom:28px;padding:32px}.account-panel{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:28px;padding:24px 28px}.account-panel-copy h2{color:var(--court-green-strong);font-family:var(--display-font);font-size:clamp(1.7rem,2.4vw,2.4rem);line-height:1;margin:0;max-width:16ch}.auth-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:32px;box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(360px,440px);margin-bottom:28px;overflow:hidden;padding:32px;position:relative}.auth-panel:after{background:linear-gradient(120deg,rgba(255,255,255,.42),transparent 54%);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.auth-panel>*{position:relative;z-index:1}.auth-panel-loading{display:block;max-width:760px;padding:32px}.auth-copy,.auth-card{border-radius:28px;padding:28px}.auth-copy{background:radial-gradient(circle at top left,rgba(228,255,115,.22),transparent 28%),linear-gradient(160deg,#0f3122fa,#101f18fa);color:#f8f2ea}.auth-copy .section-label,.auth-copy h2,.auth-copy li{color:inherit}.auth-copy h2{font-family:var(--display-font);font-size:clamp(2rem,3vw,3rem);line-height:.98;margin:0;max-width:12ch}.auth-benefits{display:grid;gap:14px;list-style:none;margin:28px 0 0;padding:0}.auth-benefits li{background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px 18px}.auth-card{background:radial-gradient(circle at top right,rgba(229,255,115,.14),transparent 24%),linear-gradient(180deg,#ffffffe6,#f8eee1f2);border:1px solid rgba(17,38,29,.08)}.auth-card h2{color:var(--court-green-strong);font-family:var(--display-font);font-size:clamp(2rem,3vw,2.8rem);line-height:1;margin:0}.auth-panel-tip,.auth-note{color:var(--ink-soft);margin:0}.auth-panel-tip{margin-top:14px}.auth-note{font-size:.92rem;margin-top:16px}.auth-mode-switch{background:#11261d0f;border-radius:999px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0 18px;padding:6px}.auth-mode-button{background:transparent;border:0;border-radius:999px;color:var(--court-green-strong);font-weight:800;min-height:48px;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.auth-mode-button.is-active{background:linear-gradient(135deg,#1d5e42f5,#0c271bf5);box-shadow:0 14px 24px #102f2129;color:#fff}.auth-form{display:grid;gap:14px}.auth-field{display:grid;gap:8px}.auth-field span{color:var(--court-green-strong);font-size:.92rem;font-weight:800}.auth-field input{background:#fff;border:1px solid rgba(17,38,29,.12);border-radius:16px;color:var(--court-green-strong);min-width:0;outline:none;padding:14px 16px;transition:border-color .16s ease,box-shadow .16s ease}.auth-field input:focus{border-color:#1d5e427a;box-shadow:0 0 0 4px #1d5e421f}.auth-submit-button{background:linear-gradient(135deg,var(--clay),var(--clay-deep));border:0;border-radius:16px;box-shadow:0 14px 26px #9d4f242e;color:#fff;font-weight:800;margin-top:6px;min-height:54px;transition:transform .16s ease,filter .16s ease}.auth-submit-button:hover{filter:brightness(1.03);transform:translateY(-1px)}.auth-submit-button:disabled,.auth-field input:disabled{cursor:not-allowed;opacity:.72}.mobile-booking-toolbar,.mobile-quickbar{display:none}.status-banner{background:#1d5e4214;border:1px solid rgba(29,94,66,.16);border-radius:16px;color:var(--court-green-strong);margin:0 0 20px;padding:12px 14px}.status-banner.error{background:#b759291a;border-color:#b759292e;color:#7d3111}.status-banner.success{background:#1d5e421f;border-color:#1d5e4238}.action-toast{align-items:center;animation:action-toast-enter .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid transparent;border-radius:20px;bottom:calc(22px + env(safe-area-inset-bottom));box-shadow:0 24px 40px #10231a3d;color:#fff;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);left:50%;max-width:min(520px,calc(100vw - 28px));padding:14px 18px;pointer-events:none;position:fixed;transform:translate(-50%);width:calc(100vw - 28px);z-index:90}.action-toast.is-success{background:linear-gradient(135deg,#1d5e42f5,#0c271bf5);border-color:#b3ecc62e}.action-toast.is-error{background:linear-gradient(135deg,#b7402ff5,#741b12f5);border-color:#ffddd62e}.action-toast-icon{align-items:center;background:#ffffff29;border:1px solid rgba(255,255,255,.18);border-radius:999px;display:inline-flex;font-size:1rem;font-weight:900;height:32px;justify-content:center;line-height:1;width:32px}.action-toast-message{font-size:.98rem;font-weight:700;line-height:1.4}@keyframes action-toast-enter{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.panel-header{align-items:end;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.panel-header h2{font-size:clamp(2rem,3vw,3rem);max-width:13ch}.panel-tip{max-width:38ch;text-align:right}.tournaments-panel-header{align-items:start}.tournaments-panel-utility{display:grid;gap:12px;justify-items:end}.tournament-info-panel-header{align-items:start}.tournament-info-summary-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.tournament-info-summary-item,.tournament-info-rules-card{background:radial-gradient(circle at top right,rgba(229,255,115,.18),transparent 30%),linear-gradient(180deg,#ffffffeb,#f8eee1f2);border:1px solid rgba(17,38,29,.08);border-radius:28px;padding:24px}.tournament-info-summary-item{display:grid;gap:8px}.tournament-info-summary-item span{color:#11261d9e;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tournament-info-summary-item strong{color:var(--court-green-strong);font-size:1.02rem;line-height:1.35}.tournament-info-rules-card{display:grid;gap:10px;margin-bottom:18px}.tournament-info-rules-copy{color:var(--ink-soft);margin:0;white-space:pre-wrap}.tournament-info-form{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.tournament-info-field{display:grid;gap:8px}.tournament-info-field.is-wide{grid-column:1 / -1}.tournament-info-field span{color:var(--court-green-strong);font-size:.92rem;font-weight:800}.tournament-info-field input,.tournament-info-field textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(17,38,29,.12);border-radius:16px;color:var(--court-green-strong);min-width:0;outline:none;padding:14px 16px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.tournament-info-field input{min-height:52px}.tournament-info-field textarea{min-height:150px;resize:vertical}.tournament-info-field input:focus,.tournament-info-field textarea:focus{border-color:#1d5e427a;box-shadow:0 0 0 4px #1d5e421f}.tournament-info-actions{align-items:center;display:flex;gap:16px;justify-content:space-between}.tournaments-dashboard{display:grid;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);margin-bottom:18px}.tournament-summary-card,.tournament-action-card,.tournament-bracket-card,.tournament-groups-card,.tournament-matches-entry-card,.tournament-registrations-card,.tournament-stage-card,.tournament-standings-card,.tournament-final-banner{background:radial-gradient(circle at top right,rgba(229,255,115,.18),transparent 30%),linear-gradient(180deg,#ffffffeb,#f8eee1f2);border:1px solid rgba(17,38,29,.08);border-radius:28px;padding:26px}.tournament-summary-card,.tournament-action-card,.tournament-bracket-card,.tournament-groups-card,.tournament-matches-entry-card{display:grid;gap:14px}.tournament-stage-card,.tournament-standings-card,.tournament-final-banner{display:grid;gap:16px}.tournament-card-eyebrow{color:var(--clay);font-size:.78rem;font-weight:800;letter-spacing:.14em;margin:0;text-transform:uppercase}.tournament-status-pill{border-radius:20px;display:inline-flex;font-size:1rem;font-weight:900;justify-content:center;line-height:1.4;padding:14px 16px;text-align:center}.tournament-status-pill.is-open{background:#1d5e421f;color:var(--court-green)}.tournament-status-pill.is-closed{background:#deba4a38;color:#8b5f07}.tournament-status-pill.is-full{background:#c66b3929;color:var(--clay-deep)}.tournament-status-pill.is-inactive{background:#11261d14;color:var(--court-green-strong)}.tournament-summary-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.tournament-summary-metric{background:#11261d0d;border:1px solid rgba(17,38,29,.08);border-radius:20px;display:grid;gap:8px;padding:18px}.tournament-summary-metric span{color:#11261d9e;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tournament-summary-metric strong{color:var(--court-green-strong);font-size:1.08rem;line-height:1.35}.tournament-action-card h3,.tournament-bracket-card h3,.tournament-groups-card h3,.tournament-matches-entry-card h3,.tournament-registrations-card h3,.tournament-stage-card h3,.tournament-standings-card h3{color:var(--court-green-strong);font-family:var(--display-font);font-size:clamp(1.85rem,2.3vw,2.45rem);line-height:.98;margin:0;max-width:16ch}.tournament-card-copy,.tournament-action-card p,.tournament-bracket-note,.tournament-match-result-copy,.tournament-table-empty,.tournament-modal-copy{color:var(--ink-soft);margin:0}.tournament-primary-button{background:linear-gradient(135deg,var(--clay),var(--clay-deep));border:0;border-radius:16px;box-shadow:0 14px 26px #9d4f242e;color:#fff;font-weight:800;min-height:52px;padding:12px 18px;transition:transform .16s ease,filter .16s ease}.tournament-primary-button:hover{filter:brightness(1.03);transform:translateY(-1px)}.tournament-primary-button:disabled{cursor:not-allowed;filter:none;opacity:.72;transform:none}.tournament-card-header{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.tournament-table-count{color:var(--court-green-strong);font-size:1.1rem;white-space:nowrap}.tournament-table-wrap{overflow-x:auto}.tournament-table{border-collapse:collapse;min-width:100%}.tournament-table th,.tournament-table td{border-bottom:1px solid rgba(17,38,29,.08);padding:14px 12px;text-align:left}.tournament-table th{color:#11261d8f;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tournament-table td{color:var(--court-green-strong);font-weight:700}.tournament-registrations-card,.tournament-groups-card,.tournament-matches-entry-card{margin-bottom:18px}.tournament-matches-shell{display:grid;gap:18px}.tournament-matches-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.tournament-matches-actions{display:grid;gap:12px;justify-items:end}.booking-secondary-button.tournament-back-button{align-self:start;background:linear-gradient(180deg,#fffffffa,#f0f5f1f5);border-color:#1d5e4238;box-shadow:0 10px 22px #11261d14;color:var(--court-green-strong)}.booking-secondary-button.tournament-back-button:hover{background:linear-gradient(180deg,#f8fbf9,#e6eee9fa);border-color:#1d5e4257}.booking-secondary-button.tournament-back-button:focus-visible{border-color:#1d5e4261;box-shadow:0 0 0 4px #1d5e421f,0 10px 22px #11261d14;outline:none}.tournament-final-banner{align-items:start;background:radial-gradient(circle at top right,rgba(228,255,115,.24),transparent 28%),linear-gradient(150deg,#1d5e42fa,#0f3323fa);border:0;color:#fff}.tournament-final-banner .tournament-card-eyebrow,.tournament-final-banner strong{color:#fff}.tournament-final-banner strong{font-family:var(--display-font);font-size:clamp(2rem,3vw,2.7rem);line-height:.96}.tournament-standings-grid,.tournament-knockout-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-match-list{display:grid;gap:12px}.tournament-match-card{background:#11261d0d;border:1px solid rgba(17,38,29,.08);border-radius:22px;display:grid;gap:12px;padding:14px 16px}.tournament-match-card.is-completed{background:radial-gradient(circle at top right,rgba(229,255,115,.16),transparent 30%),#11261d0d}.tournament-match-card-header{align-items:start;display:flex;gap:10px;justify-content:space-between}.tournament-match-card-header strong{color:var(--court-green-strong);display:block;font-size:1rem}.tournament-match-card-header span{color:#11261d94;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tournament-match-state{border-radius:999px;font-size:.74rem;font-weight:900;letter-spacing:.08em;padding:7px 11px;text-transform:uppercase;white-space:nowrap}.tournament-match-state.is-completed{background:#1d5e4224;color:var(--court-green)}.tournament-match-state.is-ready{background:#c66b3929;color:var(--clay-deep)}.tournament-match-state.is-waiting{background:#11261d14;color:var(--court-green-strong)}.tournament-match-sides{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.tournament-match-side{align-items:center;background:#ffffffa8;border:1px solid rgba(17,38,29,.08);border-radius:18px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:12px 14px}.tournament-match-side.is-pending{background:#11261d0a}.tournament-match-side-copy{display:grid;gap:4px;min-width:0}.tournament-match-side-copy span{color:#11261d8f;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tournament-match-side-copy strong{color:var(--court-green-strong);font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}.tournament-match-side-score{align-items:center;display:flex;flex-shrink:0;justify-content:center}.tournament-match-side-score input,.tournament-match-side-score strong{font-size:1.18rem;font-weight:900;line-height:1;min-height:44px;min-width:72px;text-align:center}.tournament-match-side-score input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(17,38,29,.12);border-radius:14px;color:var(--court-green-strong);outline:none;padding:0 10px;transition:border-color .16s ease,box-shadow .16s ease;width:72px}.tournament-match-side-score input::placeholder{color:#11261d57}.tournament-match-side-score input:focus{border-color:#1d5e427a;box-shadow:0 0 0 4px #1d5e421f}.tournament-match-side-score.is-readonly{background:#11261d0f;border:1px solid rgba(17,38,29,.08);border-radius:14px;padding:0 12px}.tournament-match-side-score.is-readonly.has-value{background:#e5ff732e}.tournament-match-side-score strong{align-items:center;color:var(--court-green-strong);display:inline-flex;justify-content:center}.tournament-match-versus{color:#11261d7a;font-size:.9rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.tournament-match-footer{align-items:center;display:flex;gap:12px;justify-content:space-between}.tournament-match-footer .tournament-match-result-copy{flex:1;font-size:.95rem}.tournament-match-footer .tournament-secondary-button{min-height:44px;padding:10px 16px;white-space:nowrap}.tournament-groups-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tournament-group-card{background:#11261d0d;border:1px solid rgba(17,38,29,.08);border-radius:22px;display:grid;gap:14px;padding:18px}.tournament-group-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.tournament-group-card-header strong{color:var(--court-green-strong);font-size:1.05rem}.tournament-group-card-header span{color:#11261d94;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tournament-group-empty{color:var(--ink-soft);margin:0}.tournament-group-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.tournament-group-list-item{align-items:center;background:#ffffff9e;border:1px solid rgba(17,38,29,.06);border-radius:16px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.tournament-group-list-item span{color:var(--court-green-strong);font-weight:700}.tournament-group-list-item strong{color:#11261d99;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tournament-bracket-card{gap:18px}.tournament-group-form{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(180px,240px) auto}.tournament-participant-form{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(220px,320px) auto;margin-bottom:18px}.tournament-group-field{display:grid;gap:8px}.tournament-group-field span{color:var(--court-green-strong);font-size:.92rem;font-weight:800}.tournament-group-field input,.tournament-config-input,.tournament-config-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(17,38,29,.12);border-radius:16px;color:var(--court-green-strong);min-height:50px;min-width:0;outline:none;padding:0 14px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.tournament-group-field input:focus,.tournament-config-input:focus,.tournament-config-select:focus{border-color:#1d5e427a;box-shadow:0 0 0 4px #1d5e421f}.tournament-setup-wrap{overflow-x:auto}.tournament-setup-table td{vertical-align:middle}.booking-secondary-button.tournament-secondary-button{background:#11261d0f;border-color:#11261d1f;color:var(--court-green-strong)}.booking-secondary-button.tournament-secondary-button:hover{background:#11261d1a;border-color:#11261d2e}.tournament-modal-backdrop{align-items:center;background:#11261d80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:30}.tournament-modal{background:radial-gradient(circle at top right,rgba(229,255,115,.18),transparent 32%),linear-gradient(180deg,#fffffffa,#f8eee1fa);border:1px solid rgba(17,38,29,.08);border-radius:28px;box-shadow:0 24px 80px #11261d38;max-height:min(640px,calc(100vh - 36px));max-width:560px;overflow:auto;padding:26px;width:min(100%,560px)}.tournament-modal-header{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.tournament-modal-header h3{color:var(--court-green-strong);font-family:var(--display-font);font-size:clamp(1.9rem,3vw,2.55rem);line-height:.98;margin:0;max-width:12ch}.tournament-modal-close{align-items:center;background:#11261d0f;border:1px solid rgba(17,38,29,.1);border-radius:999px;color:var(--court-green-strong);display:inline-flex;font-size:.92rem;font-weight:900;height:42px;justify-content:center;width:42px}.tournament-modal-close:hover{background:#11261d1a}.tournament-modal-form{display:grid;gap:18px}.tournament-modal-field{display:grid;gap:8px}.tournament-modal-field span{color:var(--court-green-strong);font-size:.92rem;font-weight:800}.tournament-modal-field input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(17,38,29,.12);border-radius:16px;color:var(--court-green-strong);min-height:54px;min-width:0;outline:none;padding:0 16px;transition:border-color .16s ease,box-shadow .16s ease}.tournament-modal-field input:focus{border-color:#1d5e427a;box-shadow:0 0 0 4px #1d5e421f}.tournament-limit-presets{display:flex;flex-wrap:wrap;gap:10px}.tournament-limit-preset{background:#11261d0d;border:1px solid rgba(17,38,29,.08);border-radius:999px;color:var(--court-green-strong);font-weight:800;min-height:42px;padding:0 16px}.tournament-limit-preset.is-active{background:#1d5e421f;border-color:#1d5e4247}.tournament-limit-preset:hover{background:#11261d14}.tournament-modal-actions{display:flex;gap:12px;justify-content:flex-end}.tournament-modal-actions .booking-secondary-button{background:#11261d0d;border-color:#11261d1f;color:var(--court-green-strong)}.tournament-modal-actions .booking-secondary-button:hover{background:#11261d17;border-color:#11261d2e}.tournament-modal-actions>*{flex:0 0 auto}.session-card{align-items:flex-start;background:#11261d0d;border:1px solid rgba(17,38,29,.08);border-radius:24px;display:grid;gap:8px;justify-items:start;min-width:230px;padding:16px}.account-session-card{align-items:center;display:flex;gap:12px;flex-shrink:0}.session-card-label{color:#11261da3;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.session-card strong{color:var(--court-green-strong);font-size:1.1rem}.account-username{color:var(--court-green-strong);font-size:1.05rem;line-height:1.1}.session-card-button{background:#fffc;border:1px solid rgba(17,38,29,.12);border-radius:999px;color:var(--court-green-strong);font-weight:800;min-height:40px;padding:8px 14px;transition:transform .16s ease,border-color .16s ease}.session-card-button:hover{border-color:#1d5e423d;transform:translateY(-1px)}.logout-button{background:linear-gradient(135deg,#d84a38,#aa2216);border-color:#8218104d;color:#fff}.logout-button:hover{background:linear-gradient(135deg,#e25543,#ba2a1d);border-color:#82181066}.day-switch{display:grid;gap:10px}.day-switch-button{background:#ffffffb8;border:1px solid rgba(17,38,29,.1);border-radius:18px;color:var(--court-green-strong);display:grid;gap:4px;padding:14px 16px;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.day-switch-button span{font-size:1rem;font-weight:800}.day-switch-button small{color:#11261d9e;font-size:.8rem}.day-switch-button.is-active{background:linear-gradient(135deg,#1d5e42f5,#0c271bf5);border-color:transparent;box-shadow:0 16px 26px #102f2133;color:#fff}.day-switch-button.is-active small{color:#ffffffc2}.day-switch-button:hover{border-color:#1d5e422e;transform:translateY(-1px)}.day-switch-meta{color:#11261d9e;font-size:.92rem;margin:0}.days-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.day-card{background:radial-gradient(circle at top right,rgba(229,255,115,.18),transparent 28%),linear-gradient(180deg,#ffffffe0,#f8eee1f0);border:1px solid rgba(17,38,29,.08);padding:24px}.day-header{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.day-header h3{color:var(--court-green-strong);font-size:1.58rem;margin:0 0 6px}.day-count{background:#c66b3924;border-radius:999px;color:var(--clay);font-size:.84rem;font-weight:800;padding:9px 12px;white-space:nowrap}.slots-list{display:grid;gap:12px}.slot-row{align-items:center;background:#ffffffb8;border:1px solid rgba(17,38,29,.08);border-radius:22px;display:grid;gap:14px;grid-template-columns:88px minmax(0,1fr);min-height:80px;padding:13px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.slot-row:hover{border-color:#1d5e422e;box-shadow:0 14px 24px #22403014;transform:translateY(-1px)}.slot-time{color:var(--court-green-strong);font-size:1.02rem;font-weight:800}.is-booked{background:linear-gradient(135deg,#1d5e42fa,#0c271bfa);color:#fff}.is-booked .slot-time{color:#ffffffe6}.is-occupied{background:linear-gradient(135deg,#b43e2ffa,#7a1f15fa);color:#fff}.is-occupied .slot-time{color:#ffffffeb}.is-unavailable{background:linear-gradient(135deg,#4c4843fa,#262422fa);color:#fff}.is-unavailable .slot-time{color:#ffffffeb}.booking-form,.booking-action{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.booking-action,.booking-form{align-items:center}.slot-action-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.booking-form .slot-action-buttons{align-items:center}.booking-user-preview{display:grid;gap:4px}.booking-user-preview span{color:#11261d94;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.booking-user-preview strong{color:var(--court-green-strong);font-size:1rem}.booking-form input{background:#fff;border:1px solid rgba(17,38,29,.12);border-radius:15px;color:var(--court-green-strong);min-width:0;outline:none;padding:12px 14px;transition:border-color .16s ease,box-shadow .16s ease}.booking-form input:focus{border-color:#1d5e427a;box-shadow:0 0 0 4px #1d5e421f}.booking-form button,.booking-action button{background:linear-gradient(135deg,var(--clay),var(--clay-deep));border:0;border-radius:15px;box-shadow:0 12px 22px #9d4f242e;color:#fff;font-weight:800;padding:12px 16px;transition:transform .16s ease,filter .16s ease}.booking-form button:hover,.booking-action button:hover{filter:brightness(1.04);transform:translateY(-1px)}.booking-form button:disabled,.booking-form input:disabled,.booking-action button:disabled{cursor:not-allowed;opacity:.72}.booking-form button:disabled,.booking-action button:disabled,.session-card-button:disabled,.auth-submit-button:disabled{filter:none;transform:none}.booked-card{align-items:center;display:flex;gap:14px;justify-content:space-between}.booked-card.is-admin-slot,.booked-card.is-owned{align-items:center;gap:16px;width:100%}.booked-card-copy{display:grid;gap:4px}.booking-state{color:#ffffffbd;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booked-card strong{font-size:1.05rem}.occupied-card{justify-content:flex-start}.occupied-card strong{color:#fff;font-size:1.05rem}.booked-card.is-owned .booking-state{color:var(--ball)}.is-unavailable .booking-state{color:#ffffffb8}.booking-secondary-button{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:15px;color:#fff;font-weight:800;min-height:46px;padding:12px 16px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.booking-secondary-button:hover{background:#ffffff2e;border-color:#ffffff52;transform:translateY(-1px)}.booking-secondary-button:disabled{cursor:not-allowed;opacity:.72;transform:none}.booking-danger-button{align-items:center;background:linear-gradient(135deg,#d84a38,#aa2216);border:1px solid rgba(255,255,255,.18);border-radius:15px;color:#fff;display:inline-flex;gap:8px;font-weight:800;justify-content:center;min-height:46px;padding:12px 16px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.booking-danger-button:before{content:"X";display:inline-block;font-size:.9em;font-weight:900;line-height:1}.booking-danger-button:hover{background:linear-gradient(135deg,#e25543,#ba2a1d);border-color:#ffffff42;transform:translateY(-1px)}.booking-danger-button:disabled{cursor:not-allowed;opacity:.72;transform:none}@media (min-width: 721px){.auth-hero{display:block}.auth-scoreboard{max-width:none}}@media (min-width: 1041px){.hero{display:block}.hero-scoreboard{max-width:none}.booking-panel,.tournament-info-panel{padding:36px 40px 40px}.page-switch-panel{padding:14px}.tournaments-panel{padding:36px 40px 40px}.days-grid{gap:24px}.day-card{padding:28px}.slot-row{grid-template-columns:96px minmax(0,1fr);padding:14px 16px}.booking-action,.booking-form{gap:14px}.booked-card.is-admin-slot,.booked-card.is-owned{display:grid;grid-template-columns:minmax(0,1fr) auto}.booked-card-copy{min-width:0}.slot-action-buttons{gap:12px}.slot-action-buttons>button,.booking-secondary-button,.booking-danger-button,.booking-form button,.booking-action button{flex:0 0 auto;white-space:nowrap}}@media (max-width: 1040px){.auth-panel{grid-template-columns:1fr}.tournament-info-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournaments-dashboard,.days-grid{grid-template-columns:1fr}.hero-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.account-panel,.panel-header{align-items:start;flex-direction:column}.panel-tip{max-width:none;text-align:left}.tournaments-panel-utility{justify-items:start}.tournament-info-actions{align-items:stretch;flex-direction:column}.tournament-info-actions .tournament-primary-button{width:100%}.tournament-card-header,.tournament-matches-header{align-items:start;flex-direction:column}.tournament-matches-actions{justify-items:start}.tournament-group-form,.tournament-participant-form,.tournament-info-form,.tournament-standings-grid,.tournament-knockout-grid{grid-template-columns:1fr}.session-card{width:100%}.account-session-card{align-items:stretch;flex-direction:column}}@media (max-width: 720px){.app-shell{padding:16px 12px calc(96px + env(safe-area-inset-bottom))}.site-header,.page-switch-panel,.hero-scoreboard,.auth-panel,.account-panel,.booking-panel,.tournament-info-panel,.tournaments-panel,.day-card{border-radius:24px;padding:20px}.site-header{gap:14px;min-height:138px;padding:18px}.brand{align-items:center;--brand-portrait-width: 84px;--brand-logo-width: 66px;column-gap:16px}.brand-portrait{border-radius:24px;height:108px}.brand-mark{width:var(--brand-logo-width)}.brand-name{font-size:clamp(1.85rem,7vw,2.45rem)}.hero h1{max-width:none}.hero{gap:16px}.auth-panel{gap:18px}.page-switch-button{min-height:52px;padding:0 14px}.auth-copy,.auth-card{padding:22px}.hero-text{font-size:1rem}.hero-actions,.hero-highlights{grid-template-columns:1fr}.hero-actions{display:grid}.hero-poster{min-height:270px;padding:12px}.hero-poster img{min-height:228px}.poster-badge{bottom:20px;left:20px;padding:12px 14px;right:auto}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-highlights{display:flex;margin-inline:-2px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.highlight-card{flex:0 0 82%;min-height:0;scroll-snap-align:start}.mobile-booking-toolbar{display:grid;gap:12px;margin:0 0 18px}.day-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.day-switch-button{min-height:72px}.panel-header h2{max-width:none}.tournament-summary-grid,.tournament-info-summary-grid,.tournament-groups-grid,.tournament-match-sides{grid-template-columns:1fr}.tournament-match-versus{justify-self:center}.tournament-match-footer{align-items:stretch;flex-direction:column}.tournament-match-footer .tournament-secondary-button{width:100%}.tournament-info-field input,.tournament-info-field textarea,.tournament-config-input{font-size:16px}.days-grid{gap:14px}.day-card{display:none}.day-card.is-selected{display:block}.day-header,.booked-card{align-items:start;flex-direction:column}.slot-row,.booking-form,.booking-action{grid-template-columns:1fr}.slot-row{gap:10px;min-height:0;padding:14px}.slot-time{align-items:center;background:#11261d12;border-radius:999px;display:inline-flex;justify-content:center;min-height:40px;padding:0 12px;width:fit-content}.tournament-summary-card,.tournament-action-card,.tournament-info-summary-item,.tournament-info-rules-card,.tournament-bracket-card,.tournament-groups-card,.tournament-matches-entry-card,.tournament-registrations-card,.tournament-stage-card,.tournament-standings-card,.tournament-final-banner,.tournament-modal{padding:22px}.tournament-modal{border-radius:24px}.tournament-modal-actions{flex-direction:column-reverse}.tournament-modal-actions>*{width:100%}.is-booked .slot-time{background:#ffffff1f}.booking-form,.booking-action{gap:12px}.slot-action-buttons{justify-content:stretch}.booking-form input,.booking-form button,.booking-action button,.booking-secondary-button,.auth-submit-button{min-height:52px}.booking-form input,.auth-field input{font-size:16px}.action-toast{bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px);padding:13px 15px;width:calc(100vw - 20px)}}@media (max-width: 420px){.brand{--brand-logo-width: 54px;column-gap:12px}.brand-mark{width:var(--brand-logo-width)}.brand-name{font-size:1.48rem;max-width:10ch}.score-grid{grid-template-columns:1fr}.highlight-card{flex-basis:88%}}.mobile-only{display:none}@media (max-width: 720px){:root{background:#f9f1e0;--court-green: #2a5d43;--court-green-strong: #173b2d;--clay: #b3572f;--clay-deep: #984022;--ink-soft: #697268;--panel: rgba(255, 253, 246, .9);--panel-border: rgba(55, 72, 43, .1);--shadow: 0 12px 32px rgba(72, 57, 26, .08)}body{isolation:isolate}body:before{background:#f9f1e0 url(/assets/background-WyvA12uw.webp) center top / cover no-repeat;content:"";height:100vh;height:100lvh;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.mobile-only{display:block}.mobile-icon{flex-shrink:0;height:22px;width:22px}.app-shell{max-width:640px;padding:12px 14px calc(28px + env(safe-area-inset-bottom))}.site-header:after,.page-switch-panel:after,.hero-scoreboard:after,.booking-panel:after,.tournament-info-panel:after,.tournaments-panel:after,.account-panel:after{display:none}.site-header{border-radius:26px;margin-bottom:14px;min-height:0;padding:12px;z-index:1}.brand{--brand-portrait-width: 58px;--brand-logo-width: 44px;column-gap:12px}.brand-portrait{border-radius:18px;box-shadow:none;height:72px}.brand-portrait:after{display:none}.brand-name{font-size:clamp(1.65rem,6.5vw,2.1rem);letter-spacing:-.025em;line-height:1.05;max-width:none}.brand-line-secondary{font-size:.74em;line-height:1.2;white-space:nowrap}.page-switch-panel{border-radius:999px;margin-bottom:12px;padding:5px}.page-switch,.auth-mode-switch,.day-switch{border-radius:999px;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.page-switch{background:transparent;padding:0}.page-switch-button{align-items:center;display:flex;font-size:.9rem;font-weight:700;gap:8px;justify-content:center;min-height:44px;padding:0 8px}.desktop-page-label,.desktop-booking-label{display:none}.page-switch-button.is-active,.auth-mode-button.is-active,.day-switch-button.is-active{background:linear-gradient(125deg,#34694f,#163a2b);box-shadow:0 5px 14px #153c2b21}.hero{margin-bottom:20px}.hero-scoreboard{border-radius:24px;padding:16px}.hero-scoreboard:not(.auth-scoreboard)>.score-eyebrow{display:none}.score-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.score-card{align-content:center;align-items:center;background:none;border:0;border-radius:0;column-gap:10px;grid-template-columns:auto minmax(0,1fr);min-width:0;padding:0;row-gap:3px}.score-card+.score-card{border-left:1px solid rgba(255,255,255,.2);padding-left:12px}.score-icon,.auth-lock{align-items:center;background:#ffffff1f;border-radius:50%;color:#e8f4b1;display:flex;grid-row:1 / 3;height:40px;justify-content:center;width:40px}.score-label{font-size:.63rem;grid-column:2;letter-spacing:.06em}.score-card strong{font-size:1.5rem;grid-column:2;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-card .score-card-status{font-size:.95rem;overflow-wrap:anywhere;white-space:normal}.score-note{font-size:.83rem;line-height:1.5;margin-top:12px;max-width:none}.score-note:empty{display:none}.booking-panel{background:none;border:0;border-radius:0;box-shadow:none;margin-bottom:16px;overflow:visible;padding:0;scroll-margin-top:16px}.booking-panel>.panel-header{margin:0 5px 16px}.mobile-booking-heading h2{font-size:clamp(1.85rem,7.5vw,2.5rem);font-style:italic;font-weight:500;letter-spacing:-.035em;line-height:1.12;max-width:none}.mobile-booking-heading p{color:var(--ink-soft);font-size:.85rem;margin:6px 0 0}.mobile-booking-toolbar{display:block;margin-bottom:12px}.day-switch{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);padding:6px}.day-switch-button{align-content:center;background:#173b2d09;border:0;border-radius:999px;gap:1px;min-height:56px;padding:7px 10px;text-align:center}.day-switch-button span{font-size:.98rem;font-weight:700}.day-switch-button small{font-size:.75rem}.day-card{border-color:#ffffffe6;border-radius:26px;box-shadow:var(--shadow);min-width:0;padding:16px 12px 12px}.day-header{align-items:center;flex-direction:row;gap:8px;margin:0 4px 14px}.day-header h3{font-family:var(--display-font);font-size:1.8rem;font-style:italic;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}.day-header .day-booked-summary{font-size:.75rem;margin-top:3px}.day-count{display:none}.day-free-count{align-items:center;background:#edf4de;border-radius:999px;color:#365d3a;display:inline-flex;font-size:.7rem;font-weight:700;gap:6px;padding:8px 10px;white-space:nowrap}.day-free-count .mobile-icon{height:17px;width:17px}.slots-list{gap:8px}.slot-row{border-radius:17px;gap:12px;grid-template-columns:56px minmax(0,1fr);min-height:70px;padding:11px 12px}.slot-row:hover{box-shadow:none;transform:none}.slot-row.is-free{background:linear-gradient(110deg,#f8fbed,#f3f8ed);border-color:#dce9cb}.slot-row.is-unavailable{background:linear-gradient(110deg,#eeece9,#f3f0ed);border-color:transparent;color:#33362f}.slot-row.is-occupied,.slot-row.is-booked{background:linear-gradient(110deg,#fbe9e2,#fcf0eb);border-color:#f4e0d7;color:#74392d}.slot-row.is-own-booking{background:linear-gradient(110deg,#e9f1e5,#f1f5eb);border-color:#d8e5d2;color:var(--court-green-strong)}.slot-row .slot-time{align-items:center;background:none;border-right:1px solid rgba(48,61,47,.2);border-radius:0;color:inherit;display:flex;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:800;min-height:38px;padding:0 10px 0 0;width:auto}.slot-row.is-free .slot-time{color:var(--court-green-strong)}.slot-row .booked-card,.slot-row .booking-action{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;min-width:0;width:100%}.booked-card-copy,.free-slot-copy{display:grid;gap:2px;min-width:0}.slot-row strong,.slot-row .booking-state{color:inherit;font-size:.87rem;font-weight:700;letter-spacing:0;line-height:1.3;overflow-wrap:anywhere;text-transform:none}.slot-row .booked-card.is-owned .booking-state{color:inherit}.slot-row small,.is-unavailable .booking-state,.is-booked .booked-card-copy strong{color:#697065;font-size:.75rem;font-weight:400;line-height:1.35}.is-unavailable .booked-card-copy strong{order:-1}.slot-row .occupied-card{column-gap:8px;row-gap:2px}.occupied-card>strong,.occupied-note{grid-column:1}.occupied-card .slot-indicator{grid-column:2;grid-row:1 / 3}.slot-indicator{color:#96978f;margin:0 4px}.is-occupied .slot-indicator,.is-booked .slot-indicator{color:#b7553c}.booking-user-preview{display:none}.booking-action .slot-action-buttons{display:contents}.slot-row button{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:700;gap:4px;justify-content:center;min-height:44px;min-width:44px;padding:8px 10px}.slot-row button .mobile-icon{height:15px;width:15px}.slot-row .booking-secondary-button{background:#ffffffb3;border:1px solid rgba(23,59,45,.15);box-shadow:none;color:var(--court-green-strong);max-width:105px}.has-manual-actions .booking-action .booking-secondary-button{grid-row:2;max-width:none}.slot-row .booking-danger-button{background:#fff7f0;border-color:#e8cdbb;color:#96422d}.slot-row .booking-danger-button:before{display:none}.slot-row .booking-form{gap:8px;grid-template-columns:minmax(0,1fr)}.booking-form .slot-action-buttons{gap:6px;justify-content:flex-start}.slot-row .booking-form input{font-size:16px;min-height:44px;padding:10px;width:100%}.auth-hero{margin-bottom:16px}.auth-scoreboard{column-gap:12px;display:grid;grid-template-columns:40px minmax(0,1fr);padding:18px 16px}.auth-scoreboard .score-eyebrow{font-size:.73rem;grid-column:2;letter-spacing:.14em;margin:0 0 7px}.auth-scoreboard .score-note{grid-column:2;margin:0}.auth-card{background:#fffdf8f0;border-color:#ffffffe6;border-radius:26px;box-shadow:var(--shadow);padding:20px}.auth-mode-switch{margin:0 0 22px}.auth-mode-button{font-size:1rem;font-weight:700;min-height:46px;padding:8px}.auth-form{gap:18px}.auth-field{gap:7px;position:relative}.auth-field>span{font-weight:700}.auth-input-icon{bottom:16px;color:#717b70;left:16px;pointer-events:none;position:absolute}.auth-field input{border-color:#dedfd8;border-radius:16px;font-size:16px;min-height:54px;padding:14px 16px 14px 48px;width:100%}.auth-submit-button{border-radius:16px;font-size:1.05rem;font-weight:700;margin-top:2px;min-height:54px}.auth-panel-loading{padding:24px}.auth-panel-loading h2{font-family:var(--display-font);font-size:1.5rem;line-height:1.25}.account-panel{border-radius:22px;margin:0;padding:12px 16px}.account-panel-copy{display:none}.account-session-card{align-items:center;background:none;border:0;flex-direction:row;justify-content:space-between;min-width:0;padding:0;width:100%}.session-card .account-username{font-size:.85rem;line-height:1.35;min-width:0;overflow-wrap:anywhere}.logout-button{background:transparent;border-color:#173b2d2e;color:var(--court-green-strong);flex-shrink:0;min-height:44px;min-width:60px}.logout-button:hover{background:#173b2d0f;border-color:#173b2d4d}.tournament-info-panel,.tournaments-panel{margin-bottom:16px;padding:20px 16px}.tournaments-panel button,.tournament-info-panel button{min-height:44px;min-width:44px}.tournament-summary-card,.tournament-action-card,.tournament-info-summary-item,.tournament-info-rules-card,.tournament-bracket-card,.tournament-groups-card,.tournament-matches-entry-card,.tournament-registrations-card,.tournament-stage-card,.tournament-standings-card,.tournament-final-banner{border-radius:20px;min-width:0;padding:16px}.status-banner{font-size:.85rem;margin-bottom:14px}.action-toast{border-radius:18px;max-width:calc(100vw - 28px);padding:12px 14px;width:calc(100vw - 28px)}.action-toast-message{font-size:.85rem;overflow-wrap:anywhere}button:focus-visible,a:focus-visible{outline:3px solid #a05b32;outline-offset:3px}}@media (max-width: 359px){.app-shell{padding-inline:10px}.brand{--brand-portrait-width: 50px;--brand-logo-width: 36px;column-gap:10px}.brand-portrait{height:64px}.score-icon{height:32px;width:32px}.score-card{column-gap:7px}.score-card+.score-card{padding-left:8px}.score-label{font-size:.58rem}.slot-row{column-gap:8px;grid-template-columns:50px minmax(0,1fr);padding-inline:10px}.slot-row .slot-time{font-size:.9rem;padding-right:6px}.slot-row button{font-size:.7rem;padding-inline:8px}}@media (max-width: 720px) and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 720px){.tournament-info-panel,.tournaments-panel{background:none;border:0;border-radius:0;box-shadow:none;margin-bottom:22px;overflow:visible;padding:0}.tournament-info-panel .panel-header,.tournaments-panel>.panel-header{gap:14px;margin:0 5px 16px;width:calc(100% - 10px)}.tournament-info-panel h2,.tournaments-panel>.panel-header h2,.tournament-matches-header h2{color:var(--court-green-strong);font-family:var(--display-font);font-size:1.95rem;font-style:italic;font-weight:500;letter-spacing:-.035em;line-height:1.12;margin:0;max-width:none}.tournament-desktop-title{display:none}.tournaments-panel-utility{width:100%}.tournaments-panel-utility:empty,.tournaments-panel-utility.is-empty{display:none}.tournaments-panel-utility .tournament-primary-button{width:100%}.tournament-info-summary-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.tournament-info-summary-item{align-content:start;background:var(--panel);border:1px solid rgba(255,255,255,.85);border-radius:20px;box-shadow:var(--shadow);gap:8px;grid-template-columns:minmax(0,1fr) 24px;min-width:0;padding:14px}.tournament-meta-icon{color:#547550;grid-column:2;grid-row:1;height:21px;width:21px}.tournament-info-summary-item>span{align-self:center;color:#687466;font-size:.65rem;font-weight:700;grid-column:1;grid-row:1;letter-spacing:.055em;line-height:1.4}.tournament-info-summary-item>strong{font-size:.87rem;font-weight:700;grid-column:1 / -1;line-height:1.4;min-width:0;overflow-wrap:anywhere}.tournament-info-rules-card{background:var(--panel);border:1px solid rgba(255,255,255,.85);border-radius:22px;box-shadow:var(--shadow);gap:8px;margin-bottom:14px;padding:16px}.tournament-info-rules-copy,.tournament-card-copy,.tournament-action-card p,.tournament-bracket-note,.tournament-table-empty,.tournament-group-empty{color:var(--ink-soft);font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}.tournament-card-copy:empty{display:none}.tournament-card-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.1em;line-height:1.4}.tournament-info-rules-card .tournament-card-eyebrow{color:var(--court-green)}.tournament-info-form{background:var(--panel);border:1px solid var(--panel-border);border-radius:22px;gap:14px;grid-template-columns:minmax(0,1fr);margin-bottom:12px;padding:16px}.tournament-info-field,.tournament-group-field{gap:6px;min-width:0}.tournament-info-field span,.tournament-group-field span,.tournament-modal-field span{font-size:.8rem;font-weight:700;line-height:1.4}.tournament-info-field input,.tournament-info-field textarea,.tournament-group-field input,.tournament-config-input,.tournament-config-select{background:#fffefb;border-color:#dbe0d5;border-radius:13px;font-size:16px;min-height:48px;min-width:0;padding:10px 12px;width:100%}.tournament-config-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.tournament-info-field textarea{min-height:112px}.tournament-info-actions{gap:10px}.tournament-info-actions .tournament-card-copy{font-size:.75rem;margin-inline:5px}.tournaments-dashboard{gap:12px;grid-template-columns:minmax(0,1fr);margin-bottom:14px}.tournament-summary-card,.tournament-action-card,.tournament-registrations-card,.tournament-groups-card,.tournament-matches-entry-card,.tournament-bracket-card,.tournament-stage-card,.tournament-standings-card{background:var(--panel);border:1px solid rgba(255,255,255,.85);border-radius:24px;box-shadow:var(--shadow);gap:12px;min-width:0;padding:16px}.tournament-summary-card{align-items:center;column-gap:8px;grid-template-columns:minmax(0,1fr) auto}.tournament-summary-card>.tournament-card-eyebrow{color:var(--court-green)}.tournament-summary-card>.tournament-card-copy,.tournament-summary-grid,.tournament-capacity-progress{grid-column:1 / -1}.tournament-status-pill{border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.4;padding:7px 10px}.tournament-summary-grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.tournament-summary-metric{background:#f1f3e9;border:0;border-radius:15px;gap:6px;min-width:0;padding:12px 10px}.tournament-summary-metric span{color:#64705f;font-size:.6rem;font-weight:700;letter-spacing:.04em;line-height:1.35;overflow-wrap:anywhere}.tournament-summary-metric strong{font-size:1.35rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.tournament-summary-metric:last-child strong{font-size:.73rem;line-height:1.4}.tournament-capacity-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e6ebdc;border:0;border-radius:999px;color:var(--court-green);height:5px;overflow:hidden;width:100%}.tournament-capacity-progress::-webkit-progress-bar{background:#e6ebdc;border-radius:999px}.tournament-capacity-progress::-webkit-progress-value{background:#52764c;border-radius:999px}.tournament-capacity-progress::-moz-progress-bar{background:#52764c;border-radius:999px}.tournament-action-card h3,.tournament-bracket-card h3,.tournament-groups-card h3,.tournament-matches-entry-card h3,.tournament-registrations-card h3,.tournament-stage-card h3,.tournament-standings-card h3{font-family:var(--display-font);font-size:1.45rem;font-style:italic;font-weight:500;letter-spacing:-.02em;line-height:1.16;max-width:none}.tournament-primary-button{border-radius:14px;box-shadow:0 6px 16px #9840221f;font-size:.87rem;font-weight:700;line-height:1.4;min-height:48px;padding:12px 16px}.booking-secondary-button.tournament-secondary-button,.booking-secondary-button.tournament-back-button{background:#f1f4e9;border-color:#d8e2cd;border-radius:12px;box-shadow:none;color:var(--court-green-strong);font-size:.8rem;font-weight:700;min-height:44px;min-width:44px;padding:9px 12px}.tournaments-panel .tournament-card-header{align-items:center;flex-direction:row;gap:12px;margin-bottom:12px}.tournament-card-header>div{min-width:0}.tournament-table-count{background:#edf3e2;border-radius:999px;color:#3e6140;font-size:.72rem;font-weight:700;padding:7px 10px}.tournament-registrations-card,.tournament-groups-card,.tournament-matches-entry-card{margin-bottom:14px}.tournament-participant-form,.tournament-group-form{background:#f1f4e9;border-radius:17px;gap:10px;grid-template-columns:minmax(0,1fr);padding:12px}.tournament-participant-form{margin-bottom:14px}.tournament-table-wrap{min-width:0}.tournament-participants-table,.tournament-setup-table,.tournament-participants-table tbody,.tournament-setup-table tbody{display:block;min-width:0;width:100%}.tournament-participants-table thead,.tournament-setup-table thead{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.tournament-participants-table tbody,.tournament-setup-table tbody{display:grid;gap:8px}.tournament-participants-table tbody tr,.tournament-setup-table tbody tr{align-items:center;background:#ffffffbf;border:1px solid #e7e8dc;border-radius:17px;display:grid;gap:8px;grid-template-columns:28px minmax(0,1fr) auto;min-width:0;padding:12px}.tournament-participants-table td,.tournament-setup-table td{border:0;min-width:0;overflow-wrap:anywhere;padding:0;white-space:normal}.participant-index{align-items:center;background:#edf3e3;border-radius:50%;display:flex;font-size:.73rem;grid-column:1;grid-row:1;height:28px;justify-content:center;width:28px}.participant-name{font-size:.9rem;grid-column:2 / -1;grid-row:1;line-height:1.35}.has-name-editor .participant-name{grid-column:2}.tournament-participants-table .participant-date{color:#697268;font-size:.68rem;font-weight:400;grid-column:2 / -1;grid-row:2;line-height:1.4}.participant-date:before{content:"Registrato il "}.tournament-participants-table .participant-seed,.tournament-participants-table .participant-group{background:#f2f4eb;border-radius:10px;font-size:.75rem;grid-row:3;line-height:1.35;padding:6px 8px}.participant-seed{grid-column:2}.participant-group{grid-column:3}.participant-seed:before,.participant-group:before,.tournament-setup-table td[data-label]:before{color:#6b7465;content:attr(data-label);display:block;font-size:.58rem;font-weight:500;letter-spacing:.035em;line-height:1.5;margin-bottom:2px;text-transform:uppercase}.participant-save{grid-column:3;grid-row:1}.tournament-participants-table .participant-save button{min-width:54px;padding-inline:8px}.tournament-participants-table .tournament-config-input{font-size:16px;min-height:44px;padding:8px}.tournament-setup-table tbody tr{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.setup-name,.setup-save{grid-column:1 / -1}.tournament-setup-table .setup-name{font-size:.88rem;line-height:1.4;padding-bottom:4px}.setup-save button{margin-top:2px;width:100%}.tournament-groups-grid{gap:10px;grid-template-columns:minmax(0,1fr)}.tournament-group-card{background:#f2f5e9;border-color:#e3e8d7;border-radius:18px;gap:10px;min-width:0;padding:12px}.tournament-group-card-header{align-items:center;gap:8px}.tournament-group-card-header strong{font-family:var(--display-font);font-size:1.2rem;font-style:italic}.tournament-group-card-header span{font-size:.62rem;letter-spacing:0;text-align:right}.tournament-group-list{gap:6px}.tournament-group-list-item{background:#ffffffd9;border-color:#e3e7d9;border-radius:12px;gap:8px;padding:10px}.tournament-group-list-item span{font-size:.83rem;line-height:1.4;min-width:0;overflow-wrap:anywhere}.tournament-group-list-item strong{flex-shrink:0;font-size:.65rem;letter-spacing:0}.tournament-matches-shell{gap:14px}.tournament-matches-header{gap:12px;margin-inline:5px}.tournament-matches-header .section-label{font-size:.68rem;margin-bottom:8px}.tournament-matches-header .tournament-card-copy{margin-top:8px}.tournament-matches-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;width:100%}.tournament-standings-grid,.tournament-knockout-grid{gap:14px;grid-template-columns:minmax(0,1fr)}.tournament-standings-table{min-width:0;table-layout:fixed;width:100%}.tournament-standings-table th,.tournament-standings-table td{font-size:.7rem;letter-spacing:0;line-height:1.4;overflow-wrap:anywhere;padding:9px 3px;text-align:center;width:26px}.tournament-standings-table th{font-size:.61rem}.tournament-standings-table :is(th,td):nth-child(2){text-align:left;width:auto}.tournament-match-list{gap:10px}.tournament-match-card{background:#ffffffc7;border-color:#e4e7db;border-radius:18px;gap:10px;padding:12px}.tournament-match-card-header{align-items:center;gap:8px}.tournament-match-card-header>div{min-width:0}.tournament-match-card-header strong{font-size:.86rem;line-height:1.4}.tournament-match-card-header>div>span{font-size:.68rem;margin-top:2px}.tournament-match-state{border-radius:999px;flex-shrink:0;font-size:.64rem;letter-spacing:0;padding:6px 8px}.tournament-match-sides{gap:6px;grid-template-columns:minmax(0,1fr)}.tournament-match-versus{display:none}.tournament-match-side{background:#f4f5ee;border-color:#e6e8df;border-radius:13px;gap:8px;min-height:58px;padding:7px 9px}.tournament-match-side.is-winner{background:#eaf2df;border-color:#cfdcbe}.tournament-match-side-copy{gap:2px}.tournament-match-side-copy span{font-size:.58rem;letter-spacing:.05em}.tournament-match-side-copy strong{font-size:.82rem;font-weight:700;line-height:1.35}.tournament-match-side-score input,.tournament-match-side-score strong{font-size:1.1rem;min-height:44px;min-width:48px;width:48px}.tournament-match-side-score input{border-color:#d8dfce;border-radius:10px;padding:0 4px}.tournament-match-side-score.is-readonly{background:#edf1e5;border:0;border-radius:10px;padding:0}.is-winner .tournament-match-side-score.is-readonly{background:var(--court-green-strong)}.is-winner .tournament-match-side-score.is-readonly strong{color:#f8f5e9}.tournament-match-footer{gap:8px}.tournament-match-footer .tournament-match-result-copy{font-size:.74rem;line-height:1.45;overflow-wrap:anywhere}.tournament-match-footer .tournament-secondary-button{background:linear-gradient(135deg,var(--clay),var(--clay-deep));border:0;color:#fff;width:100%}.tournament-final-banner{align-items:center;background:linear-gradient(135deg,#315d43,#173b2d);border:1px solid rgba(255,255,255,.2);border-radius:24px;column-gap:12px;display:grid;grid-template-columns:40px minmax(0,1fr);padding:18px;row-gap:4px}.tournament-champion-icon{color:#e8f4b1;grid-column:1;grid-row:1 / 3;height:32px;width:32px}.tournament-final-banner .tournament-card-eyebrow{color:#e8f4b1;grid-column:2}.tournament-final-banner>strong{color:#fffdf4;font-family:var(--display-font);font-size:1.5rem;grid-column:2;line-height:1.2;overflow-wrap:anywhere}.tournament-modal-backdrop{align-items:flex-end;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 10px 0;z-index:80}.tournament-modal{background:#fcf9ef;border-color:#ffffffe6;border-radius:28px 28px 0 0;max-height:calc(100dvh - 32px);max-width:620px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));width:100%}.tournament-modal:before{background:#d6dacb;border-radius:999px;content:"";display:block;height:4px;margin:-6px auto 18px;width:38px}.tournament-modal-header{gap:12px;margin-bottom:16px}.tournament-modal-header h3{font-size:1.85rem;font-style:italic;font-weight:500;letter-spacing:-.03em;line-height:1.12;max-width:none}.tournament-modal-header .section-label{font-size:.68rem;margin-bottom:8px}.tournament-modal-close{flex-shrink:0;height:44px;width:44px}.tournament-modal-form{gap:16px}.tournament-modal-copy{font-size:.8rem;line-height:1.55}.tournament-modal-field{gap:6px}.tournament-modal-field input{border-color:#dbe0d2;border-radius:14px;font-size:16px;min-height:50px}.tournament-limit-presets{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.tournament-limit-preset{border-radius:12px;font-size:.85rem;min-height:44px;padding:0 8px}.tournament-limit-preset.is-active{background:var(--court-green-strong);border-color:var(--court-green-strong);color:#fff}.tournament-modal-actions{flex-direction:row;gap:8px}.tournament-modal-actions>button{flex:1 1 0;font-size:.85rem;min-height:48px;padding:10px;width:auto}.tournament-modal-actions .booking-secondary-button{background:#f0f2e8;border-color:#d8dfce;border-radius:14px}}.page-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.my-account{margin-bottom:28px}.my-account-heading{margin:28px 4px 24px}.my-account-heading h1,.my-account-card h2{color:var(--court-green-strong);font-family:var(--display-font);font-weight:500;margin:0}.my-account-heading h1{font-size:clamp(2rem,4vw,3rem)}.my-account-heading>p:last-child,.account-security-heading p,.account-profile-note,.password-session-note,.password-field small{color:var(--ink-soft);line-height:1.55}.my-account-heading>p:last-child{margin:10px 0 0}.my-account-grid{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.my-account-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:32px;box-shadow:var(--shadow);min-width:0;padding:32px}.my-account-card h2{font-size:1.8rem}.account-profile-icon,.account-security-icon{align-items:center;background:#eaf1df;border-radius:16px;color:var(--court-green);display:inline-flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.account-profile-icon{margin-bottom:18px}.account-profile-icon .mobile-icon,.account-security-icon .mobile-icon{display:block;height:24px;width:24px}.account-profile dl{margin:28px 0 16px}.account-profile dt{color:var(--ink-soft);font-size:.85rem;margin-bottom:6px}.account-profile dd{color:var(--court-green-strong);font-size:1.3rem;font-weight:700;margin:0;overflow-wrap:anywhere}.account-profile-note,.password-session-note{font-size:.88rem;margin:0}.account-security-heading{align-items:center;display:flex;gap:14px;margin-bottom:28px}.account-security-heading p{margin:4px 0 0}.password-field label{color:var(--court-green-strong);font-size:.92rem;font-weight:700}.password-input-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.password-input-row input{font-size:16px;min-height:48px;width:100%}.password-toggle{background:#fffdf6cc;border:1px solid var(--panel-border);border-radius:14px;color:var(--court-green-strong);font-size:.8rem;font-weight:700;min-height:48px;min-width:80px;padding:8px}.password-toggle:hover{background:#eaf1df}.password-toggle:focus-visible{outline:3px solid var(--court-green);outline-offset:2px}.password-toggle:disabled{cursor:not-allowed;opacity:.65}.password-session-note{background:#eaf1dfb3;border-radius:14px;padding:12px 14px}.password-change-form .status-banner{margin:0}@media (max-width: 720px){.page-switch-button{flex-direction:column;font-size:.75rem;gap:4px;line-height:1.2;min-height:62px;padding:8px 4px}.page-switch-button>.mobile-icon{height:20px;width:20px}.my-account{margin-bottom:20px}.my-account-heading{margin:24px 4px 20px}.my-account-heading h1{font-size:2rem}.my-account-heading>p:last-child{font-size:.9rem}.my-account-grid{gap:16px;grid-template-columns:minmax(0,1fr)}.my-account-card{border-radius:26px;padding:24px 20px}.account-profile{display:grid;column-gap:14px;grid-template-columns:48px minmax(0,1fr)}.account-profile-icon{grid-row:span 2;margin:0}.account-profile h2{font-size:1.3rem}.account-profile dl{grid-column:2;margin:12px 0 0}.account-profile-note{grid-column:1 / -1;margin-top:18px}.account-profile dd{font-size:1.15rem}.account-security-heading{margin-bottom:24px}}.page-switch-panel.has-admin .page-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-user-search{max-width:520px}.admin-user-search input{font-size:16px;min-height:48px}.admin-user-list{list-style:none;margin:24px 0 0;padding:0}.admin-user-row{align-items:center;border-top:1px solid var(--panel-border);display:flex;gap:18px;justify-content:space-between;padding:20px 0}.admin-user-details{min-width:0}.admin-user-details h2{font-family:inherit;font-size:1.1rem;font-weight:700;overflow-wrap:anywhere}.admin-user-tags{align-items:center;color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:.8rem;gap:8px;margin-top:10px}.admin-user-role,.admin-user-pending{border-radius:999px;padding:5px 10px}.admin-user-role{background:#eaf1df;color:var(--court-green-strong)}.admin-user-pending{background:#fae5d5;color:#984022}.admin-reset-button{background:#fffdf6d9;border:1px solid var(--clay);border-radius:14px;color:var(--clay-deep);flex-shrink:0;font-weight:700;min-height:48px;padding:10px 16px}.admin-reset-button:hover{background:#fae5d5}.admin-reset-button:disabled{border-color:var(--panel-border);color:var(--ink-soft);cursor:not-allowed;opacity:.65}.admin-reset-button:focus-visible{outline:3px solid var(--court-green);outline-offset:3px}.admin-users-pagination{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:20px}.admin-users-pagination>span{color:var(--ink-soft);font-size:.85rem;text-align:center}.admin-reset-dialog{background:#fffaf0;border:1px solid var(--panel-border);border-radius:28px;box-shadow:var(--shadow);color:var(--court-green-strong);max-height:calc(100dvh - 32px);max-width:520px;overflow-y:auto;padding:28px;width:calc(100% - 32px)}.admin-reset-dialog::backdrop{background:#0d211780}.admin-reset-dialog h2{font-family:var(--display-font);font-size:1.9rem;font-weight:500;margin:0}.admin-reset-dialog>p{line-height:1.6;overflow-wrap:anywhere}.admin-reset-actions{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);margin-top:24px}.admin-reset-actions .auth-submit-button{margin:0;padding:12px}.forced-password-shell .logout-button{display:block;margin:0 auto;min-height:44px;min-width:80px}@media (max-width: 720px){.page-switch-panel.has-admin{border-radius:26px}.page-switch-panel.has-admin .page-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.page-switch-panel.has-admin .page-switch-button{flex-direction:row;gap:8px;min-height:48px;padding:8px 4px}.admin-user-row{align-items:stretch;flex-direction:column;gap:16px}.admin-reset-button{align-self:start}.admin-users-pagination{gap:6px}.admin-users-pagination .password-toggle{min-width:0}.admin-reset-dialog{padding:24px 20px}}
