:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--page);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(15,118,110,.08),transparent 36%),linear-gradient(315deg,rgba(249,115,22,.1),transparent 38%),var(--page)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}svg{width:1.08rem;height:1.08rem;stroke-width:2.2}.app-shell{--accent: #0f766e;--accent-alt: #f97316;--page: #f8faf5;--ink: #17211b;--panel: #ffffff;width:min(1180px,calc(100% - 24px));margin:0 auto;padding:16px 0 40px}.display-mode{width:min(1500px,calc(100% - 28px))}.topbar,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.brand{display:inline-flex;align-items:center;gap:10px;min-height:54px;border:0;background:transparent;color:var(--ink);padding:0;text-align:left}.brand img{width:46px;height:46px;border-radius:8px;box-shadow:0 8px 22px #17211b1f}.brand strong,.brand small{display:block}.brand strong{font-size:1rem}.brand small{color:#17211bb8}.nav-tabs,.segmented{display:flex;align-items:center;gap:6px;min-height:44px;padding:4px;border:1px solid rgba(23,33,27,.1);background:#ffffffb8;border-radius:8px}.nav-button,.segmented button,.ghost-button,.primary-button,.danger-button,.icon-button,.action-tile{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;border:1px solid rgba(23,33,27,.12);background:var(--panel);color:var(--ink);padding:0 12px;text-decoration:none;white-space:nowrap}.nav-button.active,.segmented button.active{background:var(--accent);border-color:var(--accent);color:#fff}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.danger-button{background:#b42318;border-color:#b42318;color:#fff;font-weight:700}.ghost-button{background:#ffffffb8}.icon-button{width:40px;min-width:40px;padding:0}.icon-button.danger{color:#b42318}.compact{min-width:88px}.right{margin-left:auto}.notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px;border:1px solid rgba(249,115,22,.22);background:#fff7ed;border-radius:8px;color:#7c2d12}.notice strong,.notice span{display:block}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.action-tile{justify-content:flex-start;min-height:70px;padding:0 18px;font-weight:800;background:var(--panel);box-shadow:0 10px 30px #17211b14}.action-tile svg{color:var(--accent)}.scoreboard,.panel,.auth-panel,.empty-state{background:color-mix(in srgb,var(--panel) 94%,white);border:1px solid rgba(23,33,27,.1);border-radius:8px;padding:16px;box-shadow:0 18px 45px #17211b14}.display-scoreboard{min-height:calc(100vh - 28px)}.section-heading,.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-heading{justify-content:space-between}.section-heading h1,.panel-title h1,.panel-title h2{margin:0}.section-heading h1{font-size:clamp(1.8rem,4vw,4rem)}.panel-title h1,.panel-title h2{font-size:1.24rem}.eyebrow,.timestamp{margin:0;color:var(--accent);font-size:.82rem;font-weight:800;text-transform:uppercase}.rank-grid{display:grid;gap:9px;margin-bottom:16px}.rank-row{display:grid;grid-template-columns:36px 16px minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:62px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--team) 28%,transparent);border-radius:8px;background:color-mix(in srgb,var(--team) 9%,white)}.display-scoreboard .rank-row{min-height:86px;grid-template-columns:50px 22px minmax(0,1fr) 110px}.place{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--team);color:#fff}.team-dot,.team-inline,.station-badge span,.selected-team span{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--team, var(--station, var(--accent)))}.rank-main{min-width:0}.rank-main span{display:block;margin-bottom:7px;overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.display-scoreboard .rank-main span{font-size:1.35rem}.bar-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#17211b1a}.bar-fill{display:block;height:100%;border-radius:inherit;background:var(--team)}.points{text-align:right;font-size:1.55rem}.display-scoreboard .points{font-size:2.25rem}.matrix-wrap{overflow-x:auto}.score-matrix{width:100%;min-width:720px;border-collapse:collapse}.score-matrix th,.score-matrix td{padding:10px;border-bottom:1px solid rgba(23,33,27,.09);text-align:center}.score-matrix th:first-child,.score-matrix td:first-child{text-align:left}.score-matrix thead th{color:#17211bad;font-size:.82rem}.total-cell{font-weight:900}.team-cell{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0;vertical-align:middle}.team-cell span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-inline{flex:0 0 auto;vertical-align:middle}.admin-layout,.station-layout{display:grid;gap:14px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px}.form-grid{display:grid;gap:12px}.form-grid label{display:grid;gap:5px;color:#17211bb8;font-size:.9rem;font-weight:700}input,select{width:100%;min-height:40px;border:1px solid rgba(23,33,27,.18);border-radius:8px;background:#fff;color:var(--ink);padding:0 10px}input[type=color]{min-width:44px;padding:3px}input[type=range]{padding:0;accent-color:var(--accent)}.form-grid label.check-row,.icon-check{display:inline-flex;align-items:center;gap:8px}.form-grid label.check-row input,.icon-check input{width:18px;min-height:18px;accent-color:var(--accent)}.swatch-row,.button-grid,.stat-strip,.scan-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.color-input{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px}.metric{padding:12px;border:1px solid rgba(23,33,27,.1);border-radius:8px;background:#0f766e0f}.metric span,.metric strong{display:block}.metric strong{font-size:1.6rem}.editor-list{display:grid;gap:8px}.editor-head{min-height:0;padding:0 8px;border:0;background:transparent;color:#17211b94;font-size:.76rem;font-weight:800}.editor-head span{text-align:center}.editor-head span:first-child{text-align:left}.editor-row{display:grid;align-items:center;gap:8px;min-height:50px;padding:8px;border:1px solid rgba(23,33,27,.09);border-radius:8px;background:#ffffff9e}.group-row{grid-template-columns:minmax(150px,1fr) 48px minmax(132px,.7fr) 76px 40px 40px 40px 40px}.station-row{grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) 48px minmax(126px,.65fr) 82px 76px 40px 40px 40px}.new-row{background:#f9731614}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.print-card{display:grid;gap:10px;min-height:310px;padding:14px;border:2px solid var(--team);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--team) 12%,white),#fff 42%),#fff}.print-card h3,.print-card p{margin:0}.print-card h3{font-size:1.5rem}.print-card small{color:#17211bad;font-weight:800}.print-card img,.qr-placeholder{width:174px;height:174px;justify-self:center;border-radius:8px;background:#fff}.print-card p{overflow-wrap:anywhere;font-size:.78rem}.print-card .card-code{justify-self:center;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--team) 12%,white);font-weight:900}.print-card .card-url{color:#17211ba3}.audit-list{display:grid;gap:6px}.audit-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(100px,.6fr) minmax(160px,1fr);gap:8px;padding:9px 0;border-bottom:1px solid rgba(23,33,27,.08)}.auth-panel,.empty-state{width:min(460px,100%);margin:60px auto 0}.empty-state{display:grid;place-items:center;text-align:center}.empty-state svg{width:2rem;height:2rem;color:var(--accent)}.inline-error{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(180,35,24,.22);border-radius:8px;background:#fff1f2;color:#9f1239;font-weight:700}.status-message{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(15,118,110,.22);border-radius:8px;background:#ecfdf5;color:#0f766e;font-weight:800}.station-badge,.selected-team{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid color-mix(in srgb,var(--station, var(--team)) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--station, var(--team)) 10%,white)}.selected-team{justify-content:space-between}.selected-team small{color:#17211ba6}.score-panel{border-color:#0f766e33}.muted-panel{color:#17211bad;box-shadow:none}.muted-panel p{margin:0;font-weight:700}.station-score-list{display:grid;gap:8px}.station-score-row{display:grid;grid-template-columns:16px minmax(0,1fr) minmax(80px,auto) minmax(54px,auto);align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--team) 20%,transparent);border-radius:8px;background:color-mix(in srgb,var(--team) 7%,white)}.station-score-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-score-row span:nth-child(3),.station-score-row b{text-align:right}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.topbar,.toolbar{align-items:stretch;flex-direction:column}.nav-tabs,.segmented{width:100%;overflow-x:auto}.quick-actions,.admin-grid{grid-template-columns:1fr}.group-row,.station-row{grid-template-columns:1fr 48px 1fr 74px 40px}.editor-head{display:none}.station-row .icon-button,.group-row .icon-button,.station-row .primary-button,.group-row .primary-button{grid-column:span 1}.audit-row{grid-template-columns:1fr}}@media(max-width:560px){.app-shell{width:min(100% - 16px,1180px);padding-top:8px}.nav-button span,.segmented span{display:none}.rank-row{grid-template-columns:32px 12px minmax(0,1fr) 58px;gap:8px}.points{font-size:1.25rem}.panel,.scoreboard,.auth-panel,.empty-state{padding:12px}.group-row,.station-row{grid-template-columns:1fr 44px}.station-score-row{grid-template-columns:14px minmax(0,1fr) minmax(70px,auto)}.station-score-row b{display:none}}@media print{body{background:#fff}.topbar,.notice,.toolbar,.ghost-button,.nav-tabs{display:none!important}.app-shell,.panel{width:100%;margin:0;padding:0;box-shadow:none;border:0}.cards-grid{grid-template-columns:repeat(2,1fr)}.print-card{break-inside:avoid;page-break-inside:avoid}}
