@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Inter Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--bg:#f3f5f9;--surface:#fff;--surface-sunken:#f7f9fc;--surface-hover:#f1f5fa;--line:#e2e8f0;--line-strong:#cbd5e1;--ink:#0d1a2c;--ink-2:#41526a;--ink-3:#5d6c82;--brand-bg:#004983;--brand-bg-hover:#00386a;--brand-fg:#004983;--brand-soft:#e8f1f9;--on-brand:#fff;--ok:#14713a;--ok-soft:#e4f4e9;--warn:#8a5800;--warn-soft:#fdf1d3;--danger:#b3261e;--danger-soft:#fdeceb;--danger-bg:#b3261e;--gradient:linear-gradient(125deg, #7cb85b 0%, #3f8f7d 38%, #0b5f8e 68%, #004983 100%);--ring:#00498347;--backdrop:#0d1a2c73;--shadow-1:0 1px 2px #0d1a2c0d, 0 1px 3px #0d1a2c0a;--shadow-2:0 6px 16px #0d1a2c14, 0 2px 4px #0d1a2c0a;--shadow-3:0 24px 56px #0d1a2c33, 0 4px 12px #0d1a2c14;--radius-s:8px;--radius-m:12px;--radius-l:18px;--topbar:64px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a111c;--surface:#111a28;--surface-sunken:#0d1521;--surface-hover:#172335;--line:#1f2c40;--line-strong:#2e3e56;--ink:#e9eff7;--ink-2:#b3c0d1;--ink-3:#8795aa;--brand-bg:#1b6cb3;--brand-bg-hover:#2279c6;--brand-fg:#8ac1f2;--brand-soft:#12283f;--ok:#73d394;--ok-soft:#10301e;--warn:#f1c56c;--warn-soft:#382b0c;--danger:#f79d95;--danger-soft:#3b1613;--danger-bg:#c2372e;--ring:#8ac1f266;--backdrop:#03070da6;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 6px 16px #00000059;--shadow-3:0 24px 56px #0000008c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a111c;--surface:#111a28;--surface-sunken:#0d1521;--surface-hover:#172335;--line:#1f2c40;--line-strong:#2e3e56;--ink:#e9eff7;--ink-2:#b3c0d1;--ink-3:#8795aa;--brand-bg:#1b6cb3;--brand-bg-hover:#2279c6;--brand-fg:#8ac1f2;--brand-soft:#12283f;--ok:#73d394;--ok-soft:#10301e;--warn:#f1c56c;--warn-soft:#382b0c;--danger:#f79d95;--danger-soft:#3b1613;--danger-bg:#c2372e;--ring:#8ac1f266;--backdrop:#03070da6;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 6px 16px #00000059;--shadow-3:0 24px 56px #0000008c}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-feature-settings:"cv11", "ss03";-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--brand-fg)}svg{flex-shrink:0}:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-s);background:var(--brand-bg);color:var(--on-brand);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}.muted{color:var(--ink-3)}.nowrap{white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}.topbar{z-index:20;height:var(--topbar);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);position:sticky;top:0}.topbar-inner{align-items:center;gap:28px;max-width:1240px;height:100%;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.22rem;font-weight:600}.nav{gap:4px;margin-right:auto;display:flex}.nav a{color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.93rem;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav a:hover{background:var(--surface-hover);color:var(--ink)}.nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand-fg)}.nav-badge{background:var(--brand-bg);min-width:20px;color:var(--on-brand);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:1px 6px;font-size:.72rem;font-weight:700;line-height:1.5}.topbar-actions{align-items:center;gap:6px;display:flex}.user-button{background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 4px;font-size:.92rem;font-weight:550;display:flex}.user-button:hover,.user-button[aria-expanded=true]{border-color:var(--line);background:var(--surface-hover)}.menu-anchor{position:relative}.menu{z-index:30;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);min-width:232px;box-shadow:var(--shadow-2);padding:6px;animation:.14s ease-out pop;position:absolute;top:calc(100% + 8px);right:0}.menu-head{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 12px 12px}.menu-head strong{display:block}.menu-head span{color:var(--ink-3);font-size:.85rem}.menu-item{border-radius:var(--radius-s);width:100%;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;font-size:.93rem;text-decoration:none;display:flex}.menu-item:hover{background:var(--surface-hover)}.menu-item svg{color:var(--ink-3)}.main{max-width:1240px;margin:0 auto;padding:36px 24px 96px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:24px;display:flex}.page-head h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:2rem;font-weight:560;line-height:1.15}.page-head p{max-width:62ch;color:var(--ink-2);margin-top:6px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.back{color:var(--ink-2);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;margin:0 0 8px -10px;padding:5px 12px 5px 8px;font-size:.88rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.back:hover{background:var(--surface-hover);color:var(--ink)}.card{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1)}.card-pad{padding:24px}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:16px 20px;display:flex}.card-head h2{font-size:1rem;font-weight:650}.btn{white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.93rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5}.btn-primary{background:var(--brand-bg);color:var(--on-brand);box-shadow:0 1px 2px #00285040,inset 0 1px #ffffff1f}.btn-primary:hover:not(:disabled){background:var(--brand-bg-hover)}.btn-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-ghost{color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.btn-ghost.is-danger,.btn-ghost.is-danger:hover:not(:disabled){color:var(--danger)}.btn-ghost.is-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-danger{background:var(--danger-bg);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-sm{border-radius:9px;min-height:34px;padding:0 12px;font-size:.87rem}.btn-lg{border-radius:12px;min-height:48px;padding:0 22px;font-size:1rem}.btn-icon{border-radius:10px;width:38px;min-height:38px;padding:0}.btn-block{width:100%}.link-btn{color:var(--brand-fg);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.spin{animation:.8s linear infinite spin}.field{flex-direction:column;gap:6px;display:flex}.field>span:first-child,.field-label{font-size:.88rem;font-weight:600}.field-hint{color:var(--ink-3);font-size:.84rem}.input.textarea{resize:vertical;min-height:190px;padding:10px 12px;line-height:1.5;display:block}.input.textarea.textarea-sm{min-height:110px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.score-field{color:var(--ink-2);align-items:center;gap:10px;display:flex}.score-field .input{font-variant-numeric:tabular-nums;width:110px}.input,.select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:42px;color:var(--ink);border-radius:10px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--ink-3)}.input:hover,.select:hover{border-color:var(--ink-3)}.input:focus,.select:focus{border-color:var(--brand-fg);box-shadow:0 0 0 4px var(--ring);outline:none}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>svg{color:var(--ink-3);pointer-events:none;position:absolute;left:12px}.input-wrap>svg+.input{padding-left:38px}.input-wrap .input-actions{display:flex;position:absolute;right:4px}.input-wrap .input-actions button{width:34px;height:34px;color:var(--ink-3);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.input-wrap .input-actions button:hover{background:var(--surface-hover);color:var(--ink)}.has-actions-1 .input{padding-right:42px}input[type=search]::-webkit-search-cancel-button{display:none}.has-actions-3 .input{padding-right:112px}.form{flex-direction:column;gap:18px;display:flex}.check{cursor:pointer;align-items:center;gap:10px;font-size:.93rem;display:flex}input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand-bg);cursor:pointer;margin:0}input[type=checkbox]:disabled{cursor:not-allowed}.checklist{color:var(--ink-3);flex-direction:column;gap:6px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.checklist li{align-items:center;gap:8px;display:flex}.checklist li.is-met{color:var(--ok)}.choice-group{gap:10px;display:grid}.choice{border:1px solid var(--line-strong);border-radius:var(--radius-m);cursor:pointer;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.choice:hover{background:var(--surface-hover)}.choice:has(input:checked){border-color:var(--brand-fg);background:var(--brand-soft)}.choice input{accent-color:var(--brand-bg);margin-top:3px}.choice strong{font-size:.93rem;display:block}.choice span{color:var(--ink-2);font-size:.86rem}.pill{background:var(--surface-sunken);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:600;line-height:1.4;display:inline-flex}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-brand{background:var(--brand-soft);color:var(--brand-fg)}.pill-after{vertical-align:1px;margin-left:8px}.chip{border:1px solid var(--line);background:var(--brand-soft);max-width:100%;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 4px;font-size:.87rem;display:inline-flex}.chip>button{width:24px;height:24px;color:var(--ink-2);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.chip>button:hover{background:var(--surface);color:var(--ink)}.chip-action{border-color:var(--line-strong);background:var(--surface);text-align:left;padding:6px 14px 6px 10px;font-weight:600;transition:border-color .15s,color .15s}.chip-action span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-action svg{color:var(--ink-3)}.chip-action:hover{border-color:var(--brand-fg);color:var(--brand-fg)}.avatar{--hue:#1672c4;background:color-mix(in srgb, var(--hue) 16%, var(--surface));width:34px;height:34px;color:color-mix(in srgb, var(--hue) 72%, var(--ink));letter-spacing:.02em;text-transform:uppercase;border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.avatar-sm{width:24px;height:24px;font-size:.66rem}.avatar-lg{width:56px;height:56px;font-size:1.15rem}.avatar.hue-1{--hue:#2a9a54}.avatar.hue-2{--hue:#d27412}.avatar.hue-3{--hue:#7a4bd8}.avatar.hue-4{--hue:#d1336a}.avatar.hue-5{--hue:#0d979d}.callout{border-radius:var(--radius-m);background:var(--brand-soft);color:var(--ink);gap:10px;padding:12px 14px;font-size:.9rem;display:flex}.callout svg{color:var(--brand-fg);margin-top:2px}.callout-warn{background:var(--warn-soft)}.callout-warn svg{color:var(--warn)}.callout-danger{background:var(--danger-soft)}.callout-danger svg{color:var(--danger)}.callout-ok{background:var(--ok-soft)}.callout-ok svg{color:var(--ok)}.callout .link-btn{align-items:center;gap:4px;display:inline-flex}.callout .link-btn svg{color:inherit;margin:0}.empty{color:var(--ink-2);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:64px 24px;display:flex}.empty-icon{background:var(--brand-soft);width:60px;height:60px;color:var(--brand-fg);border-radius:18px;place-items:center;margin-bottom:10px;display:grid}.empty h2{color:var(--ink);font-size:1.1rem}.skeleton{background:linear-gradient(90deg, var(--surface-sunken) 0%, var(--surface-hover) 50%, var(--surface-sunken) 100%);background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite shimmer}.table-wrap{position:relative;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{border-bottom:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-3);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 16px;font-size:.75rem;font-weight:650}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-hover)}.table tr.is-off{color:var(--ink-3)}.cell-check{width:44px;padding-right:0!important}.cell-main{font-weight:600;display:block}.cell-title{display:block}.cell-below{margin-top:6px}.cell-empty{color:var(--ink-3);text-align:center;padding:28px 16px!important}.col-participant{width:32%}.col-status{width:27%}.row-link em{color:var(--ink-3);font-weight:400}.cell-sub{color:var(--ink-3);font-size:.84rem;display:block}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .btn+.btn{margin-left:4px}.row-link{color:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.row-link:hover{color:var(--brand-fg);text-underline-offset:3px;text-decoration:underline}.person{align-items:center;gap:12px;display:flex}.stepper{color:var(--ink-3);align-items:center;gap:10px;margin:0;padding:0;font-size:.88rem;font-weight:600;list-style:none;display:flex}.stepper li,.stepper .step{align-items:center;gap:8px;display:flex}.stepper button.step{color:inherit;background:0 0;border:0;border-radius:999px;margin:-4px -8px -4px -4px;padding:4px 8px 4px 4px;transition:background .15s}.stepper button.step:hover{background:var(--surface-hover)}.stepper li+li:before{content:"";background:var(--line-strong);border-radius:2px;width:28px;height:2px;margin-right:2px}.stepper .step-dot{background:var(--surface);border:2px solid var(--line-strong);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.75rem;display:grid}.stepper .is-current{color:var(--ink)}.stepper .is-current .step-dot{border-color:var(--brand-bg);background:var(--brand-bg);color:var(--on-brand)}.stepper .is-done{color:var(--ok)}.stepper .is-done .step-dot{border-color:var(--ok);background:var(--ok);color:var(--surface)}.stepper li.is-done+li:before{background:var(--ok)}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius-l);background:var(--surface);color:var(--ink-2);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:56px 24px;transition:border-color .15s,background .15s,transform .15s;display:flex}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.dropzone:hover,.dropzone:focus-within,.dropzone.is-dragging{border-color:var(--brand-fg);background:var(--brand-soft)}.dropzone.is-dragging{transform:scale(1.01)}.dropzone-icon{background:var(--gradient);color:#fff;border-radius:20px;place-items:center;width:68px;height:68px;margin-bottom:12px;display:grid;box-shadow:0 10px 24px #00498340}.dropzone strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;font-size:1.45rem;font-weight:560}.dropzone u{color:var(--brand-fg);text-underline-offset:3px;font-weight:600}.dropzone small{color:var(--ink-3);margin-top:6px;font-size:.84rem}.resume{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;padding:12px 16px;display:flex}.resume p{color:var(--ink-2);flex:220px;font-size:.9rem}.test-panel{margin-bottom:16px}.test-title{flex:320px;align-items:center;gap:14px;display:flex}.test-title .tile-icon{flex-shrink:0}.test-title p{color:var(--ink-2);font-size:.88rem}.test-file{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.session-formation{border-bottom:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-2);align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.session-formation>svg{color:var(--brand-fg);flex-shrink:0;margin-top:2px}.session-field{flex:1;max-width:640px}.formations{margin:0;padding:0;list-style:none}.formations li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 20px;display:flex}.formations li:last-child{border-bottom:0}.formations li>div{flex:260px;min-width:0}.formation-rule{align-items:center;gap:6px;display:inline-flex}.locked{width:38px;height:38px;color:var(--ink-3);place-items:center;display:inline-grid}.tiles{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:16px 18px;display:flex}.tile-icon{background:var(--brand-soft);width:42px;height:42px;color:var(--brand-fg);border-radius:12px;place-items:center;display:grid}.tile div{flex:1;min-width:0}.tile h3{font-size:.95rem;font-weight:650}.tile p{color:var(--ink-2);font-size:.86rem}.file-chip{border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px;align-items:center;gap:10px;min-width:0;max-width:100%;padding:6px 12px 6px 6px;font-size:.9rem;font-weight:600;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-chip span:first-child{background:var(--ok-soft);width:28px;height:28px;color:var(--ok);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.segmented{background:var(--surface-sunken);border:1px solid var(--line);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:6px 12px;font-size:.87rem;font-weight:600;display:flex}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.segmented.segmented-block{flex-wrap:wrap;margin-bottom:12px;display:flex}.segmented-block button{flex:auto;justify-content:center}.segmented .count{background:var(--line);min-width:22px;color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:1px 6px;font-size:.76rem}.segmented .count-ok{background:var(--ok-soft);color:var(--ok)}.segmented .count-warn{background:var(--warn-soft);color:var(--warn)}.segmented .count-danger{background:var(--danger-soft);color:var(--danger)}.segmented .count-brand{background:var(--brand-soft);color:var(--brand-fg)}.status-note{max-width:44ch;color:var(--ink-3);margin-top:4px;font-size:.82rem;line-height:1.35;display:block}.link-btn.status-note{color:var(--brand-fg)}.actionbar{z-index:10;border:1px solid var(--line);border-radius:var(--radius-l);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:20px;padding:14px 16px 14px 22px;display:flex;position:sticky;bottom:20px}.actionbar p{color:var(--ink-2)}.actionbar strong{color:var(--ink)}.success{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;display:flex}.success-icon{background:var(--gradient);color:#fff;border-radius:50%;place-items:center;width:84px;height:84px;margin-bottom:14px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;display:grid;box-shadow:0 14px 32px #00498347}.success h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.8rem;font-weight:560}.success p{max-width:52ch;color:var(--ink-2)}.success-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.success .success-note{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:.9rem}.preview{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-1);text-align:center;padding:26px 24px;font-size:.9rem}.preview:before{content:"";background:var(--gradient);border-radius:4px;width:56px;height:4px;margin:0 auto 18px;display:block}.preview .lead{color:var(--ink-3);font-size:.84rem}.preview .name{margin-top:6px;font-size:1rem;font-weight:700}.preview .title{font-family:var(--font-display);margin:6px 0 18px;font-size:1.25rem;font-weight:600;line-height:1.25}.preview .block{border-top:1px dashed var(--line-strong);text-align:left;margin-top:16px;padding-top:16px}.preview ul{margin:6px 0 10px;padding-left:18px}.preview li+li{margin-top:4px}.preview u{text-underline-offset:3px}.preview .center{text-align:center}.preview .is-missing{color:var(--ink-3);font-style:italic;font-weight:400}.batch+.batch{margin-top:16px}.batch,.batch-list li{scroll-margin:calc(var(--topbar) + 16px) 0 96px}.batch.is-new{animation:2.6s ease-out flash}.batch-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 18px;display:flex}.batch-icon{background:var(--ok-soft);width:40px;height:40px;color:var(--ok);border-radius:12px;place-items:center;display:grid}.batch-title{flex:1;min-width:200px}.batch-title strong{overflow-wrap:anywhere;display:block}.batch-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.84rem;display:flex}.batch-meta span{align-items:center;gap:6px;display:inline-flex}.batch-list{margin:0;padding:0;list-style:none}.batch-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;align-items:center;gap:16px;padding:11px 18px;transition:background .12s;display:grid}.batch-list li:last-child{border-bottom:0}.batch-list li:hover{background:var(--surface-hover)}.batch-list li{cursor:pointer}.batch-list li.is-open{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand-fg)}.batch-list .pill{vertical-align:1px;margin-left:8px}.loading{color:var(--ink-3);place-items:center;padding:64px 0;display:grid}.batch-more{border:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius-l) var(--radius-l);background:var(--surface-sunken);width:100%;color:var(--brand-fg);padding:10px;font-size:.88rem;font-weight:600}.batch-more:hover{background:var(--surface-hover)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.toolbar-filters{flex-wrap:wrap;flex:320px;align-items:center;gap:10px;min-width:0;display:flex}.search{flex:320px;max-width:460px}.pager{color:var(--ink-2);justify-content:center;align-items:center;gap:14px;margin-top:24px;font-size:.9rem;display:flex}dialog{color:var(--ink);background:0 0;border:0;max-width:none;max-height:none;padding:0}dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.18s ease-out fade}.modal[open]{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-3);animation:.18s ease-out pop;overflow:auto}.drawer[open]{border-left:1px solid var(--line);background:var(--bg);width:min(560px,100vw);height:100vh;box-shadow:var(--shadow-3);flex-direction:column;margin:0;animation:.22s cubic-bezier(.2,.8,.2,1) slide;display:flex;position:fixed;inset:0 0 0 auto}.dialog-head{align-items:flex-start;gap:10px;padding:20px 22px 0;display:flex}.dialog-title{overflow-wrap:anywhere;flex:1;min-width:0}.dialog-head>.btn-icon,.dialog-nav{margin:-6px 0}.dialog-head>.btn-icon:first-child{margin-left:-8px}.dialog-head>.btn-icon:last-child{margin-right:-8px}.dialog-nav{color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;font-size:.84rem;display:flex}.drawer .dialog-head{border-bottom:1px solid var(--line);background:var(--surface);padding:18px 20px}.dialog-head h2{font-size:1.15rem;font-weight:650}.dialog-head p{color:var(--ink-2);margin-top:2px;font-size:.9rem}.dialog-body{padding:18px 22px 22px}.drawer .dialog-body{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.dialog-body.is-loading{opacity:.45;pointer-events:none}.related{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;display:flex}.related-label{color:var(--ink-3);flex-basis:100%;font-size:.84rem}.dialog-foot{border-top:1px solid var(--line);background:var(--surface-sunken);border-radius:0 0 var(--radius-l) var(--radius-l);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.dialog-foot .foot-start{margin-right:auto}.toasts{z-index:60;pointer-events:none;flex-direction:column;gap:10px;width:min(400px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-2);pointer-events:auto;align-items:flex-start;gap:10px;padding:13px 12px 13px 14px;font-size:.92rem;animation:.22s ease-out rise;display:flex}.toast>svg{margin-top:1px}.toast p{flex:1}.toast-success>svg{color:var(--ok)}.toast-error>svg{color:var(--danger)}.toast-info>svg{color:var(--brand-fg)}.toast button{width:24px;height:24px;color:var(--ink-3);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.toast button:hover{background:var(--surface-hover);color:var(--ink)}.login{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(140deg,#004983 0%,#075a8c 34%,#3f8f7d 70%,#7cb85b 100%);flex-direction:column;justify-content:space-between;gap:40px;padding:44px 52px;display:flex;position:relative;overflow:hidden}.login-logo{align-self:flex-start;width:auto;height:54px}.logo{width:auto;display:block}.login-brand:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='white' stroke-opacity='.16' stroke-width='1.2'/%3E%3Cpath d='M28 0L28 34L0 50L0 84L28 100L56 84L56 50L28 34' fill='none' stroke='white' stroke-opacity='.09' stroke-width='1.2'/%3E%3C/svg%3E");position:absolute;inset:0;-webkit-mask-image:linear-gradient(20deg,#000 10%,#0000 75%);mask-image:linear-gradient(20deg,#000 10%,#0000 75%)}.login-brand>*{position:relative}.login-brand h1{max-width:14ch;font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(2.2rem,4vw,3.3rem);font-weight:520;line-height:1.06}.login-brand p{color:#ffffffdb;max-width:40ch;margin-top:16px;font-size:1.05rem}.login-points{color:#ffffffeb;flex-direction:column;gap:12px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.login-points li{align-items:center;gap:12px;display:flex}.login-points span{background:#ffffff29;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.login-panel{place-items:center;padding:40px 24px;display:grid}.login-form{width:100%;max-width:380px}.login-form h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.9rem;font-weight:560}.login-form>p{color:var(--ink-2);margin:6px 0 28px}.login-form .brand{margin-bottom:36px;display:none}.login-foot{color:var(--ink-3);align-items:center;gap:8px;margin-top:24px;font-size:.84rem;display:flex}.login-help{color:var(--ink-3);margin-top:8px;font-size:.84rem}.account{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.profile{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.profile strong{margin-top:8px;font-size:1.1rem}.splash{min-height:100vh;color:var(--ink-3);place-items:center;display:grid}.settings{gap:20px;display:grid}.with-icon{align-items:center;gap:10px;display:inline-flex}.with-icon svg{color:var(--brand-fg)}.button-row,.input-row{flex-wrap:wrap;gap:10px;display:flex}.input-row .input{flex:280px;min-width:0}.field-error{color:var(--danger);font-size:.84rem}.tags summary{cursor:pointer;color:var(--brand-fg);font-size:.9rem;font-weight:600}.tags dl{gap:6px;margin:12px 0 0;display:grid}.tags dl>div{grid-template-columns:minmax(150px,max-content) 1fr;gap:12px;font-size:.88rem;display:grid}.tags dd{color:var(--ink-2);margin:0}.tags code{background:var(--surface-sunken);border-radius:6px;padding:1px 6px;font-size:.85rem}.spaced{margin-top:16px}.contents{display:contents}.inset{margin:16px}.fineprint{color:var(--ink-3);font-size:.84rem}.form-narrow{max-width:480px}.fieldset{border:0;min-width:0;margin:0;padding:0}.fieldset legend{margin-bottom:6px;padding:0}.import-summary{color:var(--ink-2);margin-bottom:12px}.import-list{border:1px solid var(--line);border-radius:12px;max-height:50vh;margin:0;padding:0;list-style:none;overflow-y:auto}.import-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.import-list li:last-child{border-bottom:0}.import-list li>svg{color:var(--ink-3);flex-shrink:0}.import-name{flex:1;min-width:0}.import-name strong{overflow-wrap:anywhere;display:block}.sk-title{width:38%;height:18px}.sk-line{height:14px;margin-top:14px}.sk-short{width:82%}.preview .lead.spaced{margin-top:16px}.show-sm{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(4px)}}@keyframes slide{0%{opacity:0;transform:translate(32px)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes flash{0%,60%{border-color:var(--brand-fg);box-shadow:0 0 0 4px var(--ring)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=860px){.login{grid-template-columns:1fr}.login-brand{display:none}.login-form .brand{display:flex}.account{grid-template-columns:1fr}}@media (width>=721px) and (width<=1080px){.topbar-inner{gap:16px}.topbar .brand-name,.user-button .user-name{display:none}.nav a{border-radius:12px;flex-direction:column;gap:3px;padding:6px 12px;font-size:.74rem;position:relative}.nav-badge{position:absolute;top:0;left:calc(50% + 4px)}}@media (width<=720px){:root{--topbar:56px}.topbar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.topbar-inner{gap:12px;padding:0 14px}.card-head{padding:14px}.segmented{max-width:100%;display:flex;overflow-x:auto}.segmented.segmented-block{overflow-x:visible}.session-formation{padding:14px}.col-participant{width:54%}.col-status{width:auto}.status-note,.topbar .brand-name,.user-button .user-name{display:none}.nav{z-index:20;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);justify-content:space-around;margin:0;position:fixed;bottom:0;left:0;right:0}.nav a{border-radius:12px;flex-direction:column;gap:3px;padding:6px 14px;font-size:.74rem;position:relative}.nav-badge{position:absolute;top:0;left:calc(50% + 4px)}.dialog-nav span{display:none}.topbar-actions{margin-left:auto}.main{padding:22px 14px 150px}.page-head h1{font-size:1.6rem}.card-pad{padding:18px}.dropzone{padding:40px 18px}.hide-sm{display:none!important}.show-sm{display:block}.cell-actions .btn-icon{width:34px;min-height:34px}.cell-actions .btn+.btn{margin-left:0}.table th,.table td{padding-left:12px;padding-right:12px}.batch-list li{grid-template-columns:minmax(0,1fr) auto}.batch-list li>:nth-child(2){grid-area:2/1;margin-top:-12px}.actionbar{padding:12px 14px;bottom:76px}.actionbar .btn{width:100%}.toasts{width:calc(100vw - 24px);bottom:84px;right:12px}.stepper .step-label{display:none}.stepper .is-current .step-label{display:inline}}.spaced-below{margin-bottom:16px}
