:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#111827;--muted:#667085;--line:#e7eaf0;--brand:#e82935;--brand-dark:#bf1f2a;--nav:#111827;--nav-2:#182131;--green:#16a34a;--amber:#d97706;--blue:#2563eb;--shadow:0 12px 32px rgba(17,24,39,.06);--radius:18px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:linear-gradient(180deg,#0f172a 0%,#111827 60%,#0b1220 100%);color:#fff;position:sticky;top:0;height:100vh;height:100dvh;min-height:100vh;padding:24px 18px;display:flex;flex-direction:column;z-index:20;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--brand);display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 8px 20px rgba(232,41,53,.28)}.brand strong{display:block;font-size:16px;letter-spacing:-.02em}.brand span{display:block;font-size:11px;color:#9aa4b2;margin-top:2px;text-transform:uppercase;letter-spacing:.1em}.brand.compact{margin-bottom:34px}.nav{margin-top:34px;display:grid;gap:6px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;color:#cbd5e1;font-size:14px;font-weight:650}.nav a span{width:20px;text-align:center;opacity:.9}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a.active{background:rgba(232,41,53,.16);color:#fff;box-shadow:inset 3px 0 0 var(--brand)}.nav-divider{height:1px;background:rgba(255,255,255,.08);margin:10px 0}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;color:#0f172a;font-weight:800}.avatar.small{width:32px;height:32px}.user-chip strong{display:block;font-size:13px}.user-chip span{display:block;color:#94a3b8;font-size:11px;margin-top:2px}.text-button{border:0;background:none;color:var(--muted);padding:6px 0;cursor:pointer}.sidebar-footer .text-button{color:#94a3b8;margin-top:10px}.main{min-width:0}.topbar{height:92px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:10}.topbar h1{margin:3px 0 0;font-size:24px;letter-spacing:-.035em}.eyebrow{margin:0;color:#98a2b3;font-size:10px;letter-spacing:.16em;font-weight:800}.eyebrow.light{color:#fecdd3}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.live-pill,.date-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;font-size:12px;color:#475467}.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12)}.menu-button{display:none;background:none;border:0;font-size:22px;margin-right:14px}.content{padding:28px 34px 48px;max-width:1680px;margin:0 auto}.alert{border-radius:12px;padding:13px 16px;margin-bottom:18px;font-size:13px}.alert.success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.alert.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.alert ul{margin:8px 0 0;padding-left:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat-card.accent{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;border-color:transparent}.stat-card span{display:block;font-size:12px;color:var(--muted);font-weight:650}.stat-card.accent span,.stat-card.accent small{color:#ffe4e6}.stat-card strong{display:block;font-size:29px;margin:8px 0 3px;letter-spacing:-.04em}.stat-card small{font-size:11px;color:#98a2b3}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.panel.flat{box-shadow:none}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head h2,.page-intro h2{margin:4px 0 0;font-size:18px;letter-spacing:-.025em}.two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px;margin-bottom:18px}.two-col.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(320px,.6fr)}.schedule-list{display:grid}.schedule-item{display:grid;grid-template-columns:82px 40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.schedule-item:first-child{border-top:0}.schedule-item time{font-weight:800;font-size:12px}.schedule-item>div:nth-child(3) strong{display:block;font-size:13px}.schedule-item>div:nth-child(3) span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.court-dot,.court-code{display:inline-grid;place-items:center;background:#eef2ff;color:#3730a3;border-radius:8px;font-weight:800;font-size:11px}.court-dot{width:36px;height:36px}.court-code{padding:5px 7px;margin-right:7px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;text-transform:capitalize;background:#f2f4f7;color:#475467;white-space:nowrap}.badge.paid,.badge.active,.badge.available,.badge.completed,.badge.playing{background:#ecfdf3;color:#15803d}.badge.deposit,.badge.queued,.badge.registration_open{background:#fffbeb;color:#b45309}.badge.unpaid,.badge.cancelled,.badge.inactive,.badge.no_show{background:#fff1f2;color:#be123c}.badge.confirmed,.badge.registered,.badge.checked_in{background:#eff6ff;color:#1d4ed8}.badge.maintenance{background:#f5f3ff;color:#6d28d9}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfcfe;min-height:122px;transition:.18s}.quick-grid a:hover{transform:translateY(-2px);border-color:#d0d5dd;box-shadow:0 8px 18px rgba(17,24,39,.05)}.quick-grid a>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#fff1f2;color:var(--brand);font-size:18px;margin-bottom:16px}.quick-grid strong{display:block;font-size:13px}.quick-grid small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.4}.module-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.module-strip>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;grid-template-columns:36px 1fr;column-gap:10px}.module-icon{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:#f2f4f7;display:grid;place-items:center}.module-strip strong{font-size:12px}.module-strip small{font-size:10px;color:var(--muted);margin-top:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:750;font-size:12px;cursor:pointer;transition:.15s}.button.primary{background:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-dark)}.button.secondary{background:#111827;color:#fff}.button.ghost{background:#fff;border-color:var(--line);color:#475467}.button.small{padding:8px 11px}.button.tiny{padding:6px 9px;font-size:10px}.button.full{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 16px}.toolbar-right,.inline-form{display:flex;align-items:center;gap:12px}.inline-form label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}label{display:grid;gap:7px;font-size:11px;color:#475467;font-weight:700}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#111827;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.12)}.booking-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;padding:10px 12px;color:#98a2b3;font-size:9px;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table strong{font-size:12px}.table-sub{display:block;font-size:10px;color:var(--muted);margin-top:3px}.data-table select{padding:6px 8px;font-size:10px;min-width:92px}.court-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;position:relative}.mini-card>div{display:flex;align-items:center}.mini-card>.badge{position:absolute;right:10px;top:11px}.mini-card small{display:block;color:var(--muted);font-size:9px;margin-top:9px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.info-card{align-self:start;background:#111827;color:#fff}.info-card p{color:#cbd5e1;font-size:12px;line-height:1.7}.info-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#16a34a;margin-bottom:18px;font-size:20px}.info-card h3{font-size:16px}.rule-list{display:grid;margin-top:20px;border-top:1px solid rgba(255,255,255,.1)}.rule-list span{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;color:#e2e8f0}.rule-list em{font-style:normal;color:#94a3b8}.openplay-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-bottom:18px}.playing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.game-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfcfe}.game-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:8px}.game-head span{font-size:9px;color:var(--green);font-weight:800}.player-row{display:flex;align-items:center;gap:9px;padding:8px 0}.player-row strong{font-size:11px}.player-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.queue-count{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff7ed;color:#c2410c;font-weight:850}.queue-list{display:grid}.queue-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.queue-row:last-child{border-bottom:0}.queue-num{display:grid;place-items:center;width:28px;height:28px;background:#f2f4f7;border-radius:8px;font-weight:800;font-size:11px}.queue-row strong{font-size:11px}.queue-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.page-intro p:not(.eyebrow){color:var(--muted);font-size:12px;max-width:720px;line-height:1.6}.tournament-grid{display:grid;gap:14px}.tournament-card{display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:center}.tournament-date{width:66px;height:66px;border-radius:16px;background:#fff1f2;display:grid;place-items:center;align-content:center;color:var(--brand)}.tournament-date strong{font-size:24px;line-height:1}.tournament-date span{font-size:9px;font-weight:900;margin-top:4px}.tournament-main h3{margin:8px 0 3px}.tournament-main p{margin:0;color:var(--muted);font-size:11px}.progress{height:6px;background:#eef2f6;border-radius:99px;overflow:hidden;margin:13px 0 6px;max-width:420px}.progress span{display:block;height:100%;background:var(--brand)}.tournament-main small{color:var(--muted);font-size:9px}.feature-roadmap{margin-top:16px}.feature-roadmap>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.feature-roadmap span{border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:10px;color:var(--muted)}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px}.search-input{max-width:240px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.product-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;min-height:112px;cursor:pointer;transition:.15s}.product-card:hover{border-color:#fda4af;box-shadow:0 8px 18px rgba(232,41,53,.08);transform:translateY(-1px)}.product-card span{display:block;color:#98a2b3;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.product-card strong{display:block;font-size:12px;margin:11px 0 8px}.product-card em{font-style:normal;color:var(--brand);font-weight:850;font-size:13px}.cart-panel{position:sticky;top:120px;align-self:start}.cart-items{min-height:240px;max-height:390px;overflow:auto}.cart-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.cart-row strong{font-size:11px}.cart-row small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.qty-controls{display:flex;align-items:center;gap:7px}.qty-controls button{width:24px;height:24px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer}.cart-totals{border-top:1px solid var(--line);padding:15px 0}.cart-totals>div{display:flex;justify-content:space-between;font-size:11px;margin:6px 0}.cart-totals .grand{font-size:16px;border-top:1px dashed var(--line);padding-top:12px;margin-top:12px}.pos-message{font-size:10px;margin-top:10px;text-align:center}.pos-message.success{color:var(--green)}.pos-message.error{color:#be123c}.inventory-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stock-low{color:#be123c}.stack-form{display:grid;gap:12px}.movement-list{display:grid}.movement-list>div{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.movement-list>div:last-child{border-bottom:0}.movement-qty{display:grid;place-items:center;width:46px;height:28px;border-radius:8px;font-size:11px;font-weight:850}.movement-qty.positive{background:#ecfdf3;color:#15803d}.movement-qty.negative{background:#fff1f2;color:#be123c}.movement-list strong{font-size:11px}.movement-list small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.movement-list time{font-size:9px;color:var(--muted)}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:14px;margin-bottom:18px}.plan-price{font-size:27px;display:block;margin:15px 0}.plan-price small{font-size:11px;color:var(--muted)}.plan-card ul{padding-left:18px;margin:0;color:var(--muted);font-size:11px;line-height:1.9}.court-setup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.court-setup-grid article{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}.court-visual{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#60a5fa);border:3px solid #dbeafe;display:grid;place-items:center;color:#fff;font-weight:900}.court-setup-grid strong{font-size:12px}.court-setup-grid small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.court-setup-grid p{font-size:9px;color:#475467;margin:6px 0 0}.empty-state{padding:28px 14px;text-align:center;color:#98a2b3;font-size:11px}.muted{color:var(--muted);font-size:11px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2f4f7;border-radius:6px;padding:4px 6px;font-size:10px}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto}.login-page{background:#0f172a}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-hero{padding:9vw;display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 20% 25%,rgba(232,41,53,.3),transparent 35%),linear-gradient(145deg,#0f172a,#111827)}.hero-badge{width:58px;height:58px;border-radius:18px;background:var(--brand);display:grid;place-items:center;font-weight:900;font-size:30px;margin-bottom:28px;box-shadow:0 20px 50px rgba(232,41,53,.24)}.login-hero h1{font-size:48px;line-height:1.03;max-width:680px;letter-spacing:-.05em;margin:14px 0 20px}.login-hero>p:not(.eyebrow){max-width:650px;color:#cbd5e1;line-height:1.7}.hero-metrics{display:flex;gap:36px;margin-top:36px}.hero-metrics strong{display:block;font-size:22px}.hero-metrics span{display:block;font-size:10px;color:#94a3b8;margin-top:4px}.login-panel{display:grid;place-items:center;background:#f8fafc;padding:30px}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px rgba(15,23,42,.12);border-radius:24px;padding:34px}.login-card h2{margin:0 0 4px;font-size:25px}.login-card .muted{margin:0 0 24px}.login-card label{margin:13px 0}.demo-note{margin-top:18px;background:#f8fafc;border-radius:12px;padding:11px 13px;font-size:10px;color:var(--muted)}.demo-note strong{display:block;color:#344054;margin-bottom:3px}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,1fr)}.court-cards{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(3,1fr)}.module-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;transition:.2s}.sidebar.open{left:0;box-shadow:20px 0 40px rgba(15,23,42,.25)}.menu-button{display:block}.topbar{padding:0 20px}.content{padding:22px 20px}.two-col,.two-col.wide-left,.openplay-grid,.form-layout,.pos-layout{grid-template-columns:1fr}.cart-panel{position:static}.product-grid{grid-template-columns:repeat(4,1fr)}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}}
@media(max-width:720px){.topbar-actions .date-pill{display:none}.stat-grid,.inventory-summary{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.court-cards,.court-setup-grid,.playing-grid{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.module-strip{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.tournament-card{grid-template-columns:62px 1fr}.tournament-actions{grid-column:2}.toolbar,.page-intro{align-items:stretch;flex-direction:column}.schedule-item{grid-template-columns:72px 34px 1fr}.schedule-item>.badge{grid-column:3}.login-card{padding:26px}.content{padding:18px 14px}.topbar{height:80px}.topbar h1{font-size:20px}}
.field-help{font-size:9px;color:var(--muted);font-weight:500}.payment-proof-fields{border:1px dashed #cbd5e1;border-radius:13px;padding:14px;background:#f8fafc}.pos-proof-fields{display:grid;gap:10px;margin:12px 0}.notice-card{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:10px;padding:11px 12px;font-size:10px;line-height:1.55}.notice-card.compact{padding:9px 10px}.badge.pending_verification,.badge.payment_pending{background:#fffbeb;color:#b45309}.badge.rejected,.badge.payment_rejected{background:#fff1f2;color:#be123c}.payment-actions,.table-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.table-link{display:inline-block;margin-top:5px;font-size:9px;color:var(--blue);font-weight:750}.payment-actions form,.table-actions form{margin:0}.payment-actions button{white-space:nowrap}
.badge.awaiting_proof{background:#f8fafc;color:#475467;border:1px solid #e2e8f0}.public-payment-page{background:#f5f7fb;min-height:100vh}.public-payment-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.public-payment-card{width:min(100%,620px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 28px 70px rgba(15,23,42,.1)}.public-payment-card .brand{color:#111827;margin-bottom:26px}.public-payment-card .brand span{color:#667085}.public-payment-card h1{font-size:30px;letter-spacing:-.04em;margin:7px 0 10px}.public-copy{line-height:1.65;margin-bottom:20px}.public-booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px}.public-booking-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}.public-booking-summary span{display:block;font-size:9px;color:#98a2b3;text-transform:uppercase;letter-spacing:.08em}.public-booking-summary strong{display:block;font-size:12px;margin-top:5px}.public-security-note{font-size:9px;color:#98a2b3;text-align:center;margin:16px 0 0;line-height:1.55}@media(max-width:560px){.public-payment-card{padding:24px}.public-booking-summary{grid-template-columns:1fr}.public-payment-wrap{padding:14px}}
/* Complete-platform additions */
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-4{grid-column:span 4}.inline-form.wrap{flex-wrap:wrap}.detail-list{display:grid;gap:0}.detail-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--muted)}.detail-list strong{text-align:right}.match-team{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.match-team>small{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted);font-weight:900;margin-bottom:5px}.score-inline{display:grid;grid-template-columns:1fr auto 1fr auto;gap:5px;align-items:center;margin-top:12px}.score-inline input{min-width:0;text-align:center;padding:7px}.recent-head{margin-top:22px}.mini-section-title{font-size:10px;font-weight:850;color:#344054;border-top:1px solid var(--line);padding-top:14px;margin-top:5px}.mini-section-title small{font-weight:500;color:var(--muted)}.inset-form{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}.inset-form h4{margin:0 0 12px}.compact-list{display:grid}.compact-list article{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.compact-list article:last-child{border-bottom:0}.compact-list article>div:first-child{min-width:0}.compact-list strong{display:block;font-size:11px}.compact-list span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.compact-list article>div:last-child{display:flex;align-items:center;gap:7px}.line-item-builder{display:grid;gap:7px;border:1px dashed #cbd5e1;border-radius:12px;padding:12px}.line-item-builder>strong{font-size:10px}.line-item-builder>div{display:grid;grid-template-columns:1fr 90px 120px;gap:7px}.line-item-builder>div input,.line-item-builder>div select{min-width:0}.shift-gate{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.shift-gate h2{margin:4px 0}.shift-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.shift-strip>div{display:flex;align-items:center;gap:12px}.shift-strip small{color:var(--muted)}.recent-orders{margin-top:18px}.inline-refund{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.inline-refund input[type=number]{width:85px}.inline-refund input[name=reason]{width:130px}.action-details{position:relative}.action-details summary{cursor:pointer;font-size:10px;color:var(--blue);font-weight:700}.action-details[open] form{position:absolute;right:0;z-index:5;background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;border-radius:12px;display:grid;gap:7px;width:260px}.action-details form input,.action-details form select{width:100%}.dashboard-alert-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.dashboard-alert-strip a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.dashboard-alert-strip strong{font-size:20px;color:var(--brand)}.dashboard-alert-strip span{font-size:10px;color:var(--muted)}
.team-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-chip-grid article{border:1px solid var(--line);border-radius:12px;padding:11px}.team-chip-grid strong{font-size:11px;display:block}.team-chip-grid span,.team-chip-grid small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.team-chip-grid form{margin-top:7px}.subhead{font-size:12px;margin:0 0 10px}.tournament-admin-section{margin-bottom:18px}.match-admin-list{display:grid;gap:14px}.round-block>strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}.admin-match{display:grid;grid-template-columns:minmax(160px,1fr) 72px 48px auto 48px auto;gap:5px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.admin-match>div span{font-size:8px;color:var(--muted);display:block}.admin-match>div strong{font-size:10px}.admin-match em{font-style:normal;color:var(--muted);font-weight:500}.admin-match input,.admin-match select{padding:6px;min-width:0}.division-list{display:grid}.division-list article{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.division-list article strong{display:block;font-size:12px}.division-list article div span{font-size:9px;color:var(--muted);margin-top:4px}.division-list article>span{font-size:10px;color:var(--muted)}
.role-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.role-card{border:1px solid var(--line);border-radius:15px;padding:15px}.role-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.role-card-head strong{display:block;font-size:13px}.role-card-head span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.role-card fieldset{border:0;border-top:1px solid var(--line);padding:10px 0 0;margin:10px 0 0}.role-card legend{font-size:9px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.08em;padding-right:8px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.permission-grid label{display:flex;gap:7px;align-items:flex-start;border:1px solid #eef2f6;border-radius:8px;padding:7px;margin:0}.permission-grid label input{width:auto;margin-top:2px}.permission-grid strong{display:block;font-size:9px}.permission-grid small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.simple-bars{display:grid;gap:9px}.simple-bars>div{display:grid;grid-template-columns:52px 1fr 85px;gap:10px;align-items:center}.simple-bars span{font-size:9px;color:var(--muted)}.simple-bars i{height:10px;background:#eef2f6;border-radius:999px;position:relative;overflow:hidden}.simple-bars i:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--bar);background:var(--brand);border-radius:inherit}.simple-bars strong{font-size:10px;text-align:right}.pagination-wrap{margin-top:15px}.pagination-wrap nav{display:flex;justify-content:center}.scan-confirm{max-width:650px;margin:30px auto;text-align:center}.scan-confirm .confirmation-grid{text-align:left}
/* Public booking and event site */
.public-site{background:#f5f7fb;color:var(--text)}.public-nav{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(22px,calc((100vw - 1180px)/2));gap:30px;position:sticky;top:0;z-index:20}.public-brand{display:flex;align-items:center;gap:10px}.public-brand>span{width:36px;height:36px;border-radius:11px;background:var(--brand);display:grid;place-items:center;color:#fff;font-weight:900}.public-brand strong{font-size:14px}.public-nav nav{margin-left:auto;display:flex;gap:8px}.public-nav nav a{font-size:11px;font-weight:700;color:#667085;padding:9px 11px;border-radius:8px}.public-nav nav a.active,.public-nav nav a:hover{background:#fff1f2;color:var(--brand)}.public-container{max-width:1180px;margin:0 auto;padding:50px 22px 70px}.public-container.narrow{max-width:820px}.public-container.narrow-wide{max-width:1050px}.public-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:30px}.public-hero>div:first-child{max-width:720px}.public-kicker{font-size:10px;color:var(--brand);font-weight:900;letter-spacing:.16em}.public-hero h1{font-size:48px;line-height:1.03;letter-spacing:-.055em;margin:10px 0 14px}.public-hero p{font-size:14px;line-height:1.7;color:#667085;max-width:680px}.public-hero-card{min-width:250px;background:#111827;color:#fff;border-radius:18px;padding:20px}.public-hero-card strong,.public-hero-card span,.public-hero-card small{display:block}.public-hero-card span{font-size:20px;font-weight:800;margin:8px 0}.public-hero-card small{color:#94a3b8;font-size:9px}.public-booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:start}.public-booking-grid>section:last-child{grid-column:2;grid-row:1/span 2;position:sticky;top:94px}.public-form-card{padding:24px}.step-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.step-heading>span{width:34px;height:34px;border-radius:10px;background:#fff1f2;color:var(--brand);display:grid;place-items:center;font-weight:900}.step-heading h2{margin:3px 0 0;font-size:18px}.price-preview{border:1px solid var(--line);border-radius:12px;padding:11px;background:#f8fafc;display:flex;flex-direction:column;justify-content:center}.price-preview span{font-size:9px;color:var(--muted)}.price-preview strong{font-size:21px;margin:4px 0}.price-preview small{font-size:8px;color:var(--muted)}.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.choice-card{border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;gap:10px;align-items:flex-start;cursor:pointer}.choice-card input{width:auto;margin-top:3px}.choice-card strong{display:block;font-size:11px}.choice-card small{display:block;font-size:9px;color:var(--muted);margin-top:4px;line-height:1.5}.qr-payment-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:15px;display:grid;gap:12px}.qr-payment-box[hidden]{display:none}.qr-instructions p{font-size:10px;color:var(--muted);line-height:1.55}.qr-instructions dl{display:grid;gap:5px}.qr-instructions dl div{display:flex;justify-content:space-between;gap:10px;font-size:10px}.qr-instructions dt{color:var(--muted)}.qr-instructions dd{font-weight:800;margin:0}.public-submit{margin-top:15px}.confirmation-card{text-align:center;padding:38px}.confirmation-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#ecfdf3;color:#15803d;font-size:26px;font-weight:900;margin:0 auto 16px}.confirmation-card h1{font-size:34px;letter-spacing:-.05em;margin:5px 0}.confirmation-card>p:not(.eyebrow){color:var(--muted);font-size:12px}.confirmation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:24px 0}.confirmation-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:12px}.confirmation-grid span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.confirmation-grid strong{display:block;font-size:11px;margin-top:4px}.confirmation-grid small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.confirmation-actions{display:flex;justify-content:center;gap:9px;margin-top:20px;flex-wrap:wrap}.confirmation-actions form{display:flex;gap:6px}.confirmation-actions form input{width:190px}.public-event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.public-event-card{display:grid;grid-template-columns:75px 1fr;gap:17px;align-items:center;transition:.15s}.public-event-card:hover{transform:translateY(-2px);border-color:#fda4af}.event-date{height:68px;border-radius:14px;background:#fff1f2;color:var(--brand);display:grid;place-items:center;align-content:center}.event-date strong{font-size:25px;line-height:1}.event-date span{font-size:9px;font-weight:900;margin-top:3px}.public-event-card h2{font-size:17px;margin:7px 0 4px}.public-event-card p,.public-event-card small{font-size:10px;color:var(--muted)}.event-banner{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:18px;background:linear-gradient(135deg,#fff,#fff7f7)}.event-banner h1{font-size:34px;margin:9px 0 7px;letter-spacing:-.04em}.event-banner p{font-size:11px;color:var(--muted)}.event-banner>div:last-child{text-align:right}.event-banner>div:last-child>strong{display:block;font-size:28px}.event-banner>div:last-child>small{display:block;color:var(--muted);font-size:9px;margin-bottom:10px}
/* Live screens */
.live-display{background:#09111f;color:#fff;min-height:100vh}.live-header{height:88px;background:#111827;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.live-header span{display:block;font-size:9px;letter-spacing:.18em;color:#fb7185;font-weight:900}.live-header h1{margin:4px 0 0;font-size:27px}.live-header>div:last-child{font-size:10px;color:#94a3b8}.openplay-live-layout{display:grid;grid-template-columns:1fr 330px;gap:20px;padding:25px 34px}.openplay-live-layout h2{font-size:15px;color:#cbd5e1}.live-court-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.live-court{background:#111827;border:1px solid #243145;border-radius:16px;overflow:hidden}.live-court>div{display:flex;justify-content:space-between;padding:13px 15px;background:#162235}.live-court>div strong{font-size:15px}.live-court>div span{font-size:9px;color:#94a3b8}.live-court>section{display:grid;grid-template-columns:1fr 1fr}.live-team{padding:15px;border-right:1px solid #243145}.live-team:last-child{border-right:0}.live-team small{display:block;font-size:8px;color:#fb7185;font-weight:900;letter-spacing:.1em;margin-bottom:8px}.live-team b{display:block;font-size:13px;margin:7px 0}.live-queue{background:#111827;border:1px solid #243145;border-radius:16px;overflow:hidden}.live-queue>div{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 13px;border-bottom:1px solid #243145}.live-queue>div>span{width:28px;height:28px;border-radius:8px;background:#1e293b;display:grid;place-items:center;color:#fb7185;font-weight:900}.live-queue strong{font-size:11px}.live-queue small{display:block;color:#94a3b8;font-size:8px;margin-top:3px}.live-empty{padding:25px;color:#94a3b8}.live-tournament-grid{padding:25px 34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.live-division{background:#111827;border:1px solid #243145;border-radius:18px;padding:18px}.live-section-title h2{margin:0 0 13px}.live-match-grid{display:grid;gap:8px}.live-match{border:1px solid #243145;border-radius:12px;padding:11px;background:#0f172a}.live-match>span{font-size:8px;color:#94a3b8}.live-match>div{display:grid;grid-template-columns:1fr 36px;gap:8px;margin-top:7px}.live-match strong{font-size:11px}.live-match b{text-align:center;font-size:16px}.live-standings{margin-top:15px;border-top:1px solid #243145;padding-top:12px}.live-standings h3{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.live-standings>div{display:flex;justify-content:space-between;padding:6px 0;font-size:10px}.live-standings small{color:#94a3b8}
/* Member card */
.member-card-wrap{min-height:100vh;display:grid;place-items:center;align-content:center;padding:25px;background:#eef2f6}.member-card{width:min(100%,680px);background:#111827;color:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(15,23,42,.25)}.member-card-top{display:flex;align-items:center;gap:10px;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.member-card-top>span{width:38px;height:38px;background:var(--brand);border-radius:11px;display:grid;place-items:center;font-weight:900}.member-card-top strong,.member-card-top small{display:block}.member-card-top small{color:#94a3b8;font-size:8px;margin-top:2px}.member-card-body{display:grid;grid-template-columns:1fr 170px;gap:25px;align-items:center;padding:30px}.member-card-body p{color:#fb7185;font-size:10px;font-weight:900;letter-spacing:.12em}.member-card-body h1{font-size:32px;margin:7px 0}.member-card-body>div:first-child>strong,.member-card-body>div:first-child>small{display:block}.member-card-body>div:first-child>small{color:#94a3b8;font-size:10px;margin-top:7px}.member-qr{background:#fff;padding:10px;border-radius:14px}.member-card-footer{display:flex;gap:25px;padding:16px 24px;background:#0f172a;color:#cbd5e1;font-size:10px}
@media(max-width:1000px){.form-grid.four{grid-template-columns:repeat(2,1fr)}.span-4{grid-column:span 2}.role-matrix,.public-event-grid,.live-tournament-grid{grid-template-columns:1fr}.public-booking-grid{grid-template-columns:1fr}.public-booking-grid>section:last-child{grid-column:auto;grid-row:auto;position:static}.public-hero{align-items:flex-start;flex-direction:column}.public-hero-card{min-width:0;width:100%}.openplay-live-layout{grid-template-columns:1fr}.live-court-grid{grid-template-columns:1fr}.admin-match{grid-template-columns:1fr 60px 44px auto 44px auto}}
@media(max-width:720px){.compact-stats{grid-template-columns:1fr 1fr}.dashboard-alert-strip{grid-template-columns:1fr}.team-chip-grid,.role-matrix,.permission-grid{grid-template-columns:1fr}.public-nav{padding:0 14px}.public-nav nav a{padding:7px;font-size:9px}.public-brand strong{display:none}.public-container{padding:35px 14px 55px}.public-hero h1{font-size:37px}.payment-choice,.confirmation-grid{grid-template-columns:1fr}.line-item-builder>div{grid-template-columns:1fr 72px}.line-item-builder>div input:last-child{grid-column:1/span 2}.shift-gate,.shift-strip{align-items:stretch;flex-direction:column}.event-banner{align-items:flex-start;flex-direction:column}.event-banner>div:last-child{text-align:left}.live-header{padding:0 16px}.live-header h1{font-size:20px}.openplay-live-layout,.live-tournament-grid{padding:18px 14px}.member-card-body{grid-template-columns:1fr}.member-qr{width:max-content}.member-card-footer{flex-direction:column;gap:4px}.admin-match{grid-template-columns:1fr 55px 42px auto 42px}.admin-match button{grid-column:1/span 5}.form-grid.four{grid-template-columns:1fr}.span-4{grid-column:auto}}
/* Bootstrap-enhanced phase 2 controls */
.recurring-day{display:inline-flex!important;align-items:center!important;gap:.25rem!important;width:auto!important}
.recurring-day .form-check-input{width:1em!important;min-width:1em!important;padding:0!important;margin-top:0!important}
.btn{font-weight:700}
.card{border-radius:var(--radius)}

/* Open Play searchable customer picker */
.customer-search-label{min-width:min(100%,460px);flex:1}.customer-picker{position:relative;min-width:280px}.customer-picker-input{width:100%}.customer-picker-results{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.14);padding:6px}.customer-picker-option{width:100%;border:0;background:#fff;text-align:left;padding:10px 11px;border-radius:9px;cursor:pointer;display:block}.customer-picker-option:hover,.customer-picker-option:focus{background:#f8fafc;outline:none}.customer-picker-option strong{display:block;font-size:12px;color:var(--text)}.customer-picker-option span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.customer-picker-empty{padding:11px;color:var(--muted);font-size:11px}.customer-picker-hint{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35}.openplay-checkin-form{align-items:flex-end}.queue-row .btn-danger{white-space:nowrap}

/* Operations corrections patch */
.court-checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.court-checkbox-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.court-checkbox{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;cursor:pointer;min-height:52px}.court-checkbox:hover{border-color:#cbd5e1;background:#f8fafc}.court-checkbox .form-check-input{margin:0;flex:0 0 auto}.court-checkbox span{display:block}.court-checkbox strong{display:block;font-size:12px}.court-checkbox small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.report-revenue-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:18px}.booking-reschedule-modal .modal-content{border:0;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.22)}
@media(max-width:1200px){.report-revenue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.court-checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.report-revenue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.court-checkbox-grid,.court-checkbox-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.report-revenue-grid,.court-checkbox-grid,.court-checkbox-grid.compact{grid-template-columns:1fr}}

/* Booking guest + court status layout patch */
.guest-booking-fields{border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:14px 16px}.guest-booking-fields[hidden]{display:none!important}.guest-booking-fields>div:first-child strong{display:block;font-size:12px}.guest-booking-fields>div:first-child small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.guest-booking-fields .form-grid{margin-top:12px}
.booking-court-card>.booking-court-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-court-card .booking-court-card-title{display:flex;align-items:center;gap:8px;min-width:0}.booking-court-card>.booking-court-card-head>.badge{position:static!important;right:auto!important;top:auto!important;flex:0 0 auto;margin:0}.booking-court-card small{margin-top:9px}

/* Open Play match controls, scoring, substitutions, and history */
.openplay-player-actions{flex-wrap:wrap}.swap-inline{display:flex;align-items:center;gap:5px;flex:1 1 100%;margin:6px 0 2px 44px}.swap-inline select{width:auto;min-width:160px;max-width:230px;padding:6px 8px;font-size:10px}.match-score-form{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}.match-score-fields{display:grid;grid-template-columns:82px auto 82px;align-items:end;gap:7px}.match-score-fields label{font-size:9px;text-align:center}.match-score-fields input{text-align:center;padding:7px}.match-score-fields>strong{padding-bottom:8px}.match-history-list{display:grid;gap:8px}.match-history-row{border:1px solid var(--line);border-radius:13px;padding:12px 14px;display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center}.match-history-row>div:first-child strong{display:block;font-size:12px}.match-history-row>div:first-child small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.history-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.history-teams span{font-size:10px}.history-teams span:last-child{text-align:right}.history-teams b{font-size:18px;white-space:nowrap}.history-swaps{grid-column:2;color:var(--muted);font-size:9px}.live-main-column{display:grid;gap:22px}.live-history-section{margin-top:3px}.live-score{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;text-align:center;padding:10px 15px!important;background:#0b1322!important;border-top:1px solid #243145;border-bottom:1px solid #243145}.live-score span{font-size:28px!important;color:#fff!important;font-weight:900}.live-score small{font-size:8px;color:#94a3b8;letter-spacing:.14em;font-weight:900}.live-history-list{display:grid;gap:9px}.live-result{background:#111827;border:1px solid #243145;border-radius:14px;padding:12px 14px}.live-result>div:first-child{display:flex;justify-content:space-between;gap:10px}.live-result>div:first-child strong{font-size:12px}.live-result>div:first-child small{font-size:8px;color:#94a3b8}.live-result>section{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:10px}.live-result>section>div:last-child{text-align:right}.live-result b{display:block;font-size:10px;margin:2px 0}.live-result>section>span{font-size:22px;font-weight:900;white-space:nowrap}.live-result>section em{font-style:normal;color:#64748b}.live-result-swaps{display:block;color:#94a3b8;font-size:8px;border-top:1px solid #243145;margin-top:9px;padding-top:8px}
@media(max-width:720px){.match-history-row{grid-template-columns:1fr}.history-swaps{grid-column:auto}.swap-inline{margin-left:0}.history-teams{grid-template-columns:1fr auto 1fr}}

/* Open Play Control V3 */
.openplay-toolbar{align-items:center}.openplay-tabs{gap:7px;margin:16px 0}.openplay-tabs .nav-link{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:11px;font-weight:800;padding:9px 14px}.openplay-tabs .nav-link span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:99px;background:#eef2f6;font-size:9px}.openplay-tabs .nav-link.active{background:#111827;border-color:#111827;color:#fff}.openplay-tabs .nav-link.active span{background:rgba(255,255,255,.16)}.openplay-tab-content>.tab-pane{min-height:180px}.openplay-control-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px;align-items:start}.up-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.up-next-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.up-next-head{display:flex;justify-content:space-between;align-items:center;background:#111827;color:#fff;padding:12px 14px}.up-next-head div span,.up-next-head div strong{display:block}.up-next-head div span{font-size:8px;letter-spacing:.13em;color:#fb7185;font-weight:900}.up-next-head div strong{font-size:14px;margin-top:2px}.up-next-head>span{font-size:9px;color:#94a3b8}.stage-team{padding:11px 13px;border-bottom:1px solid var(--line)}.stage-team>small{display:block;color:var(--brand);font-size:8px;font-weight:900;letter-spacing:.11em;margin-bottom:5px}.stage-player{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:7px 0}.stage-player>div:first-child strong,.stage-player>div:first-child small{display:block}.stage-player>div:first-child strong{font-size:11px}.stage-player>div:first-child small{font-size:8px;color:var(--muted);margin-top:2px}.stage-player-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.stage-player-actions form{display:flex;gap:4px}.stage-player-actions select{min-width:100px;max-width:145px;padding:5px;font-size:9px}.stage-team-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 13px;background:#f8fafc}.stage-team-editor label{font-size:8px}.stage-team-editor select{padding:5px;font-size:9px}.stage-team-editor button{grid-column:1/span 2}.stage-add-player{display:grid;grid-template-columns:1fr 90px auto;gap:5px;padding:10px 13px;background:#fff7ed}.stage-add-player select{padding:6px;font-size:9px}.stage-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;background:#f8fafc}.send-court-form{display:flex;gap:6px;flex:1}.send-court-form select{min-width:0;flex:1;padding:7px;font-size:10px}.manual-stage-box{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;margin-top:14px;padding:14px;border:1px dashed #94a3b8;border-radius:14px;background:#f8fafc}.manual-stage-box strong,.manual-stage-box small{display:block}.manual-stage-box strong{font-size:12px}.manual-stage-box small{font-size:9px;color:var(--muted);line-height:1.45;margin-top:4px}.manual-stage-box form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.manual-stage-box select{min-height:110px;font-size:10px}.queue-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.break-list{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.break-list h3{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.break-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.break-list span strong,.break-list span small{display:block}.break-list span strong{font-size:11px}.break-list span small{font-size:8px;color:var(--muted)}.player-state{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#475569;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.state-queued{background:#eff6ff;color:#1d4ed8}.state-up-next{background:#fff7ed;color:#c2410c}.state-playing{background:#ecfdf3;color:#15803d}.state-break{background:#fefce8;color:#a16207}.state-left,.state-cancelled,.state-no-show{background:#f1f5f9;color:#64748b}.result-actions{display:flex;gap:6px;flex-wrap:wrap}.winner-team{font-weight:900;color:#15803d}.standings-table td,.standings-table th{text-align:center}.standings-table td:nth-child(2),.standings-table th:nth-child(2){text-align:left}.session-summary .detail-list{grid-template-columns:repeat(4,minmax(0,1fr))}.openplay-public-live{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;padding:25px 34px}.live-rotation-column{display:grid;gap:22px;align-content:start}.live-title-row{display:flex;align-items:center;justify-content:space-between}.live-title-row span{font-size:9px;color:#94a3b8;text-transform:capitalize}.live-up-next{display:grid;gap:9px}.live-up-next>article{background:#111827;border:1px solid #334155;border-radius:15px;overflow:hidden}.live-up-next>article>div{display:flex;justify-content:space-between;padding:10px 12px;background:#162235}.live-up-next>article>div span{font-size:9px;color:#fb7185;font-weight:900;letter-spacing:.1em}.live-up-next>article>div small{font-size:8px;color:#94a3b8}.live-up-next>article>section{display:grid;grid-template-columns:1fr 1fr}.live-up-next>article>section>div{padding:12px;border-right:1px solid #243145}.live-up-next>article>section>div:last-child{border-right:0}.live-up-next>article>section small{display:block;color:#94a3b8;font-size:7px;font-weight:900;letter-spacing:.1em;margin-bottom:5px}.live-up-next b small,.live-team b small{color:#94a3b8;font-size:7px;font-weight:500;margin-top:2px}.live-winner{color:#4ade80}.live-winner:before{content:'WINNER';display:block;font-size:7px;color:#4ade80;font-weight:900;letter-spacing:.1em;margin-bottom:4px}
@media(max-width:1150px){.openplay-control-grid{grid-template-columns:1fr}.up-next-grid{grid-template-columns:1fr 1fr}.openplay-public-live{grid-template-columns:1fr}.live-rotation-column{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.up-next-grid,.live-rotation-column{grid-template-columns:1fr}.manual-stage-box{grid-template-columns:1fr}.manual-stage-box form{grid-template-columns:1fr}.session-summary .detail-list{grid-template-columns:1fr 1fr}.openplay-public-live{padding:18px 14px}.stage-add-player{grid-template-columns:1fr}.openplay-tabs{overflow-x:auto;flex-wrap:nowrap}.openplay-tabs .nav-link{white-space:nowrap}.stage-player{flex-direction:column}.stage-player-actions{justify-content:flex-start}.result-actions{width:100%}}

/* Open Play V3 design polish */
.openplay-tabs.nav{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;width:100%;gap:8px!important;margin:16px 0 18px!important;padding:5px!important;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.035);overflow-x:auto}.openplay-tabs .nav-item{display:block!important;flex:0 0 auto;margin:0!important;padding:0!important}.openplay-tabs .nav-link{display:flex!important;align-items:center;justify-content:center;min-height:38px;border:0!important;border-radius:10px!important;padding:9px 17px!important;background:transparent!important;color:#667085!important;box-shadow:none!important}.openplay-tabs .nav-link:hover{background:#f8fafc!important;color:#111827!important}.openplay-tabs .nav-link.active{background:#111827!important;color:#fff!important;box-shadow:0 7px 16px rgba(15,23,42,.16)!important}
.schedule-open-play-panel .form-grid{align-items:start}.schedule-open-play-panel .court-checkbox-grid,.collapse .court-checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.schedule-open-play-panel .court-checkbox,.collapse .court-checkbox{position:relative;display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;min-height:64px;margin:0!important;padding:11px 13px!important;border:1px solid #dfe4ec!important;border-radius:12px!important;background:#fff!important;color:var(--text)!important;box-shadow:0 2px 5px rgba(15,23,42,.025);transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.schedule-open-play-panel .court-checkbox:hover,.collapse .court-checkbox:hover{border-color:#aeb7c5!important;background:#fbfcfe!important;transform:translateY(-1px)}.schedule-open-play-panel .court-checkbox:has(input:checked),.collapse .court-checkbox:has(input:checked){border-color:#f04450!important;background:#fff7f7!important;box-shadow:0 0 0 3px rgba(232,41,53,.08)}.schedule-open-play-panel .court-checkbox input,.collapse .court-checkbox input{appearance:none;-webkit-appearance:none;width:18px!important;height:18px!important;margin:0!important;padding:0!important;border:1.5px solid #c9d1dc!important;border-radius:5px!important;background:#fff!important;display:grid!important;place-items:center!important}.schedule-open-play-panel .court-checkbox input:checked,.collapse .court-checkbox input:checked{border-color:var(--brand)!important;background:var(--brand)!important}.schedule-open-play-panel .court-checkbox input:checked:after,.collapse .court-checkbox input:checked:after{content:'✓';color:#fff;font-size:12px;font-weight:900;line-height:1}.schedule-open-play-panel .court-checkbox>span,.collapse .court-checkbox>span{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important}.schedule-open-play-panel .court-checkbox strong,.collapse .court-checkbox strong{font-size:11px;line-height:1.25}.schedule-open-play-panel .court-checkbox small,.collapse .court-checkbox small{font-size:8px;color:#98a2b3;margin-top:3px;letter-spacing:.08em;text-transform:uppercase}.schedule-open-play-panel>.panel-head{margin-bottom:22px}
.openplay-display-page{background:radial-gradient(circle at 8% -10%,rgba(232,41,53,.12),transparent 26%),#07101f}.openplay-display-page .live-header{height:auto;min-height:104px;padding:21px clamp(22px,3vw,52px);background:rgba(11,19,34,.94);border-bottom:1px solid #27354a;box-shadow:0 14px 35px rgba(0,0,0,.16)}.live-brand-block{display:flex;align-items:center;gap:14px}.live-brand-mark{width:46px;height:46px;border-radius:14px;display:grid!important;place-items:center;background:linear-gradient(145deg,#f43f4b,#be1e2d);color:#fff!important;font-size:21px!important;letter-spacing:0!important;box-shadow:0 10px 25px rgba(232,41,53,.28)}.live-brand-copy>span{font-size:9px!important;letter-spacing:.18em!important;color:#fb7185!important}.live-brand-copy h1{font-size:clamp(24px,2.2vw,34px)!important;letter-spacing:-.035em}.live-header-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.live-header-meta>span{display:inline-flex!important;align-items:center;min-height:32px;padding:7px 11px;border:1px solid #2b3a50;border-radius:999px;background:#101c2e;color:#cbd5e1!important;font-size:9px!important;letter-spacing:0!important}.live-header-meta .live-indicator{color:#86efac!important}.live-header-meta .live-indicator:before{content:'';width:7px;height:7px;margin-right:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.openplay-live-shell{max-width:1800px;margin:0 auto;padding:24px clamp(18px,3vw,52px) 48px}.live-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}.live-status-item{display:flex;align-items:center;gap:12px;min-height:70px;padding:14px 16px;border:1px solid #24334a;border-radius:15px;background:linear-gradient(145deg,rgba(22,34,53,.95),rgba(14,25,42,.95));box-shadow:0 14px 28px rgba(0,0,0,.12)}.live-status-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#1e2b40;color:#fb7185;font-size:16px}.live-status-item small,.live-status-item strong{display:block}.live-status-item small{font-size:8px;color:#7f8da3;text-transform:uppercase;letter-spacing:.11em}.live-status-item strong{font-size:20px;color:#fff;margin-top:2px}.openplay-display-page .openplay-public-live{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.62fr);gap:22px;padding:0}.openplay-display-page .live-main-column,.openplay-display-page .live-rotation-column{gap:22px}.live-board-section{min-width:0}.live-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}.live-section-heading>div span{display:block;color:#fb7185;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.live-section-heading h2{margin:3px 0 0;color:#f8fafc;font-size:17px}.live-section-heading>span{color:#708096;font-size:9px;text-transform:capitalize}.openplay-display-page .live-court-grid{grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:14px}.openplay-display-page .live-court{border-color:#2b3b52;border-radius:18px;background:linear-gradient(150deg,#111d30,#0d1829);box-shadow:0 18px 35px rgba(0,0,0,.16)}.openplay-display-page .live-court>div:first-child{align-items:center;padding:14px 17px;background:#17253a}.live-court-status{display:inline-flex!important;align-items:center;gap:7px;color:#fb7185!important;font-size:8px!important;font-weight:900!important;letter-spacing:.12em;text-transform:uppercase}.live-court-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#fb4251;box-shadow:0 0 0 4px rgba(251,66,81,.12)}.openplay-display-page .live-court>div strong{font-size:16px}.openplay-display-page .live-court>div span{font-size:9px}.openplay-display-page .live-score{padding:14px 18px!important;background:#091423!important}.openplay-display-page .live-score span{font-size:38px!important}.openplay-display-page .live-score small{font-size:8px}.openplay-display-page .live-team{min-height:118px;padding:17px}.openplay-display-page .live-team>small{margin-bottom:11px}.openplay-display-page .live-team b{font-size:14px;margin:9px 0}.openplay-display-page .live-team b small{font-size:7px;margin-top:3px}.openplay-display-page .live-up-next{gap:11px}.openplay-display-page .live-up-next>article{border-color:#4b3440;border-radius:17px;background:linear-gradient(145deg,#171d2d,#111a2a);box-shadow:0 16px 30px rgba(0,0,0,.14)}.openplay-display-page .live-up-next>article>div{padding:12px 14px;background:linear-gradient(90deg,rgba(232,41,53,.18),#17243a)}.openplay-display-page .live-up-next>article>section>div{padding:14px}.openplay-display-page .live-up-next b{display:block;font-size:12px;margin:7px 0}.openplay-display-page .live-queue{border-color:#2b3b52;border-radius:17px;background:#0e192a;box-shadow:0 16px 30px rgba(0,0,0,.12)}.openplay-display-page .live-queue>div{grid-template-columns:40px 1fr;gap:12px;padding:13px 14px;border-color:#253349}.openplay-display-page .live-queue>div>span{width:34px;height:34px;border-radius:10px;background:#1d2a3f;font-size:13px}.openplay-display-page .live-queue strong{font-size:12px}.openplay-display-page .live-queue small{font-size:8px;margin-top:4px}.openplay-display-page .live-history-section{margin-top:0}.openplay-display-page .live-history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.openplay-display-page .live-result{display:grid;gap:12px;min-height:154px;padding:0;border-color:#2b3b52;border-radius:17px;background:linear-gradient(145deg,#111d30,#0d1829);overflow:hidden;box-shadow:0 16px 30px rgba(0,0,0,.12)}.live-result-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#17253a}.live-result-head strong{font-size:12px}.live-result-head small{font-size:8px;color:#7f8da3}.live-result-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:0 14px 14px}.live-result-team:last-child{text-align:right}.live-result-team>small{display:block;color:#708096;font-size:7px;font-weight:900;letter-spacing:.1em;margin-bottom:5px}.live-result-team b{display:block;font-size:10px;margin:3px 0}.live-result-team.live-winner{color:#fff}.live-result-team.live-winner:before{content:none}.live-result-team.live-winner>small{color:#4ade80}.live-result-score{min-width:72px;text-align:center}.live-result-score strong{display:block;color:#fff;font-size:22px;white-space:nowrap}.live-result-score small{display:block;color:#fb7185;font-size:8px;font-weight:800;line-height:1.3}.openplay-display-page .live-result-swaps{margin:0 14px 12px;padding-top:8px}.openplay-display-page .live-empty{grid-column:1/-1;min-height:108px;display:grid;place-items:center;border:1px dashed #2d3b50;border-radius:16px;background:rgba(15,25,42,.55);color:#708096}
.session-summary .detail-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.session-summary .detail-list>div{display:block;min-width:0;padding:12px 14px;border:1px solid var(--line)!important;border-radius:11px;background:#f8fafc}.session-summary .detail-list span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.session-summary .detail-list strong{display:block;margin-top:5px;text-align:left;white-space:normal}.openplay-display-page .live-queue>.live-empty{display:grid;grid-template-columns:1fr;place-items:center;text-align:center;padding:20px}
@media(max-width:1100px){.openplay-display-page .openplay-public-live{grid-template-columns:1fr}.openplay-display-page .live-rotation-column{grid-template-columns:1fr 1fr}.live-status-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.openplay-tabs.nav{padding:4px!important}.openplay-tabs .nav-link{padding:8px 12px!important}.schedule-open-play-panel .court-checkbox-grid,.collapse .court-checkbox-grid{grid-template-columns:1fr 1fr}.openplay-display-page .live-header{align-items:flex-start;gap:14px;flex-direction:column}.live-header-meta{justify-content:flex-start}.live-status-strip{grid-template-columns:1fr 1fr}.openplay-display-page .live-rotation-column,.openplay-display-page .live-history-list{grid-template-columns:1fr}.openplay-display-page .live-court-grid{grid-template-columns:1fr}.live-result-matchup{gap:8px}.openplay-live-shell{padding-left:14px;padding-right:14px}}
@media(max-width:480px){.schedule-open-play-panel .court-checkbox-grid,.collapse .court-checkbox-grid{grid-template-columns:1fr}.live-status-strip{grid-template-columns:1fr}.live-header-meta>span{font-size:8px!important}}

/* Open Play skill queues + group check-in */
.skill-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px;padding:10px 12px;border-radius:12px;background:#f7f8fb;border:1px solid var(--line)}
.skill-queue-heading:first-of-type{margin-top:0}.skill-queue-heading>div{display:flex;flex-direction:column}.skill-queue-heading small{color:var(--muted);font-size:11px}.skill-queue-heading.beginner{border-left:4px solid #22c55e}.skill-queue-heading.intermediate{border-left:4px solid #2563eb}
.skill-queue-badge,.group-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.4;vertical-align:middle}.skill-queue-badge.beginner{background:#dcfce7;color:#166534}.skill-queue-badge.intermediate{background:#dbeafe;color:#1d4ed8}.group-badge{background:#f3e8ff;color:#7e22ce}
.group-checkin-card{border-radius:14px}.group-checkin-form{display:grid;gap:18px}.group-builder-head{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.group-builder-head small{color:var(--muted)}.group-search-picker{max-width:620px}.group-selected-players{display:grid;gap:8px;margin-top:10px}.group-selected-player{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.group-selected-player>div{display:flex;flex-direction:column;min-width:0}.group-selected-player small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.group-skill-select{min-width:130px}.group-guests{padding-top:6px}.group-guest-row{display:grid;grid-template-columns:1fr 1fr 1fr 110px 130px;gap:8px;margin-bottom:8px}.group-guest-row input,.group-guest-row select{width:100%}
.queue-player-copy small{display:block}.up-next-head>div>span{display:flex;gap:5px;align-items:center}
@media(max-width:900px){.group-selected-player{grid-template-columns:1fr}.group-guest-row{grid-template-columns:1fr 1fr}.group-skill-select{min-width:0}}
.openplay-display-page .live-skill-queue{margin-bottom:16px}.openplay-display-page .live-skill-queue h3{display:flex;justify-content:space-between;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#667085;margin:0 0 8px}.openplay-display-page .live-skill-queue h3 span{background:#eef2f6;border-radius:999px;padding:2px 8px;color:#111827}

/* Open Play partner binding */
.partner-badge{display:inline-flex;align-items:center;gap:4px;margin-left:5px;padding:2px 7px;border-radius:999px;background:#ecfdf3;color:#166534;font-size:10px;font-weight:800;line-height:1.4;vertical-align:middle;border:1px solid #bbf7d0}.partner-bind-form{display:flex;align-items:center;gap:5px;flex:1 1 100%;margin-top:5px}.partner-bind-form select{width:auto;min-width:180px;max-width:240px;padding:6px 8px;font-size:10px}.queue-row .partner-badge{margin-left:0}.live-score-timer{font-size:38px;font-weight:900;color:#fff;line-height:1;white-space:nowrap}
@media(max-width:900px){.partner-bind-form{flex-wrap:wrap}.partner-bind-form select{max-width:none;width:100%}}

/* Revenue settings + booking add-ons */
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:18px}.settings-stack{display:grid;gap:18px}.settings-save-bar{position:sticky;bottom:14px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(17,24,39,.12)}.settings-save-bar>div{display:grid;gap:3px}.settings-save-bar span{font-size:11px;color:var(--muted)}.addon-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.addon-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;cursor:pointer}.addon-choice:hover{border-color:#cbd5e1;background:#fbfcfe}.addon-choice input{width:auto;margin-top:2px}.addon-choice span{display:grid;gap:2px}.addon-choice strong{font-size:12px;color:var(--text)}.addon-choice small{font-size:10px;color:var(--muted);line-height:1.4}.revenue-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1200px){.settings-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.revenue-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.settings-summary-grid,.form-grid.three,.addon-choice-grid,.revenue-category-grid{grid-template-columns:1fr}.settings-save-bar{position:static;align-items:stretch;flex-direction:column}.settings-save-bar .button{width:100%}}

/* White-label branding */
.white-label-brand{min-height:48px}.brand-logo{display:block;max-width:190px;max-height:64px;width:auto;height:auto;object-fit:contain;object-position:left center}.sidebar .brand-logo{filter:none}.login-brand-logo{max-width:210px;max-height:78px}.public-brand-logo{display:block;width:auto;height:auto;max-width:170px;max-height:54px;object-fit:contain}.public-brand:has(.public-brand-logo){padding-top:4px;padding-bottom:4px}.white-label-login-logo:has(img){width:min(100%,310px);height:112px;border-radius:18px;padding:14px;background:#fff}.white-label-login-logo img{width:100%;height:100%;object-fit:contain}.branding-summary-grid .stat-card.accent{background:linear-gradient(135deg,var(--brand),var(--brand-dark))}.brand-color-value{display:flex!important;align-items:center;gap:10px;font-size:18px!important}.brand-color-value i{width:28px;height:28px;border-radius:8px;border:1px solid rgba(0,0,0,.08);display:inline-block;flex:0 0 auto}.branding-settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:26px}.branding-logo-upload{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:20px;align-items:center}.branding-logo-current{height:150px;border:1px dashed #cbd5e1;border-radius:14px;background:#fff;display:grid;place-items:center;padding:16px;overflow:hidden}.branding-logo-current img{max-width:100%;max-height:100%;object-fit:contain}.branding-logo-controls{display:grid;gap:12px}.branding-live-preview{--preview-primary:var(--brand);--preview-secondary:var(--nav);--preview-accent:var(--brand-accent);border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;align-self:start;position:sticky;top:116px}.branding-preview-label{display:block;padding:9px 13px;background:#f8fafc;color:#667085;font-size:8px;font-weight:900;letter-spacing:.12em;border-bottom:1px solid var(--line)}.branding-preview-nav{min-height:88px;padding:14px;background:var(--preview-secondary);color:#fff;display:flex;gap:10px;align-items:center}.branding-preview-logo{width:94px;height:58px;border-radius:8px;background:#fff;display:grid;place-items:center;padding:6px;overflow:hidden}.branding-preview-logo img{width:100%;height:100%;object-fit:contain}.branding-preview-logo span{font-size:24px;font-weight:900;color:var(--preview-secondary)}.branding-preview-nav b{font-size:13px;line-height:1.3}.branding-preview-body{display:grid;gap:13px;padding:18px}.branding-preview-body>span{font-size:12px;color:#667085;line-height:1.5}.branding-preview-body button{border:0;border-radius:9px;background:var(--preview-primary);color:#fff;padding:10px 14px;font-size:11px;font-weight:800}.branding-preview-body>div{display:flex;align-items:center;gap:7px}.branding-preview-body i{width:9px;height:9px;border-radius:50%;background:var(--preview-accent)}.branding-preview-body small{color:#667085}.theme-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.theme-color-field{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff}.theme-color-field>span{display:block;font-size:12px;font-weight:800;margin-bottom:10px}.theme-color-field>div{display:grid;grid-template-columns:48px 1fr;gap:9px}.theme-color-field input[type=color]{width:48px;height:40px;padding:3px;border:1px solid #dfe4ed;border-radius:8px;background:#fff}.theme-color-field input[type=text]{width:100%;height:40px;border:1px solid #dfe4ed;border-radius:8px;padding:0 10px;font-size:12px;font-weight:700;text-transform:uppercase}.theme-color-field small{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:1050px){.branding-settings-grid{grid-template-columns:1fr}.branding-live-preview{position:static}.theme-color-grid{grid-template-columns:1fr 1fr}.branding-logo-upload{grid-template-columns:1fr}}
@media(max-width:700px){.theme-color-grid{grid-template-columns:1fr}.brand-logo{max-width:155px}.public-brand-logo{max-width:135px;max-height:45px}}
.platform-credit{position:fixed;right:12px;bottom:10px;z-index:45;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 4px 16px rgba(15,23,42,.08);font-size:8px;color:#667085;backdrop-filter:blur(8px)}

/* Deuce Yard transparent logo containment fix */
.login-hero-logo-shell{width:min(100%,360px);height:148px;display:flex;align-items:center;justify-content:center;margin:0 0 28px;padding:18px 22px;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.18);overflow:hidden}
.login-hero-logo-shell img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.login-card-logo-shell{width:100%;min-height:86px;display:flex;align-items:center;justify-content:flex-start;margin:0 0 22px;padding:4px 0;overflow:hidden}
.login-card-logo-shell img{display:block;width:auto!important;height:auto!important;max-width:235px!important;max-height:82px!important;object-fit:contain!important;object-position:left center}
.sidebar .brand:has(.brand-logo){width:100%}
.sidebar .brand-logo{display:block;width:auto!important;height:auto!important;max-width:205px!important;max-height:76px!important;padding:7px 9px;border-radius:11px;background:#fff;object-fit:contain!important;object-position:left center}
.public-brand-logo{width:auto!important;height:auto!important;max-width:180px!important;max-height:58px!important;object-fit:contain!important}
@media(max-width:980px){.login-card-logo-shell{justify-content:center}.login-card-logo-shell img{max-width:220px!important}}
@media(max-width:700px){.sidebar .brand-logo{max-width:180px!important}.public-brand-logo{max-width:145px!important;max-height:48px!important}.login-card-logo-shell img{max-width:205px!important;max-height:74px!important}}

/* 2026-09-20 brand asset audit: every logo renders inside an explicit box. */
.brand-asset-box{display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;flex:0 0 auto!important;min-width:0!important;line-height:0!important}
.brand-asset-box>img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important}
.brand-asset-fallback{width:42px;height:42px;border-radius:12px;display:inline-grid;place-items:center;background:var(--brand);color:#fff;font-size:20px;font-weight:900;line-height:1}
.white-label-brand{width:100%;min-height:84px!important;display:flex!important;align-items:center!important;overflow:hidden!important}
.white-label-brand .brand-asset-box--sidebar{width:206px!important;height:84px!important;max-width:100%!important}
.public-brand{display:flex!important;align-items:center!important;min-width:0!important;max-width:190px!important;overflow:hidden!important;padding:4px 0!important;margin-right:12px!important}
.public-brand .brand-asset-box--public-nav{width:170px!important;height:58px!important;max-width:170px!important}
.login-hero-logo-shell{width:min(100%,360px)!important;height:146px!important;padding:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important}
.login-hero-logo-shell .brand-asset-box--login-hero{width:360px!important;height:146px!important;max-width:100%!important}
.login-card-logo-shell{width:100%!important;min-height:102px!important;height:102px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:hidden!important;margin-bottom:20px!important;padding:0!important}
.login-card-logo-shell .brand-asset-box--login-card{width:250px!important;height:102px!important;max-width:100%!important}
.white-label-payment-brand{align-items:center!important;gap:14px!important;overflow:hidden!important}
.white-label-payment-brand .brand-asset-box--payment{width:160px!important;height:66px!important;max-width:45%!important}
.live-brand-block .brand-asset-box--live-board{width:118px!important;height:48px!important;max-width:118px!important}
.member-card-top .brand-asset-box--member-card{width:92px!important;height:38px!important;max-width:92px!important}
.branding-logo-current img,.branding-preview-logo img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
@media(max-width:980px){.public-brand{max-width:165px!important}.public-brand .brand-asset-box--public-nav{width:150px!important;height:52px!important}.login-card-logo-shell{justify-content:center!important}}
@media(max-width:700px){.white-label-brand .brand-asset-box--sidebar{width:185px!important;height:76px!important}.public-brand{max-width:145px!important}.public-brand .brand-asset-box--public-nav{width:132px!important;height:46px!important}.login-hero-logo-shell{height:120px!important}.login-hero-logo-shell .brand-asset-box--login-hero{width:300px!important;height:120px!important}.login-card-logo-shell .brand-asset-box--login-card{width:220px!important;height:90px!important}}
/* Contrast surfaces for the transparent Deuce Yard logo on dark UI. */
.white-label-brand .brand-asset-box--sidebar,
.login-hero-logo-shell .brand-asset-box--login-hero,
.live-brand-block .brand-asset-box--live-board,
.member-card-top .brand-asset-box--member-card{background:rgba(255,255,255,.97)!important;border-radius:12px!important;padding:7px!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important}
.member-card-top .brand-asset-box--member-card{border-radius:8px!important;padding:4px!important}
.live-brand-block .brand-asset-box--live-board{border-radius:9px!important;padding:4px!important}
.public-brand>.brand-asset-box--public-nav{background:transparent!important;border-radius:0!important;color:inherit!important;box-shadow:none!important}

/* 2026-09-20 white-label dark-surface theme sync + login logo centering. */
.login-page{
    background:var(--nav)!important;
}
.sidebar{
    background:linear-gradient(180deg,var(--nav) 0%,var(--nav-2) 72%,var(--nav-2) 100%)!important;
}
.button.secondary,
.info-card,
.public-hero-card,
.live-header,
.live-court,
.live-queue,
.live-division,
.member-card,
.live-result,
.up-next-head,
.live-up-next>article{
    background:var(--nav)!important;
}
.member-card-footer{
    background:var(--nav-2)!important;
}
.openplay-tabs .nav-link.active{
    background:var(--nav)!important;
    border-color:var(--nav)!important;
    color:#fff!important;
}
.nav a.active{
    background:rgba(var(--brand-rgb,232,41,53),.18)!important;
    color:#fff!important;
    box-shadow:inset 3px 0 0 var(--brand)!important;
}
.brand-mark{
    box-shadow:0 8px 20px rgba(var(--brand-rgb,232,41,53),.28)!important;
}
.product-card:hover{
    border-color:rgba(var(--brand-rgb,232,41,53),.46)!important;
    box-shadow:0 8px 18px rgba(var(--brand-rgb,232,41,53),.08)!important;
}
.schedule-open-play-panel .court-checkbox:has(input:checked),
.collapse .court-checkbox:has(input:checked){
    border-color:var(--brand)!important;
    background:rgba(var(--brand-rgb,232,41,53),.07)!important;
    box-shadow:0 0 0 3px rgba(var(--brand-rgb,232,41,53),.08)!important;
}
.login-hero{
    background:
        radial-gradient(circle at 20% 25%,rgba(var(--brand-rgb,232,41,53),.30),transparent 35%),
        linear-gradient(145deg,var(--nav),var(--nav-2))!important;
}
.login-hero .eyebrow.light{
    color:var(--brand)!important;
}
.hero-badge{
    box-shadow:0 20px 50px rgba(var(--brand-rgb,232,41,53),.24)!important;
}
.openplay-display-page{
    background:
        radial-gradient(circle at 8% -10%,rgba(var(--brand-rgb,232,41,53),.12),transparent 26%),
        var(--nav-2)!important;
}
.live-brand-mark{
    background:linear-gradient(145deg,var(--brand),var(--brand-dark))!important;
    box-shadow:0 10px 25px rgba(var(--brand-rgb,232,41,53),.28)!important;
}
.openplay-display-page .live-up-next>article>div{
    background:linear-gradient(90deg,rgba(var(--brand-rgb,232,41,53),.18),var(--nav-2))!important;
}
.login-card-logo-shell{
    justify-content:center!important;
    text-align:center!important;
}
.login-card-logo-shell .brand-asset-box--login-card{
    margin-left:auto!important;
    margin-right:auto!important;
}
.login-card-logo-shell .brand-asset-box--login-card>img{
    object-position:center center!important;
}
.white-label-brand{
    justify-content:center!important;
}
.branding-preview-nav{
    background:linear-gradient(145deg,var(--preview-secondary),color-mix(in srgb,var(--preview-secondary) 84%,#000))!important;
}


/* 2026-09-20 accent-button + branded TV + persistent Open Play tabs */
/* Interactive actions use the Accent color across the white-label interface. */
.button.primary,
.button.secondary,
.btn-primary,
.btn-secondary,
.btn-dark,
.btn-success,
.btn-danger{
    background:var(--brand-accent)!important;
    border-color:var(--brand-accent)!important;
    color:#fff!important;
}
.button.primary:hover,
.button.secondary:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-dark:hover,
.btn-success:hover,
.btn-danger:hover,
.button.primary:focus,
.button.secondary:focus,
.btn-primary:focus,
.btn-secondary:focus,
.btn-dark:focus,
.btn-success:focus,
.btn-danger:focus{
    background:var(--brand-accent-dark)!important;
    border-color:var(--brand-accent-dark)!important;
    color:#fff!important;
    box-shadow:0 0 0 .2rem rgba(var(--brand-accent-rgb),.18)!important;
}
.button.ghost,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-warning,
.btn-outline-danger{
    background:#fff!important;
    border-color:var(--brand-accent)!important;
    color:var(--brand-accent-dark)!important;
}
.button.ghost:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-warning:hover,
.btn-outline-danger:hover{
    background:rgba(var(--brand-accent-rgb),.10)!important;
    border-color:var(--brand-accent-dark)!important;
    color:var(--brand-accent-dark)!important;
}
.openplay-tabs .nav-link.active{
    background:var(--brand-accent)!important;
    border-color:var(--brand-accent)!important;
    color:#fff!important;
    box-shadow:0 7px 16px rgba(var(--brand-accent-rgb),.20)!important;
}
.openplay-tabs .nav-link:hover{
    color:var(--brand-accent-dark)!important;
    background:rgba(var(--brand-accent-rgb),.08)!important;
}
.openplay-tabs .nav-link.active:hover{color:#fff!important;background:var(--brand-accent-dark)!important}
.booking-icon-btn{color:var(--brand-accent-dark)!important}
.booking-icon-btn:hover:not(:disabled){border-color:var(--brand-accent)!important;background:rgba(var(--brand-accent-rgb),.08)!important}
.branding-preview-body button{background:var(--preview-accent)!important}

.openplay-remove-player,
.openplay-gcash-number button{color:var(--brand-accent-dark)!important}

/* The TV board now derives every decorative color from the configured white-label palette. */
.openplay-display-page{
    background:
        radial-gradient(circle at 8% -10%,rgba(var(--brand-rgb),.16),transparent 28%),
        linear-gradient(180deg,var(--nav-2),color-mix(in srgb,var(--nav-2) 92%,#000))!important;
}
.openplay-display-page .live-header{
    background:color-mix(in srgb,var(--nav) 94%,transparent)!important;
    border-bottom-color:rgba(var(--brand-accent-rgb),.28)!important;
}
.live-brand-copy>span,
.live-section-heading>div span,
.live-up-next>article>div span,
.live-result-score small,
.live-court-status{
    color:var(--brand)!important;
}
.live-header-meta>span{
    background:color-mix(in srgb,var(--nav) 88%,var(--brand-accent) 12%)!important;
    border-color:rgba(var(--brand-accent-rgb),.34)!important;
}
.live-header-meta .live-indicator{color:var(--brand-accent)!important}
.live-header-meta .live-indicator:before{
    background:var(--brand-accent)!important;
    box-shadow:0 0 0 4px rgba(var(--brand-accent-rgb),.16)!important;
}
.live-status-item{
    background:linear-gradient(145deg,color-mix(in srgb,var(--nav) 88%,var(--brand) 12%),var(--nav-2))!important;
    border-color:rgba(var(--brand-accent-rgb),.28)!important;
}
.live-status-icon{
    background:rgba(var(--brand-rgb),.13)!important;
    color:var(--brand)!important;
}
.openplay-display-page .live-court,
.openplay-display-page .live-result,
.openplay-display-page .live-up-next>article,
.openplay-display-page .live-queue{
    background:linear-gradient(145deg,color-mix(in srgb,var(--nav) 92%,var(--brand) 8%),var(--nav-2))!important;
    border-color:rgba(var(--brand-accent-rgb),.26)!important;
}
.openplay-display-page .live-court>div:first-child,
.live-result-head{
    background:color-mix(in srgb,var(--nav) 82%,var(--brand) 18%)!important;
}
.openplay-display-page .live-score{
    background:color-mix(in srgb,var(--nav-2) 88%,#000)!important;
    border-color:rgba(var(--brand-accent-rgb),.22)!important;
}
.live-court-status:before{
    background:var(--brand)!important;
    box-shadow:0 0 0 4px rgba(var(--brand-rgb),.16)!important;
}
.openplay-display-page .live-up-next>article>div{
    background:linear-gradient(90deg,rgba(var(--brand-rgb),.20),color-mix(in srgb,var(--nav) 88%,var(--brand-accent) 12%))!important;
}
.openplay-display-page .live-queue>div{
    border-color:rgba(var(--brand-accent-rgb),.18)!important;
}
.openplay-display-page .live-queue>div>span{
    background:rgba(var(--brand-rgb),.14)!important;
    color:var(--brand)!important;
}
.live-winner,
.live-winner:before,
.live-result-team.live-winner>small{
    color:var(--brand-accent)!important;
}
.openplay-display-page .live-empty{
    border-color:rgba(var(--brand-accent-rgb),.28)!important;
    background:rgba(var(--nav-rgb),.42)!important;
}
.live-score-timer{color:var(--brand-accent)!important}
.openplay-display-page .live-skill-queue h3 span{
    background:rgba(var(--brand-accent-rgb),.14)!important;
    color:var(--brand-accent)!important;
}


/* White-label variable fallbacks */
:root{--brand-rgb:232,41,53;--brand-accent:#617D7B;--brand-accent-rgb:97,125,123;--brand-accent-dark:#506765;--nav-rgb:17,24,39}

/* Open Play staff: in-place actions prevent full-page reload/scroll jumps. */
.openplay-ajax-busy { opacity: .72; pointer-events: none; }
.openplay-ajax-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2000;
    max-width: min(420px, calc(100vw - 32px));
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--brand-secondary, #272d31);
    color: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .22);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}
.openplay-ajax-toast.show { opacity: 1; transform: translateY(0); }
.openplay-ajax-toast.is-error { background: #7f1d1d; }

/* Open Play Advanced — 2026-09-22 */
.skill-queue-heading.advanced{border-left:4px solid var(--brand-accent,#617D7B)}
.skill-queue-badge.advanced{background:color-mix(in srgb,var(--brand-accent,#617D7B) 14%,#fff);color:var(--brand-accent-dark,#506765)}
.game-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.game-head>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.game-head>div:first-child span{font-size:9px;color:var(--muted)}
.active-match-card .game-head form{margin-left:auto}
.history-score-edit{display:flex;align-items:flex-end;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.history-score-edit label{width:58px;font-size:9px;text-align:center}
.history-score-edit input{padding:6px 7px;text-align:center}
.history-score-edit>span{padding-bottom:7px;color:var(--muted)}
.match-history-editable{grid-template-columns:150px minmax(260px,1fr) auto;align-items:center}
.match-history-editable .history-status-line{grid-column:2/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dupr-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;line-height:1.2}
.dupr-badge.ready{background:#ecfdf3;color:#15803d}.dupr-badge.exported{background:#eff6ff;color:#1d4ed8}.dupr-badge.uploaded{background:#f0fdf4;color:#166534}.dupr-badge.blocked{background:#f8fafc;color:#667085;border:1px solid var(--line)}
.openplay-details{border:1px solid var(--line);border-radius:14px;background:#fbfcfe;overflow:hidden}
.openplay-details>summary{cursor:pointer;padding:13px 15px;font-size:12px;font-weight:800;list-style:none;display:flex;align-items:center;justify-content:space-between}
.openplay-details>summary::-webkit-details-marker{display:none}.openplay-details[open]>summary{border-bottom:1px solid var(--line);background:#fff}
.manual-history-form{padding:15px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-4{grid-column:1/-1}
.dupr-panel{overflow:hidden}.dupr-actions{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}
.dupr-actions>div strong{display:block;font-size:12px}.dupr-actions>div small{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.45}.dupr-actions form{margin:0}
.dupr-inline-form{display:grid;grid-template-columns:minmax(150px,1fr) 110px auto;gap:7px;align-items:center}.dupr-inline-form input{padding:7px 8px;font-size:10px}.dupr-player-table td{vertical-align:middle}
.stage-card .stage-random-swap{margin-left:auto}
@media(max-width:1100px){.match-history-editable{grid-template-columns:1fr}.match-history-editable .history-status-line{grid-column:1}.history-score-edit{justify-content:flex-start}.dupr-actions{grid-template-columns:1fr 1fr}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.span-4{grid-column:1/-1}}
@media(max-width:720px){.dupr-actions{grid-template-columns:1fr}.form-grid.four{grid-template-columns:1fr}.span-4{grid-column:1}.dupr-inline-form{grid-template-columns:1fr}.history-score-edit{justify-content:flex-start}}
.dupr-mini{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--brand-accent,#617D7B) 12%,#fff);color:var(--brand-accent-dark,#506765);font-size:9px;font-weight:800;white-space:nowrap}

/* Open Play Loyalty — 2026-09-22 */
.loyalty-settings-panel{overflow:hidden}.loyalty-status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em}.loyalty-status-pill.is-on{background:#ecfdf3;color:#15803d}.loyalty-status-pill.is-off{background:#f2f4f7;color:#667085}.loyalty-master-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.loyalty-master-toggle>span:first-child{display:grid;gap:4px}.loyalty-master-toggle strong{font-size:13px}.loyalty-master-toggle small{font-size:10px;color:var(--muted)}.toggle-switch{position:relative;width:48px;height:26px;flex:0 0 auto}.toggle-switch input{position:absolute;opacity:0;pointer-events:none}.toggle-switch i{display:block;width:48px;height:26px;border-radius:999px;background:#d0d5dd;position:relative;cursor:pointer;transition:.18s}.toggle-switch i:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}.toggle-switch input:checked+i{background:var(--brand)}.toggle-switch input:checked+i:after{transform:translateX(22px)}.loyalty-rule-preview{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.loyalty-rule-preview span{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:10px;background:color-mix(in srgb,var(--brand) 7%,#fff);border:1px solid color-mix(in srgb,var(--brand) 18%,#fff);font-size:9px;color:#475467}.loyalty-rule-preview b{color:var(--brand)}
.loyalty-off-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.loyalty-off-notice>div{display:grid;gap:4px}.loyalty-off-notice span{font-size:10px;color:var(--muted)}.loyalty-search{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.loyalty-search input{min-width:260px}.loyalty-reward-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#ecfdf3;color:#15803d;font-size:9px;font-weight:900}.loyalty-reward-badge.reserved{background:#fff7ed;color:#c2410c}.loyalty-discount-line{color:#15803d!important;font-weight:800}.desk-loyalty-hint{color:var(--brand)!important;font-weight:800}.loyalty-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:10px}.loyalty-detail-head a{font-weight:800}.loyalty-detail-head span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.loyalty-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px}.loyalty-card-panel{background:linear-gradient(145deg,color-mix(in srgb,var(--brand-secondary,#0b2447) 96%,#fff),color-mix(in srgb,var(--brand-secondary,#0b2447) 84%,var(--brand) 16%));color:#fff}.loyalty-card-panel .eyebrow{color:color-mix(in srgb,var(--brand) 82%,#fff)}.loyalty-card-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.loyalty-card-brand h2{font-size:25px;margin:4px 0}.loyalty-card-brand>div:first-child>span{font-size:10px;opacity:.72}.loyalty-card-count{display:flex;align-items:baseline;gap:3px}.loyalty-card-count strong{font-size:36px;line-height:1}.loyalty-card-count span{font-size:14px;opacity:.7}.loyalty-card-slots{display:grid;gap:7px;margin:22px 0}.loyalty-slot{min-width:0;aspect-ratio:1.2/1;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);display:grid;place-items:center;align-content:center;gap:2px}.loyalty-slot b{font-size:13px}.loyalty-slot small{font-size:6px;font-weight:900;letter-spacing:.03em}.loyalty-slot.filled{background:#fff;color:var(--brand-secondary,#0b2447)}.loyalty-slot.milestone{outline:2px solid color-mix(in srgb,var(--brand) 88%,#fff);outline-offset:-2px}.loyalty-card-footer{display:flex;gap:15px;flex-wrap:wrap;padding-top:4px;font-size:9px;opacity:.88}.loyalty-card-footer b{font-size:13px;margin-right:3px}.loyalty-qr-wrap{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px;border-radius:14px;background:#fff;color:#101828}.loyalty-qr-wrap #loyaltyQr{padding:5px;background:#fff}.loyalty-qr-wrap strong,.loyalty-qr-wrap span{display:block}.loyalty-qr-wrap strong{font-size:12px}.loyalty-qr-wrap span{font-size:8px;color:#667085;margin-top:4px}.loyalty-reward-stack{display:grid;gap:9px}.loyalty-wallet-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px 12px}.loyalty-wallet-card>div{display:grid;gap:3px}.loyalty-wallet-card strong{font-size:11px}.loyalty-wallet-card span{font-size:8px;color:var(--muted)}.loyalty-wallet-card>.loyalty-reward-badge{color:#15803d}.loyalty-adjust-form{display:grid;grid-template-columns:120px 1fr auto;gap:8px}.empty-state.compact{padding:18px}.inline-form{display:inline}.button.danger{background:#fff;color:#b42318;border:1px solid #fecdca}.button.danger:hover{background:#fef3f2}.loyalty-summary-grid{margin-bottom:16px}
@media(max-width:1050px){.loyalty-detail-grid{grid-template-columns:1fr}.loyalty-card-slots{grid-template-columns:repeat(5,1fr)!important}.loyalty-adjust-form{grid-template-columns:1fr}.loyalty-search input{min-width:180px}}
@media(max-width:700px){.loyalty-master-toggle,.loyalty-off-notice{align-items:flex-start;flex-direction:column}.loyalty-card-slots{grid-template-columns:repeat(5,1fr)!important}.loyalty-search{width:100%}.loyalty-search input{width:100%}}


/* 2026-09-29 sidebar overflow safety */
.sidebar .nav{flex:0 0 auto}
.sidebar-footer{flex:0 0 auto;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}
.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28)}


/* 2026-09-29 simplified staff login */
.staff-login-page{
    margin:0;
    min-height:100vh;
    background:#f5f7fb!important;
}
.staff-login-center{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:32px 20px;
}
.staff-login-card{
    width:min(100%,460px);
    margin:0;
}
.staff-login-card .login-card-logo-shell{
    justify-content:center!important;
    margin-bottom:22px!important;
}
.staff-login-heading{
    text-align:center;
    margin-bottom:22px;
}
.staff-login-heading h2{
    margin:0 0 6px;
}
.staff-login-heading .muted{
    margin:0;
}
.staff-login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:4px 0 2px;
}
.staff-login-options>a{
    font-size:11px;
    font-weight:750;
    color:var(--brand-accent-dark);
    white-space:nowrap;
}
@media(max-width:560px){
    .staff-login-center{padding:20px 14px}
    .staff-login-card{padding:26px 22px}
    .staff-login-options{align-items:flex-start;flex-direction:column;gap:8px}
}


/* 2026-09-30 Open Play roster action menu + TV self check-in */
.openplay-roster-table .roster-actions-cell{
    width:112px;
    min-width:112px;
    text-align:right;
}
.roster-action-menu{
    position:relative;
    display:inline-block;
}
.roster-action-menu>summary{
    list-style:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:92px;
    min-height:38px;
    padding:8px 13px;
    border:1px solid var(--brand-accent-dark,var(--brand));
    border-radius:10px;
    background:#fff;
    color:var(--brand-accent-dark,var(--brand));
    font-size:10px;
    font-weight:850;
    cursor:pointer;
    white-space:nowrap;
}
.roster-action-menu>summary::-webkit-details-marker{display:none}
.roster-action-menu>summary:after{
    content:'▾';
    margin-left:8px;
    font-size:9px;
}
.roster-action-menu[open]>summary{
    background:var(--brand-accent,var(--brand));
    border-color:var(--brand-accent,var(--brand));
    color:#fff;
}
.roster-action-menu>div{
    position:fixed;
    z-index:1200;
    width:230px;
    max-height:min(66vh,460px);
    overflow-y:auto;
    padding:8px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 18px 44px rgba(15,23,42,.18);
    text-align:left;
}
.roster-action-menu>div form{
    display:block;
    margin:0 0 6px;
}
.roster-action-menu>div form:last-child{margin-bottom:0}
.roster-action-menu>div .btn,
.roster-action-menu>div button{
    width:100%;
    min-height:38px;
    justify-content:center;
    white-space:normal;
}
.roster-action-menu .roster-partner-form select{
    width:100%;
    margin-bottom:6px;
}
.openplay-self-checkin-tv{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    margin-bottom:22px;
    padding:18px 20px;
    border:1px solid #2b3b52;
    border-left:5px solid var(--brand-primary,var(--brand));
    border-radius:16px;
    background:linear-gradient(120deg,#111d30,#0d1829);
}
.openplay-self-checkin-copy>span{
    color:var(--brand-accent,#fb7185);
    font-size:8px;
    font-weight:900;
    letter-spacing:.16em;
}
.openplay-self-checkin-copy h2{
    margin:5px 0 6px;
    color:#fff;
    font-size:20px;
}
.openplay-self-checkin-copy p{
    margin:0;
    color:#cbd5e1;
    font-size:11px;
    line-height:1.55;
}
.openplay-self-checkin-copy small{
    display:block;
    margin-top:7px;
    color:#7f8da3;
    font-size:9px;
}
.openplay-self-checkin-qr{
    display:grid;
    place-items:center;
    gap:6px;
    min-width:178px;
    padding:10px;
    border-radius:12px;
    background:#fff;
}
.openplay-self-checkin-qr canvas{
    width:150px!important;
    height:150px!important;
}
.openplay-self-checkin-qr strong{
    color:#111827;
    font-size:8px;
    letter-spacing:.12em;
}
.openplay-self-checkin-tv.is-closed .openplay-self-checkin-qr{
    min-height:92px;
    background:#17253a;
}
.openplay-self-checkin-tv.is-closed .openplay-self-checkin-qr:before{
    content:'CHECK-IN NOT OPEN';
    color:#94a3b8;
    font-size:9px;
    font-weight:900;
    letter-spacing:.1em;
}
.openplay-self-checkin-tv.is-closed .openplay-self-checkin-qr strong{display:none}
@media(max-width:720px){
    .openplay-self-checkin-tv{grid-template-columns:1fr}
    .openplay-self-checkin-qr{justify-self:start}
}


/* 2026-09-30 Open Play action portal: keep player actions outside table overflow */
.openplay-action-popover{
    position:fixed!important;
    z-index:5000!important;
    display:block!important;
    width:250px;
    max-width:calc(100vw - 24px);
    max-height:min(68vh,480px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    padding:8px;
    margin:0!important;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 20px 48px rgba(15,23,42,.22);
    text-align:left;
}
.openplay-action-popover form{
    display:block;
    width:100%;
    margin:0 0 7px;
}
.openplay-action-popover form:last-child{
    margin-bottom:0;
}
.openplay-action-popover .btn,
.openplay-action-popover button{
    display:flex;
    width:100%;
    min-height:40px;
    align-items:center;
    justify-content:center;
    white-space:normal;
}
.openplay-action-popover .roster-partner-form select{
    width:100%;
    margin:0 0 7px;
}
.openplay-roster-table .roster-actions-cell{
    overflow:visible;
}


/* 2026-09-30 unified member + staff sign-in */
.unified-login-page{
    margin:0;
    min-height:100vh;
    background:#f5f7fb!important;
}
.unified-login-shell{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:34px 20px;
}
.unified-login-card{
    width:min(100%,470px);
    margin:0;
}
.unified-login-card .login-card-logo-shell{
    justify-content:center!important;
    margin-bottom:18px!important;
}
.unified-login-heading{
    text-align:center;
    margin-bottom:20px;
}
.unified-login-heading .eyebrow{
    margin:0 0 6px;
}
.unified-login-heading h1{
    margin:0 0 7px;
    font-size:28px;
    letter-spacing:-.035em;
}
.unified-login-heading .muted{
    max-width:360px;
    margin:0 auto!important;
    line-height:1.55;
}
.unified-login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:4px 0 2px;
}
.unified-login-options>a,
.unified-member-links>a{
    color:var(--brand-accent-dark,var(--brand));
    font-size:11px;
    font-weight:800;
}
.unified-member-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap;
    margin-top:16px;
    color:var(--muted);
    font-size:10px;
}
.unified-login-divider{
    display:flex;
    align-items:center;
    gap:10px;
    margin:24px 0 12px;
    color:#98a2b3;
    font-size:8px;
    font-weight:900;
    letter-spacing:.16em;
}
.unified-login-divider:before,
.unified-login-divider:after{
    content:'';
    flex:1;
    height:1px;
    background:var(--line);
}
.unified-staff-login{
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfcfe;
    overflow:hidden;
}
.unified-staff-login>summary{
    list-style:none;
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 15px;
    cursor:pointer;
    user-select:none;
}
.unified-staff-login>summary::-webkit-details-marker{
    display:none;
}
.unified-staff-login>summary strong{
    display:block;
    color:var(--text);
    font-size:12px;
    font-weight:900;
}
.unified-staff-login>summary small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    font-weight:600;
}
.unified-staff-chevron{
    color:var(--brand-accent-dark,var(--brand));
    font-size:20px;
    font-weight:900;
    transition:transform .18s ease;
}
.unified-staff-login[open] .unified-staff-chevron{
    transform:rotate(180deg);
}
.unified-staff-panel{
    padding:0 15px 15px;
    border-top:1px solid var(--line);
    background:#fff;
}
.unified-staff-panel .stack-form{
    margin-top:10px;
}
.unified-staff-panel .button.outline{
    background:#fff;
}
@media(max-width:560px){
    .unified-login-shell{
        padding:18px 12px;
        place-items:start center;
    }
    .unified-login-card{
        padding:24px 20px;
        border-radius:18px;
    }
    .unified-login-options{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
}


/* 2026-09-30 split member/staff login role switch */
.login-account-links{
    display:flex;
    justify-content:center;
    margin-top:15px;
}
.login-account-links a,
.login-role-switch a{
    color:var(--brand-accent-dark,var(--brand));
    font-size:11px;
    font-weight:850;
}
.login-role-switch{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:10px;
}


/* 2026-09-30 signed-in customer menu action */
.public-nav-signout{
    display:flex;
    align-items:center;
    margin:0;
}
.public-nav-signout button{
    appearance:none;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-size:inherit;
    font-weight:750;
    padding:10px 12px;
    cursor:pointer;
}
.public-nav-signout button:hover{
    color:var(--brand-accent-dark,var(--brand));
}
@media(max-width:991px){
    .public-nav-signout{
        width:100%;
    }
    .public-nav-signout button{
        width:100%;
        text-align:left;
    }
}


/* 2026-09-30 public menu sign-out parity */
.public-nav .navbar-nav .public-nav-signout{
    display:flex;
    align-items:center;
    margin:0;
}
.public-nav .navbar-nav .public-nav-signout button{
    appearance:none!important;
    border:0!important;
    background:transparent!important;
    color:#667085!important;
    font-family:inherit!important;
    font-size:11px!important;
    line-height:normal!important;
    font-weight:700!important;
    padding:9px 11px!important;
    border-radius:8px!important;
    min-height:0!important;
    box-shadow:none!important;
    cursor:pointer;
}
.public-nav .navbar-nav .public-nav-signout button:hover,
.public-nav .navbar-nav .public-nav-signout button:focus{
    background:#fff1f2!important;
    color:var(--brand)!important;
}
@media(max-width:991px){
    .public-nav .navbar-nav .public-nav-signout{
        width:100%;
    }
    .public-nav .navbar-nav .public-nav-signout button{
        width:100%;
        text-align:left;
    }
}


/* LIVE BOARD MANAGED PALETTE 2026-10-03
   Every decorative TV / Open Play Live Board color is driven by
   Brand & Experience > Live Board variables. */
.openplay-display-page{
    background:var(--live-board-bg,#07101F)!important;
    color:var(--live-text,#F8FAFC)!important;
}
.openplay-display-page .live-header{
    background:var(--live-header-bg,#0B1322)!important;
    border-bottom-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .live-header h1,
.openplay-display-page .live-section-heading h2,
.openplay-display-page .live-status-item strong,
.openplay-display-page .live-court strong,
.openplay-display-page .live-team b,
.openplay-display-page .live-up-next b,
.openplay-display-page .live-queue strong,
.openplay-display-page .live-result strong,
.openplay-display-page .live-result b,
.openplay-display-page .openplay-self-checkin-copy h2,
.openplay-display-page .live-rank-player>strong,
.openplay-display-page .live-rank-stat>strong{
    color:var(--live-text,#F8FAFC)!important;
}
.openplay-display-page .live-header-meta>span,
.openplay-display-page .live-status-item small,
.openplay-display-page .live-section-heading>span,
.openplay-display-page .live-court>div span,
.openplay-display-page .live-team b small,
.openplay-display-page .live-up-next>article>div small,
.openplay-display-page .live-queue small,
.openplay-display-page .live-result-head small,
.openplay-display-page .live-result-team>small,
.openplay-display-page .openplay-self-checkin-copy p,
.openplay-display-page .openplay-self-checkin-copy small,
.openplay-display-page .live-rank-player>small,
.openplay-display-page .live-rank-stat>span{
    color:var(--live-muted,#8290A4)!important;
}
.openplay-display-page .live-header-meta>span{
    background:var(--live-card-bg,#111D30)!important;
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .openplay-self-checkin-tv{
    background:var(--live-checkin-bg,#0F192A)!important;
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .openplay-self-checkin-tv.is-closed .openplay-self-checkin-qr{
    background:var(--live-card-header-bg,#17253A)!important;
}
.openplay-display-page .live-status-item{
    background:var(--live-status-bg,#162235)!important;
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .live-status-icon{
    background:var(--live-card-header-bg,#17253A)!important;
    color:var(--live-accent,#FB7185)!important;
}
.openplay-display-page .live-court,
.openplay-display-page .live-up-next>article,
.openplay-display-page .live-queue,
.openplay-display-page .live-result,
.openplay-display-page .live-ranking-row{
    background:var(--live-card-bg,#111D30)!important;
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .live-court>div:first-child,
.openplay-display-page .live-result-head,
.openplay-display-page .live-up-next>article>div{
    background:var(--live-card-header-bg,#17253A)!important;
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .live-score{
    background:var(--live-score-bg,#091423)!important;
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .live-team,
.openplay-display-page .live-up-next>article>section>div,
.openplay-display-page .live-queue>div,
.openplay-display-page .live-result-swaps{
    border-color:var(--live-border,#2B3B52)!important;
}
.openplay-display-page .live-queue>div>span{
    background:var(--live-card-header-bg,#17253A)!important;
    color:var(--live-accent,#FB7185)!important;
}
.openplay-display-page .live-empty{
    background:var(--live-empty-bg,#0F192A)!important;
    border-color:var(--live-border,#2B3B52)!important;
    color:var(--live-muted,#8290A4)!important;
}
.openplay-display-page .live-brand-copy>span,
.openplay-display-page .live-section-heading>div span,
.openplay-display-page .live-team>small,
.openplay-display-page .live-up-next>article>div span,
.openplay-display-page .live-result-score small,
.openplay-display-page .live-court-status,
.openplay-display-page .openplay-self-checkin-copy>span,
.openplay-display-page .live-rank-position>strong{
    color:var(--live-accent,#FB7185)!important;
}
.openplay-display-page .live-court-status:before{
    background:var(--live-accent,#FB7185)!important;
    box-shadow:0 0 0 4px color-mix(in srgb,var(--live-accent,#FB7185) 18%,transparent)!important;
}
.openplay-display-page .live-header-meta .live-indicator,
.openplay-display-page .live-result-team.live-winner>small,
.openplay-display-page .live-score-timer,
.openplay-display-page .live-ranking-row.is-podium .live-rank-stat:last-child>strong{
    color:var(--live-success,#4ADE80)!important;
}
.openplay-display-page .live-header-meta .live-indicator:before{
    background:var(--live-success,#4ADE80)!important;
    box-shadow:0 0 0 4px color-mix(in srgb,var(--live-success,#4ADE80) 18%,transparent)!important;
}
.openplay-display-page .live-ranking-row.is-podium{
    background:var(--live-card-header-bg,#17253A)!important;
    border-color:var(--live-accent,#FB7185)!important;
}
.openplay-display-page .live-skill-queue h3{
    color:var(--live-muted,#8290A4)!important;
}
.openplay-display-page .live-skill-queue h3 span{
    background:var(--live-card-header-bg,#17253A)!important;
    color:var(--live-accent,#FB7185)!important;
}

/* Open Play group guest list: expandable rows and remove buttons. */
.group-guest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.group-guest-row{grid-template-columns:repeat(3,minmax(0,1fr)) 110px minmax(125px,140px) auto;align-items:center}
.group-guest-row:not(.has-skill-queue){grid-template-columns:repeat(3,minmax(0,1fr)) 110px auto}
.group-guest-remove{white-space:nowrap;min-height:38px}
@media(max-width:900px){
  .group-guest-row,.group-guest-row:not(.has-skill-queue){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .group-guest-row,.group-guest-row:not(.has-skill-queue){grid-template-columns:minmax(0,1fr)}
}

/* Shared alert layout: center a single line and leading icon vertically,
   while keeping multi-paragraph/error-list alerts stacked and readable. */
:where(.alert,.notice-card,.booking-alert,.booking-review-warning,.membership-flash){
    align-content:center;
}
:where(.alert,.notice-card,.booking-alert,.booking-review-warning):has(> :is(.fa-icon,svg,i):first-child){
    display:flex;align-items:center;gap:10px;
}
:where(.alert,.notice-card,.booking-alert) > :is(.fa-icon,svg,i):first-child{
    flex:0 0 auto;align-self:center;
}
:where(.alert,.notice-card,.booking-alert) > :is(p,ul):last-child{
    margin-bottom:0;
}
/* Shared traditional checkbox rows (exclude switches/card toggles). */
:where(.public-site,.app-shell) :is(
    label.check-row,label.booking-confirm-check,
    label.membership-payment-accept,label.booking-payment-accept
){
    display:flex;align-items:center;gap:10px;
}
:where(.public-site,.app-shell) :is(
    label.check-row,label.booking-confirm-check,
    label.membership-payment-accept,label.booking-payment-accept
) > input[type="checkbox"]{
    width:18px;min-width:18px;height:18px;flex:0 0 18px;
    padding:0;margin:0;align-self:center;accent-color:var(--brand-accent,var(--brand,#617D7B));
}
:where(.public-site,.app-shell) :is(
    label.check-row,label.booking-confirm-check,
    label.membership-payment-accept,label.booking-payment-accept
)>span{min-width:0;line-height:1.5}
