/* Shared visual language. Page structure, IDs, permissions and scoring stay intact. */
:root{--ui-paper:#f3f4f6;--ui-card:#fff;--ui-ink:#25372f;--ui-muted:#64766b;--ui-line:#e2e7e4;--ui-accent:#176b54;--ui-tint:#eaf3ee}
html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.system-ui{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;background:var(--ui-paper);color:var(--ui-ink)}
.system-ui *{box-sizing:border-box}.system-ui [hidden]{display:none!important}
.system-ui:not(.ui-display):not(.public)>header{background:var(--ui-card);color:var(--ui-ink);border-bottom:1px solid var(--ui-line);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.system-ui>header b,.system-ui .brand{font-size:19px;font-weight:750;letter-spacing:-.5px}
.system-ui>header p{margin:0;font-size:13px;color:var(--ui-muted)}
.system-ui:not(.ui-display):not(.public)>main{max-width:1200px;margin:auto;padding:28px}
.system-ui h1{font-size:clamp(27px,3vw,36px);font-weight:750;line-height:1.16;letter-spacing:-1px;margin:8px 0 18px}
.system-ui h2{font-size:23px;font-weight:650;line-height:1.25;letter-spacing:-.4px}
.system-ui h3{font-size:18px;font-weight:650}.system-ui p{overflow-wrap:anywhere}.system-ui .muted{color:var(--ui-muted)}
.system-ui:not(.ui-display):not(.public) :is(.card,.row,.student,.team){background:var(--ui-card);border:1px solid var(--ui-line);border-radius:20px;box-shadow:0 2px 5px #203c3003;padding:24px}
.system-ui :is(button,.button){font-family:inherit;font-size:15px;line-height:1.4;font-weight:550;border:1px solid #d8e0dc;border-radius:12px;min-height:48px;padding:12px 17px;background:var(--ui-card);color:var(--ui-ink);cursor:pointer;text-decoration:none;touch-action:manipulation;max-width:100%;white-space:normal}
.system-ui :is(button,.button):hover{background:#eaf3ee;border-color:#9ec6b1}.system-ui :is(button,.button):active{background:#dbece2}
.system-ui :is(button,.button):disabled{opacity:.5;cursor:default}
.system-ui :is(.primary,.ui-primary){background:var(--ui-accent);border-color:var(--ui-accent);color:white;font-weight:650}
.system-ui :is(.primary,.ui-primary):hover{background:#125840;color:white}
.system-ui :is(input,select,textarea){font-family:inherit;font-size:16px;line-height:1.5;min-height:48px;border:1px solid #bdcbc3;border-radius:12px;padding:11px 13px;background:#fff;color:var(--ui-ink);max-width:100%;width:100%;box-sizing:border-box}
.system-ui input[type=checkbox],.system-ui input[type=radio]{display:inline-block;width:22px;height:22px;min-height:22px;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--ui-accent);padding:0}
.system-ui input[type=file]{font-size:14px}.system-ui input[type=file]::file-selector-button{border:0;border-radius:8px;background:var(--ui-tint);color:var(--ui-accent);padding:8px;margin-right:10px}
.system-ui select[multiple]{min-height:115px}.system-ui textarea{min-height:110px;resize:vertical}
.system-ui label{font-size:14px;font-weight:600;display:block;margin:16px 0;color:#42574a}.system-ui label :is(input,select,textarea){margin-top:7px}
.system-ui :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid #27865f;outline-offset:3px}
.system-ui a:not(.button){color:#176b54;text-underline-offset:4px}.system-ui :is(.actions,.tools,.class-actions){gap:12px}
.system-ui :is(.tabs,.ui-section-nav){display:flex;gap:5px;flex-wrap:wrap;background:#e9edeb;border:1px solid var(--ui-line);padding:5px;border-radius:15px;margin:20px 0;align-items:center}
.system-ui :is(.tabs,.ui-section-nav)>button{background:transparent;border:1px solid transparent;box-shadow:none;margin:0;font-size:14px;padding:10px 14px;min-height:44px}
.system-ui :is(.tabs,.ui-section-nav)>button[aria-current=page]{background:white;color:#176b54;border-color:#dce6df;box-shadow:0 2px 4px #203c3010;font-weight:700}
.system-ui .ui-section-nav>a{margin-left:auto;padding:10px;font-size:14px}
.system-ui .ui-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 22px;color:#66796d;font-size:14px}.system-ui .ui-context a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 13px;border-radius:12px;background:white;border:1px solid var(--ui-line);text-decoration:none;font-weight:600}.system-ui .ui-context span{color:#687b6f}
.system-ui :is(.note,.banner){background:#eaf1ed;color:#405e4c;border:1px solid #dce8df;border-radius:15px;font-size:14px}
.system-ui :is(.warn,.expired){background:#fff5e5!important;border-color:#e0bf84!important;color:#785018}
.system-ui .badge{background:#eaf3ee;color:#276b4e;border-radius:9px;font-size:13px;font-weight:600}
.system-ui :is(.clock,.class-clock,.points){font-variant-numeric:tabular-nums;letter-spacing:-1px}
.system-ui .class-clock{font-size:clamp(58px,12vw,112px);line-height:1.2;margin:20px 0;color:#176b54}.system-ui .expired .class-clock{color:#945c12}
.system-ui details{border-top:1px solid var(--ui-line)}.system-ui summary{font-weight:600;min-height:48px;cursor:pointer;padding:12px 0}
.system-ui table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.system-ui th{font-size:12px;font-weight:650;color:#617368;background:#f6f8f7}.system-ui :is(th,td){text-align:left;padding:14px 12px;border-bottom:1px solid var(--ui-line);vertical-align:middle}.system-ui td{font-size:14px}.system-ui .scroll{overflow:auto;border-radius:14px}.system-ui .scroll table{min-width:620px}
.system-ui :is(#ev-message,#ac-message,#message,#status,#class-message,#event-status):not(:empty){border-radius:12px;padding:12px 16px;background:#edf3ef;color:#385a46;font-size:14px;overflow-wrap:anywhere}
.system-ui #error:not(:empty){border-radius:12px;padding:14px;background:#fff0ee;color:#9b3030}
.system-ui #error:empty,.system-ui #ev-message:empty,.system-ui #event-status:empty{display:none}
.system-ui .ui-help{font-size:14px;color:var(--ui-muted);border:1px solid var(--ui-line);border-radius:15px;background:white;padding:8px 18px;margin:16px 0}
.system-ui.ui-auth main{max-width:610px}.system-ui.ui-auth .narrow{max-width:550px;margin:24px auto}.system-ui.ui-auth form:not(.card){background:#fff;border:1px solid var(--ui-line);border-radius:20px;padding:24px}.system-ui.ui-auth .card form{border:0;padding:0}.system-ui.ui-auth form>button[type=submit],.system-ui.ui-auth form>button:not([type]){width:100%}
.system-ui #lesson-form{max-width:600px}.system-ui #ac-unlock{max-width:560px}.system-ui #class-panel{margin-bottom:20px}
.system-ui .ui-form-heading{font-size:19px;margin:0 0 20px;color:#40594b}.system-ui #ev-form:empty{display:none}.system-ui #ev-form form{margin-top:24px}
.system-ui.ui-operation #toolbar{background:#fff;border:1px solid var(--ui-line);border-radius:18px;padding:17px 20px;color:#5c7063;font-size:13px}.system-ui.ui-operation #toolbar>p{margin:4px 0}.system-ui.ui-operation #toolbar select{max-width:260px}
.system-ui.ui-social-tablet .team button{min-height:100px;font-size:30px;background:#176b54;color:white;border-radius:16px}.system-ui.ui-social-tablet .points{font-size:clamp(64px,11vw,90px)}
/* Court interfaces retain score sizes, team colors, timers and visual alerts. */
.system-ui.ui-marker #padel-punto-demo{font-family:inherit!important}.system-ui.ui-marker #padel-punto-demo .p-tablet{border:1px solid #dbe4dd;border-radius:24px;box-shadow:0 3px 14px #193a2b09}.system-ui.ui-marker #padel-punto-demo :is(.p-config,.c-court,.p-roster){border-radius:18px}.system-ui.ui-marker #padel-punto-demo button{border-radius:13px;font-family:inherit}.system-ui.ui-marker #padel-punto-demo input{font-family:inherit;border-radius:12px}.system-ui.ui-marker .connected-bar{background:white;border:1px solid var(--ui-line);border-radius:16px;padding:12px 16px}.system-ui.ui-marker .connected-status{padding:6px 16px}
/* Public displays have no admin navigation and preserve high contrast. */
.system-ui.ui-display,.system-ui.public{background:#0d2019;color:#f3f8f5}.system-ui.ui-display .tile,.system-ui.public .card{background:#183e2c;border:1px solid #476852;border-radius:20px;color:#f3f8f5}.system-ui.ui-display button,.system-ui.public button{background:#244c38;color:#fff;border-color:#668573}.system-ui.public .badge{background:#d9f0c3;color:#234a2f}.system-ui.public a{color:#d9f0c3}.system-ui.ui-display main{margin:0;max-width:none}.system-ui.ui-display h1{margin:0;font-size:clamp(18px,2.5vw,32px)}
.system-ui.ui-landing .hero{background:#193c30}.system-ui.ui-landing .score-preview{transform:none;border-radius:24px}.system-ui.ui-landing .hero h1{font-size:clamp(36px,5.7vw,70px);color:white}.system-ui.ui-landing .hero .primary{background:#dcf0c5;color:#193c30;border-color:#dcf0c5}.system-ui.ui-landing .hero .ghost{background:transparent;color:white}.system-ui.ui-landing .container{max-width:1200px}.system-ui.ui-landing .hero p{color:#d3e2d9}
@media(max-width:700px){.system-ui:not(.ui-display):not(.public)>header{padding:16px;gap:10px}.system-ui:not(.ui-display):not(.public)>main{padding:16px}.system-ui:not(.ui-display):not(.public) :is(.card,.row,.student,.team){padding:18px;border-radius:17px}.system-ui :is(.grid,.event-grid,.grid-ac){grid-template-columns:minmax(0,1fr)}.system-ui :is(.tabs,.ui-section-nav){gap:4px}.system-ui :is(.tabs,.ui-section-nav)>button{flex:1 1 120px;font-size:13px;padding:10px}.system-ui .ui-section-nav>a{width:100%;text-align:center;margin:0}.system-ui .ui-context{margin-bottom:14px}.system-ui .line>*{min-width:0;flex-basis:100%}.system-ui .ui-form-heading{font-size:18px}.system-ui.ui-social-tablet .grid{grid-template-columns:1fr 1fr;gap:10px}.system-ui.ui-social-tablet .team{padding:12px}.system-ui.ui-social-tablet .team button{font-size:22px;min-height:90px}.system-ui.ui-auth form:not(.card){padding:20px}.system-ui.ui-landing .hero{padding:40px 0}}
@media(prefers-reduced-motion:reduce){.system-ui *{scroll-behavior:auto!important;transition:none!important;animation-duration:0s!important}}
.system-ui.ui-operation #toolbar .note{background:transparent;border:0;padding:0}.system-ui.ui-operation #toolbar .note p{margin:6px 0;font-size:12px}.system-ui.ui-operation #toolbar select:disabled{display:none}.system-ui.ui-operation #toolbar .actions:has(select:disabled){display:none}
.system-ui .ui-court-picker{border:0;padding:0;margin:16px 0;display:flex;gap:8px;flex-wrap:wrap}.system-ui .ui-court-picker legend{font-size:14px;font-weight:600;margin-bottom:8px;color:#42574a}.system-ui .ui-court-picker label{display:flex;align-items:center;margin:0;padding:11px 13px;border:1px solid #c9d8cf;border-radius:12px;cursor:pointer;background:#fff;min-height:48px}.system-ui .ui-court-picker label:has(input:checked){background:#e8f3ec;border-color:#6fa98b;color:#176b54}.system-ui .ui-court-picker input{margin:0 8px 0 0}

#padel-punto-demo#padel-punto-demo{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--p-bg:#f3f4f6;--p-ink:#25372f;--p-edge:#dce5df;--p-sub:#627669;background:#fff;border:1px solid #dce5df;border-radius:24px;box-shadow:0 3px 16px #203c3008}#padel-punto-demo#padel-punto-demo :is(.p-config,.p-players,.c-court){border-radius:17px;background:#f7f9f8}#padel-punto-demo#padel-punto-demo .c-court[aria-pressed=true]{background:#e4f0e9;color:#176b54;border-color:#79ac92}#padel-punto-demo#padel-punto-demo button{font-family:inherit;border-radius:13px}#padel-punto-demo#padel-punto-demo input{font-family:inherit;border-radius:12px}#padel-punto-demo#padel-punto-demo .c-section-heading{gap:10px;margin:16px 0}#padel-punto-demo#padel-punto-demo .c-section-heading strong{margin-right:12px}#padel-punto-demo#padel-punto-demo .p-broadcast{border-radius:16px;overflow:hidden}#padel-punto-demo#padel-punto-demo .p-broadcast th{color:#54705e}#padel-punto-demo#padel-punto-demo button:focus-visible{outline:3px solid #2b885f;outline-offset:3px}
