:root{--ink:#121313;--coal:#1b1d1d;--steel:#292c2c;--fog:#eef0ed;--paper:#f7f7f3;--white:#fff;--orange:#e84b17;--orange-dark:#b9340d;--lime:#c9ff3d;--muted:#767b78;--line:#d8dbd7;--success:#16865c;--danger:#be2f28;--shadow:0 18px 50px rgba(15,17,16,.10);--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fog);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.button,.eyebrow,.status,.bib,.overall-rank{font-family:"Arial Narrow",Impact,Haettenschweiler,sans-serif;letter-spacing:.02em}h1{font-size:clamp(2.7rem,5vw,5.5rem);line-height:.88;text-transform:uppercase;margin-bottom:16px}h1 em{color:var(--orange);font-style:normal}h2{font-size:2rem;text-transform:uppercase;margin-bottom:6px}h3{font-size:1.25rem}.muted{color:var(--muted)}.hidden{display:none!important}.eyebrow{display:block;font-size:.72rem;letter-spacing:.18em;font-weight:900;color:var(--orange);margin-bottom:10px}.back-link{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:900;margin-bottom:22px;color:var(--muted)}
.app-shell{padding-left:258px;padding-top:76px}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:var(--ink);color:white;padding:26px 18px;z-index:20;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px}.brand-mark{width:44px;height:44px;display:inline-grid;place-items:center;background:var(--orange);color:#fff;font:900 17px Impact,sans-serif;transform:skew(-7deg);box-shadow:5px 5px 0 #591b08}.brand-mark.large{width:58px;height:58px;font-size:22px;margin-bottom:30px}.brand strong{display:block;font-size:1.2rem}.brand small{display:block;color:#9b9f9d;font:700 .58rem Arial,sans-serif;letter-spacing:.19em;margin-top:3px}.sidebar nav{border-top:1px solid #303333;padding-top:18px}.sidebar nav a{display:flex;align-items:center;gap:14px;color:#aeb2af;padding:14px 16px;margin:4px 0;font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;border-left:3px solid transparent}.sidebar nav a:hover{color:#fff;background:#232525;border-left-color:var(--orange)}.sidebar nav span{font-size:1.15rem;color:var(--orange)}.sidebar-foot{margin-top:auto;border-top:1px solid #303333;padding:20px 8px 0;display:flex;align-items:center;gap:10px}.sidebar-foot div{min-width:0;flex:1}.sidebar-foot strong,.sidebar-foot small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot strong{font-size:.8rem}.sidebar-foot small{color:#7f8481;font-size:.6rem;margin-top:3px;letter-spacing:.12em}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(201,255,61,.10)}.topbar{position:fixed;z-index:15;left:258px;right:0;top:0;height:76px;background:rgba(247,247,243,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;backdrop-filter:blur(12px)}.topbar .eyebrow{margin:0 0 3px;font-size:.55rem}.topbar strong{font-size:.9rem}.topbar-badge{margin-left:auto;font-size:.62rem;font-weight:900;letter-spacing:.13em;display:flex;gap:12px;align-items:center}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;margin-right:15px}.main-content{padding:38px;max-width:1700px;margin:auto}.button{border:0;border-radius:2px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:.74rem;font-weight:900;letter-spacing:.09em;cursor:pointer;text-transform:uppercase;transition:.18s transform,.18s box-shadow,.18s background}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--orange);color:white;box-shadow:5px 5px 0 #8e2b0c}.button-primary:hover{background:#fa531c}.button-ghost{background:transparent;color:var(--ink);border:1px solid #bfc3bf}.button-light{background:white;color:var(--ink);box-shadow:5px 5px 0 rgba(0,0,0,.18)}.button-small{padding:9px 12px;font-size:.65rem}.button-block{width:100%}.icon-button{border:0;background:transparent;color:inherit;font-size:1.1rem;cursor:pointer;padding:7px}.icon-button.danger{color:var(--danger)}
.hero,.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:12px 0 42px}.hero.compact h1{font-size:4.5rem;margin-bottom:10px}.hero p,.page-title p{color:var(--muted);max-width:650px;margin-bottom:0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px}.stat-card{background:var(--paper);border:1px solid var(--line);padding:24px 28px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;right:-20px;top:-30px;width:95px;height:95px;border:18px solid #eceeeb;border-radius:50%}.stat-card>span,.stat-card small{display:block;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.12em}.stat-card strong{display:block;font:900 3.6rem Impact,sans-serif;margin:12px 0 3px}.stat-card.accent{background:var(--ink);color:white;border-color:var(--ink)}.stat-card.accent:before{border-color:#272a29}.stat-card.accent strong{color:var(--lime)}.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 18px}.section-head .eyebrow{margin-bottom:4px}.section-head h2{margin:0}.section-head>a:not(.button){font-size:.68rem;font-weight:900;letter-spacing:.1em;color:var(--orange)}
.competition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.competition-card{position:relative;background:var(--paper);padding:27px;border:1px solid var(--line);min-height:240px;display:flex;flex-direction:column;transition:.18s transform,.18s box-shadow;overflow:hidden}.competition-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.competition-card .card-stripe{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--orange)}.competition-card .status{position:absolute;right:22px;top:22px}.competition-card time{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:var(--orange);margin-top:34px}.competition-card h3{font-size:1.65rem;text-transform:uppercase;margin:8px 0}.competition-card p{font-size:.8rem;color:var(--muted)}.competition-card footer{border-top:1px solid var(--line);margin-top:auto;padding-top:16px;display:flex;gap:22px;align-items:center;font-size:.6rem;letter-spacing:.09em;color:var(--muted)}.competition-card footer b{font-size:1rem;color:var(--ink);margin-right:4px}.competition-card footer i{margin-left:auto;color:var(--orange);font-size:1.4rem}.status{font-size:.57rem;letter-spacing:.12em;text-transform:uppercase;background:#dfe2df;padding:6px 8px;color:#535855;font-weight:900}.status-live{background:var(--lime);color:#1c2b05}.status-completed{background:#232525;color:#fff}.status-ready,.status-weigh_in{background:#ffe09b;color:#563b00}.status-draft{background:#e1e3e1}.status-archived{background:#d4d5d4;color:#777}.empty-state{background:var(--paper);border:1px dashed #b8bdb9;text-align:center;padding:70px 30px}.empty-state.small{padding:36px}.empty-state>span{font-size:2.4rem;color:var(--orange)}.empty-state h3{text-transform:uppercase;margin:12px 0 5px}.empty-state p{color:var(--muted);margin-bottom:22px}
.panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 35px rgba(0,0,0,.04)}.form-panel{padding:34px;max-width:1180px}.form-section{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:28px;margin:36px 0 20px}.form-panel>.form-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.form-section h2{font-size:1.35rem;margin:0}.form-section p{margin:3px 0 0;color:var(--muted);font-size:.8rem}.step-number{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:42px;height:42px;font:900 1rem Impact,sans-serif;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.form-grid .span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:8px;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#505552}input,select,textarea{width:100%;border:1px solid #cdd1cd;background:#fff;color:var(--ink);border-radius:2px;padding:13px 14px;outline:0;text-transform:none;letter-spacing:0}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,75,23,.10)}textarea{resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.choice-card{position:relative}.choice-card input{position:absolute;opacity:0}.choice-card span{border:1px solid var(--line);background:#fff;padding:16px;cursor:pointer}.choice-card b,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:5px;font-size:.62rem}.choice-card input:checked+span{border-color:var(--orange);box-shadow:inset 4px 0 var(--orange);background:#fff7f3}.form-actions{border-top:1px solid var(--line);padding-top:25px;margin-top:34px;display:flex;justify-content:flex-end;gap:12px}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.check-grid label{background:white;border:1px solid var(--line);padding:14px;flex-direction:row;align-items:center;cursor:pointer}.check-grid input{width:auto;accent-color:var(--orange)}
.competition-hero,.live-hero,.standing-hero{background:var(--ink);color:white;padding:38px 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.competition-hero:after,.live-hero:after,.standing-hero:after{content:"";position:absolute;right:13%;top:-110px;width:320px;height:320px;border:52px solid #242727;border-radius:50%}.competition-hero>* ,.live-hero>*,.standing-hero>*{z-index:1}.competition-hero h1,.live-hero h1,.standing-hero h1{font-size:3.4rem;margin:12px 0}.competition-hero p,.standing-hero p{color:#a9adaa;margin:0}.hero-actions{display:flex;gap:13px;align-items:center}.hero-actions select{background:#292c2c;color:white;border-color:#464a48;text-transform:uppercase;font-size:.7rem}.tabs{display:flex;background:var(--paper);border:1px solid var(--line);border-top:0;padding:0 26px;margin-bottom:28px}.tabs a{padding:18px 20px;font-size:.68rem;font-weight:900;letter-spacing:.1em;color:var(--muted);border-bottom:3px solid transparent}.tabs a.active{color:var(--ink);border-bottom-color:var(--orange)}.tabs b{background:#e5e7e4;padding:3px 6px;margin-left:4px}.workspace-section{scroll-margin-top:90px;margin-bottom:45px}.event-list{display:flex;flex-direction:column;gap:9px}.event-row{background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;padding:15px 18px;gap:20px}.event-number{font:900 2rem Impact,sans-serif;color:#c3c7c3;width:50px;border-right:1px solid var(--line)}.event-main{flex:1}.event-main h3{font-size:1.2rem;text-transform:uppercase;margin:5px 0 2px}.event-main p{font-size:.62rem;color:var(--muted);letter-spacing:.08em;margin:0}.event-progress{text-align:right}.event-progress strong,.event-progress small{display:block}.event-progress strong{font:900 1.2rem Impact}.event-progress small{font-size:.55rem;letter-spacing:.1em;color:var(--muted)}.row-actions{display:flex;gap:8px}.table-wrap{overflow:auto;background:var(--paper);border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:740px}th{text-align:left;background:#e7e9e6;color:#6c716e;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:12px 15px}th small{display:block;font-size:.5rem;margin-top:3px}td{padding:14px 15px;border-top:1px solid var(--line);font-size:.78rem}td strong{font-size:.84rem}.bib{font-size:1.2rem;font-weight:900}.tag{display:inline-block;background:#e3e6e3;padding:5px 7px;font-size:.58rem;font-weight:900;letter-spacing:.06em}.check{color:var(--success);font-size:.65rem;font-weight:900}.warning{color:#aa6700;font-size:.65rem;font-weight:900}
.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.template-card{position:relative;background:#fff;border:1px solid var(--line);padding:22px;cursor:pointer;min-height:185px}.template-card input{position:absolute;opacity:0}.template-card:has(input:checked){border:2px solid var(--orange);padding:21px;box-shadow:5px 5px 0 rgba(232,75,23,.18)}.template-icon{font-size:1.5rem;color:var(--orange);display:block;margin-bottom:15px}.template-card strong{font-family:Impact,sans-serif;font-size:1.1rem;color:var(--ink)}.template-card p{font-size:.75rem;line-height:1.5;color:var(--muted);text-transform:none;letter-spacing:0;margin:8px 0 14px}.rule-list,.threshold-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.rule-row,.threshold-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:10px}.rule-row input,.rule-row select,.threshold-row input,.threshold-row select{padding:9px;min-width:0}.rule-row select:first-of-type{width:170px}.rule-row .short{width:75px}.drag{color:#a6aaa7;cursor:grab}.rule-priority{background:var(--ink);color:var(--lime);width:26px;height:26px;display:grid;place-items:center;font:900 .72rem Impact}.mini-check{flex-direction:row;align-items:center;white-space:nowrap;font-size:.55rem}.mini-check input{width:auto}.threshold-row input:last-of-type{flex:1}.category-settings{border:1px solid var(--line)}.category-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:15px;align-items:end;padding:14px;background:#fff;border-top:1px solid var(--line)}.category-row:first-child{border-top:0}.category-row>strong{padding-bottom:13px;font-family:Impact,sans-serif}.sticky-actions{position:sticky;bottom:0;background:var(--paper);padding:18px 0 3px;z-index:4}.segmented{display:inline-flex;background:#e3e5e2;padding:4px;margin-bottom:30px}.segmented button{border:0;background:transparent;padding:11px 20px;font-size:.65rem;font-weight:900;letter-spacing:.08em;cursor:pointer}.segmented button.active{background:var(--ink);color:white}
.live-hero{background:linear-gradient(110deg,#111 0%,#202322 70%);align-items:center}.live-label{font-size:.6rem;letter-spacing:.15em;font-weight:900;color:var(--lime)}.live-label i{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:7px;box-shadow:0 0 10px var(--lime)}.event-meta{display:flex;gap:8px;flex-wrap:wrap}.event-meta span{border:1px solid #454947;padding:7px 10px;font-size:.58rem;letter-spacing:.08em;color:#aaa}.event-meta b{color:white;margin-left:5px}.rules-strip{background:#ffdf9a;border:1px solid #e0bb69;padding:11px 18px;display:flex;gap:15px;align-items:center;font-size:.65rem;letter-spacing:.05em;overflow:auto}.rules-strip span{white-space:nowrap;border-left:1px solid #c9a757;padding-left:15px}.result-board{margin-top:22px}.board-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.board-toolbar h2{margin:0}.search-box{position:relative;flex-direction:row;align-items:center;background:white;border:1px solid var(--line);padding-left:12px}.search-box input{border:0;width:240px}.result-table td{padding:11px 13px}.result-table tr:hover{background:#fff8f4}.status-text{display:block;font-size:.5rem;letter-spacing:.08em;color:var(--muted);margin-top:3px}.metric-value{font:900 1rem "Arial Narrow",sans-serif}.metric-value small{font-size:.55rem;color:var(--muted);margin-left:3px}.rank-cell{font:900 1.1rem Impact;color:var(--orange)}.points-cell{font:900 1rem Impact}.result-status-dnf,.result-status-dns,.result-status-disqualified{opacity:.55}.result-dialog{border:0;padding:0;width:min(650px,calc(100% - 24px));box-shadow:0 30px 100px rgba(0,0,0,.35);background:var(--paper)}.result-dialog::backdrop{background:rgba(10,12,11,.78);backdrop-filter:blur(3px)}.result-dialog form{padding:28px}.result-dialog header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:18px}.result-dialog h2{margin:0}.result-dialog header p{margin:4px 0;color:var(--muted)}.dialog-close{border:0;background:none;font-size:2rem;cursor:pointer}.result-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.result-inputs label{position:relative}.result-inputs label span{position:absolute;right:12px;bottom:14px;color:var(--muted)}.result-inputs input{font:900 1.5rem Impact;padding-right:40px}.result-dialog>form>label{margin-top:14px}.result-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.standing-hero{margin-bottom:25px}.leaderboard-mark{font:900 3.6rem Impact;color:var(--orange)}.leaderboard-mark span{display:block;font:900 .65rem Arial;letter-spacing:.3em;color:var(--lime)}.standing-category{margin:24px 0 38px}.standing-category>header{background:var(--orange);color:white;padding:11px 17px;display:flex;justify-content:space-between;font:900 1.2rem Impact;letter-spacing:.06em}.standing-category>header small{font:900 .6rem Arial;letter-spacing:.12em}.podium-list{display:flex;flex-direction:column;gap:4px;margin-top:5px}.standing-row{display:grid;grid-template-columns:76px minmax(230px,1fr) 100px 100px 150px;align-items:center;background:var(--paper);border:1px solid var(--line);min-height:78px}.standing-row.rank-1{border-left:7px solid var(--orange);background:white}.overall-rank{font:900 2.2rem Impact;color:#a9aeaa;text-align:center}.rank-1 .overall-rank{color:var(--orange)}.athlete-name{border-left:1px solid var(--line);padding:10px 20px}.athlete-name small{display:block;color:var(--muted);font-size:.58rem}.athlete-name strong{display:block;font:900 1.35rem Impact;text-transform:uppercase;margin-top:3px}.athlete-name strong span{color:var(--muted)}.standing-stat{text-align:center;border-left:1px solid var(--line)}.standing-stat small,.total-points small{display:block;font-size:.52rem;letter-spacing:.1em;color:var(--muted);font-weight:900}.standing-stat b{font:900 1.1rem Impact}.total-points{height:100%;display:flex;align-items:baseline;justify-content:center;gap:5px;flex-wrap:wrap;align-content:center;background:var(--ink);color:white}.total-points small{width:100%;text-align:center;color:#959a97}.total-points strong{font:900 1.8rem Impact;color:var(--lime)}.total-points span{font-size:.55rem;font-weight:900}.error-page{text-align:center;padding:80px 20px}.error-page>strong{font:900 9rem Impact;color:var(--orange);line-height:1}.error-page h1{font-size:3rem}.error-page p{color:var(--muted);margin-bottom:25px}
.auth-shell{background:var(--ink);color:white;min-height:100vh}.auth-content{min-height:100vh}.login-stage{min-height:100vh;display:grid;grid-template-columns:1.35fr .65fr;overflow:hidden}.login-art{position:relative;padding:9vh 7vw;background:radial-gradient(circle at 70% 70%,#333 0,#161818 45%,#0f1010 75%);overflow:hidden}.login-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 40px,rgba(255,255,255,.015) 41px 42px)}.kicker{color:var(--lime);font-size:.7rem;font-weight:900;letter-spacing:.24em}.login-art h1{font-size:clamp(5rem,10vw,10rem);margin:15vh 0 25px;position:relative;z-index:2}.login-art p{max-width:450px;color:#a9adab;font-size:1rem;line-height:1.6;position:relative;z-index:2}.plate{position:absolute;border-radius:50%;border:60px solid #242626;box-shadow:inset 0 0 0 4px #3b3e3d,0 30px 60px #000;width:390px;height:390px;right:-70px;bottom:-100px}.plate-b{width:260px;height:260px;border-width:45px;right:240px;bottom:-90px}.barbell{height:23px;width:700px;background:linear-gradient(#8b8f8c,#363938,#969a97);position:absolute;right:-100px;bottom:75px;transform:rotate(-8deg)}.login-card{background:var(--paper);color:var(--ink);padding:11vh 5vw;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:2.3rem;margin-bottom:35px}.login-card label{margin-bottom:17px}.login-card .button{margin-top:12px}.login-card .muted{text-align:center;margin-top:20px;text-transform:none;letter-spacing:0}
.flash{position:fixed;right:28px;top:92px;z-index:100;max-width:440px;padding:15px 45px 15px 18px;background:white;border-left:5px solid var(--ink);box-shadow:var(--shadow);font-weight:700}.flash-success{border-color:var(--success)}.flash-error{border-color:var(--danger)}.flash button{position:absolute;right:10px;top:8px;border:0;background:none;font-size:1.3rem;cursor:pointer}
@media(max-width:1100px){.competition-grid{grid-template-columns:repeat(2,1fr)}.choice-grid,.check-grid{grid-template-columns:repeat(2,1fr)}.template-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.rule-row{flex-wrap:wrap}.standing-row{grid-template-columns:65px minmax(200px,1fr) 75px 75px 125px}}
@media(max-width:820px){.app-shell{padding-left:0}.sidebar{transform:translateX(-100%);transition:.2s transform}.sidebar.open{transform:none}.topbar{left:0;padding:0 18px}.menu-toggle{display:block}.main-content{padding:22px 14px}.hero,.page-title{align-items:flex-start;flex-direction:column}.hero.compact h1{font-size:3.3rem}.stat-grid{grid-template-columns:1fr}.competition-grid,.template-grid{grid-template-columns:1fr}.competition-hero,.live-hero,.standing-hero{padding:28px 22px;align-items:flex-start;flex-direction:column}.competition-hero h1,.live-hero h1,.standing-hero h1{font-size:2.5rem}.hero-actions{width:100%;flex-wrap:wrap}.event-row{align-items:flex-start;flex-wrap:wrap}.event-main{min-width:calc(100% - 90px)}.event-progress{display:none}.row-actions{width:100%;justify-content:flex-end}.form-panel{padding:22px 16px}.form-grid,.result-inputs{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.choice-grid,.check-grid{grid-template-columns:1fr}.category-row{grid-template-columns:1fr}.category-row>strong{padding:0}.threshold-row{flex-wrap:wrap}.board-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.search-box,.search-box input{width:100%}.standing-row{grid-template-columns:56px 1fr 105px}.standing-stat{display:none}.login-stage{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:50px 25px;min-height:100vh}.topbar-badge{display:none}}
@media(max-width:500px){.competition-grid{grid-template-columns:1fr}.tabs{padding:0;overflow:auto}.tabs a{padding:15px 12px;white-space:nowrap}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.standing-row{grid-template-columns:48px 1fr 90px}.athlete-name{padding:9px}.athlete-name strong{font-size:1rem}.total-points strong{font-size:1.35rem}}

/* Importazione storico */
.import-panel{max-width:1000px;padding:34px}.import-warning{background:#fff0e9;border-left:5px solid var(--orange);padding:16px 18px;margin:24px 0}.import-warning strong{font-family:Impact,sans-serif;text-transform:uppercase;letter-spacing:.05em}.import-warning p{color:#615954;line-height:1.55;margin:6px 0 0}.file-drop{min-height:230px;border:2px dashed #b8bdb9;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;padding:25px}.file-drop input{position:absolute;opacity:0;width:1px}.file-drop span{font-size:3rem;color:var(--orange)}.file-drop strong,.file-drop small{display:block}.file-drop strong{font:900 1.2rem Impact;color:var(--ink);margin:10px}.file-drop small{color:var(--muted);text-transform:none;letter-spacing:0}.import-counts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:25px 0}.import-counts article{background:#fff;border:1px solid var(--line);padding:16px;text-align:center}.import-counts strong,.import-counts span{display:block}.import-counts strong{font:900 2rem Impact;color:var(--orange)}.import-counts span{font-size:.55rem;font-weight:900;letter-spacing:.1em;color:var(--muted)}.import-complete{text-align:center}.import-complete>h1{font-size:3.5rem}.success-mark{display:block;font:900 4rem Impact;color:var(--success)}.admin-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.admin-split .form-grid{grid-template-columns:1fr}.judge-admin-list{display:flex;flex-direction:column;gap:8px}.judge-admin-list article{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);padding:13px}.judge-admin-list article>div{flex:1;min-width:0}.judge-admin-list strong,.judge-admin-list small{display:block}.judge-admin-list small{color:var(--muted);margin-top:3px}.judge-avatar{width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font:900 .8rem Impact}

/* Console giudice: interfaccia mobile-first dedicata */
.judge-shell{margin:0;background:#111313;color:#fff;min-height:100vh;padding:0}.judge-topbar{position:fixed;z-index:50;inset:0 0 auto 0;height:68px;background:#151717;border-bottom:1px solid #313433;display:flex;align-items:center;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.judge-brand{display:flex;align-items:center;gap:10px}.judge-brand .brand-mark{width:38px;height:38px;box-shadow:3px 3px 0 #6a2009;font-size:.75rem}.judge-brand strong,.judge-brand small{display:block}.judge-brand strong{font:900 .8rem Impact;letter-spacing:.1em}.judge-brand small{font-size:.48rem;color:var(--lime);letter-spacing:.13em;margin-top:2px}.judge-top-title{margin:auto;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:900 .75rem "Arial Narrow",sans-serif;text-transform:uppercase}.judge-exit{width:44px;height:44px;border:1px solid #393c3b;background:#222525;color:#fff;font-size:1.2rem}.judge-content{padding:92px max(14px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));max-width:760px;margin:auto}.judge-content .flash{top:76px;left:12px;right:12px;max-width:none;color:var(--ink)}.judge-home-head h1{font-size:clamp(3rem,14vw,5rem);margin:10px 0 15px}.judge-home-head p{color:#9ea3a0;line-height:1.5}.judge-empty{text-align:center;border:1px dashed #3f4341;padding:50px 20px}.judge-empty>strong{font-size:2rem;color:var(--orange)}.judge-empty h2{font-size:1.3rem;margin:15px 0 6px}.judge-empty p{color:#969b98}.judge-competition{margin:28px 0;background:#1b1e1d;border:1px solid #343837}.judge-competition>header{padding:20px;display:flex;gap:15px;align-items:flex-start}.judge-competition>header>div{flex:1}.judge-competition h2{font-size:1.4rem;margin:9px 0 4px}.judge-competition p{color:#8f9491;font-size:.72rem;margin:0}.judge-competition>header>strong{font:900 2rem Impact;color:var(--lime);text-align:center}.judge-competition>header>strong small{display:block;font:900 .48rem Arial;color:#8f9491;letter-spacing:.1em}.judge-event-list{border-top:1px solid #343837}.judge-event-list>a{min-height:78px;display:flex;align-items:center;gap:14px;padding:12px 15px;border-top:1px solid #2e3230}.judge-event-list>a:first-child{border-top:0}.judge-event-order{font:900 1.8rem Impact;color:var(--orange);width:42px}.judge-event-list>a>div{flex:1;min-width:0}.judge-event-list strong,.judge-event-list small{display:block}.judge-event-list strong{font:900 1rem "Arial Narrow",sans-serif;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.judge-event-list small{font-size:.52rem;color:#8e9390;letter-spacing:.1em;margin:6px 0}.judge-event-list i,.judge-progress i{display:block;height:4px;background:#343837}.judge-event-list i b,.judge-progress i b{display:block;height:100%;background:var(--lime)}.judge-event-list em{font-style:normal;color:var(--orange);font-size:1.4rem}.judge-no-events{padding:18px;color:#8e9390}.judge-event-head>a{display:block;color:#a7aba8;font-size:.62rem;font-weight:900;letter-spacing:.1em;margin-bottom:25px}.judge-event-head .eyebrow{margin-bottom:7px}.judge-event-head h1{font-size:clamp(2.5rem,12vw,4.5rem);margin-bottom:18px}.judge-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.judge-progress span{font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:#a7aba8}.judge-progress span b{color:var(--lime)}.judge-progress i{height:6px}.judge-queue{position:sticky;z-index:20;top:68px;margin:22px -14px 16px;padding:9px 14px;display:flex;gap:7px;overflow-x:auto;background:rgba(17,19,19,.96);border-block:1px solid #303332;scrollbar-width:none}.judge-queue::-webkit-scrollbar{display:none}.judge-queue a{flex:0 0 62px;height:56px;border:1px solid #3e4240;background:#202322;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#969b98}.judge-queue a b{font:900 1rem Impact}.judge-queue a small{font-size:.46rem;max-width:54px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.judge-queue a.current{border:2px solid var(--orange);background:#2b201c;color:#fff}.judge-queue a.done{border-bottom:4px solid var(--success)}.judge-athlete-card{position:relative;display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#252827,#191b1a);border:1px solid #3b3f3d;padding:19px;margin-bottom:13px;overflow:hidden}.judge-athlete-card:after{content:"";position:absolute;right:-55px;bottom:-100px;width:180px;height:180px;border:28px solid #2d302f;border-radius:50%}.judge-bib{font:900 2rem Impact;color:var(--orange);min-width:58px}.judge-athlete-card>div{z-index:1}.judge-athlete-card h2{font-size:clamp(2rem,10vw,3.2rem);line-height:.82;margin:12px 0 2px}.judge-athlete-card h2 em{color:#a3a8a5;font-style:normal}.judge-result-status{position:absolute;right:12px;top:12px;font-size:.5rem;z-index:2}.judge-metrics{display:grid;gap:10px}.judge-metrics>section{background:#f1f2ee;color:var(--ink);padding:16px;border-left:5px solid var(--orange)}.judge-metrics>section>label{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;font:900 .8rem "Arial Narrow",sans-serif;color:#3b3e3c}.judge-metrics>section>label small{font-size:.55rem;color:var(--muted)}.judge-number{position:relative}.judge-number input{height:86px;padding:5px 70px 5px 5px;border:0;border-bottom:3px solid #c4c8c4;background:transparent;font:900 3.8rem Impact;color:var(--ink);border-radius:0}.judge-number input:focus{box-shadow:none;border-color:var(--orange)}.judge-number>b{position:absolute;right:8px;bottom:18px;color:#828783;font:900 .9rem Impact;text-transform:uppercase}.judge-quick-values{display:flex;gap:7px;overflow-x:auto;padding-top:11px}.judge-quick-values button{min-width:58px;height:44px;border:1px solid #c5c9c5;background:#fff;font:900 .9rem Impact}.judge-quick-values button:active{background:var(--orange);color:white}.judge-rules,.judge-notes{background:#202322;border:1px solid #383c3a;margin-top:10px}.judge-rules summary,.judge-notes summary{min-height:50px;padding:15px;cursor:pointer;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.judge-rules p{padding:0 15px;color:#b4b8b5;font-size:.7rem}.judge-notes textarea{background:#fff;border:0;border-radius:0}.judge-outcome{border:0;padding:0;margin:17px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.judge-outcome legend{font-size:.6rem;color:#959a97;text-transform:uppercase;font-weight:900;letter-spacing:.1em;margin-bottom:8px}.judge-outcome label{position:relative}.judge-outcome input{position:absolute;opacity:0}.judge-outcome span{min-height:54px;display:grid;place-items:center;background:#242726;border:1px solid #414542;color:#aeb3b0;font-size:.6rem}.judge-outcome input:checked+span{background:var(--orange);border-color:var(--orange);color:white}.judge-outcome label:nth-of-type(n+2) input:checked+span{background:#8e2a25;border-color:#bd3d34}.judge-save-bar{position:fixed;z-index:40;left:0;right:0;bottom:0;min-height:82px;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#f2f3ef;color:var(--ink);display:flex;align-items:center;gap:12px;box-shadow:0 -10px 35px rgba(0,0,0,.35)}.judge-save-bar>div{min-width:0;flex:1}.judge-save-bar small,.judge-save-bar strong{display:block}.judge-save-bar small{font-size:.48rem;color:var(--muted);letter-spacing:.1em}.judge-save-bar strong{font:900 .85rem "Arial Narrow",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.judge-save-bar button{min-height:58px;border:0;background:var(--orange);color:white;padding:10px 18px;font:900 .72rem Impact;letter-spacing:.07em;box-shadow:4px 4px 0 #8b290b}.judge-save-bar button:disabled{opacity:.5}.judge-save-bar button span{font-size:1.2rem}.status-pending{background:#555;color:#fff}.status-valid{background:var(--success);color:#fff}.status-dnf,.status-dns,.status-disqualified{background:var(--danger);color:#fff}
@media(min-width:700px){.judge-save-bar{left:50%;max-width:760px;transform:translateX(-50%)}.judge-metrics{grid-template-columns:repeat(2,1fr)}.judge-athlete-card{padding:25px}.judge-content{padding-inline:24px}.judge-queue{margin-inline:-24px;padding-inline:24px}.judge-save-bar button{padding-inline:30px}}
@media(max-width:1100px){.import-counts{grid-template-columns:repeat(3,1fr)}.admin-split{grid-template-columns:1fr}}
@media(max-width:600px){.import-panel{padding:20px 14px}.import-counts{grid-template-columns:repeat(2,1fr)}.judge-outcome{grid-template-columns:repeat(2,1fr)}}
