:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#20272a;--green:#216578;--cream:#f5f8f9;--gold:#edc541;--line:#d5e0e4}*{box-sizing:border-box}body{color:var(--ink);background:#eaf0f2;margin:0;font:16px/1.5 system-ui,sans-serif}main{background:var(--cream);border-radius:24px;max-width:960px;min-height:75vh;margin:24px auto;overflow:hidden}header{color:var(--ink);border-bottom:1px solid var(--line);background:#fff;padding:28px}header h1,header p,header strong{color:var(--ink)}h1{margin:18px 0 10px;font-size:27px;font-weight:550;line-height:1.25}h2{font-size:20px;font-weight:550}h3{font-size:16px}p{margin:8px 0 14px}.body{padding:24px}.login{max-width:440px;margin:50px auto}button,input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line);background:#fff;border-radius:10px;min-height:44px;padding:10px 12px}input,select,textarea{width:100%;margin-top:6px}label{margin:14px 0;font-size:14px;display:block}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--green);margin:0;padding:0}.check{align-items:center;gap:8px;display:flex}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #216578}.primary{background:var(--green);color:#fff;border-color:var(--green)}header button{color:var(--green);border-color:var(--line);background:#fff}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row>*{flex:1}.row button{flex:none}.muted,small{color:#536b74;font-size:13px}.notice{background:#e1eee2;border-radius:10px;margin:16px 0;padding:12px 16px}.error{color:#862639;background:#fbe6e7}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.tabs button[aria-pressed=true]{color:var(--green);border-color:var(--green);box-shadow:inset 0 -3px 0 var(--gold);background:#eaf3f6;font-weight:650}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin:12px 0;padding:18px}.card.selected{border:2px solid var(--green)}.list{padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);padding:12px 0}.pill{background:#eaf3f6;border-radius:6px;padding:4px 8px;font-size:12px;display:inline-block}.attempt{background:#f0f6f8;border-radius:10px;margin:12px 0;padding:14px}.attempt form{margin-top:12px}.danger{color:#952a36;border-color:#d9aeb3}.empty{text-align:center;border:1px dashed var(--line);border-radius:16px;padding:35px 16px}.full{width:100%}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.session-title{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.session-title button{text-align:left;flex:1}.working{min-height:24px;font-size:13px}@media (max-width:600px){main{border-radius:0;margin:0}header,.body{padding:20px}.row{align-items:stretch}.row>*{flex-basis:100%}.row button{flex:1}.cards{display:block}h1{font-size:25px}th,td{padding:10px 5px;font-size:14px}}.header-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.header-actions{align-items:center;gap:10px;display:flex}.icon-button{flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.language-picker{position:relative}.language-picker summary{cursor:pointer;border:1px solid #d5e0e4;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:8px 10px;font-size:13px;list-style:none;display:flex}.language-picker summary::-webkit-details-marker{display:none}.language-picker summary:focus-visible{outline-offset:2px;outline:3px solid #216578}.language-options{z-index:10;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:155px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0003}.language-options button{text-align:left;width:100%;color:var(--ink);background:#fff;border:0;display:block}.language-options button[aria-pressed=true]{background:#eaf3f6}.tabs button{flex:0 auto;padding:10px}header small{overflow-wrap:anywhere;display:block}.event-workspace{border:1px solid #c5d9e0;border-left:4px solid var(--green);background:#edf4f7;border-radius:14px;margin-top:18px;padding:12px}.hierarchy{color:#355e6c;font-size:13px;font-weight:600}.session-workspace{border-top:4px solid var(--gold)}.section-label{text-transform:uppercase;letter-spacing:1px;color:#536b74;font-size:12px}.participant{border-top:1px solid var(--line);padding:14px 0}.participant-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.participant-heading h3{overflow-wrap:anywhere;flex:1;margin:0}.remove-participant{color:#952a36;font-size:13px}.result-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.result-line button{font-size:14px}.result-editor{background:#f0f6f8;border-radius:10px;margin-top:12px;padding:12px}.result-editor .muted{margin:10px 0 16px;display:block}.add-participant{border-top:1px solid var(--line);padding:14px 0}summary{cursor:pointer;align-content:center;min-height:44px}.session-actions{margin-top:20px}.session-actions button{font-size:14px}.own-result{background:#eaf3f6}.remove-form{color:#952a36;font-size:13px}.remove-form[open]{flex-basis:100%}.remove-form summary{padding:0 10px}.remove-form input{color:var(--ink)}td:nth-child(2){overflow-wrap:anywhere}table{table-layout:fixed}th:first-child{width:17%}th:last-child{width:30%}@media (max-width:600px){.event-workspace{padding:8px}.session-workspace{padding:14px}.cards>button.card{text-align:left;width:100%}.session-actions{flex-direction:column}.result-line .num{font-size:18px}.result-line button{flex:none}}.brand-lockup{flex-direction:column;flex:none;align-items:center;width:170px;line-height:1;display:inline-flex}.brand-wordmark{letter-spacing:-2px;white-space:nowrap;gap:5px;font-family:Arial,Helvetica,sans-serif;font-size:36px;font-style:italic;font-weight:900;display:flex}.brand-sv{color:var(--gold);text-shadow:0 .5px #a47d13}.brand-team{color:var(--green)}.brand-discipline{color:var(--green);letter-spacing:2px;margin-top:5px;font-size:9px;font-weight:750}.brand-country{color:var(--ink);letter-spacing:3px;margin-top:5px;font-size:9px;font-weight:650}.header-toolbar{align-items:flex-start}.header-actions{flex:none;gap:8px}.portal-heading{margin:24px 0 8px;font-size:18px;font-weight:650;line-height:1.4}header .account-identity{color:#536b74;font-size:13px}.language-picker summary{color:var(--green);background:#fff}.primary:hover:not(:disabled){background:#174f60;border-color:#174f60}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}.login{min-height:0;box-shadow:0 16px 50px #163c4912}.login header{padding-bottom:34px;position:relative}.login header:after{content:"";background:linear-gradient(115deg,var(--green) 0 57%,var(--gold) 57% 77%,var(--ink) 77% 85%,#fff 85%);height:8px;position:absolute;bottom:0;left:0;right:0}.text-button{color:var(--green);background:0 0;border-color:#0000;margin-top:8px}.password-field{align-items:stretch;gap:8px;display:flex}.password-field input{flex:1;min-width:0;margin-top:0}.password-visibility{width:44px;min-width:44px;color:var(--green);background:var(--surface-soft);flex:none;place-items:center;margin-top:0;padding:8px;display:grid}.password-field+.primary{margin-top:12px}@media (max-width:600px){.brand-lockup{width:146px}.brand-wordmark{font-size:32px}.brand-discipline{letter-spacing:1.7px;font-size:8px}.brand-country{letter-spacing:2.6px;font-size:8px}.header-toolbar{gap:8px}.header-actions{gap:6px}.portal-heading{margin-top:22px;font-size:17px}.language-picker summary{padding:8px}.login{min-height:100dvh;box-shadow:none;margin:0 auto}}@media (max-width:360px){header,.body{padding:16px}.brand-lockup{width:128px}.brand-wordmark{font-size:29px}.brand-discipline{letter-spacing:1.2px}.brand-country{letter-spacing:2px}}.result-segments{background:#f0f6f8;border-radius:10px;flex:1 0 100%;margin:2px 0;padding:10px 12px;list-style:none}.result-segments li{justify-content:space-between;gap:14px;padding:3px 0;display:flex}.stage-editor{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:16px 0;padding:10px 12px;display:grid}.stage-editor legend{padding:0 5px;font-weight:650}.stage-editor label{margin:4px 0}.stage-editor input{font-variant-numeric:tabular-nums}.history-filters .row{align-items:flex-end;gap:8px 12px}.history-filters label{min-width:150px;margin:6px 0}.session-history{margin:10px 0;position:relative}.session-history>summary{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:10px;padding:8px 12px;display:inline-block}.session-history .cards{margin-top:8px}.session-history .card{margin:6px 0}.history-filters.card{background:#f8fafb}.table-scroll{max-width:100%;overflow:visible}.table-scroll table{min-width:0}table{min-width:0;max-width:100%;display:table}td:nth-child(2){white-space:normal;overflow-wrap:anywhere}.rating-table th:first-child,.rating-table td:first-child{width:9%}.rating-table th:nth-child(2),.rating-table td:nth-child(2){width:39%}.rating-table th:nth-child(3),.rating-table td:nth-child(3){width:29%}.rating-table th:nth-child(4),.rating-table td:nth-child(4){width:23%}.rating-table.event-rating-table th:first-child,.rating-table.event-rating-table td:first-child{width:10%}.rating-table.event-rating-table th:nth-child(2),.rating-table.event-rating-table td:nth-child(2){width:60%}.rating-table.event-rating-table th:nth-child(3),.rating-table.event-rating-table td:nth-child(3){width:30%}.athlete-last-name{white-space:nowrap}.athlete-link{min-height:0;color:var(--green);text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-weight:650;text-decoration:underline}.athlete-link[aria-pressed=true]{text-decoration-thickness:2px}.athlete-history .section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.test-catalog{padding:0;list-style:none}.test-catalog li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.test-catalog .danger{flex:none}@media (max-width:600px){.history-filters.card{padding:14px}.history-filters .row{gap:4px 12px}.history-filters label{margin:5px 0}.rating-table th,.rating-table td{padding:6px 3px;font-size:12px}.rating-table th:nth-child(2),.rating-table td:nth-child(2){width:45%}.rating-table th:nth-child(3),.rating-table td:nth-child(3){width:22%}.rating-table th:nth-child(4),.rating-table td:nth-child(4){width:24%}.rating-table td:nth-child(4){font-size:10px}.rating-table.event-rating-table th:nth-child(2),.rating-table.event-rating-table td:nth-child(2){width:60%}}:root{--page-bg:#eaf0f2;--surface:#fff;--surface-soft:#f0f6f8;--surface-tint:#eaf3f6;--muted:#536b74;--danger:#952a36;--danger-border:#d9aeb3;--notice-bg:#e1eee2;--error-bg:#fbe6e7}body{background:var(--page-bg)}.theme-picker{flex:none;position:relative}.theme-picker summary{border:1px solid var(--line);background:var(--surface);width:44px;min-height:44px;color:var(--green);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:8px;font-size:19px;list-style:none;display:flex}.theme-picker summary::-webkit-details-marker{display:none}.theme-options{min-width:185px}.theme-options button{min-height:40px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e5edef;--green:#82c7d6;--cream:#172125;--gold:#f0cc53;--line:#34474e;--page-bg:#0d1518;--surface:#172125;--surface-soft:#202d32;--surface-tint:#263a40;--muted:#a5b7bc;--danger:#ffb0b8;--danger-border:#75454c;--notice-bg:#20372c;--error-bg:#45272d}:root[data-theme=dark] body{background:var(--page-bg);color:var(--ink)}:root[data-theme=dark] main{background:var(--cream)}:root[data-theme=dark] header,:root[data-theme=dark] .card,:root[data-theme=dark] .language-options{background:var(--surface);color:var(--ink)}:root[data-theme=dark] button,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] header button,:root[data-theme=dark] .language-picker summary,:root[data-theme=dark] .session-history>summary,:root[data-theme=dark] .theme-picker summary{background:var(--surface);color:var(--green);border-color:var(--line)}:root[data-theme=dark] .language-options button{background:var(--surface);color:var(--ink)}:root[data-theme=dark] .language-options button[aria-pressed=true],:root[data-theme=dark] .tabs button[aria-pressed=true]{background:var(--surface-tint);color:var(--green)}:root[data-theme=dark] .primary{color:#fff;background:#287487;border-color:#287487}:root[data-theme=dark] .primary:hover:not(:disabled){background:#35899c;border-color:#35899c}:root[data-theme=dark] .tabs button[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--gold)}:root[data-theme=dark] .muted,:root[data-theme=dark] small,:root[data-theme=dark] .section-label,:root[data-theme=dark] header .account-identity{color:var(--muted)}:root[data-theme=dark] .pill,:root[data-theme=dark] .attempt,:root[data-theme=dark] .result-editor,:root[data-theme=dark] .result-segments,:root[data-theme=dark] .history-filters.card{background:var(--surface-soft);color:var(--ink)}:root[data-theme=dark] .event-workspace{background:#17272d;border-color:#34515a}:root[data-theme=dark] .hierarchy{color:#b3d4dc}:root[data-theme=dark] .own-result{background:var(--surface-tint)}:root[data-theme=dark] .active-athletes-list{color:#a2b0b4}:root[data-theme=dark] .active-athletes-list li{background:#202a2e}:root[data-theme=dark] .inactive-athletes-list{color:#a2b0b4}:root[data-theme=dark] .inactive-athletes-list li{background:#202a2e}:root[data-theme=dark] .notice{background:var(--notice-bg);color:#c8e8ce}:root[data-theme=dark] .error{background:var(--error-bg);color:#ffc5cb}:root[data-theme=dark] .danger,:root[data-theme=dark] .remove-participant,:root[data-theme=dark] .remove-form{color:var(--danger);border-color:var(--danger-border)}:root[data-theme=dark] .language-picker summary{border-color:var(--line)}:root[data-theme=dark] .login{box-shadow:0 16px 50px #0005}:root[data-theme=dark] .login header:after{background:linear-gradient(115deg,var(--green) 0 57%,var(--gold) 57% 77%,var(--ink) 77% 85%,var(--surface) 85%)}.account-menu{flex:none;position:relative}.account-menu>summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);width:44px;height:44px;min-height:44px;color:var(--green);border-radius:10px;justify-content:center;align-items:center;padding:0;list-style:none;display:flex}.account-menu>summary::-webkit-details-marker{display:none}.account-menu-panel{z-index:30;border:1px solid var(--line);background:var(--surface);width:max-content;min-width:0;max-width:calc(100vw - 32px);color:var(--ink);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0003}.account-menu-panel.has-logout{min-width:0}.account-menu-action{text-align:left;background:var(--surface);width:100%;min-height:36px;color:var(--ink);border:0;padding:6px 8px}.account-menu-action:hover{background:var(--surface-soft)}.account-menu-logout{background:var(--surface);width:100%;min-height:36px;color:var(--danger);border:0;justify-content:flex-start;align-items:center;gap:8px;padding:6px 8px;display:flex}.account-menu-logout:hover{background:var(--surface-soft)}.active-athletes-section{margin:22px 0}.active-athletes-section>summary{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:18px;font-weight:650;list-style-position:inside;display:flex}.active-athletes-list{margin-top:8px}.active-athletes-list li{background:var(--surface-soft);border-radius:6px;padding-left:10px}.inactive-athletes-section{margin:22px 0}.inactive-athletes-section>summary{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:18px;font-weight:650;list-style-position:inside;display:flex}.inactive-athletes-list{margin-top:8px}.inactive-athletes-list li{background:var(--surface-soft);border-radius:6px;padding-left:10px}.inactive-athletes-list .athlete-link{color:var(--muted)}.account-modal-overlay{z-index:100;background:#000000db;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.account-modal{background:var(--surface);width:min(100%,420px);max-height:min(80dvh,600px);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:18px 24px;overflow:auto;box-shadow:0 12px 40px #0005}.account-modal h2{margin:4px 0 16px;font-size:20px}.account-modal-options{gap:2px;display:grid}.account-modal-options button{text-align:left;background:var(--surface);width:100%;min-height:50px;color:var(--ink);border:0;border-radius:0;padding:10px 0}.account-modal-options button[aria-pressed=true]{color:var(--green);font-weight:700}.account-modal-options button:hover{background:var(--surface-soft)}.attendance-card{margin:12px 0}.attendance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.attendance-toolbar label{flex:180px;margin:0}.attendance-total,.attendance-month-total{background:var(--surface-tint);color:var(--green);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;font-size:14px;display:flex}.attendance-total strong,.attendance-month-total strong{font-variant-numeric:tabular-nums;font-size:24px}.attendance-date-control{position:relative}.attendance-date-control>input[type=text]{font-variant-numeric:tabular-nums;width:100%;padding-right:54px}.attendance-calendar-icon{color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.attendance-native-date{opacity:0;cursor:pointer;width:50px;height:100%;min-height:0;margin:0;padding:0;position:absolute;top:0;right:0}.attendance-list{margin:14px 0 0;padding:0;list-style:none}.attendance-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 4px;display:flex}.attendance-person{flex:1;align-items:center;gap:12px;margin:0;font-size:16px;display:flex}.attendance-person input{flex:0 0 20px;width:20px;height:20px;min-height:20px}.attendance-remove{border:1px solid var(--line);background:var(--surface-soft);width:40px;min-height:40px;color:var(--danger);border-radius:10px;flex:0 0 40px;place-items:center;padding:0;font-size:25px;line-height:1;display:grid}.attendance-remove:disabled{opacity:.5}.attendance-search{margin:12px 0}.attendance-search-results{margin:8px 0 0;padding:0;list-style:none}.attendance-search-results li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.attendance-search-results .primary{min-height:38px;padding:6px 10px;font-size:13px}@media (max-width:600px){.attendance-confirm-dialog{padding:20px}.attendance-confirm-actions button{flex:1}}.attendance-confirm-backdrop{z-index:120;background:#000000b3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.attendance-confirm-dialog{background:var(--surface);width:min(100%,480px);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 16px 48px #0006}.attendance-confirm-dialog h2{margin:0 0 12px}.attendance-confirm-dialog p{color:var(--muted);margin:0}.attendance-confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.attendance-confirm-actions .danger{color:var(--danger)}.attendance-month{margin-top:18px}.attendance-month h3{margin-top:0}.attendance-month-total{margin:8px 0 14px}.attendance-month table{width:100%}.attendance-month td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.rating-results{overflow:hidden}.rating-table{table-layout:fixed;width:100%}.rating-table th,.rating-table td{overflow-wrap:normal}.rating-table .rating-group-row th{text-align:left;border-top:1px solid var(--line);color:var(--green);padding:10px 4px 6px;font-weight:700;width:auto!important}.athlete-rating-table th:first-child,.athlete-rating-table td:first-child{width:48%}.athlete-rating-table th:nth-child(2),.athlete-rating-table td:nth-child(2){width:28%}.athlete-rating-table th:nth-child(3),.athlete-rating-table td:nth-child(3){width:24%}.athlete-rating-table td:first-child{overflow-wrap:anywhere}.rating-table td:first-child:not(.athlete-rating-table td:first-child),.rating-table td.num,.rating-table td:last-child{font-variant-numeric:tabular-nums}.rating-table td.num,.rating-table td:last-child{white-space:nowrap}.athlete-history-table{table-layout:fixed}.athlete-history-table th:first-child,.athlete-history-table td:first-child{white-space:nowrap;width:27%}.athlete-history-table th:nth-child(2),.athlete-history-table td:nth-child(2){overflow-wrap:anywhere;width:48%}.athlete-history-table th:last-child,.athlete-history-table td:last-child{white-space:nowrap;width:25%}@media (max-width:600px){.attendance-total{flex:100%}.attendance-person{font-size:15px}.attendance-search-results li{flex-direction:column;align-items:flex-start}.attendance-search-results .primary{width:100%}.attendance-confirm-dialog{padding:20px}.attendance-confirm-actions button{flex:1}.rating-table th,.rating-table td,.athlete-history-table th,.athlete-history-table td{padding:6px 2px;font-size:11px}.rating-table th:first-child,.rating-table td:first-child{width:14%}.rating-table th:nth-child(2),.rating-table td:nth-child(2){width:32%}.rating-table th:nth-child(3),.rating-table td:nth-child(3){width:30%}.rating-table th:nth-child(4),.rating-table td:nth-child(4){width:24%}.rating-table.event-rating-table th:first-child,.rating-table.event-rating-table td:first-child{width:12%}.rating-table.event-rating-table th:nth-child(2),.rating-table.event-rating-table td:nth-child(2){width:54%}.rating-table.event-rating-table th:nth-child(3),.rating-table.event-rating-table td:nth-child(3){width:34%}.athlete-rating-table th:first-child,.athlete-rating-table td:first-child{width:48%}.athlete-rating-table th:nth-child(2),.athlete-rating-table td:nth-child(2){width:28%}.athlete-rating-table th:nth-child(3),.athlete-rating-table td:nth-child(3){width:24%}.athlete-history-table th:first-child,.athlete-history-table td:first-child{width:27%}.athlete-history-table th:nth-child(2),.athlete-history-table td:nth-child(2){width:47%}.athlete-history-table th:last-child,.athlete-history-table td:last-child{width:26%}.rating-table td:nth-child(2){overflow-wrap:anywhere}}
