.wu-card,.wu-photo-panel{color:#14253b;background:#fff;border:1px solid #e4eaf0;border-radius:18px;padding:20px;box-shadow:0 4px 18px #12314d0a;margin:14px 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.wu-card h3,.wu-photo-panel h3{font-size:18px;margin:0 0 7px}.wu-card h4{margin:8px 0 0;font-size:15px}.wu-card p,.wu-photo-panel p{margin:5px 0;line-height:1.45}.wu-muted,.wu-note{font-size:12px;color:#64748b}.wu-section-head,.wu-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.wu-header{justify-content:flex-start}.wu-photo-panel button,.wu-card button{border:1px solid #ccd7e4;background:#f9fbfc;padding:9px 13px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;color:#184058}.wu-photo-panel button:hover,.wu-card button:hover{border-color:#0d9488;background:#effdfa}.wu-photo-panel button:disabled,.wu-card button:disabled{opacity:.55;cursor:not-allowed}.wu-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wu-actions .wu-active{background:#0f766e;color:#fff;border-color:#0f766e}.wu-photo-panel .wu-danger{border-color:#fecaca;color:#b91c1c}.wu-ghost{background:transparent!important;color:#0f766e!important;border:0!important}.wu-hidden{display:none}.wu-avatar{border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(130deg,#0f766e,#155e75);color:#fff;font-weight:800}.wu-avatar img{width:100%;height:100%;object-fit:cover}.wu-editor{display:grid;justify-items:start;gap:9px;margin-top:16px;border-top:1px solid #e4eaf0;padding-top:16px}.wu-editor label{display:flex;align-items:center;gap:10px;font-size:13px}.wu-editor input[type=range]{width:190px;accent-color:#0f766e}.wu-crop-preview{width:200px;height:200px;overflow:hidden;border-radius:14px;background:#dae7e7;display:grid;place-items:center}.wu-crop-preview canvas{width:100%;height:100%;object-fit:cover}.wu-error{color:#b91c1c!important}.wu-success{color:#047857!important}.wu-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin-bottom:12px}.wu-filter-grid>label{display:grid;gap:6px;font-weight:650;font-size:13px}.wu-card select,.wu-card input[type=date]{border:1px solid #cdd9e6;border-radius:9px;padding:10px;background:#fff;color:#243b52;font:inherit;min-width:0;width:100%;box-sizing:border-box}.wu-multi-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.wu-card fieldset{border:1px solid #e0e7ef;border-radius:10px;min-width:0;padding:12px}.wu-card legend{font-size:13px;font-weight:750}.wu-options{display:flex;flex-direction:column;max-height:185px;overflow-y:auto;gap:7px;margin-top:9px}.wu-options label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.wu-options input{accent-color:#0d9488}.wu-chart-card{border-top:1px solid #e6ebf0;margin-top:15px;padding-top:15px}.wu-chart-scroll{width:100%;overflow-x:auto}.wu-chart{width:100%;height:auto;min-width:610px;display:block}.wu-legend{display:flex;gap:8px 18px;flex-wrap:wrap;padding:8px 0 10px}.wu-legend span{font-size:12px;display:flex;align-items:center;gap:7px}.wu-legend i{width:10px;height:10px;border-radius:50%}.wu-detail{margin-top:10px;padding:10px;border-radius:9px;background:#eefbf7;font-size:13px}.wu-table-scroll{overflow-x:auto}.wu-table{width:100%;border-collapse:collapse;min-width:520px;font-size:13px;text-align:left}.wu-table caption{text-align:left;color:#64748b;margin:4px 0 12px;font-size:12px}.wu-table th,.wu-table td{padding:11px 13px;border-bottom:1px solid #e4eaf0;white-space:nowrap}.wu-table thead th{background:#eff6f8;position:sticky;top:0}.wu-table th small{display:block;font-weight:400;color:#64748b;margin-top:3px}.wu-table tbody tr:nth-child(2n){background:#f9fbfc}@media(max-width:660px){.wu-card,.wu-photo-panel{padding:14px;border-radius:12px}.wu-filter-grid{grid-template-columns:1fr 1fr}.wu-multi-grid{grid-template-columns:1fr}.wu-actions button{flex:1}.wu-chart{min-width:650px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f3f8ff;background:#071325;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em}h2{letter-spacing:-.025em}small,.muted{color:#9caec3}.shell{max-width:1100px;margin:auto;padding:16px 18px 30px}.header,.header-right,.row,.race-actions,.section-title,.bottom-actions,.race-head,.line,.lane-top,.lane-count,.lane-data,.timer,.timer-summary,.tabs,.rank,.athlete,.athlete-actions{display:flex;align-items:center;gap:10px}.header{justify-content:space-between;padding:8px 0 18px}.header-right{flex-wrap:wrap}.brand{display:flex;align-items:center;gap:7px;background:none;border:0;color:#f3f8ff;font-weight:900;letter-spacing:.08em;font-size:18px}.brand svg,.brand b,.eyebrow{color:#5ce0ef}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:800}.good{background:#0d3c37;color:#6ee7b7}.bad{background:#4b2330;color:#ff9ba5}.small,.back,.text-btn{background:none;border:0;color:#94b7cb}.small,.back{font-size:13px}.back{display:inline-flex;align-items:center;margin-bottom:12px}.text-btn{padding:10px 0}.center{min-height:100vh;display:grid;place-content:center;text-align:center;padding:20px}.center code{color:#5ce0ef}.home,.create{max-width:1000px;margin:auto}.hero{display:flex;align-items:center;justify-content:space-between;border-radius:26px;padding:32px;background:linear-gradient(120deg,#10374b,#09203b 55%,#0b1a2f);border:1px solid #24465b;margin-bottom:18px}.hero h1{max-width:580px;font-size:clamp(28px,5vw,48px);margin:8px 0}.hero p{color:#b3c4d4}.hero-icon{color:#3cd8e3;padding:18px;border-radius:24px;background:#0c3041}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.14em}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.panel{padding:20px;border-radius:20px;background:#101f34;border:1px solid #243950;margin-bottom:16px}.panel h2{display:flex;align-items:center;gap:8px;font-size:19px}.panel p{color:#b0c1d1}.panel h3{margin-top:20px}.stack{display:flex;flex-direction:column;gap:11px}.stack label,.team-fields label,.cols label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#a9c1d3}.stack input,.stack select,.row input,.team-fields input,.cols input,.cols select{width:100%;min-width:0;background:#081629;border:1px solid #35506a;color:#fff;border-radius:11px;padding:11px 12px;outline:none}.stack input:focus,.row input:focus,.team-fields input:focus{border-color:#50cfe3}.row input{flex:1}.row{min-width:0}.wrap{flex-wrap:wrap}.row button,.stack button,.panel button:not(.list-item):not(.text-btn):not(.back),.race-actions button,.section-title button,.bottom-actions button,.warning button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #316379;border-radius:11px;background:#143a50;color:#ddfaff;padding:10px 12px;font-weight:800}.stack button,.panel button.primary{background:#4edbd6!important;color:#052635!important;border-color:#4edbd6!important}.list-item{display:flex;justify-content:space-between;align-items:center;width:100%;background:#0b1b2d;border:1px solid #27405a;border-radius:12px;padding:12px;color:#fff;text-align:left;margin-bottom:7px}.list-item small,.athlete small,.rank small{display:block;margin-top:4px;font-size:11px}.create{margin-top:15px}.team-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.toast{position:fixed;z-index:50;right:15px;bottom:15px;background:#14595d;border:1px solid #60d8d8;padding:12px 16px;border-radius:13px;max-width:min(450px,95vw);box-shadow:0 12px 35px #0009}.warning{background:#513917;color:#ffe0a4;border:1px solid #9b6a20;padding:12px;border-radius:12px;margin:10px 0}.race-head{display:block;padding:4px 0 10px}.race-head h1{font-size:clamp(20px,3vw,29px);margin:6px 0 12px}.race-actions{flex-wrap:wrap}.race-actions button{font-size:12px;padding:7px 9px}.timer{background:linear-gradient(110deg,#123c51,#101f36);border:1px solid #236279;border-radius:18px;padding:12px 16px;margin:10px 0;min-height:90px}.timer-btn{width:55px;height:55px;border:0;border-radius:14px;display:grid;place-items:center;background:#49ddaf;color:#052629;flex-shrink:0}.timer-btn.amber{background:#f8c34d}.timer>div:nth-child(2){min-width:120px}.timer strong{display:block;font-size:clamp(24px,5vw,37px);font-family:ui-monospace,Consolas,monospace;line-height:1.15}.timer small{display:block;font-size:11px}.timer-summary{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.timer-summary span{background:#ffffff13;border-radius:9px;padding:6px;font-size:10px;color:#a8bacd}.timer-summary b{display:block;font-size:14px;color:#fff}.tabs{margin:14px 0;overflow-x:auto;border-bottom:1px solid #274057}.tabs button{border:0;background:none;color:#a3b9cc;padding:10px 13px;display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700}.tabs svg{width:17px;height:17px}.tabs .selected{color:#55e0e8;border-bottom:2px solid #55e0e8}.section-title{justify-content:space-between;margin:14px 0 9px}.section-title h2{font-size:17px;margin:3px 0}.lane-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lane{--accent:#25c6dc;min-width:0;min-height:175px;border:1px solid #3b4c60;border-left:4px solid var(--accent);background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 22%,#102038),#0c192d 68%);border-radius:17px;padding:12px 14px;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:transform .12s,filter .12s}.lane:active:not(:disabled){transform:scale(.975)}.lane:disabled{opacity:.8}.lane.ours{border:2px solid #5de9aa;box-shadow:0 0 0 2px #3be8a526}.lane.flash{filter:brightness(2)}.lane-top{justify-content:space-between}.lane-number{display:grid;place-items:center;background:var(--accent);border-radius:9px;width:35px;height:35px;font-size:20px}.lane-place{font-size:10px;font-weight:900;color:#99dddf}.lane-name{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-count{font-size:30px;font-weight:900;line-height:1}.lane-count small{font-size:9px;line-height:1.3;letter-spacing:.06em}.lane-data{gap:5px}.lane-data span{min-width:0;flex:1;padding:5px;background:#ffffff12;border-radius:8px;font-size:9px;color:#a8bdce}.lane-data b{display:block;color:#fff;font-size:12px}.lane-action{display:block;text-align:center;background:#ffffff1d;padding:6px;border-radius:8px;font-size:10px;font-weight:900}.bottom-actions{justify-content:space-between;flex-wrap:wrap;margin:12px 0;color:#a8bacd;font-size:12px}.bottom-actions .danger{color:#ffc2c2;background:#572537;border-color:#b4515d}.athlete{border:1px solid #30475c;border-radius:12px;padding:9px;margin:7px 0;min-width:0}.athlete>span:nth-child(2){flex:1;min-width:0}.athlete-actions{gap:3px}.athlete-actions button{padding:6px!important;font-size:11px}.line{justify-content:space-between;border-bottom:1px solid #283c51;padding:9px 0;font-size:12px;flex-wrap:wrap}.rank{border:1px solid #2c455d;border-radius:12px;padding:12px;margin:9px 0}.rank-ours{border-color:#61d9a9;background:#19433855}.rank>span{flex:1;min-width:0}.rank i{display:block;height:5px;border-radius:10px;margin-top:8px}.qr{background:#fff;color:#06172a;width:max-content;padding:12px;border-radius:12px;margin-bottom:14px}.qr p{margin:5px 0 0;text-align:center;color:#06172a}footer{display:flex;align-items:center;gap:5px;color:#7893a7;font-size:11px;padding:18px 0}.compact .lane{min-height:125px}@media(max-width:650px){.shell{padding:9px 10px 20px}.cols{grid-template-columns:1fr}.hero{padding:19px}.hero-icon{display:none}.panel{padding:15px}.timer{gap:8px;padding:9px}.timer-summary{display:none}.race-actions button{font-size:11px}.lane-grid{gap:7px}.lane{min-height:150px;padding:9px}.lane-count{font-size:26px}.lane-data span{font-size:8px}.lane-data b{font-size:10px}.lane-place{font-size:8px}.team-fields{grid-template-columns:1fr}.tabs{justify-content:space-between}.tabs button{font-size:10px;padding:8px 6px}.tabs svg{width:15px;height:15px}.athlete{flex-wrap:wrap}.athlete-actions{width:100%;justify-content:flex-end}}@media(max-height:730px)and (max-width:650px){.lane{min-height:120px}.race-head h1{margin:3px 0 5px}.timer{min-height:65px}.timer-btn{width:42px;height:42px}.tabs{margin:8px 0}}@media print{.header,.tabs,.race-actions,.bottom-actions,.timer-btn,.section-title button,.toast,.warning,footer{display:none!important}.shell{max-width:none;color:#111;background:#fff}.panel,.rank{background:#fff;color:#111;border-color:#999}.panel p,.muted{color:#333}.race-head,.timer{color:#111;background:#fff}.timer strong{color:#111}.cols{grid-template-columns:1fr}}@media(max-width:650px){.shell:has(.lane-grid){min-height:100dvh;display:flex;flex-direction:column}.shell:has(.lane-grid) .lane-grid{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr)}.shell:has(.lane-grid) .lane{min-height:0;gap:3px}.shell:has(.lane-grid) .race-actions{display:none}.shell:has(.lane-grid) .header{padding-bottom:5px}.shell:has(.lane-grid) .race-head{padding:0}.shell:has(.lane-grid) .race-head .back{margin-bottom:3px}.shell:has(.lane-grid) .timer{margin:5px 0}.shell:has(.lane-grid) .tabs{margin:5px 0}.shell:has(.lane-grid) .section-title{margin:4px 0}.shell:has(.lane-grid) .section-title h2{font-size:14px}.shell:has(.lane-grid) .bottom-actions{margin:4px 0}.shell:has(.lane-grid) footer{padding:2px 0}.shell:has(.lane-grid) .lane-data span{padding:3px}.shell:has(.lane-grid) .lane-action{padding:4px}}@media(max-width:650px)and (max-height:640px){.shell:has(.lane-grid) .lane{min-height:100px}.shell:has(.lane-grid) .lane-grid{flex:none}.shell:has(.lane-grid) .race-head .eyebrow{display:none}.shell:has(.lane-grid) footer{display:none}}.school-app,.school-auth,.school-center{--navy:#0b1f3a;--blue:#105b9e;--cyan:#0da7c8;--teal:#0d9488;--ink:#172033;--muted:#667085;--line:#dfe6ee;--soft:#f4f7fa;--white:#fff;color:var(--ink);background:var(--soft)}.school-app{min-height:100vh}.school-app button,.school-auth button,.school-center button{font:inherit}.school-header{height:68px;position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px}.school-brand{border:0;background:none;color:var(--navy);display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.05em}.school-brand>span{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--navy),var(--blue));color:#7ce7f2;display:grid;place-items:center}.school-brand em{font-style:normal;font-weight:600;letter-spacing:0;color:#7a8698;font-size:12px;border-left:1px solid var(--line);padding-left:10px}.school-user{display:flex;align-items:center;gap:10px;font-size:12px;color:#667085}.school-user>button{border:0;background:#f2f4f7;border-radius:10px;padding:8px;color:#475467}.school-layout{max-width:1500px;margin:auto;display:flex}.school-sidebar{width:235px;min-height:calc(100vh - 68px);position:sticky;top:68px;align-self:flex-start;background:#ffffffb8;border-right:1px solid var(--line);padding:24px 15px;display:flex;flex-direction:column}.school-side-title{padding:0 10px 18px}.school-side-title small{display:block;font-size:9px;letter-spacing:.15em;color:#98a2b3;font-weight:800}.school-side-title strong{display:block;margin-top:5px;font-size:18px}.school-sidebar nav{display:flex;flex-direction:column;gap:4px}.school-sidebar nav button{border:0;background:transparent;color:#667085;text-align:left;display:flex;align-items:center;gap:10px;border-radius:11px;padding:11px 12px;font-weight:700;font-size:13px}.school-sidebar nav button:hover,.school-sidebar nav button.active{background:#e8f7f6;color:#08756d}.school-privacy{margin-top:auto;border:1px solid #b9ece7;background:#ecfbf9;border-radius:15px;padding:14px;color:#0f766e;font-size:11px}.school-privacy b{display:block;margin:6px 0}.school-privacy p{margin:0;color:#437f7b;line-height:1.45}.school-main{min-width:0;flex:1;padding:28px;position:relative}.school-loading{position:fixed;right:18px;top:82px;background:var(--navy);color:#fff;border-radius:10px;padding:8px 12px;font-size:11px;z-index:50}.school-page-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.school-page-title small{color:#079a9c;font-size:9px;font-weight:900;letter-spacing:.18em}.school-page-title h1{font-size:28px;letter-spacing:-.035em;margin:3px 0 4px}.school-page-title p{margin:0;color:#667085;font-size:13px}.school-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:19px;box-shadow:0 2px 9px #0f172a08;margin-bottom:15px}.school-card h2,.school-card h3{margin:0 0 10px}.school-card p{color:#667085;line-height:1.55}.school-btn{border:1px solid var(--teal);background:var(--teal);color:#fff;border-radius:11px;padding:9px 13px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.school-btn.secondary{background:#fff;border-color:#d0d5dd;color:#475467}.school-btn.danger{background:#b42318;border-color:#b42318}.school-btn:disabled{opacity:.5}.school-btn.wide{width:100%;margin-top:10px}.school-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;background:#e7f8f5;color:#08756d}.school-badge.slate{background:#f2f4f7;color:#667085}.school-badge.amber{background:#fff4df;color:#a15c00}.school-badge.blue{background:#edf5ff;color:#175cd3}.school-badge.purple{background:#f4ebff;color:#6941c6}.school-badge.red{background:#fee4e2;color:#b42318}.school-row{display:flex;align-items:center;gap:8px}.school-row.wrap{flex-wrap:wrap}.school-row.between{justify-content:space-between}.school-field{display:block;min-width:0;font-size:11px;font-weight:800;color:#475467}.school-field>span{display:block;margin-bottom:6px}.school-field small{display:block;color:#98a2b3;font-weight:500;line-height:1.4;margin-top:5px}.school-input{width:100%;min-width:0;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;padding:9px 10px;outline:none}.school-input:focus{border-color:#0da7c8;box-shadow:0 0 0 3px #0da7c81a}.school-form{display:flex;flex-direction:column;gap:13px}.school-muted{color:#7b8794!important}.school-info,.school-warning{border-radius:12px;padding:11px 12px;font-size:11px;line-height:1.5;margin:12px 0}.school-info{background:#eef9fb;color:#1e6472}.school-warning{background:#fff5e8;color:#8a5200}.school-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.school-grid-2.tight{gap:10px}.school-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.school-kpis .school-card{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.school-kpis svg{color:#0d9488}.school-kpis strong{font-size:25px}.school-kpis span{grid-column:2;color:#667085;font-size:11px}.school-hero{border-radius:23px;padding:28px;background:linear-gradient(125deg,#0b1f3a,#0e3554);color:#fff;margin-bottom:16px}.school-hero h2{font-size:25px;margin:13px 0 7px}.school-hero p{max-width:700px;color:#bdcad9;font-size:13px}.school-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.school-service-icon{width:43px;height:43px;border-radius:12px;background:#e8f7f6;color:#0d9488;display:grid;place-items:center}.school-card-link,.school-link-btn{border:0;background:none;color:#08756d;font-weight:800;font-size:12px;padding:5px 0;display:inline-flex;align-items:center;gap:5px}.school-filter{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(180px,280px);align-items:center;gap:10px}.school-filter svg{color:#98a2b3}.school-student-head{display:flex;align-items:center;gap:12px}.school-avatar{width:46px;height:46px;flex:none;border-radius:14px;background:linear-gradient(145deg,#e8f7f6,#dff4ff);color:#0e6078;display:grid;place-items:center;font-weight:900}.school-student-head h3,.school-student-head h2{margin:0 0 5px}.school-card-bottom{border-top:1px solid #eef2f6;margin-top:14px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;color:#98a2b3;font-size:11px}.school-card-bottom button{border:0;background:none;color:#08756d;font-weight:800;display:flex;align-items:center}.school-profile-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:14px}.school-dl{margin:18px 0}.school-dl>div{margin:10px 0}.school-dl dt{font-size:9px;color:#98a2b3;text-transform:uppercase;letter-spacing:.08em}.school-dl dd{margin:3px 0 0;font-weight:700;font-size:13px}.school-external{display:flex;align-items:center;gap:7px;text-decoration:none;color:#0b69a3;background:#eaf7ff;border:1px solid #c7eaff;border-radius:11px;padding:11px;margin:12px 0;font-size:12px;font-weight:800}.school-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eef2f6;padding:12px 0;font-size:12px}.school-list-row span{min-width:0}.school-list-row small{display:block;color:#98a2b3;margin-top:3px}.school-list-row.clickable{cursor:pointer}.school-list-row.clickable:hover{background:#f8fbfc}.school-campaign-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:14px}.school-eval-head{display:flex;justify-content:space-between;align-items:center}.school-tabs{display:flex;gap:7px;overflow:auto;margin:0 0 13px}.school-tabs button{border:1px solid #d0d5dd;background:#fff;color:#667085;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:800;white-space:nowrap}.school-tabs button.active{background:#0b1f3a;color:#fff;border-color:#0b1f3a}.school-eval-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.6fr);gap:14px}.school-metric{border:1px solid #e4e9ef;border-radius:13px;padding:13px;margin:10px 0}.school-metric-title{display:flex;justify-content:space-between;gap:10px}.school-metric-title span{color:#98a2b3;font-size:10px}.school-metric-fields{display:grid;grid-template-columns:160px 1fr 160px;gap:10px;align-items:end;margin-top:9px}.school-prev{background:#f8fafc;border-radius:10px;padding:8px 10px}.school-prev small{display:block;color:#98a2b3;font-size:9px}.school-prev strong{display:block;margin-top:4px}.school-calc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}.school-calc div{background:#f8fafc;border-radius:10px;padding:10px}.school-calc small{display:block;color:#667085}.school-calc b{display:block;margin-top:4px}.school-station-row{display:grid;grid-template-columns:minmax(180px,1fr) 180px 190px;gap:10px;align-items:center;border-top:1px solid #eef2f6;padding:10px 0;font-size:12px}.school-comparison-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:9px}.school-comparison-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.5fr);gap:14px}.school-check-list{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto}.school-check-list label{display:flex;align-items:center;gap:8px;font-size:11px}.school-check-list.boxed{border:1px solid #e4e7ec;border-radius:12px;padding:10px;margin:10px 0 14px}.school-chart{overflow:auto}.school-chart svg{width:100%;min-width:520px;height:auto}.school-chart svg line{stroke:#ccd5df;stroke-width:1}.school-chart svg text{fill:#667085;font-size:10px}.school-legend{display:flex;gap:11px;flex-wrap:wrap;font-size:10px;color:#667085}.school-legend span{display:flex;align-items:center;gap:5px}.school-legend i{width:9px;height:9px;border-radius:50%}.school-chart-empty{display:grid;place-items:center;height:220px;color:#98a2b3;font-size:12px}.school-access-row{display:grid;grid-template-columns:minmax(150px,1fr) 170px 120px auto;gap:7px;align-items:center;border-bottom:1px solid #eef2f6;padding:9px 0}.school-access-row small{display:block;color:#98a2b3}.school-family-students{display:flex;gap:10px;overflow:auto;margin-bottom:13px}.school-family-students button{display:flex;align-items:center;gap:8px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;padding:9px;color:#344054}.school-family-students button.active{border-color:#0d9488;background:#e8f7f6}.school-family-students small{display:block;color:#667085}.school-family-hero{background:#0b1f3a;color:#fff;border-radius:19px;padding:22px;margin-bottom:14px}.school-family-hero h2{margin:10px 0 5px}.school-family-hero p{color:#b9c7d8}.school-family-hero a{color:#8be8f0;text-decoration:none;display:inline-flex;align-items:center;gap:5px;font-size:12px}.school-modal-back{position:fixed;inset:0;background:#0b1f3a99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:15px}.school-modal{width:min(620px,96vw);max-height:92vh;overflow:auto;background:#fff;color:#172033;border-radius:20px;padding:20px;box-shadow:0 25px 80px #0005}.school-modal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.school-modal-title h2{margin:0}.school-modal-title button{border:0;background:#f2f4f7;border-radius:50%;width:32px;height:32px}.school-toast{position:fixed;z-index:150;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;max-width:min(480px,90vw);background:#0b1f3a;color:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 12px 35px #0003;font-size:12px}.school-center{min-height:100vh;display:grid;place-content:center;text-align:center;padding:25px}.school-center>svg{margin:auto;color:#0d9488}.school-center p{max-width:620px;color:#667085}.school-auth{min-height:100vh;display:grid;place-content:center;padding:25px}.school-auth>.school-card{width:min(420px,92vw)}.school-auth-brand{text-align:center;margin-bottom:16px}.school-auth-brand>span{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#0b1f3a,#105b9e);color:#7ce7f2}.school-auth-brand h1{margin:8px 0 1px}.school-auth-brand p{margin:0;color:#667085}.school-spectator{margin:auto;border:0;background:none;color:#0b69a3;font-weight:800;display:flex;align-items:center;gap:6px}.spin{animation:schoolspin 1s linear infinite}@keyframes schoolspin{to{transform:rotate(360deg)}}@media(max-width:900px){.school-sidebar{display:none}.school-main{padding:18px}.school-service-grid,.school-kpis{grid-template-columns:1fr 1fr}.school-profile-grid,.school-campaign-grid,.school-eval-grid,.school-comparison-grid{grid-template-columns:1fr}.school-comparison-filters,.school-access-row{grid-template-columns:1fr 1fr}.school-access-row>div{grid-column:1/-1}}@media(max-width:620px){.school-header{height:auto;min-height:62px;padding:9px 12px}.school-brand em,.school-user>span{display:none}.school-main{padding:13px}.school-page-title{align-items:flex-start;flex-direction:column}.school-page-title h1{font-size:23px}.school-grid-2,.school-service-grid,.school-kpis,.school-filter{grid-template-columns:1fr}.school-filter>svg{display:none}.school-metric-fields,.school-station-row,.school-comparison-filters,.school-access-row,.school-calc{grid-template-columns:1fr}.school-user .school-badge{display:none}}.school-metric-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(174px,1fr));gap:8px;margin-top:15px}.school-metric-choice{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:11px;cursor:pointer;background:#fff;min-width:0;font-size:11px}.school-metric-choice.selected{border-color:#0d9488;background:#effcf9}.school-metric-choice input{accent-color:#0d9488}.school-metric-choice b,.school-metric-choice small{display:block}.school-metric-choice small{font-size:10px;color:#7b8794;margin-top:3px}.school-comparison-panel{padding:16px 0;border-top:1px solid #e2e8f0}.school-comparison-panel:first-of-type{margin-top:10px}.school-comparison-trend{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:11px;border-bottom:1px solid #edf2f6}.school-comparison-trend strong{text-align:right;color:#0b6172}.school-comparison-filters{grid-template-columns:repeat(5,minmax(120px,1fr))}@media(max-width:900px){.school-comparison-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.school-comparison-filters{grid-template-columns:1fr}.school-metric-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.school-comparison-trend{flex-direction:column}}.school-filter{grid-template-columns:auto minmax(160px,1fr) minmax(150px,200px) minmax(150px,200px)}.school-student-head>.wu-avatar{border-radius:14px}.school-comparison-trend{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}@media(max-width:700px){.school-filter{grid-template-columns:1fr 1fr}.school-filter>svg{display:none}.school-filter>input{grid-column:1/-1}}.school-chart svg text{fill:#465568;font-size:12px}.school-menu-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border:1px solid #d7e2e8;border-radius:12px;background:#f5fafb;color:#0b1f3a;cursor:pointer}.school-nav-overlay{display:none}.school-access-page,.school-access-page .school-card,.school-access-row>*{min-width:0}.school-access-page .school-grid-2{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.school-access-row{grid-template-columns:minmax(110px,1fr) minmax(120px,160px) minmax(100px,130px) auto auto;gap:8px}.school-account-identity{min-width:0;overflow-wrap:anywhere}.school-account-identity b,.school-account-identity small{display:block;min-width:0;overflow-wrap:anywhere}.school-access-row .school-btn{white-space:nowrap;padding:9px 11px}.school-access-page .school-row.between{flex-wrap:wrap}@media(max-width:1100px){.school-access-page .school-grid-2{grid-template-columns:1fr}.school-access-row{grid-template-columns:minmax(130px,1fr) minmax(110px,160px) minmax(100px,130px) auto auto}}@media(max-width:900px){.school-header{z-index:70;gap:10px}.school-menu-toggle{display:inline-flex}.school-sidebar{display:flex;position:fixed;top:68px;left:0;bottom:0;width:min(310px,86vw);height:calc(100dvh - 68px);min-height:0;max-height:none;overflow-y:auto;z-index:65;visibility:hidden;pointer-events:none;transform:translate(-102%);transition:transform .22s ease,visibility .22s;background:#fff;box-shadow:15px 0 30px #0b1f3a14;padding-bottom:24px}.school-sidebar.is-open{visibility:visible;pointer-events:auto;transform:translate(0)}.school-nav-overlay{display:block;position:fixed;inset:0;border:0;background:#0b1f3a80;z-index:60;cursor:pointer}.school-layout,.school-main{min-width:0;max-width:100%}.school-card{min-width:0}.school-access-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-top:11px;padding:13px;border:1px solid #e2e8f0;border-radius:13px;background:#fcfdfd}.school-access-row .school-account-identity{grid-column:1/-1}.school-access-row>.school-btn{width:100%}.school-access-page .school-grid-2{grid-template-columns:1fr}}@media(max-width:620px){.school-sidebar{top:62px;height:calc(100dvh - 62px)}.school-header{justify-content:flex-start;padding:9px 11px}.school-brand{gap:7px;white-space:nowrap;min-width:0}.school-brand>span{width:35px;height:35px;flex:none}.school-brand b{font-size:17px}.school-user{margin-left:auto;gap:4px;flex:none}.school-user>button{min-width:38px;min-height:38px;display:grid;place-items:center}.school-main{padding:12px;overflow-wrap:anywhere}.school-page-title{gap:10px}.school-row{flex-wrap:wrap}.school-hero{padding:19px}.school-hero .school-row .school-btn{flex:1;min-width:130px}.school-access-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.school-access-row select{width:100%;min-width:0;font-size:12px}.school-access-page .school-card{padding:14px}.school-access-page textarea{max-width:100%}.school-metric-picker{grid-template-columns:1fr 1fr}}@media(max-width:360px){.school-brand>span{display:none}.school-access-row{grid-template-columns:1fr}.school-access-row .school-account-identity{grid-column:1}.school-metric-picker{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.school-sidebar{transition:none}}.shell.relay-app{--relay-ink:#14253b;--relay-muted:#66788d;--relay-teal:#0d9488;--relay-line:#e2e8f0;max-width:none;min-height:100vh;background:#f4f7fb;color:var(--relay-ink);padding:0 24px 24px}.relay-app .header{position:sticky;top:0;z-index:25;margin:0 -24px 26px;padding:14px max(24px,calc((100vw - 1350px)/2));background:#fff;border-bottom:1px solid var(--relay-line);box-shadow:0 2px 8px #0d25450b}.relay-app .brand{gap:10px;color:#152844;font-size:17px;letter-spacing:.045em;text-align:left}.relay-app .brand b{color:#0d9488}.relay-app .brand .relay-logo-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(140deg,#0e2549,#167c9a)}.relay-app .brand .relay-logo-mark svg{color:#77e3ed}.relay-app .relay-brand-name{display:block;line-height:1.05}.relay-app .relay-brand-name small{display:block;margin-top:5px;font-weight:500;letter-spacing:0;color:#8b98a8;font-size:10px}.relay-app .small,.relay-app .back,.relay-app .text-btn{color:#47647e}.relay-app .header-right .small:hover,.relay-app .back:hover{color:#07877d}.relay-app .pill.good{background:#e1f6ef;color:#08775b}.relay-app .pill.bad{background:#fff0ed;color:#b02e39}.relay-app .home,.relay-app .create,.relay-app .race-head,.relay-app>.timer,.relay-app>.relay-metrics,.relay-app>.tabs,.relay-app>.section-title,.relay-app>.lane-grid,.relay-app>.bottom-actions,.relay-app>.cols,.relay-app>.panel,.relay-app>footer,.relay-app>.warning{max-width:1280px;margin-left:auto;margin-right:auto}.relay-app .hero{background:#102f50;border:0;box-shadow:0 10px 25px #13355a12;padding:35px 38px;border-radius:22px;color:#fff;margin-bottom:20px}.relay-app .hero h1{font-size:clamp(27px,3.5vw,41px);letter-spacing:-.032em;margin:10px 0;max-width:700px}.relay-app .hero p{color:#d8e5ef;font-size:14px;max-width:590px;line-height:1.6;margin:0}.relay-app .hero-icon{background:#ffffff16;border-radius:20px;color:#79ebea}.relay-app .eyebrow{color:#0b9289;letter-spacing:.12em}.relay-app .hero .eyebrow{color:#80e8e9}.relay-app .panel{background:#fff;border:1px solid var(--relay-line);border-radius:18px;padding:22px;box-shadow:0 2px 12px #0d2d5110;color:var(--relay-ink)}.relay-app .panel h2{color:#192c44;font-weight:800}.relay-app .panel p{color:#687c91;line-height:1.5}.relay-app .panel h3{color:#1f354f}.relay-app small,.relay-app .muted{color:var(--relay-muted)}.relay-app .panel input,.relay-app .panel select,.relay-app .create input,.relay-app .create select,.relay-app .row input,.relay-app .team-fields input{background:#fff;color:#24364d;border:1px solid #cfd8e4;border-radius:11px;min-height:42px}.relay-app input:focus,.relay-app select:focus{outline:2px solid #a6e9e4;outline-offset:1px;border-color:#0d9488}.relay-app input::placeholder{color:#95a3b5}.relay-app .stack label,.relay-app .team-fields label,.relay-app .cols label{color:#465e74;font-weight:600}.relay-app .panel button:not(.list-item):not(.text-btn):not(.back),.relay-app .stack button,.relay-app .section-title button,.relay-app .race-actions button,.relay-app .bottom-actions button{background:#f0f7f8;color:#126a74;border:1px solid #cce6e6;font-weight:750;border-radius:11px;min-height:40px}.relay-app .panel button.primary,.relay-app .stack button.primary,.relay-app .panel .row button[type=submit]{background:#0d9488!important;border-color:#0d9488!important;color:#fff!important}.relay-app .panel button:hover:not(:disabled),.relay-app .race-actions button:hover,.relay-app .section-title button:hover{filter:brightness(.96)}.relay-app .list-item{border:1px solid #e5ebf3;background:#f9fbfd;color:#20364b;border-radius:12px;margin-bottom:8px}.relay-app .list-item:hover{background:#ecf8f6;border-color:#95d8cc}.relay-app .list-item small{color:#7b8fa3}.relay-app .race-head{margin-top:3px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.relay-app .race-head h1{font-size:clamp(23px,3vw,32px);margin:5px 0 13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#17283e}.relay-app .race-head .back{margin-bottom:7px;padding:4px 0}.relay-app .race-actions{margin-bottom:13px}.relay-app .relay-status{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:0;padding:7px 10px;border-radius:99px;background:#e7edf6;color:#536780}.relay-app .relay-status.running{background:#daf5ea;color:#047857}.relay-app .relay-status.paused{background:#fff3dc;color:#a26715}.relay-app .relay-status.finished{background:#e7eef7;color:#50647e}.relay-app .timer{position:relative;background:#fff;border:1px solid #dbe5ef;border-radius:17px;box-shadow:0 4px 20px #112a4310;padding:18px 20px 23px;margin-top:6px;overflow:hidden}.relay-app .timer strong{color:#15283f;font-size:clamp(28px,3vw,42px);font-weight:850;font-variant-numeric:tabular-nums}.relay-app .timer .eyebrow{font-size:10px}.relay-app .timer small{color:#74859a}.relay-app .timer-btn{color:#fff;background:#0d9488;border-radius:13px;width:56px;height:56px}.relay-app .timer-btn.amber{background:#d99619;color:#fff}.relay-app .timer-summary span{background:#f3f8fb;color:#65758b;padding:10px 12px}.relay-app .timer-summary b{color:#1b354b;font-size:15px;margin-top:2px}.relay-app .relay-time-progress{position:absolute;height:5px;bottom:0;left:0;right:0;background:#e6edf4}.relay-app .relay-time-progress i{display:block;height:100%;background:linear-gradient(90deg,#12aca1,#3cb7ec);transition:width .25s linear}.relay-app .relay-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px;margin-bottom:13px}.relay-app .relay-metrics>div{background:#fff;border:1px solid #e0e7ef;border-radius:14px;padding:14px 18px;box-shadow:0 2px 10px #10253d0a}.relay-app .relay-metrics small{display:block;font-size:11px;color:#8091a3}.relay-app .relay-metrics b{display:block;font-size:22px;color:#15283f;margin-top:4px;font-variant-numeric:tabular-nums}.relay-app .tabs{display:flex;gap:8px;border-bottom:0;margin-top:17px;margin-bottom:15px}.relay-app .tabs button{border:1px solid #dbe4ec;border-radius:11px;background:#fff;color:#647a91;padding:11px 16px;justify-content:center}.relay-app .tabs .selected{border-color:#0e9186;background:#e2f4f1;color:#067e75;box-shadow:inset 0 0 0 1px #0e9186}.relay-app .tabs button svg{width:16px;height:16px}.relay-app .section-title h2{color:#15283f}.relay-app .section-title .eyebrow{color:#0d9488}.relay-app .lane-grid{gap:13px}.relay-app .lane{background:#fff;border:1px solid #dce6ef;border-top:4px solid var(--accent);border-radius:17px;min-height:180px;padding:15px 17px;color:#1a324c;box-shadow:0 3px 12px #0b2c4210;transition:transform .12s,box-shadow .12s,background .12s}.relay-app .lane:hover:not(:disabled){background:#fafdff;box-shadow:0 8px 24px #0e375a1a}.relay-app .lane:focus-visible{outline:3px solid #1aa7a0;outline-offset:3px}.relay-app .lane:active:not(:disabled){transform:scale(.977)}.relay-app .lane:disabled{opacity:.86}.relay-app .lane.ours{border:2px solid #13978b;border-top:4px solid #13978b;box-shadow:0 0 0 2px #0d948820}.relay-app .lane.flash{background:#d6faf1;filter:none}.relay-app .lane-number{background:#163754;color:#fff}.relay-app .lane-place{color:#267f83}.relay-app .lane-name{font-size:15px;color:#1b334c}.relay-app .lane-count{color:#122a40;font-size:34px}.relay-app .lane-count small{color:#667b8f;font-size:10px}.relay-app .lane-data span{background:#f3f7fb;color:#73849a;font-size:10px;padding:8px 9px}.relay-app .lane-data b{color:#182f46;font-size:13px}.relay-app .lane-action{background:#e6f5f3;color:#057f77;font-size:11px;border-radius:9px;padding:9px 8px}.relay-app .lane:disabled .lane-action{background:#f3f5f8;color:#8393a4}.relay-app .bottom-actions{color:#6b7e91}.relay-app .bottom-actions .danger{color:#b13d4a;background:#fff0f1;border:1px solid #f6c6ce}.relay-app .warning{background:#fff7e8;color:#925e13;border:1px solid #f4d8a3}.relay-app .athlete{border:1px solid #e1e8f0;background:#fbfcfe;color:#172d48}.relay-app .line{border-bottom:1px solid #e9eef4;color:#263d52}.relay-app .rank{border:1px solid #dce6ef;background:#fff;color:#17334c}.relay-app .rank-ours{border-color:#81d5c9;background:#eaf9f5}.relay-app .rank small{color:#7b8fa3}.relay-app .qr{border:1px solid #e0e5eb;box-shadow:0 2px 10px #0000000a}.relay-app footer{color:#8b9db0}.relay-app .toast{background:#102f50;color:#fff;border:0;box-shadow:0 10px 36px #091c3430}.relay-app .create h1{font-size:25px;color:#15283f}.relay-app .create p{color:#66788d}@media(max-width:700px){.relay-app{padding:0 10px 20px}.relay-app .header{margin:0 -10px 16px;padding:9px 12px}.relay-app .brand{font-size:14px}.relay-app .relay-brand-name small{font-size:9px}.relay-app .header-right{gap:3px}.relay-app .header-right .small{font-size:11px;padding:5px}.relay-app .hero{padding:24px 19px}.relay-app .panel{padding:15px}.relay-app .race-head h1{margin-bottom:8px}.relay-app .relay-metrics{gap:6px}.relay-app .relay-metrics>div{padding:9px 7px}.relay-app .relay-metrics small{font-size:9px;line-height:1.2}.relay-app .relay-metrics b{font-size:16px}.relay-app .timer{padding:11px 11px 18px;min-height:74px}.relay-app .timer-btn{width:45px;height:45px}.relay-app .tabs{gap:5px;justify-content:space-between}.relay-app .tabs button{padding:9px 5px;flex:1;font-size:11px}.relay-app .lane-grid{gap:8px}.relay-app .lane{padding:10px 11px;min-height:155px;border-radius:13px}.relay-app .lane-count{font-size:28px}.relay-app .lane-name{font-size:12px}.relay-app .lane-data span{padding:5px 6px;font-size:9px}.relay-app .lane-data b{font-size:11px}.relay-app .lane-action{font-size:9px;padding:6px}.relay-app .header .pill{padding:5px 7px}}@media(max-width:650px){.relay-app:has(.lane-grid){min-height:100dvh}.relay-app:has(.lane-grid) .lane{min-height:0}.relay-app:has(.lane-grid) .lane-grid{min-height:0;grid-auto-rows:minmax(0,1fr)}.relay-app:has(.lane-grid) .timer{margin:4px auto}.relay-app:has(.lane-grid) .tabs{margin:7px auto}.relay-app:has(.lane-grid) .section-title{margin:4px auto}.relay-app:has(.lane-grid) .relay-metrics{margin:5px auto}.relay-app:has(.lane-grid) .relay-metrics>div{padding:7px}.relay-app:has(.lane-grid) .relay-metrics b{font-size:15px}}@media print{.relay-app{background:#fff}.relay-app .panel,.relay-app .rank,.relay-app .timer{box-shadow:none;border:1px solid #aaa}.relay-app .lane{color:#111;background:#fff}.relay-app .relay-metrics{display:flex}.relay-app .header{position:static}}
