:root{--navy:#232b47;--navy-dark:#1b2239;--pink:#e6007e;--pink-soft:#f06fb0;--blue:#4a90d9;--blue-light:#6fb1e8;--blue-dark:#3a7bc8;--blue-grad:linear-gradient(90deg,#6fb1e8,#4a90d9);--cream:#ece7d5;--theme-blue:#5c96d0;--theme-blue-light:#69a8d7;--theme-rose:#be6080;--gray-100:#f5f6f8;--gray-200:#eceef2;--gray-300:#d8dce3;--gray-400:#b8bfca;--gray-500:#5c6475;--gray-600:#4f5768;--gray-700:#3f4658;--text-faint:#687080;--text:#2a3042;--text-muted:var(--gray-500);--danger:#e23b3b;--success:#2fae6a;--warn:#e8a13a;--radius:12px;--radius-sm:8px;--shadow:0 8px 30px rgba(20,30,60,.08);--font:"Poppins","Segoe UI","Sarabun",system-ui,-apple-system,sans-serif;--page:#e9edf5;--surface:#ffffff;--surface-2:#f5f6f8;--surface-3:#eceef2;--line:#eceef2;--line-strong:#d8dce3;--brand-bar:#232b47;--brand-bar-2:#1b2239;--on-brand:#ffffff;--ok-bg:#e7f7ee;--ok-fg:#1f6b43;--warn-bg:#fdf6e8;--warn-fg:#8a5a08;--bad-bg:#fdecec;--bad-fg:#b3261e;--info-bg:#eef5fd;--info-fg:#2563a8}*{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:clip;font-family:var(--font);color:var(--text);background:var(--page);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--blue-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}button{font-family:inherit}.topnav{background:var(--brand-bar);color:var(--on-brand);justify-content:space-between;padding:14px 40px;gap:24px}.topnav,.topnav .brand{display:flex;align-items:center}.topnav .brand{gap:12px}.topnav .brand .logo-mark{width:40px;height:40px}.topnav .brand .logo-text{font-size:14px;font-weight:700;line-height:1.15;letter-spacing:.04em}.topnav .brand .logo-text span{display:block}.topnav nav{display:flex;gap:26px;align-items:center}.topnav-home{background:none;border:0;padding:0;cursor:pointer;display:inline-flex}.topnav-home:focus-visible{outline:2px solid var(--pink);outline-offset:4px;border-radius:6px}.topnav nav a,.topnav nav button.linklike{color:var(--surface);font-size:15px;font-weight:500;letter-spacing:.02em;display:flex;align-items:center;gap:5px;opacity:.92;background:none;border:none;cursor:pointer}.topnav nav a:hover,.topnav nav button.linklike:hover{opacity:1;text-decoration:none}.topnav nav a.icon-link{width:40px;height:40px;justify-content:center;border-radius:10px;margin:-8px 0}.topnav nav a.icon-link:hover{background:rgba(255,255,255,.14)}.topnav nav a.icon-link:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.topnav nav .caret{font-size:11px;opacity:.8}.topnav nav .nav-divider{width:1px;align-self:stretch;margin:6px -8px;background:rgba(255,255,255,.22)}.topnav .role-pill{font-size:13px;background:rgba(255,255,255,.14);padding:4px 12px;border-radius:999px;letter-spacing:.04em}.lang-switch{display:inline-flex;border:1px solid rgba(255,255,255,.35);border-radius:999px;overflow:hidden}.lang-switch button{background:none;border:0;color:var(--on-brand);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.04em;padding:4px 11px;opacity:.75}.lang-switch button.on{background:rgba(255,255,255,.18);opacity:1}.lang-switch button:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}html[data-lang=en] .th{display:none!important}.site-footer{background:var(--brand-bar);color:var(--text-faint);padding:44px 40px 40px;margin-top:60px}.site-footer .footer-inner{display:grid;grid-template-columns:1.1fr 2fr 1fr;grid-gap:40px;gap:40px}.site-footer .logo-mark{width:46px;height:46px}.site-footer .foot-brand{display:flex;align-items:center;gap:12px}.site-footer .foot-brand .logo-text{font-size:13px;font-weight:700;color:var(--surface);letter-spacing:.04em}.site-footer h4{color:var(--surface);font-size:16px;margin:0 0 6px}.site-footer p{margin:4px 0;font-size:15px}.site-footer .foot-row{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:15px}.site-footer .socials{display:flex;gap:16px;font-size:21px;margin-top:8px}.site-footer .socials a{color:var(--surface)}.auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) 520px;min-height:100vh;align-items:start}.auth-wrap>.auth-hero{position:-webkit-sticky;position:sticky;top:0;height:100vh}.auth-hero{position:relative;background-size:cover;background-position:50%;background-color:#163a4a;background-image:url(/building.jpg);display:flex;align-items:flex-end}.auth-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,60,90,.12),rgba(20,50,70,.3))}.auth-hero.dim:before{background:linear-gradient(180deg,rgba(24,40,64,.42),rgba(16,32,52,.82) 70%)}.site-notices{position:relative;z-index:1;width:100%;padding:32px 34px 34px;max-height:100%;overflow-y:auto;color:var(--surface);display:flex;flex-direction:column;gap:16px}.site-notices h2{margin:0;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}.site-notices .notice{border-left:3px solid var(--pink);padding-left:14px;display:flex;flex-direction:column;gap:5px}.site-notices .notice header{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.site-notices .notice-program{font-size:18px;font-weight:700}.site-notices .notice-state{font-size:12.5px;font-weight:600;padding:2px 9px;border-radius:100px;border:1px solid rgba(255,255,255,.45)}.site-notices .notice-state.open{background:var(--success);border-color:transparent}.site-notices .notice-state.soon{background:rgba(255,255,255,.14)}.site-notices .notice-round{font-size:14.5px;color:rgba(255,255,255,.8)}.site-notices .notice-text{margin:2px 0 0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.92);white-space:pre-wrap}.site-notices .notice-dates{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px 22px}.site-notices .notice-dates div{display:flex;flex-direction:column;gap:1px}.site-notices .notice-dates dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62)}.site-notices .notice-dates dd{margin:0;font-size:15px;font-weight:600}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px;min-height:100vh}.auth-card{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--gray-200);border-radius:20px;box-shadow:var(--shadow);padding:32px 44px 34px}.auth-card .card-logo{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:8px}.auth-card .logo-carousel-dots{display:none}.auth-card.compact{padding:30px 44px 34px}.auth-card.compact .card-logo{margin-bottom:6px}.auth-card.compact h1{font-size:28px;margin:2px 0 16px}.auth-card.compact .field,.auth-card.compact .field-row{margin-bottom:11px}.auth-card.compact .zip-hint{margin-top:3px;font-size:13.5px}.auth-card.compact .check{font-size:14px;line-height:1.55}.auth-card.compact .auth-links{margin-top:12px;font-size:14.5px}@media (max-height:900px){.auth-card.compact{padding:22px 40px 26px}.auth-card.compact h1{font-size:25px;margin:0 0 12px}.auth-card.compact .field,.auth-card.compact .field-row{margin-bottom:9px}}.auth-card .card-logo .logo-mark{width:46px;height:46px}.auth-card .card-logo .logo-text{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.04em}.logo-carousel{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.logo-carousel-viewport{width:100%;overflow:hidden}.logo-carousel-track{display:flex;height:100%;transition:transform .55s cubic-bezier(.4,0,.2,1)}.logo-carousel-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center}.logo-carousel-slide img{max-width:100%;object-fit:contain}.logo-carousel-dots{display:flex;gap:7px}.logo-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--gray-300);cursor:pointer;transition:background .2s,transform .2s}.logo-carousel-dots button.on{background:var(--theme-blue);transform:scale(1.3)}@media (prefers-reduced-motion:reduce){.logo-carousel-track{transition:none}}.auth-card h1{text-align:center;font-size:26px;font-weight:500;letter-spacing:.08em;margin:0 0 18px;color:var(--navy)}.auth-card.narrow{max-width:404px}@media (min-width:901px){.auth-card.narrow{padding-left:36px;padding-right:36px}}.forgot-row{display:flex;justify-content:flex-end;margin:-6px 0 14px}.forgot-row a{font-size:14px;color:var(--gray-700);text-decoration:underline;text-underline-offset:3px}.forgot-row a:hover{color:var(--blue-dark)}.auth-fineprint{margin:14px 0 0;text-align:center;font-size:12.5px;line-height:1.6;color:var(--gray-600);text-wrap:balance}.auth-fineprint a{color:var(--gray-600);text-decoration:underline;text-underline-offset:2px}.auth-fineprint a:hover{color:var(--blue-dark)}.auth-links{text-align:center;font-size:15px;color:var(--gray-600);margin-top:14px}.auth-alert{display:flex;gap:14px;align-items:flex-start;margin:18px 0 16px;padding:18px 20px;border:2px solid var(--danger);border-radius:var(--radius);background:#fdf0f0;color:#7d1f1f;box-shadow:0 6px 18px rgba(226,59,59,.18)}.auth-alert-icon{flex:none;width:30px;height:30px;border-radius:50%;background:var(--danger);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.auth-alert-body{display:flex;flex-direction:column;gap:6px;min-width:0}.auth-alert-title{font-size:19px;font-weight:700;line-height:1.35}.auth-alert-text{font-size:15.5px;line-height:1.6;color:#8a3a3a}.auth-alert-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.auth-alert-actions .btn{text-decoration:none}.auth-alert-list{margin:2px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.55;color:#8a3a3a}.auth-alert-list li::marker{color:var(--danger)}.auth-links a{font-weight:600;color:var(--navy);text-decoration:underline}.divider{display:flex;align-items:center;text-align:center;color:var(--text-faint);font-size:15px;margin:26px 0 20px}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--gray-300)}.divider span{padding:0 16px}.role-toggle{display:flex;gap:10px;margin:0 0 14px}.role-toggle button{flex:1 1;padding:12px;border-radius:10px;border:1px solid var(--gray-300);background:var(--surface);cursor:pointer;font-size:15px;font-weight:600;color:var(--gray-700)}.role-toggle button.active{border-color:var(--blue);background:var(--info-bg);color:var(--blue-dark)}.field{position:relative}.field,.field-row{margin-bottom:16px}.field-row{display:grid;grid-gap:16px;gap:16px}.field-row.c2{grid-template-columns:1fr 1fr}.field-row.c3{grid-template-columns:1fr 1fr 1fr}.field-row.c4{grid-template-columns:1fr 1fr 1fr 1fr}.field-row.c5{grid-template-columns:repeat(5,1fr)}.field-row.addr-grid{grid-template-columns:1.6fr 2fr;align-items:start}.addr-fields{display:grid;grid-gap:16px;gap:16px;align-content:start;grid-template-columns:1fr 1fr;grid-template-areas:"zip district" "province subdistrict"}.addr-fields.has-hint{grid-template-areas:"zip district" "hint hint" "province subdistrict"}.addr-fields>.a-zip{grid-area:zip}.addr-fields>.a-province{grid-area:province}.addr-fields>.a-district{grid-area:district}.addr-fields>.a-subdistrict{grid-area:subdistrict}.addr-fields>.zip-hint{grid-area:hint;margin:-6px 2px 0}.field-row.addr-grid>.ffield:first-child{align-self:stretch;display:flex;flex-direction:column}.field-row.addr-grid>.ffield:first-child textarea{flex:1 1}label.flabel{display:block;font-size:14px;margin-bottom:5px;font-weight:500}.hint,label.flabel{color:var(--gray-600)}.hint{font-size:14.5px;line-height:1.6}.explain{position:relative;display:inline-block;vertical-align:middle}.explain-btn{width:18px;height:18px;border-radius:50%;padding:0;margin-left:7px;border:1px solid var(--gray-400);background:var(--surface);color:var(--gray-600);font:700 12px/1 var(--font);cursor:pointer}.explain-btn:hover{border-color:var(--blue);color:var(--blue-dark)}.explain-btn.open{background:var(--blue);border-color:var(--blue);color:var(--surface)}.explain-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.explain-note{position:absolute;z-index:45;top:calc(100% + 8px);left:-8px;width:max-content;max-width:min(420px,80vw);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:12px 15px;font-size:14.5px;line-height:1.65;font-weight:400;color:var(--gray-700);white-space:normal;text-transform:none;letter-spacing:normal}@media (max-width:720px){.explain-note{left:auto;right:-8px}}.req{color:var(--danger)}input:not([type]),input[type=date],input[type=email],input[type=month],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;height:52px;box-sizing:border-box;font-family:var(--font);font-size:16px;color:var(--text);padding:14px 16px;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--gray-500)}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,144,217,.15)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a93a3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}textarea{resize:vertical;min-height:120px}input.invalid,select.invalid,textarea.invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(226,59,59,.12)}fieldset.ffield{border:1px solid var(--gray-300);border-radius:var(--radius);padding:0 12px;margin:0 0 16px;min-width:0;transition:border-color .15s,box-shadow .15s}fieldset.ffield legend{padding:0 6px;margin-left:2px;font-size:13px;color:var(--gray-500);font-weight:500}fieldset.ffield:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,144,217,.15)}fieldset.ffield.invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(226,59,59,.12)}fieldset.ffield input,fieldset.ffield select,fieldset.ffield textarea{width:100%;height:auto!important;border:none!important;box-shadow:none!important;outline:none;background:transparent!important;padding:0 0 12px!important;margin:0}fieldset.ffield select{padding-right:20px!important;background-position:right 0 center}fieldset.ffield textarea{resize:vertical;min-height:96px;padding-top:2px!important}fieldset.ffield input:disabled{color:var(--text-faint)}fieldset.ffield:has(.dd-trigger:disabled),fieldset.ffield:has(.readonly-value),fieldset.ffield:has(input:disabled){background:var(--gray-100);border-color:var(--gray-200)}fieldset.ffield .readonly-value{font-size:16px;color:var(--gray-700);padding:0 0 12px;min-height:21px}.check{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--text);cursor:pointer}.check input{margin-top:2px;width:18px;height:18px;accent-color:var(--navy)}.radio-row{flex-wrap:wrap;gap:22px}.radio,.radio-row{display:flex;align-items:center;font-size:16px}.radio{gap:8px;cursor:pointer}.radio-row .radio{font-size:15px}.radio input{width:18px;height:18px;accent-color:var(--blue)}.btn{font-family:var(--font);font-size:16px;font-weight:600;padding:13px 30px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:transform .05s,box-shadow .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.is-blocked{opacity:.55}.btn-primary{background:var(--blue-grad);color:var(--surface);border:none;box-shadow:0 6px 16px rgba(74,144,217,.35)}.btn-primary:hover{box-shadow:0 8px 22px rgba(74,144,217,.45)}.btn-block{display:block;width:100%;padding:15px;font-size:18px;letter-spacing:.04em}.btn-outline{background:var(--surface);color:var(--text);border:1px solid var(--blue)}.btn-outline:hover{background:var(--gray-100)}.btn-ghost{color:var(--text);border:1px solid var(--gray-300)}.btn-danger,.btn-ghost{background:var(--surface)}.btn-danger{color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:var(--bad-bg)}.btn-success{background:var(--success);color:var(--surface);border:none}.btn-sso{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px;margin-top:12px;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--surface);font-size:17px;font-weight:500;cursor:pointer}.btn-sso:hover{background:var(--gray-100)}.btn-sso svg{width:22px;height:22px}.btn-small{padding:9px 20px;font-size:14px;border-radius:8px}.icon-btn{width:40px;height:40px;border:1px solid var(--gray-300)}.icon-btn.add{border-color:var(--success);color:var(--success)}.icon-btn.remove{border-color:var(--danger);color:var(--danger)}.icon-btn:hover{background:var(--gray-100)}.form-actions{display:flex;justify-content:center;gap:18px;margin-top:14px;flex-wrap:wrap}.form-actions-note{margin:40px 0 0;text-align:center;font-size:15px;color:var(--gray-700)}.form-actions-note .en-line{color:var(--gray-600);margin-top:2px}.app-main{min-height:60vh}.container{margin:0;padding:0 24px}.container-narrow{margin:0;padding:0 40px}.stepper-wrap{padding:30px 0 24px;overflow-x:auto}.stepper{display:flex;list-style:none;margin:0 auto;box-sizing:border-box;padding:0 40px;min-width:1060px}.stepper li{flex:1 1;position:relative;min-width:88px}.stepper li:after,.stepper li:before{content:"";position:absolute;top:17px;height:2px;background:var(--gray-300);z-index:0}.stepper li:before{left:0;right:50%;margin-right:20px}.stepper li:after{left:50%;right:0;margin-left:20px}.stepper li:first-child:before,.stepper li:last-child:after{display:none}.stepper li.done:after,.stepper li.link-done:before{background:var(--success)}.stepper li button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer}.stepper .dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;line-height:1;background:var(--surface);border:2px solid var(--gray-300);color:var(--gray-500);transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.stepper .lbl{font-size:13px;line-height:1.3;color:var(--gray-500);text-align:center;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.stepper li.done .dot{background:var(--success);border-color:var(--success);color:var(--surface)}.stepper li.done .lbl{color:var(--gray-700)}.stepper li.current .dot{background:var(--blue);border-color:var(--blue);color:var(--surface);box-shadow:0 0 0 4px rgba(74,144,217,.18)}.stepper li.current .lbl{color:var(--blue-dark);font-weight:600}.stepper li button:hover .dot{border-color:var(--blue)}.stepper li button:focus-visible .dot{box-shadow:0 0 0 4px rgba(74,144,217,.3)}@media (max-width:720px){.stepper-wrap{padding:24px 0 20px}.stepper{padding:0 16px;min-width:1012px}}.page-title{font-size:35px;margin:22px 0 14px}.page-title,.section-head{font-weight:600;color:#1f2436}.section-head{display:flex;align-items:center;gap:14px;font-size:27px;margin:34px 0 18px}.section-head:before{content:"";width:6px;height:30px;border-radius:3px;background:var(--pink);display:inline-block}.intro-copy{font-size:17px;color:var(--gray-700);margin:6px 0}.info-box{background:var(--cream);border-radius:6px;padding:22px 26px;margin:16px 0 26px;font-size:16px;color:#4a4636;line-height:1.7}.info-box .th,.intro-copy .th{display:block}.account-id{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:18px 0 8px;padding:12px 16px;border-radius:var(--radius);background:var(--gray-100);border:1px solid var(--gray-200);font-size:14px}.account-id span{color:var(--gray-600)}.account-id b{color:var(--text);word-break:break-all}.app-row>.card-mile-list{margin:0;padding:14px 20px 16px;border-top:1px solid var(--gray-200);background:var(--surface-2)}.card-mile-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.card-mile-list li{display:grid;grid-template-columns:minmax(150px,auto) 1fr;grid-gap:4px 16px;gap:4px 16px;font-size:13px;line-height:1.55;padding-left:14px;position:relative}.card-mile-list li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--gray-300)}.card-mile-list li.current:before{background:var(--success)}.card-mile-list li.past{color:var(--gray-500)}.card-mile-list li.past:before{background:var(--gray-200)}.card-mile-list .mile-when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--gray-600);white-space:nowrap}.card-mile-list li.current .mile-when{color:var(--ok-fg);font-weight:600}.card-mile-list .mile-what{color:var(--text)}.card-mile-list li.past .mile-what{color:var(--gray-500)}.card-mile-list .hint{display:block;font-size:13px}@media (max-width:560px){.card-mile-list li{grid-template-columns:1fr;gap:2px}}.info-box.exp-total{background:var(--surface);border:1px solid var(--gray-200);color:var(--gray-700);font-size:14px;padding:16px 20px}.info-box.exp-total b{font-size:16px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.info-box.exp-total .exp-total-warn{color:var(--warn-fg);margin-top:6px}.info-box.exp-total .exp-total-note{color:var(--gray-600);font-size:12px;margin-top:6px}.form-actions-note .en-line,.info-box .en-line,.intro-copy .en-line,.rec-status .en-line,.test-howto .en-line,li>.en-line{display:block;font-size:15px;color:var(--gray-600);line-height:1.6}li>.en-line{font-size:14.5px}.panel{border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:22px}.panel-head{width:100%;text-align:left;font-family:inherit;border:0;background:var(--gray-100);border-radius:11px 11px 0 0;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:19px;font-weight:600;cursor:pointer;color:#2a3042}.panel-head:hover{background:var(--gray-200)}.panel-head:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.panel.collapsed .panel-head{border-radius:11px}.panel-head .chev{transition:transform .2s;color:var(--gray-700);font-size:16px;line-height:1;flex:none}.panel.collapsed .panel-head .chev{transform:rotate(-90deg)}.panel-body{padding:24px 22px}.panel.collapsed .panel-body{display:none}.photo-box{border:1px dashed var(--gray-300);background:var(--gray-100);border-radius:var(--radius);width:240px;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gray-500);cursor:pointer;text-align:center;padding:16px}.photo-box .cam{font-size:47px}.photo-box .dim{font-size:23px;font-weight:600;color:var(--gray-500)}.photo-box .hint{font-size:14px}.photo-box img.preview{max-width:100%;max-height:300px;border-radius:8px}.photo-box img.avatar-placeholder{width:140px;height:140px;opacity:.9}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;margin:34px 0 0}.program-card{border:none;border-radius:14px;cursor:pointer;min-height:130px;padding:24px;color:var(--surface);font-family:var(--font);font-size:21px;font-weight:600;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 6px 18px rgba(20,30,60,.14);transition:transform .08s,box-shadow .15s,opacity .15s}.program-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,30,60,.22)}.program-card:disabled{opacity:.6;cursor:wait}.program-card.selected{outline:4px solid rgba(255,255,255,.6);outline-offset:-8px}.wizard-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 4px;padding:0 40px}.back-to-list{display:inline-flex;align-items:center;gap:7px;padding:6px 16px 6px 13px;border-radius:999px;border:1px solid var(--gray-300);background:var(--surface);font:inherit;font-size:14px;font-weight:600;color:var(--gray-700);cursor:pointer}.back-to-list:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--navy)}.back-to-list:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (max-width:560px){.wizard-topbar{justify-content:center}}.program-badge{display:inline-block;padding:4px 14px;border-radius:999px;background:var(--gray-100);border:1px solid var(--gray-300);font-size:14px;font-weight:600;color:var(--gray-700)}@media (max-height:820px){.auth-panel{padding:16px 24px}.auth-card{padding:20px 40px 22px}.auth-card .card-logo{margin-bottom:4px}.auth-card h1{font-size:19px;margin-bottom:11px}.role-toggle{margin-bottom:10px}.auth-card .field,.auth-card .pw-wrap{margin-bottom:11px}.forgot-row{margin:-4px 0 10px}.recaptcha-box{margin:0 0 11px}.auth-links{margin-top:11px}.auth-fineprint{margin-top:10px}}@media (max-width:900px){.program-grid{grid-template-columns:1fr}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:var(--surface);border-top:1px solid var(--gray-300);box-shadow:0 -8px 30px rgba(20,30,60,.12)}.cookie-banner-inner{margin:0;padding:18px 40px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cookie-text{flex:1 1 480px;font-size:15px;line-height:1.6}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width:700px){.cookie-banner-inner{padding:16px 20px}}.personal-grid{display:grid;grid-template-columns:240px 1fr;grid-gap:30px;gap:30px;align-items:start}.entry{border-top:1px solid var(--gray-200);padding-top:22px;margin-top:22px}.entry:first-of-type{border-top:none;padding-top:0;margin-top:0}.entry-title{font-size:19px;font-weight:600;margin-bottom:14px;display:flex;gap:14px;align-items:center}.inline-add{display:inline-flex;align-items:center;gap:10px;color:var(--success);font-weight:500;cursor:pointer;margin:6px 0 4px;background:none;border:none;font-size:16px}.test-row{padding:18px 0;border-bottom:1px solid var(--gray-200)}.test-row:last-child{border-bottom:none}.test-head{gap:20px;margin-bottom:12px}.score-line,.test-head,.test-line{display:flex;align-items:center;flex-wrap:wrap}.score-line,.test-line{gap:16px;margin-bottom:16px}.score-line .ffield,.test-line .ffield{flex:0 0 168px;margin-bottom:0}.score-line .test-date,.test-line .test-date{flex:0 0 200px}.score-line .test-date .ffield,.test-line .test-date .ffield{flex:1 1 auto}.score-line{flex-wrap:nowrap;gap:12px}.score-line .ffield{flex:1 1;min-width:100px;max-width:168px}.score-line .ffield legend{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-line{gap:20px;margin-bottom:12px}.test-line-gap{flex:1 1 auto}.test-head .name{font-weight:600;font-size:17px;min-width:110px}.test-note{font-size:14px;color:var(--gray-600)}.score-head{font-size:13px;font-weight:600;color:var(--gray-700);margin:0 0 8px}.doc-progress{display:flex;flex-direction:column;gap:4px;padding:14px 18px;margin:4px 0 22px;border-radius:var(--radius-sm);border-left:3px solid var(--warn);background:var(--warn-bg);font-size:15.5px;color:var(--text)}.doc-progress.done{border-left-color:var(--success);background:var(--ok-bg)}.doc-progress span{font-size:14.5px;color:var(--gray-700)}.doc-group-head{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-600);margin:26px 0 2px}.doc-item{display:grid;grid-template-columns:22px 1fr;grid-gap:0 12px;gap:0 12px;padding:14px 0;border-bottom:1px solid var(--gray-200)}.doc-item h3{font-size:17px;font-weight:600;margin:0 0 8px}.doc-mark{width:22px;height:22px;margin-top:1px;font-size:13px;background:var(--gray-100);color:var(--gray-500)}.doc-mark:empty{background:none}.doc-item.has-file .doc-mark{background:var(--ok-bg);color:var(--success)}.doc-item.needed .doc-mark{background:var(--bad-bg);color:var(--danger)}.doc-item.needed h3{color:var(--navy)}.file-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.doc-pw{margin-top:12px;padding:14px 16px;border-radius:var(--radius);background:var(--gray-100)}.doc-pw p{margin:0 0 10px;font-size:14px;line-height:1.55;color:var(--gray-700)}.doc-pw-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doc-pw-row .pw-wrap{flex:1 1 220px;max-width:320px}.doc-pw-row input{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:15px}.doc-pw .doc-pw-error{margin:8px 0 0;color:var(--danger);font-weight:600}.doc-locked-note{margin-bottom:18px;font-size:14px;line-height:1.55}.doc-locked-note ul{margin:6px 0 0;padding-left:20px}.file-name{color:var(--gray-600);font-size:14.5px}.file-btn{background:#a9cdf0;color:#1c3d5e;border:none;padding:8px 16px;border-radius:8px;font-size:15px;cursor:pointer;font-weight:500}.file-btn:hover{background:#98c2ec}.file-btn:disabled{opacity:.55;cursor:default}.doc-ok{color:var(--success);font-weight:700;font-size:19px}.doc-link{font-size:15px;font-weight:500;word-break:break-all}.file-gap{flex:1 1 auto}.doc-action{background:none;border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-700);font-family:inherit;font-size:14px;font-weight:500;padding:5px 12px;cursor:pointer}.doc-action:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-100)}.doc-action.danger{color:var(--danger)}.doc-action.danger:hover:not(:disabled){border-color:var(--danger);background:var(--bad-bg)}.doc-action:disabled{opacity:.55;cursor:default}.opt-grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 40px;gap:12px 40px;margin:14px 0}.opt-grid3{column-count:3;column-gap:30px}.opt-grid3>*{page-break-inside:avoid;break-inside:avoid;margin-bottom:12px}.opt-grid3>:last-child{margin-bottom:0}.check-below{margin-left:28px}.check-below fieldset.ffield{margin:10px 0 0}.opt-line{border-bottom:1px solid var(--gray-200);padding-bottom:10px}.q-block{margin-bottom:30px}.q-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.q-num{flex:none;width:34px;height:40px;color:var(--surface);font-weight:600;display:flex;align-items:center;justify-content:center;background:var(--pink-soft);border-radius:0 20px 20px 20px;font-size:17px}.q-text .th{font-size:18px;font-weight:500}.q-text .en{font-size:16px;color:var(--gray-700)}.certify-box{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--gray-700);margin:26px 0 6px;line-height:1.7}.save-status{text-align:center;font-size:14px;color:var(--gray-600);margin-top:4px}.reopened-note{display:flex;flex-direction:column;gap:4px;margin:14px 0 0;padding:14px 18px;border-radius:var(--radius-sm);border-left:3px solid var(--warn);background:var(--warn-bg);font-size:15.5px;color:var(--text)}.reopened-note span{font-size:14.5px;color:var(--gray-700)}.status-track{display:flex;list-style:none;margin:26px auto 0;padding:0;max-width:620px;width:100%}.status-track li{flex:1 1;position:relative;min-width:0;text-align:center}.status-track li:after,.status-track li:before{content:"";position:absolute;top:13px;height:2px;background:var(--gray-300);z-index:0}.status-track li:before{left:0;right:50%;margin-right:16px}.status-track li:after{left:50%;right:0;margin-left:16px}.status-track li:first-child:before,.status-track li:last-child:after{display:none}.status-track li.done:after,.status-track li.link-done:before{background:var(--success)}.status-track .dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;background:var(--surface);border:2px solid var(--gray-300);color:var(--surface)}.status-track .lbl{display:block;font-size:13px;line-height:1.3;color:var(--gray-500);word-break:normal;overflow-wrap:normal}.status-track li.done .dot{background:var(--success);border-color:var(--success)}.status-track li.done .lbl{color:var(--gray-700)}.status-track li.current .dot{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px rgba(74,144,217,.18)}.status-track li.current .lbl{color:var(--blue-dark);font-weight:600}.status-track.rejected li.current .dot{background:var(--danger);border-color:var(--danger);box-shadow:0 0 0 4px rgba(226,59,59,.15)}.status-track.rejected li.current .lbl{color:var(--danger)}.summary-photo{width:120px;height:156px;object-fit:cover;float:right;margin:0 0 12px 16px;border-radius:6px;border:1px solid var(--gray-200)}.sub-head{font-size:14px;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--gray-300)}.ref-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:999px;padding:5px 14px}.confirm-box,.ref-inline{font-size:15px;color:var(--gray-700)}.confirm-box{display:flex;flex-direction:column;gap:6px;text-align:left;max-width:560px;margin:22px auto 0;padding:16px 18px;background:var(--bad-bg);border:1px solid #f3c9c9;border-radius:var(--radius-sm)}.confirm-box b{color:#8f2b2b}.blocker{gap:14px;margin-top:34px;padding:14px 18px;background:var(--bad-bg);border:1px solid #f3c9c9;border-radius:var(--radius-sm)}.blocker,.blocker-mark{display:flex;align-items:center}.blocker-mark{flex:none;width:24px;height:24px;border-radius:50%;background:var(--danger);color:var(--surface);justify-content:center;font-weight:700;font-size:16px;line-height:1}.blocker-text{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.blocker-text b{font-size:15px;color:#8f2b2b}.blocker-text span{font-size:15px;color:var(--gray-700)}@media (max-width:720px){.blocker{align-items:flex-start;flex-wrap:wrap}}.required-key{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin:16px 0 -14px;font-size:14px;color:var(--gray-600)}.required-key .req{font-size:16px;font-weight:700;line-height:1}.toast-wrap{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:999;display:flex;flex-direction:column;gap:10px;align-items:center}.toast{background:var(--brand-bar);color:var(--on-brand);padding:14px 24px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:16px;animation:toastIn .25s ease}.toast.success{background:var(--ok-fg)}.toast.error{background:#c23434}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.done-screen{text-align:center;padding:44px 20px 34px}.done-screen .big-check{width:92px;height:92px;border-radius:50%;background:var(--ok-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;color:var(--success);font-size:49px}.done-screen h2{font-size:31px;margin:0 0 10px}.done-screen p{color:var(--gray-700);max-width:560px;margin:8px auto}.status-hero{margin:30px 0 22px;padding:26px 30px 28px;border:1px solid var(--gray-200);border-radius:var(--radius);background:linear-gradient(180deg,var(--gray-100) 0,var(--surface) 62%)}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.hero-eyebrow{font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.ref-chip{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14.5px;font-weight:600;letter-spacing:.04em;color:var(--navy);background:var(--surface);border:1px solid var(--gray-200);border-radius:999px;padding:5px 14px 5px 7px}.ref-chip-lbl{font-family:var(--font);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-100);border-radius:999px;padding:3px 8px}.status-hero h2{font-size:31px;margin:0 0 6px;color:var(--navy)}.hero-lede{margin:0;max-width:62ch;color:var(--gray-700);font-size:16px}.status-hero .status-track{margin-left:0;margin-top:22px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}@media (max-width:560px){.container,.container-narrow,.wizard-topbar{padding:0 14px}.page-title{font-size:25px;margin:16px 0 10px}.section-head{font-size:20px;gap:10px;margin:24px 0 14px}.section-head:before{width:5px;height:24px}.intro-copy{font-size:14.5px}.info-box{font-size:14px;padding:15px 16px;margin:12px 0 18px}.form-actions{gap:10px}.form-actions .btn{flex:1 1 100%;padding:14px 20px}.score-line .ffield,.score-line .test-date,.test-line .ffield,.test-line .test-date{flex:1 1 100%}.score-line,.test-line{gap:10px}.status-hero{padding:22px 18px 24px}.status-hero h2{font-size:26px}.hero-actions .btn{flex:1 1 100%}}.ref-code{display:inline-block;margin-top:18px;padding:12px 24px;font-size:21px;font-weight:700;letter-spacing:.12em;background:var(--gray-100);border:1px dashed var(--gray-300);border-radius:10px;color:var(--navy)}.status-cards{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px;margin:0 0 46px;align-items:start}@media (min-width:760px){.status-cards{grid-template-columns:1fr 1fr}}.status-card{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--surface);padding:20px 22px;box-shadow:var(--shadow)}.status-card.wide{grid-column:1/-1}.status-card h3{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-500);margin:0 0 14px}.status-card p{max-width:none;margin-left:0;margin-right:0}.status-lede{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px;font-size:16px;color:var(--navy)}.when-tag{display:inline-block;min-width:46px;margin-right:8px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:center;vertical-align:1px}.when-tag.now{background:var(--blue);color:var(--surface)}.when-tag.next{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.mile-list{list-style:none;margin:0;padding:0}.mile-list li{position:relative;display:grid;grid-template-columns:150px 1fr;grid-gap:4px 16px;gap:4px 16px;padding:0 0 16px 20px;font-size:15px}.mile-list li:last-child{padding-bottom:0}.mile-list li:before{content:"";position:absolute;left:4px;top:12px;bottom:0;width:2px;background:var(--gray-300)}.mile-list li:last-child:before{display:none}.mile-mark{position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--gray-400)}.mile-when{color:var(--gray-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.mile-what{color:var(--text);max-width:62ch}.mile-what .hint{display:block;margin-top:2px;color:var(--gray-600)}.mile-list li.past .mile-what{color:var(--gray-700)}.mile-list li.past .mile-mark{background:var(--gray-500);border-color:var(--gray-500)}.mile-list li.current .mile-mark{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,144,217,.18)}.mile-list li.current .mile-what{color:var(--navy);font-weight:600}.mile-list li.current .mile-when{color:var(--blue-dark);font-weight:600}@media (max-width:520px){.score-line .ffield,.score-line .test-date,.test-line .ffield,.test-line .test-date{flex:1 1 100%;max-width:none}.score-line{flex-wrap:wrap}.file-gap,.test-line-gap{display:none}.mile-list li{grid-template-columns:1fr;gap:2px}}.doc-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.doc-list li{display:grid;grid-template-columns:20px 1fr;grid-gap:10px;gap:10px;font-size:15px}.doc-mark{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--ok-bg);color:var(--success)}.doc-list li.missing .doc-mark{background:var(--bad-bg);color:var(--danger)}.doc-what{color:var(--gray-700);min-width:0}.doc-what .hint{display:block;margin-top:1px;overflow-wrap:anywhere}.doc-what .hint,.status-card .hint{color:var(--gray-600)}.contact-line{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px!important;font-weight:600}.contact-line span{color:var(--gray-300)}.officer-header{background:var(--brand-bar);color:var(--on-brand);padding:22px 40px;display:flex;align-items:center;justify-content:space-between}.officer-header .title{display:flex;align-items:center;gap:14px}.officer-header h1{font-size:23px;margin:0;font-weight:600}.officer-header .officer-sub{margin-top:2px;font-size:14px;font-weight:500;color:rgba(255,255,255,.72);letter-spacing:.01em}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:18px;gap:18px;margin:26px 0}.stat-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.stat-card .num{font-size:31px;font-weight:700;color:var(--navy)}.stat-card .lbl{font-size:14px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:18px 0}.toolbar input,.toolbar select{max-width:280px}.toolbar .spacer{flex:1 1}.data-table{width:100%;border-collapse:collapse;font-size:15px}.data-table td,.data-table th{text-align:left;padding:13px 12px;border-bottom:1px solid var(--gray-200)}.data-table .nowrap-col{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table th{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);background:var(--gray-100)}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--info-bg)}.data-table .empty{text-align:center;color:var(--gray-500);padding:40px}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.02em}.badge.draft{background:#eceef2;color:#4f5768}.badge.submitted{background:var(--info-bg);color:var(--info-fg)}.badge.review{background:var(--warn-bg);color:var(--warn-fg)}.badge.qualified{background:var(--ok-bg);color:var(--ok-fg)}.badge.paid{background:#d9e8fb;color:#1d5fa8}.badge.accepted{background:#dff5e6;color:#167a3e}.badge.rejected{background:#fdeaea;color:#c23434}.status-dd{width:-moz-fit-content;width:fit-content}.status-dd .dd-trigger{height:auto;padding:4px 10px 4px 12px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.02em;border-color:transparent;background:#eceef2;color:#6b7280}.status-dd .dd-trigger:hover{filter:brightness(.96)}.status-dd .dd-chev{opacity:.65}.status-dd.submitted .dd-trigger{background:var(--info-bg);color:var(--info-fg)}.status-dd.review .dd-trigger{background:var(--warn-bg);color:var(--warn-fg)}.status-dd.qualified .dd-trigger{background:var(--ok-bg);color:var(--ok-fg)}.status-dd.paid .dd-trigger{background:#d9e8fb;color:#1d5fa8}.status-dd.accepted .dd-trigger{background:#dff5e6;color:#167a3e}.status-dd.rejected .dd-trigger{background:#fdeaea;color:#c23434}.status-dd .dd-pop{font-size:14px;font-weight:500;letter-spacing:0;color:var(--text);left:auto;right:0}.review-grid{display:grid;grid-template-columns:1fr 360px;grid-gap:30px;gap:30px;align-items:start}.review-grid.split{grid-template-columns:1fr 1fr}.review-grid.split .crit-row{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--gray-200)}.review-grid.split .crit-row:last-of-type{border-bottom:none}.crit-row{margin-bottom:10px}.crit-label{font-size:15px}.review-grid.split .crit-label{flex:1 1 200px;min-width:0}.review-grid.split .stars{flex:none}.summary-card{border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.summary-card .head{background:var(--gray-100);padding:14px 20px;font-weight:600;font-size:17px;display:flex;align-items:center;gap:10px}.summary-card .head:before{content:"";width:5px;height:20px;border-radius:3px;background:var(--pink)}.summary-card .body{padding:18px 20px}.kv{display:grid;grid-template-columns:220px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:15px}.kv dt{color:var(--gray-500)}.kv dd{margin:0;color:var(--text)}.kv dd.empty{color:var(--text-faint)}.side-panel{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);padding:22px;position:-webkit-sticky;position:sticky;top:20px;box-shadow:var(--shadow)}.side-panel h3{margin:0 0 6px;font-size:19px}.applicant-photo{width:130px;height:169px;object-fit:cover;border-radius:8px;border:1px solid var(--gray-200);background:var(--gray-100)}.note-list{margin:12px 0;display:flex;flex-direction:column;gap:10px}.note{background:var(--gray-100);border-radius:8px;padding:10px 12px;font-size:14px}.note .meta{color:var(--gray-500);font-size:13px;margin-bottom:3px}.side-panel>section{margin-top:18px;padding-top:16px;border-top:1px solid var(--gray-200)}.side-head{display:flex;align-items:flex-start;gap:14px}.side-head h3{margin:0 0 3px;font-size:18px;word-break:break-all}.side-head .applicant-photo{width:76px;height:99px;flex:none}.side-meta{font-size:14.5px;line-height:1.55;color:var(--gray-600)}.side-panel label.flabel{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px}.side-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.side-quick{display:flex;gap:6px;margin-top:10px}.side-quick .btn{flex:1 1;padding-left:4px;padding-right:4px;font-size:13.5px;text-align:center}.side-steps>.flabel+.enrol-mark{margin-top:0;padding-top:0;border-top:none}.side-steps>.flabel+.result-send{margin-top:0}.seg{display:inline-flex;border:1px solid var(--gray-300);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--surface);cursor:pointer;padding:5px 12px;font-size:13.5px;font-weight:600;color:var(--gray-600)}.seg button+button{border-left:1px solid var(--gray-300)}.seg button:hover{background:var(--gray-100)}.seg button.on{background:var(--theme-blue);color:#fff}.dd{position:relative}.dd-trigger{width:100%;height:52px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--font);font-size:16px;color:var(--text);text-align:left;padding:14px 16px;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--surface);cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.dd-trigger:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,144,217,.15)}.dd-trigger.placeholder{color:var(--text-faint)}.dd.invalid .dd-trigger{border-color:var(--danger);box-shadow:0 0 0 3px rgba(226,59,59,.12)}.dd-trigger:disabled{background:var(--gray-100);color:var(--text-faint);cursor:not-allowed}.dd-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-chev{color:var(--gray-500);flex:none;width:16px;height:16px;transition:transform .15s}.dd-trigger[aria-expanded=true] .dd-chev{transform:rotate(180deg)}.dd.bare .dd-trigger{height:auto;border:none;border-radius:0;padding:0 0 12px;box-shadow:none}.dd.bare .dd-trigger,.dd.bare .dd-trigger:disabled{background:transparent}.dd-pop{position:absolute;z-index:40;left:0;top:calc(100% + 4px);min-width:100%;width:max-content;max-width:min(460px,92vw);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden}.dd.bare .dd-pop{left:-12px;min-width:calc(100% + 24px);top:calc(100% - 6px)}.dd-pop input.dd-search{width:100%;height:auto!important;border:none!important;border-bottom:1px solid var(--gray-200)!important;border-radius:0!important;box-shadow:none!important;outline:none;padding:11px 14px!important;font-size:15px;background:var(--surface)!important}.dd-list{list-style:none;margin:0;padding:4px;max-height:260px;overflow-y:auto}.dd-list li{padding:8px 10px;border-radius:6px;font-size:15px;cursor:pointer;line-height:1.45;overflow-wrap:anywhere}.dd-list li.selected{font-weight:600}.dd-list li.active{background:var(--blue);color:var(--surface)}.dd-list li.dd-empty{color:var(--gray-600);cursor:default;font-weight:400;padding:12px 10px}.dd-more{padding:7px 12px;font-size:13px;border-top:1px solid var(--gray-200);background:var(--gray-100)}.dd-more,.zip-hint{color:var(--gray-600)}.zip-hint{font-size:14px;margin:6px 2px 0;line-height:1.35}.zip-hint.bad{color:var(--danger)}.zip-hint.ok{color:var(--success)}.field-msg{font-size:14px;line-height:1.45;color:var(--danger);margin:6px 2px 0;display:flex;gap:6px;align-items:flex-start}.field-msg:before{content:"!";flex:none;font-weight:700}.ffield select:disabled{background:var(--gray-100);color:var(--text-faint);cursor:not-allowed}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:999px;padding:4px 12px;font-size:14px}.chip-link{color:var(--blue-dark);text-decoration:none;transition:background .15s,border-color .15s}.chip-link:hover{background:#e8f1fb;border-color:var(--blue-light);text-decoration:none}.chip-meta{color:var(--gray-500)}@media (max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-wrap>.auth-hero{position:relative;height:auto}.auth-hero{min-height:0}.auth-hero:empty{display:none}.auth-panel{min-height:0;padding:24px 16px 40px}.auth-card{padding:28px 20px 32px;border-radius:16px}.auth-card.compact{padding:24px 20px 28px}.site-notices{padding:24px 20px}.addr-fields,.field-row.addr-grid,.field-row.c2,.field-row.c3,.field-row.c4,.field-row.c5{grid-template-columns:1fr}.addr-fields{grid-template-areas:"zip" "province" "district" "subdistrict"}.addr-fields.has-hint{grid-template-areas:"zip" "hint" "province" "district" "subdistrict"}.test-line .ffield{flex:0 0 140px}.score-line .ffield{max-width:140px}.score-line .test-date,.test-line .test-date{flex:0 0 180px}.opt-grid2,.personal-grid{grid-template-columns:1fr}.opt-grid3{column-count:1}.site-footer .footer-inner{grid-template-columns:1fr}.topnav .role-pill{display:none}.topnav nav{gap:10px}.container,.container-narrow,.wizard-topbar{padding:0 18px}.site-footer,.topnav{padding-left:18px;padding-right:18px}.kv,.review-grid{grid-template-columns:1fr}}.hub-head{display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;margin-top:20px}.hub-head h1{margin:0}.hub-head-btn{flex:none;white-space:nowrap}.btn-plus{margin-right:9px;font-weight:400;font-size:19px;line-height:0;vertical-align:-1px}.hub-head-note{flex:none;margin:0}@media (max-width:700px){.hub-head-btn{width:100%}}.app-list{list-style:none;margin:22px 0 0;padding:14px;display:grid;grid-gap:14px;gap:14px;background:var(--surface-2);border-radius:14px}.app-row{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,box-shadow .15s}.app-row:has(.app-row-main:hover){border-color:var(--blue)}.app-row-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px}.app-row-cols.solo{grid-template-columns:minmax(0,1fr)}.app-row-main{display:block;padding:16px 20px;color:inherit}.app-row-main,.app-row-main:hover{text-decoration:none}.app-row-main:hover b{text-decoration:underline;text-underline-offset:4px}.app-row-main:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.app-row-main b{display:block;font-size:17px;font-weight:600;color:var(--navy);line-height:1.3}.app-row-ref{font-size:12px;letter-spacing:.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-row-ref,.app-row-state{display:block;margin-top:4px;color:var(--gray-600)}.app-row-state{font-size:13px;font-weight:600}.app-row-state.s-submitted{color:var(--info-fg)}.app-row-state.s-qualified,.app-row-state.s-review{color:var(--warn-fg)}.app-row-state.s-accepted{color:var(--ok-fg)}.app-row-state.s-rejected{color:var(--bad-fg)}.stage-strip{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:14px;position:relative}.stage-strip:after,.stage-strip:before{content:"";position:absolute;top:8px;height:2px;left:calc(50% / var(--n));right:calc(50% / var(--n))}.stage-strip:before{background:var(--gray-200)}.stage-strip:after{background:var(--success);right:auto;width:max(0px,calc((100% - 100% / var(--n)) * (var(--done) - 1) / (var(--n) - 1)));max-width:calc(100% - 100% / var(--n))}.stage{flex-direction:column;gap:3px;min-width:0;text-align:center}.stage,.stage-dot{display:flex;align-items:center;position:relative}.stage-dot{z-index:1;width:18px;height:18px;border-radius:50%;justify-content:center;font-size:11px;font-weight:700;line-height:1;background:var(--gray-200);color:var(--surface);box-shadow:0 0 0 3px var(--surface)}.stage.is-done .stage-dot{background:var(--success)}.stage.is-now .stage-dot{background:var(--surface);border:3px solid var(--blue);color:transparent}.stage-label{font-size:11px;line-height:1.3;color:var(--gray-600)}.stage.is-now .stage-label{color:var(--blue-dark);font-weight:600}.stage.is-done .stage-label{color:var(--gray-700)}.stage-note{font-size:10.5px;line-height:1.25;color:var(--gray-500);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stage-now{display:block;font-size:13.5px;font-weight:600;line-height:1.45}.stage-now.tone-action{color:var(--blue-dark)}.stage-now.tone-waiting{color:var(--gray-600);font-weight:500}.stage-now.tone-good{color:var(--ok-fg)}.stage-now.tone-plain{color:var(--text);font-weight:500}.app-row-side .stage-now+.side-label{margin-top:10px}.row-pay{align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 20px;border-top:1px solid #f0dcb4;background:var(--warn-bg)}.row-pay,.row-pay-what{display:flex;flex-wrap:wrap}.row-pay-what{align-items:baseline;gap:4px 12px;font-size:13.5px}.row-pay-what b{color:var(--warn-fg);font-weight:700}.row-pay-what span{color:var(--gray-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-row-foot{display:flex;justify-content:flex-end;padding:8px 20px 10px}.row-del{background:none;border:0;padding:4px 2px;cursor:pointer;font:inherit;font-size:12.5px;color:var(--gray-500)}.row-del:hover:not(:disabled){color:var(--bad-fg);text-decoration:underline;text-underline-offset:3px}.row-del:focus-visible{outline:2px solid var(--danger);outline-offset:2px;border-radius:4px}.row-del:disabled{opacity:.6;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-row-meta{display:block;margin-top:8px;font-size:13px;color:var(--gray-500)}.app-row-side{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 20px;border-left:1px solid var(--gray-200);background:#fafbfc}.app-row-side.ok{background:var(--ok-bg);border-left-color:#c9e8d6}.app-row-side.decided{background:var(--gray-100)}.side-label{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-500)}.app-row-side.ok .side-label{color:var(--ok-fg)}.side-what{margin-top:4px;font-size:12.5px;font-weight:500;color:var(--text);line-height:1.45}.side-when{font-size:12px;color:var(--gray-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.side-when.now{color:var(--ok-fg);font-weight:600}.side-result{display:block;margin-top:4px}.side-result,.side-result:hover{text-decoration:none}.side-result b{display:block;font-size:13.5px;font-weight:700;color:var(--text);line-height:1.4}.app-row-side.ok .side-result b{color:var(--ok-fg)}.side-result .go{display:block;margin-top:8px;font-size:12px;font-weight:600;color:var(--blue-dark)}.side-result:hover .go{text-decoration:underline}.side-more{margin-top:auto;padding:10px 0 0;background:none;border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--blue-dark);text-align:left}.side-more:hover{text-decoration:underline;text-underline-offset:3px}.side-more:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}@media (max-width:760px){.app-row-cols{grid-template-columns:minmax(0,1fr)}.app-row-side{border-left:0;border-top:1px solid var(--gray-200)}.app-list{padding:10px}.app-row-main{padding:14px 16px}.app-row-side{padding:12px 16px}}.program-picker{border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px 20px}.print-form{display:none}@media print{body>:not(.print-form){display:none!important}.print-form{display:block!important}@page{size:A4;margin:14mm 12mm}body,html{background:var(--surface);color:#000;font-family:Sarabun,Poppins,system-ui,sans-serif;font-size:10.5pt;line-height:1.55}.pf-head{display:flex;gap:14px;align-items:flex-start}.pf-crest{height:18px;width:auto;flex:none}.pf-head-text{flex:1 1}.pf-prog{font-weight:700;font-size:12pt}.pf-fac,.pf-tel{font-size:10pt}.pf-title{font-weight:700;font-size:12pt;margin-top:6px}.pf-ref,.pf-sub{font-size:10pt}.pf-ref{margin-top:2px}.pf-photo{width:27mm;height:34mm;border:1px solid #000;flex:none;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8pt;overflow:hidden}.pf-photo img{width:100%;height:100%;object-fit:cover}.pf-note{font-weight:600;margin:10px 0 6px}.pf-sections{margin:0;padding-left:18px}.pf-sections>li{margin-bottom:9px;page-break-inside:avoid;break-inside:avoid}.pf-row{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:3px}.pf-idx{flex:none}.pf-line{display:inline-flex;align-items:baseline;gap:5px;min-width:0;flex:1 1 auto}.pf-lbl{flex:none;white-space:nowrap}.pf-val{flex:1 1;min-width:0;border-bottom:1px dotted #000;padding:0 3px 1px;white-space:normal;overflow-wrap:break-word}.pf-box{display:inline-flex;align-items:center;gap:5px;margin-right:16px}.pf-tick{width:11px;height:11px;border:1px solid #000;display:inline-block;font-size:10px;line-height:10px;text-align:center}.pf-ruled{margin-top:3px}.pf-ruled-text{white-space:pre-wrap;padding-bottom:2px}.pf-ruled-filled{padding-bottom:3px}.pf-rule,.pf-ruled-filled{border-bottom:1px dotted #000}.pf-rule{height:15px}.pf-table{width:100%;border-collapse:collapse;margin-top:4px;font-size:9.5pt}.pf-table td,.pf-table th{border:1px solid #000;padding:4px 5px;vertical-align:top}.pf-table th{font-weight:600;text-align:center}.pf-table td{height:22px}.pf-block{margin:5px 0 7px;page-break-inside:avoid;break-inside:avoid}.pf-q{margin-top:6px}.pf-checks>div{margin:3px 0}.pf-declare{margin-top:12px}.pf-declare,.pf-sign{page-break-inside:avoid;break-inside:avoid}.pf-sign{display:flex;gap:20px;margin-top:18px}}.rec-cancel{font-size:14px;color:var(--gray-600)}.rec-cancel:hover{color:var(--danger)}.rec-cancel:disabled{opacity:.5;cursor:default}.doc-thumb{flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--gray-300);border-radius:8px;background:var(--gray-100);text-decoration:none}.doc-thumb:hover{border-color:var(--blue)}.doc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.doc-thumb-kind{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--gray-600)}.rec-letter{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 16px;margin:10px 0;background:var(--surface)}.rec-letter[open]{padding-bottom:16px}.rec-letter-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;list-style:none}.rec-letter-head::-webkit-details-marker{display:none}.rec-letter-flat .rec-letter-head{cursor:default}.rec-letter-chev{display:inline-block;font-size:16px;color:var(--gray-500);transition:transform .15s ease}.rec-letter[open] .rec-letter-chev{transform:rotate(90deg)}.rec-letter-flat .rec-letter-chev{visibility:hidden}.rec-letter-more{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--blue-dark)}.rec-letter[open] .rec-letter-more{display:none}.rec-letter[open] .rec-letter-head{margin-bottom:10px}@media (prefers-reduced-motion:reduce){.rec-letter-chev{transition:none}}.rec-letter-head .hint{font-size:13.5px}.rec-letter-meta{font-size:14px;color:var(--gray-600);margin-bottom:8px}.rec-letter-body{font-size:15.5px;line-height:1.75;white-space:pre-wrap;max-width:78ch}.rec-letter-body.empty{color:var(--gray-500)}.rec-verdict{font-size:13px;font-weight:700;padding:3px 10px;border-radius:100px;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.rec-verdict.v-strongly{background:#e8f6ee;color:#1d6b3f;border-color:#bfe3cd}.rec-verdict.v-recommend{background:#eaf2fb;color:#29517e;border-color:#cfe0f4}.rec-verdict.v-reservation{background:var(--warn-bg);color:#8a5a08;border-color:#f0dcae}.rec-verdict.v-no{background:#fdf0f0;color:#7d1f1f;border-color:#f3cccc}.rec-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;padding:10px 14px;font-size:15px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.rec-status>span:not([class]){flex:1 1;min-width:240px}.rec-dot{width:9px;height:9px;border-radius:50%;background:var(--gray-400);flex:none;align-self:flex-start;margin-top:5px}.rec-dot.pending{background:var(--warn)}.rec-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding:10px 14px;font-size:14px;background:var(--warn-bg);border:1px solid #f0dcae;border-radius:var(--radius-sm)}.rec-link code{word-break:break-all;font-size:13px}.letter{margin-top:8px;padding:10px 14px;font-size:15px;background:#f2f8f4;border:1px solid #cfe6d8;border-radius:var(--radius-sm)}.letter-head{font-weight:600;color:var(--ok-fg);margin-bottom:4px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.data-table th.sortable:hover{background:var(--gray-200)}.data-table th.sortable .sort-arrow{font-style:normal;font-size:11px;margin-left:6px;color:var(--text-faint);vertical-align:1px}.data-table th.sortable.sorted,.data-table th.sortable.sorted .sort-arrow{color:var(--navy)}.data-table td.check-col,.data-table th.check-col{width:44px;padding-right:0;cursor:default}.data-table td.action-col,.data-table th.action-col{width:56px;text-align:center}.data-table .check-col input{width:17px;height:17px;accent-color:var(--navy);cursor:pointer}.data-table tbody tr.row-selected{background:var(--info-bg)}.req-table{margin-top:6px}.req-table thead th{background:var(--gray-100);color:var(--gray-600)}.req-table tbody tr:hover{background:var(--info-bg)}.req-table tbody tr.row-off td:not(.check-col){opacity:.55}.req-tag{display:inline-block;margin-top:5px;padding:2px 8px;border-radius:999px;background:var(--accent-soft,#fdeaf4);color:var(--pink);font-size:12px;font-weight:600;letter-spacing:.01em}.yesno{display:inline-flex;border:1px solid var(--gray-300);border-radius:8px;overflow:hidden}.yesno button{border:0;background:var(--surface);cursor:pointer;font:600 14px/1 var(--font);color:var(--gray-600);padding:7px 16px}.yesno button+button{border-left:1px solid var(--gray-300)}.yesno button:hover:not(:disabled){background:var(--gray-100)}.yesno button.on{background:var(--brand-bar);color:var(--on-brand)}.yesno button:disabled{opacity:.5;cursor:default}.data-table tbody tr.row-selected:hover{background:var(--info-bg)}.icon-btn{border-radius:8px;border:1px solid var(--gray-200);background:var(--surface)}.icon-btn:hover{border-color:var(--blue-light);color:var(--navy);background:var(--info-bg)}.date-filter{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray-500)}.date-filter span{white-space:nowrap}.date-filter input{max-width:165px}.bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border-radius:var(--radius);background:var(--info-bg);border:1px solid var(--blue-light)}.bulk-bar .count{font-weight:600;color:var(--navy)}.bulk-bar .spacer{flex:1 1}.confirm-backdrop{align-items:center;z-index:80}.modal-sheet.confirm-sheet{max-width:480px}.confirm-body{display:flex;gap:16px;padding:24px 24px 6px}.confirm-mark{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;line-height:1;background:var(--gray-200);color:var(--gray-700)}.confirm-mark.danger{background:var(--danger);color:#fff}.confirm-text h2{margin:2px 0 10px;font-size:20px;color:var(--navy)}.confirm-what{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;padding:10px 14px;font-size:15.5px;line-height:1.6;color:var(--text)}.confirm-what>div:first-child{font-weight:700}.confirm-detail{margin:12px 0 0;font-size:15px;line-height:1.7;color:var(--gray-700)}.confirm-foot{display:flex;justify-content:flex-end;gap:10px;padding:20px 24px 22px}.modal-backdrop{z-index:60;background:rgba(20,28,42,.55)}.modal-sheet{width:100%;max-width:1000px;background:var(--surface);border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:hidden}.modal-head{align-items:flex-start;gap:20px;flex-wrap:wrap;padding:20px 24px;background:var(--gray-100)}.modal-head h2{font-size:21px;margin:0 0 4px;color:var(--navy)}.modal-sub{font-size:14px;color:var(--gray-500)}.modal-head-actions{display:flex;align-items:center;gap:12px}.modal-close{border:none;background:none;font-size:27px;line-height:1;color:var(--gray-500);cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--navy)}.modal-body{padding:22px 24px 30px;max-height:calc(100vh - 200px);overflow-y:auto}.doc-scope{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;vertical-align:middle}.doc-scope.is-shared{background:#e8f3ea;color:var(--ok-fg)}.doc-scope.is-program{background:var(--gray-100);color:var(--gray-500)}.settings-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.settings-tabs{display:flex;gap:8px;border-bottom:1px solid var(--gray-200);margin-bottom:22px}.settings-tabs button{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;padding:10px 16px;font-size:16px;font-weight:500;color:var(--gray-600)}.settings-tabs button:hover{color:var(--text)}.settings-tabs button.active{color:var(--navy);border-bottom-color:var(--blue)}.letter-tabs{gap:4px;margin:0 0 16px;padding:4px 4px 0;background:var(--gray-100);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:1px solid var(--gray-300);flex-wrap:wrap}.letter-tabs button{font-size:15px;padding:8px 14px}.letter-tabs button.active{background:var(--surface);border-radius:6px 6px 0 0}.section-list{display:grid;grid-gap:10px;gap:10px}.section-row{display:flex;align-items:flex-start;gap:16px;padding:12px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.section-row.off{background:var(--gray-100)}.section-row.off textarea{opacity:.5}.section-row textarea{min-height:52px}.round-editor{margin-top:20px;padding:18px 20px;border:1px solid var(--gray-200);border-radius:var(--radius)}.round-state{font-size:13px;padding:3px 10px;border-radius:999px;white-space:nowrap}.round-state.open{background:var(--ok-bg);color:var(--ok-fg)}.round-state.soon{background:var(--warn-bg);color:#8a6412}.round-state.closed{background:var(--gray-100);color:var(--gray-500)}.weight-total{margin-top:12px;font-size:15px}.weight-total.ok{color:var(--success)}.weight-total.warn{color:var(--warn)}.brand-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.brand-card{border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px 18px}.brand-card.wide{grid-column:1/-1}.brand-card-head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.brand-drop{display:flex;align-items:center;justify-content:center;min-height:130px;padding:14px;border-radius:var(--radius-sm);border:1px dashed var(--gray-300);background:var(--gray-100);transition:border-color .15s,background .15s}.brand-card.wide .brand-drop{min-height:190px}.brand-drop.on-dark{background:var(--brand-bar);border-color:var(--brand-bar-2)}.brand-drop.over{border-color:var(--blue);background:var(--info-bg)}.brand-drop img{max-width:100%;max-height:180px;object-fit:contain}.brand-empty{font-size:14px;color:var(--gray-500)}.brand-drop.on-dark .brand-empty{color:#c4cbdb}.brand-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.section-copy{background:var(--info-bg);color:var(--gray-700)}@media (max-width:900px){.brand-grid{grid-template-columns:1fr}}.prog-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}@media (max-width:900px){.prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.prog-grid{grid-template-columns:1fr}}.prog-tile{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:84px;padding:14px 16px;text-align:left;border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:16px;cursor:pointer}.prog-tile:hover{border-color:var(--blue);background:var(--info-bg)}.prog-tile:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.prog-tile.on{border-color:var(--blue);background:var(--info-bg);box-shadow:inset 0 0 0 1px var(--blue)}.prog-tile:disabled{cursor:default;opacity:.6}.prog-tile-name{font-size:16px;font-weight:600;line-height:1.4}.prog-tile-state{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--gray-600)}.prog-tile-state:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gray-400)}.prog-tile-state.open{color:var(--ok-fg)}.prog-tile-state.open:before{background:var(--success)}.prog-detail{margin-top:12px;padding:18px 20px;border:1px solid var(--blue);border-radius:var(--radius);background:var(--surface)}.prog-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.prog-detail-head b{font-size:19px;font-weight:600;color:var(--text);line-height:1.35}.prog-detail-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}.prog-detail-act .hint{margin:0}.prog-state{font-size:13px;font-weight:600;white-space:nowrap;padding:3px 11px;border-radius:999px;background:var(--gray-200);color:var(--gray-600)}.prog-state.open{background:var(--ok-bg);color:var(--ok-fg)}.prog-sub{font-size:14px;color:var(--gray-600);margin-top:3px}.prog-note{font-size:14.5px;color:var(--gray-700);margin-top:8px}.prog-dates{display:flex;flex-wrap:wrap;gap:10px 26px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--gray-200)}.prog-dates>div{display:flex;flex-direction:column;gap:1px}.prog-dates dt{font-size:12px;letter-spacing:.04em;color:var(--gray-600);font-weight:500}.prog-dates dd{margin:0;font-size:15px;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.officer-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav-menu-trigger,.officer-nav>a{color:var(--surface);font-size:15px;font-weight:500;padding:7px 12px;border-radius:8px;background:none;border:none;cursor:pointer;opacity:.85;white-space:nowrap}.nav-menu-trigger:hover,.officer-nav>a:hover{opacity:1;background:rgba(255,255,255,.12);text-decoration:none}.nav-menu-trigger.active,.officer-nav>a.active{opacity:1;background:rgba(255,255,255,.18)}.officer-nav .role-pill{margin-left:10px}.officer-nav .linklike{color:var(--surface);background:none;border:none;cursor:pointer;font-size:15px;font-weight:500}.nav-menu{position:relative}.nav-menu-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:200px;background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:6px;display:grid;grid-gap:2px;gap:2px}.nav-menu-pop a{display:block;padding:8px 12px;border-radius:6px;font-size:15px;color:var(--text)}.nav-menu-pop a:hover{background:var(--gray-100);text-decoration:none}.nav-menu-pop a.active{background:var(--info-bg);color:var(--blue-dark);font-weight:600}.nav-menu-pop.system{left:auto;right:0;min-width:240px;max-height:70vh;overflow-y:auto}.nav-menu-group+.nav-menu-group{border-top:1px solid var(--gray-200);margin-top:4px;padding-top:4px}.nav-menu-heading{padding:6px 12px 2px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(20,30,60,.45);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 60px rgba(20,30,60,.3);width:100%;max-width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--gray-200);font-size:17px}.modal-x{background:none;border:none;font-size:25px;line-height:1;cursor:pointer;color:var(--gray-500)}.modal-x:hover{color:var(--text)}.modal-body{padding:18px 20px}.modal-foot{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--gray-200)}.review-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--gray-200)}.review-label b{font-size:16px}.stars{display:flex;align-items:center;gap:2px}.star{background:none;border:none;cursor:pointer;padding:0 1px;font-size:22px;line-height:1;color:var(--gray-300);transition:color .1s}.star.on,.stars:hover .star{color:#f0b429}.stars .star:hover~.star{color:var(--gray-300)}.star-clear{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:16px;margin-right:6px}.star-clear:hover{color:var(--danger)}.stars.stars-fit{container-type:inline-size;width:100%}.stars.stars-fit .star{font-size:min(22px,7.6cqi)}.stars.stars-fit .star-clear{font-size:min(16px,5.6cqi)}.star-value{min-width:52px;text-align:right;font-size:14px;color:var(--gray-500)}.review-total{margin-top:14px;font-size:16px}.other-reviews{margin-top:18px}.linklike-inline{background:none;border:none;padding:0;cursor:pointer;color:var(--blue-dark);font:inherit;text-decoration:underline}.req-list{display:grid;grid-gap:12px;gap:12px}.req-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px}.req-row,.result-letter{border:1px solid var(--gray-200);border-radius:var(--radius)}.result-letter{max-width:680px;margin:40px auto;padding:40px 44px;text-align:center;background:var(--surface);box-shadow:var(--shadow)}.result-mark{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:33px;background:var(--gray-100);color:var(--text-faint)}.result-letter.accepted .result-mark{background:var(--ok-bg);color:var(--success)}.result-letter h2{margin:0 0 4px}.result-sub{color:var(--gray-500);margin:0 0 22px;font-size:15px}.result-body{text-align:left;white-space:pre-wrap;line-height:1.75;color:var(--gray-700)}.student-id{display:inline-flex;flex-direction:column;gap:2px;align-items:center;padding:12px 28px;margin-bottom:22px;background:var(--ok-bg);border:1px solid #bfe3cd;border-radius:var(--radius-sm)}.student-id span{font-size:13px;color:var(--ok-fg);letter-spacing:.06em;text-transform:uppercase}.student-id b{font-size:25px;letter-spacing:.08em;color:#14512f}.next-steps{text-align:left;margin-top:22px;padding:16px 18px;background:var(--gray-100);border-radius:var(--radius-sm);font-size:15px;color:var(--gray-700)}.student-id-editor{display:flex;align-items:center;gap:10px;margin-top:14px}.letter-editor{display:grid;grid-gap:6px;gap:6px}.setting-card{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:18px 20px;margin:0 0 18px}.setting-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.setting-card-head h3{margin:0;font-size:17px;font-weight:700;color:var(--navy)}.setting-when{display:block;margin-top:3px;font-size:14px;color:var(--gray-600);max-width:62ch}.setting-sub{margin:16px 0 6px;font-size:14px;font-weight:700;color:var(--gray-700);letter-spacing:.03em}.setting-sub-note{margin-left:6px;font-weight:400;letter-spacing:0;color:var(--gray-600)}.letter-editor textarea{line-height:1.7}.wstep{display:grid;grid-template-columns:22px 1fr;grid-gap:3px 10px;gap:3px 10px;padding:12px 0;border-top:1px solid var(--gray-200)}.side-steps>.flabel+.wstep{border-top:none;padding-top:4px}.wstep-n{grid-row:1/span 2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-top:1px;font:700 12.5px/1 var(--font);background:var(--gray-200);color:var(--gray-700)}.wstep.is-done .wstep-n{background:#d9f2e5;color:#16794c}.wstep.is-now .wstep-n{background:var(--navy);color:#fff}.wstep.is-blocked .wstep-n{background:var(--gray-100);color:var(--gray-500)}.wstep-body{display:flex;flex-direction:column;gap:6px;min-width:0}.wstep-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.wstep-head b{font-size:15px;font-weight:600;color:var(--text)}.wstep-state{font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.wstep-state.done{background:#d9f2e5;color:#16794c}.wstep-state.now{background:var(--warn-bg);color:var(--warn-fg)}.wstep-state.blocked{background:var(--gray-200);color:var(--gray-700)}.wstep-note{margin:0;font-size:14px;line-height:1.6;color:var(--gray-700)}.wstep .linklike{align-self:flex-start;font-size:13px}.result-mail{margin:8px 0 12px;padding:8px 10px;border-radius:8px;font-size:13.5px;line-height:1.6;border-left:3px solid var(--warn,#9a6208);background:#fbf0dc;color:var(--text)}.result-mail.ok{border-left-color:#86c39b;background:#f4faf5}.result-mail b{font-weight:700}.mail-state{margin:8px 0 0;padding:9px 12px;border-radius:8px;border-left:3px solid var(--gray-300);background:var(--gray-100)}.mail-state.off{border-left-color:var(--danger);background:#fdecec;color:var(--text)}.mail-state.off b{color:var(--danger)}.linkish{border:0;background:none;padding:0;cursor:pointer;font:inherit;color:var(--navy);text-decoration:underline}.linkish:hover{color:var(--pink)}.subject-build{display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.subj-lab{font-size:13px;font-weight:600;color:var(--gray-600);letter-spacing:.02em;white-space:nowrap}.subj-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:0}@media (max-width:820px){.subj-row{grid-template-columns:1fr}}.subj-parts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.subj-tail .subj-parts{padding-bottom:4px}.part-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--gray-300);background:var(--surface);border-radius:999px;padding:4px 13px;cursor:pointer;font:600 13.5px/1.4 var(--font);color:var(--gray-600)}.part-chip:hover{background:var(--gray-100)}.part-chip.on{border-color:var(--pink);background:var(--accent-soft,#fdeaf4);color:var(--navy)}.part-chip span{font-size:12px;opacity:.8}.part-chip.on span{color:var(--pink);opacity:1}.subj-preview{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:9px 12px;border-radius:8px;background:var(--gray-100);border:1px solid var(--gray-200)}.subj-preview b{font-size:14.5px;font-weight:600;color:var(--navy);overflow-wrap:anywhere}.subj-foot{margin:0}.subj-legacy{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:8px;background:var(--gray-100);border:1px dashed var(--gray-300)}.subj-legacy b{font-size:14.5px;font-weight:600;color:var(--navy);overflow-wrap:anywhere}.rev-wrap>*{margin-left:auto;margin-right:auto}.cand-panel{background:var(--surface);border:1px solid var(--gray-300);border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden}.cand-table{width:100%;border-collapse:collapse}.cand-table thead th{padding:6px 12px;text-align:left;background:var(--surface-3,var(--gray-100));border-bottom:1px solid var(--gray-300);font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-600)}.cand-table td{padding:9px 12px;border-bottom:1px solid var(--gray-200);vertical-align:middle}.cand-table tbody tr:last-child td{border-bottom:0}.cand-table tbody tr:nth-child(2n) td{background:var(--surface-2)}.cand-table tbody tr:hover td{background:var(--info-bg,#eef4fd)}.cand-table tbody tr.is-done .cand-name{color:var(--gray-600)}.cand-table td.c-seq,.cand-table th.c-seq{width:40px}.cand-table td.c-ref,.cand-table th.c-ref{width:156px}.cand-table td.c-scores,.cand-table th.c-scores{width:62%}.cand-table td.c-state,.cand-table th.c-state{width:116px;text-align:right}.panel-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.sc-box{flex:0 0 124px;min-width:0;display:flex;flex-direction:column;gap:0;font:inherit;text-align:left;cursor:pointer;padding:4px 10px;border-radius:9px;background:var(--surface);border:1px solid var(--gray-300);transition:border-color .15s,box-shadow .15s}.sc-box .who{font-size:13px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-box b{font-size:15px;color:var(--navy);line-height:1.3;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sc-box.pending b{color:var(--text-faint);font-weight:500}.sc-box.me{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.sc-box.me .who{color:var(--gray-700);font-weight:600}.sc-box:hover{border-color:var(--blue-light);box-shadow:var(--shadow)}.sc-box.avg{background:var(--gray-100);border-color:var(--gray-400)}.sc-box.avg .who{font-weight:700;color:var(--gray-700)}.sc-sum{display:flex;align-items:center;gap:7px;flex:0 0 auto}.sc-eq{font-size:17px;font-weight:700;color:var(--text-faint);padding:0 2px}.cand-name{font-size:15px;font-weight:600;color:var(--navy);text-decoration:none}.cand-name:hover{text-decoration:underline}.cand-prog{font-size:13px;color:var(--gray-500)}.cand-table .dim{color:var(--text-faint)}.cand-table .ref-inline{font-size:13px;padding:1px 9px}.cand-seq{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-3,var(--gray-100));border:1px solid var(--gray-300);font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cand-seq,.num-link{color:var(--gray-700)}.num-link{background:none;border:0;padding:0;font:inherit;cursor:pointer;font-weight:700;border-bottom:1px dotted var(--gray-400);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num-link.strong{color:var(--navy)}.num-link:hover{color:var(--theme-blue);border-bottom-color:var(--theme-blue)}.panel-cell{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:inherit;cursor:pointer;font-size:13px;color:var(--gray-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel-cell:hover{color:var(--navy)}.panel-bar{display:inline-block;width:52px;height:5px;border-radius:3px;background:var(--gray-300);overflow:hidden;flex:none}.panel-bar i{display:block;height:100%;background:var(--theme-blue);border-radius:3px}.panel-cell:hover .panel-bar i{background:var(--navy)}.eval-switch{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:13px 18px;background:var(--surface-2);border-bottom:1px solid var(--gray-200)}.eval-sc{flex:1 1 96px;min-width:0;max-width:150px;display:flex;flex-direction:column;gap:1px;font:inherit;text-align:left;cursor:pointer;padding:6px 11px;border-radius:10px;background:var(--surface);border:1px solid var(--gray-300);color:var(--gray-700);transition:border-color .15s,box-shadow .15s}.eval-sc .who{font-size:13px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eval-sc b{font-size:17px;color:var(--navy);line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eval-sc.pending b{color:var(--text-faint);font-weight:500}.eval-sc:hover{border-color:var(--blue-light);box-shadow:var(--shadow)}.eval-sc.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.eval-sc.avg{background:var(--gray-100);border-color:var(--gray-400)}.eval-sc.avg .who{font-weight:700;color:var(--gray-700)}.eval-eq{font-size:18px;font-weight:700;color:var(--text-faint);padding:0 3px;flex:none}.eval-sum{display:flex;align-items:center;gap:8px;flex:0 0 auto}.eval-sum .eval-sc{flex:0 0 150px}@media (max-width:560px){.eval-sc{flex-basis:84px}.eval-eq{display:none}}.eval-switch.panel-strip{background:none;border-bottom:0;padding:0;margin-bottom:16px;gap:7px}.panel-strip .eval-sc{flex:0 1 100px;max-width:none;padding:5px 9px;cursor:default}.panel-strip .eval-sc b{font-size:15px}.panel-strip .eval-sc:hover{border-color:var(--gray-300);box-shadow:none}.panel-strip .eval-sc.avg:hover{border-color:var(--gray-400)}.panel-strip .eval-sum{flex:1 0 100%;justify-content:flex-start;margin-top:2px}.panel-strip .eval-sum .eval-sc{flex:0 0 96px}.eval-modal{max-width:740px}.eval-sub{font-size:14px;color:var(--gray-500);margin-top:2px}.eval-row{padding:10px 0;border-bottom:1px solid var(--gray-200)}.eval-label{font-size:15px;margin-bottom:6px}.eval-stars{display:inline-flex;align-items:center;gap:2px}.eval-stars .star{cursor:default;padding:0 1px}.eval-count{margin-left:10px;font-size:13px;color:var(--gray-500)}.eval-note{font-size:14px;color:var(--gray-500);font-style:italic}.eval-gate{font-weight:700}.eval-gate.pass{color:#1f7a45}.eval-gate.fail{color:var(--danger)}@media (max-width:980px){.cand-table td.c-ref,.cand-table td.c-seq,.cand-table th.c-ref,.cand-table th.c-seq{display:none}.cand-table td.c-scores,.cand-table th.c-scores{width:auto}.sc-box{flex-basis:92px}.sc-eq{display:none}}.due.overdue{color:var(--danger);font-weight:600}.prog-chips{display:flex;flex-wrap:wrap;gap:6px}.prog-chip{font-size:13px;padding:4px 10px;border-radius:999px;cursor:pointer;border:1px solid var(--gray-300);background:var(--surface);color:var(--gray-500)}.prog-chip:hover{border-color:var(--blue-light)}.prog-chip.on{background:var(--info-bg);border-color:var(--blue);color:var(--blue-dark);font-weight:600}.assign-box{border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px 20px}.result-send{margin-top:16px;padding:14px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-100)}.result-send.is-sent{border-color:#bfe3cf;background:#f1faf5}.result-send-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-state{font-size:12.5px;font-weight:700;padding:2px 9px;border-radius:100px;letter-spacing:.02em}.result-state.sent{background:#d9f2e5;color:#16794c}.result-state.ready{background:var(--warn-bg);color:var(--warn-fg)}.result-state.waiting{background:var(--gray-200);color:var(--gray-700)}.result-send-note{margin:8px 0 10px;font-size:13.5px;line-height:1.55;color:var(--gray-700)}.history-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:0;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--gray-700)}.history-toggle:hover{color:var(--navy)}.history-toggle .chev{font-size:12px;color:var(--gray-500)}.history-empty{margin-top:10px;font-size:14px;color:var(--text-faint)}.history-list{list-style:none;margin:12px 0 0;padding:0 0 0 14px;border-left:2px solid var(--gray-200);display:flex;flex-direction:column;gap:12px}.history-list li{position:relative}.history-list li:before{content:"";position:absolute;left:-19px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--gray-300);box-shadow:0 0 0 3px var(--surface)}.history-what{font-size:14.5px;line-height:1.5;color:var(--text)}.history-meta{font-size:13px;color:var(--gray-500);margin-top:1px}.result-signature{margin-top:28px;padding-top:18px;border-top:1px solid var(--gray-200);display:flex;flex-direction:column;gap:2px;align-items:center}.result-signature .sincerely{font-size:15px;color:var(--gray-500);margin-bottom:10px}.result-signature b{font-size:17px;color:var(--navy)}.result-signature .sig-title{font-size:14.5px;color:var(--gray-700)}.result-announced{margin:18px 0 0;font-size:13.5px;color:var(--gray-500);text-align:center}.schedule-table tbody tr{cursor:default}.schedule-table tbody tr.row-draft{background:var(--gray-100);color:var(--gray-500)}.schedule-table tbody tr.row-draft:hover{background:var(--gray-100)}.sched-order{white-space:nowrap}.sched-order .linklike{padding:0 4px;font-size:16px;line-height:1}.sched-order .linklike:disabled{opacity:.3;cursor:default}.sched-note{font-style:italic}.spinner{display:inline-block;box-sizing:border-box;border-style:solid;border-color:var(--gray-200);border-top-color:var(--theme-blue,var(--navy));border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:spinner-fade 1.2s ease-in-out infinite}@keyframes spinner-fade{0%,to{opacity:.35}50%{opacity:1}}}.page-loading{padding:120px 40px}.block-loading,.page-loading{display:flex;align-items:center;justify-content:center}.block-loading{padding:28px 0}.empty .spinner,td .spinner{vertical-align:middle}.field-stack{display:flex;flex-direction:column;gap:10px;min-width:0}.field-row:has(.field-stack){align-items:start}.dd-empty-inline{border-bottom:1px solid var(--gray-200);font-style:normal}.test-howto{background:var(--cream);border-radius:8px;padding:14px 18px;margin:0 0 18px;font-size:15px;line-height:1.7;color:#4a4636}.test-howto ul{margin:6px 0 0;padding-left:20px}.test-howto li{margin:2px 0}.test-howto .en-line{display:block;margin-top:8px}.auto-total{margin:-6px 0 14px;font-size:13.5px;color:var(--gray-600)}.objective-meter{display:flex;align-items:center;gap:12px;margin-top:6px}.objective-count{margin-left:auto;color:var(--gray-500);font-size:14px}.objective-lang{padding:5px 11px;border-radius:999px;font-size:14px;font-weight:600;color:#8a3a3a;background:#fdf0f0;border:1px solid var(--danger)}.objective-lang,.sched-toggle{display:inline-flex;align-items:center;gap:7px}.sched-toggle{margin-top:10px;color:var(--gray-700)}.sched-toggle:hover{color:var(--blue-dark);border-color:var(--blue)}.sched-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}.sched-toggle-chev{display:inline-block;font-size:16px;line-height:1;color:var(--gray-500);transition:transform .15s ease}.sched-toggle:hover .sched-toggle-chev{color:inherit}.sched-toggle[aria-expanded=true] .sched-toggle-chev{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.sched-toggle-chev{transition:none}}.sched-list{list-style:none;margin:10px 0 0;padding:0}.sched-list li{display:flex;gap:14px;padding:8px 0;border-top:1px solid var(--gray-200);font-size:14.5px;color:var(--gray-700)}.sched-list li:first-child{border-top:0}.sched-when{flex:0 0 150px;color:var(--gray-500)}.sched-what{flex:1 1}.sched-list li.past .sched-what,.sched-list li.past .sched-when{color:var(--text-faint)}.sched-list li.current{font-weight:600}.sched-list li.current .sched-when{color:var(--blue-dark)}.next-step{margin-top:12px;padding:12px 15px;border-radius:var(--radius);background:var(--info-bg);border:1px solid #d6e6f8;font-size:15px;line-height:1.65;color:var(--gray-700)}.next-step b{color:var(--blue-dark)}.next-step .hint{margin-top:2px}.prog-detail .next-step{font-size:14.5px;padding:10px 13px;margin-top:12px}.prog-detail .next-step b{color:var(--gray-700);font-weight:600}.role-switch{width:150px;flex:none}.role-switch .dd-trigger{height:34px;padding:6px 12px;font-size:14px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:var(--surface)}.role-switch .dd-trigger:hover{background:rgba(255,255,255,.18)}.role-switch .dd-chev{color:rgba(255,255,255,.75)}.role-switch .dd-pop{color:var(--text)}.dept-pill{display:inline-block;font-size:13px;padding:4px 10px;border-radius:999px;border:1px solid var(--gray-300);background:var(--gray-100);color:var(--gray-500);white-space:nowrap}.slot-group{margin-top:22px}.slot-group:first-of-type{margin-top:14px}.slot-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 15px;margin-bottom:0;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.slot-head b{font-size:15px;color:#fff}.slot-head .slot-when{color:rgba(255,255,255,.72);font-size:12.5px}.slot-when{font-size:13.5px;color:var(--gray-500);margin-top:1px}.slot-count{font-size:12.5px;font-weight:700;color:#fff;background:rgba(255,255,255,.17);border:0;padding:2px 11px;border-radius:100px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot-count.all-done{background:var(--success);color:#fff}.bulk-select{height:32px;padding:0 10px;font-family:inherit;font-size:14px;color:var(--gray-700);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;max-width:260px}.bulk-select:disabled{opacity:.55;cursor:default}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--gray-500);cursor:pointer;transition:background-color .12s,color .12s,border-color .12s}.icon-btn+.icon-btn{margin-left:2px}.icon-btn:hover:not(:disabled){background:var(--gray-100);color:var(--navy);border-color:var(--gray-200)}.icon-btn:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,144,217,.15)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.danger:hover:not(:disabled){background:var(--bad-bg);color:var(--danger);border-color:#f7d4d4}.pr-preview{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-100);padding:12px 16px;margin-bottom:6px}.pr-preview>div{display:flex;gap:14px;align-items:baseline;padding:4px 0}.pr-preview>div+div{border-top:1px solid var(--gray-200)}.pr-preview span{flex:0 0 118px;font-size:13px;color:var(--gray-500)}.pr-preview b{font-size:15.5px;color:var(--text)}.intake-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.intake-btn{font-size:14px;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--gray-300);background:var(--surface);color:var(--gray-700);transition:border-color .12s,background-color .12s,color .12s}.intake-btn:hover{border-color:var(--blue-light)}.intake-btn.active{background:var(--brand-bar);border-color:var(--brand-bar);color:var(--on-brand);font-weight:600}.intake-btn.muted{color:var(--gray-500);border-style:dashed}.intake-btn.muted.active{background:var(--gray-500);border-color:var(--gray-500);color:var(--surface)}.req-table tbody tr{cursor:default}.req-table td{vertical-align:top}.req-table input[type=number],.req-table textarea{width:100%}.req-table input[type=number]{max-width:120px}.req-value{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.req-select{display:inline-block;min-width:0}.req-select .dd.bare .dd-trigger,.req-value input{height:38px}.req-value input{padding:8px 12px;border-radius:8px}.req-select .dd.bare .dd-trigger{width:max-content;min-width:62px;max-width:320px;gap:10px;padding:0 12px;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface)}.req-select .dd.bare .dd-trigger:hover:not(:disabled){border-color:var(--gray-400)}.req-select .dd.bare .dd-trigger:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,144,217,.15)}.req-select .dd.bare .dd-trigger:disabled{background:var(--gray-100)}.req-select .dd.bare .dd-pop{left:0;min-width:100%;top:calc(100% + 4px)}.req-table tr.row-off b{text-decoration:line-through;color:var(--text-faint)}.req-table tr.row-off input,.req-table tr.row-off textarea{opacity:.5}.schedule-table tr.row-editing{background:#f4f8fd}.schedule-table tr.row-editing td{padding-top:10px;padding-bottom:10px}.schedule-table tr.row-editing input:not([type]),.schedule-table tr.row-editing input[type=date],.schedule-table tr.row-editing input[type=text]{width:100%}.letter-kinds{margin:0 0 18px;padding:14px 16px;border:1px solid var(--gray-200);border-radius:var(--radius)}.letter-kind-list{display:flex;flex-wrap:wrap;gap:10px 22px}.letter-kinds .hint{margin:0}.panel-score-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--gray-200)}.panel-score-table{width:100%;border-collapse:collapse;font-size:13px}.panel-score-table td,.panel-score-table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--gray-200);white-space:nowrap}.panel-score-table thead th{font-size:13px;font-weight:600;color:var(--gray-600);background:var(--gray-100)}.panel-score-table td.num,.panel-score-table th+th{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel-score-table td:first-child{white-space:normal;min-width:180px}.panel-score-table tbody tr:last-child td{border-bottom:none}.panel-score-table .avg{background:var(--gray-100);font-weight:600;color:var(--text)}.btn-busy{display:inline-flex;align-items:center;gap:8px}.btn-busy .spinner{border-top-color:currentColor;opacity:.85;flex:none}.letter-badtoken{margin:8px 0 0;padding:9px 13px;border-radius:8px;font-size:12.5px;line-height:1.6;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn-fg);word-break:break-word}.group-card{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--surface);margin-bottom:16px}.group-card>:last-child{border-bottom-left-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}.group-head{justify-content:space-between;padding:10px 16px 0}.group-head,.group-pick{display:flex;align-items:center;gap:12px}.group-pick{flex-wrap:wrap;padding:10px 16px 14px}.group-state .spacer{flex:1 1}.group-edit{border-top:1px solid var(--blue);background:var(--info-bg);padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.group-edit .hint{margin:0;font-size:13px}.group-edit-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.group-edit-date{display:flex;align-items:center;gap:10px}.group-edit-date .switch-text{font-size:13.5px;color:var(--gray-700);white-space:nowrap}.group-edit-date .date-input{width:200px}.sched-bar{display:flex;align-items:center;gap:16px;margin-bottom:10px}.sched-bar .hint{flex:1 1;margin:0;font-size:13.5px}.group-lab{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.group-lab,.group-one{color:var(--gray-600);white-space:nowrap}.group-one{font-size:14px}.group-state{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--gray-200);background:var(--raised,var(--gray-100))}.group-chip{font-size:12px;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--gray-200);color:var(--gray-700);white-space:nowrap}.group-chip.on{background:var(--ok-bg);color:var(--ok-fg)}.group-chip.mixed{background:var(--warn-bg);color:var(--warn-fg)}.group-count{font-size:13px;color:var(--gray-600)}.switch.plain{gap:10px}.switch.plain .switch-text{font-size:13.5px;color:var(--gray-700)}.switch.plain .switch-track{background:var(--gray-300)}.switch.plain input:checked+.switch-track{background:var(--success)}.new-group{border:1px solid var(--blue);border-radius:var(--radius);background:var(--info-bg);padding:16px 18px;margin-bottom:16px}.new-group .hint{margin:0}.row-actions{align-items:center}.schedule-table tr.row-editing .row-actions .btn{white-space:nowrap;padding:7px 14px;font-size:13px}.section-weights{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:12px;padding:12px 16px;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-100)}.section-weights>div{display:flex;align-items:baseline;gap:8px;font-size:14px}.section-weights b{color:var(--navy);font-size:16px}.valid-from{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.valid-from input{max-width:160px}.round-toggle{min-width:78px;padding:6px 10px;border-radius:999px;cursor:pointer;font-size:13.5px;border:1px solid var(--gray-300);background:var(--gray-100);color:var(--gray-500);transition:background-color .12s,border-color .12s,color .12s}.round-toggle:hover{border-color:var(--blue-light)}.round-toggle.on{background:var(--blue);border-color:var(--blue);color:var(--surface);font-weight:600}.round-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(74,144,217,.25)}.panel-grid tbody tr{cursor:default}.panel-grid tfoot td{background:var(--gray-100);font-size:14px;border-top:2px solid var(--gray-200)}.panel-grid td.grid-total{text-align:center;font-weight:700;color:var(--navy)}.hint.over{color:var(--danger);font-weight:600}.number-lookup{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 18px;margin-bottom:20px;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-100)}.number-lookup label{font-size:14px;font-weight:600;color:var(--gray-700)}.number-lookup input{max-width:260px}.number-lookup .lookup-error{flex:1 0 100%;margin:0;font-size:14px;color:var(--danger)}.result-page{max-width:760px;margin:30px auto 0;display:flex;flex-direction:column;gap:18px}.result-hero{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--gray-200);border-top:4px solid var(--gray-400)}.result-hero.accepted{border-top-color:var(--success)}.result-hero-main{display:flex;align-items:center;gap:16px}.result-badge{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:700;background:var(--gray-100);color:var(--gray-500)}.result-hero.accepted .result-badge{background:var(--ok-bg);color:var(--success)}.result-hero h2{margin:0;font-size:22px;line-height:1.3}.result-hero-sub{font-size:14.5px;color:var(--gray-500);margin-top:2px}.result-facts{display:flex;gap:10px;flex-wrap:wrap}.result-facts .fact{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:8px 14px;display:flex;flex-direction:column;gap:1px;min-width:130px}.result-facts .fact span{font-size:12px;letter-spacing:.04em;color:var(--gray-500)}.result-facts .fact b{font-size:18px;color:var(--navy);letter-spacing:.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.letterhead{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 48px 44px}@media (max-width:620px){.letterhead{padding:26px 22px 30px}}.letterhead-top{display:flex;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--gray-300)}.letterhead-logo{height:26px;width:auto;flex:0 0 auto}.letterhead-org{display:flex;flex-direction:column;gap:1px;min-width:0}.letterhead-org b{font-size:14px;letter-spacing:.06em;color:var(--navy)}.letterhead-org span{font-size:12.5px;color:var(--gray-700);line-height:1.5}.letter-body{padding-top:30px}.letter-body .salutation{margin:0 0 22px;font-size:16.5px;color:var(--text)}.letter-body .letter-text{margin:0;white-space:pre-wrap;font-size:16.5px;line-height:2;color:var(--gray-700);max-width:68ch}.letter-sign{margin-top:40px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding-left:6px}.letter-sign .sincerely{font-size:16px;color:var(--gray-700);margin-bottom:26px}.letter-sign b{font-size:16.5px;color:var(--navy)}.letter-sign .sig-title{font-size:14.5px;color:var(--gray-700)}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.retention{margin-top:34px;padding:22px 24px 20px;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-100)}.retention-head{display:flex;align-items:center;gap:12px}.retention-head h2{margin:0;font-size:19px}.retention-ask{font-size:12.5px;font-weight:700;padding:2px 9px;border-radius:100px;background:var(--warn-bg);color:var(--warn-fg)}.retention-lead{margin:8px 0 16px;font-size:15px;line-height:1.7;color:var(--gray-700);max-width:72ch}.retention-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:700px){.retention-options{grid-template-columns:1fr}}.retention-opt{text-align:left;cursor:pointer;font-family:inherit;background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.retention-opt:hover:not(:disabled){border-color:var(--blue)}.retention-opt:disabled{opacity:.6;cursor:default}.retention-opt.on{border-color:var(--blue-dark);border-width:2px;padding:13px 15px;background:#f2f8fe}.retention-opt .opt-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.retention-opt b{font-size:16.5px;color:var(--navy)}.retention-opt .opt-on{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap;background:var(--ok-bg);color:var(--ok-fg);border-radius:999px;padding:2px 10px}.retention-opt span{line-height:1.6}.retention-opt span,.retention-when{font-size:15px;color:var(--gray-700)}.retention-when{margin:14px 0 0}.reldate-wrap{display:flex;flex-direction:column;min-width:0;margin-bottom:16px}fieldset.ffield.reldate{margin-bottom:0}.reldate-days{display:flex;align-items:baseline;gap:8px}.reldate-days input[type=number]{width:4.5ch;flex:0 0 auto;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reldate-unit{font-size:14px;color:var(--gray-500);white-space:nowrap}.reldate-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:18px;padding:3px 4px 0 6px}.reldate-out{font-size:13px;color:var(--gray-500);line-height:1.4}.reldate-out.bad{color:var(--danger);font-weight:600}.reldate-switch{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:12.5px;color:var(--blue-dark);text-decoration:underline;white-space:nowrap;flex:0 0 auto}.reldate-switch:hover{color:var(--navy)}.program-bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:11px 16px;background:var(--surface);border:1px solid var(--gray-300);border-left:3px solid var(--blue);border-radius:var(--radius-sm);box-shadow:0 4px 14px rgba(20,30,60,.07)}.program-bar-label{font-size:14px;color:var(--gray-500);white-space:nowrap;letter-spacing:.02em}.program-bar-pick{flex:0 1 320px;min-width:0}.program-bar-pick button{font-weight:600;color:var(--navy)}.program-bar-year{flex:0 1 200px;min-width:0}.program-bar-note{font-size:13.5px;color:var(--warn);margin-left:auto;white-space:nowrap}.round-of{margin-left:10px;font-size:14px;font-weight:600;color:var(--blue-dark);background:var(--info-bg);border:1px solid #cfe4f8;padding:2px 10px;border-radius:100px;vertical-align:middle}.readiness{display:flex;flex-direction:column;gap:16px}.readiness-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.readiness-head h2{margin:0;font-size:20px}.readiness-score{display:flex;align-items:baseline;gap:4px;padding:8px 16px;border-radius:var(--radius-sm);background:var(--gray-100);border:1px solid var(--gray-200);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.readiness-score.ok{background:var(--ok-bg);border-color:#bfe3cf}.readiness-score b{font-size:23px;color:var(--navy)}.readiness-score.ok b{color:var(--success)}.readiness-score span{font-size:14px;color:var(--gray-500)}.readiness-list{display:flex;flex-direction:column}.readiness-row{display:grid;grid-template-columns:26px 1fr auto;grid-gap:4px 14px;gap:4px 14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--gray-200)}.readiness-row.lvl-blocking:not(.done){border-left:3px solid var(--danger);padding-left:12px}.readiness-mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:var(--gray-100);color:var(--text-faint)}.readiness-row.done .readiness-mark{background:var(--ok-bg);color:var(--success)}.readiness-main{min-width:0}.readiness-label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:16px;font-weight:600}.readiness-lvl{font-size:12px;font-weight:700;padding:1px 8px;border-radius:100px;letter-spacing:.02em}.readiness-lvl.blocking{background:#fdeceb;color:#a8322a}.readiness-lvl.recommended{background:var(--warn-bg);color:var(--warn-fg)}.readiness-lvl.optional{background:var(--gray-100);color:var(--gray-500)}.readiness-detail{font-size:14px;color:var(--gray-700);margin-top:2px;line-height:1.55}@media (max-width:560px){.readiness-row{grid-template-columns:26px 1fr}.readiness-row .btn{grid-column:2;justify-self:start;margin-top:6px}}.save-btn.saved{background:var(--success)!important;border-color:var(--success)!important}.save-btn:disabled{opacity:.7}.letter-switch{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:12px 14px;background:#fafafa;margin-bottom:14px}.letter-switch.on{border-color:#86c39b;background:#f4faf5}.letter-switch label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;margin:0}.letter-switch input{margin-top:3px;flex-shrink:0}.letter-switch b{display:block;font-size:14.5px}.letter-switch .sw-note{display:block;font-size:13px;color:var(--gray-600);margin-top:2px;line-height:1.6}.letter-text ol,.letter-text ul{margin:0 0 12px 22px}.letter-text p{margin:0 0 12px}.brand-multi{display:flex;align-items:center;gap:14px}.brand-multi img+img{padding-left:14px;border-left:1px solid rgba(255,255,255,.25)}.brand-multi img{max-width:132px;object-fit:contain}.officer-header .title>.brand{flex:0 0 auto}.officer-header .title>div{min-width:0}.no-queue b{display:block;font-size:16px;margin-bottom:6px}.no-queue p{margin:0 0 10px}.no-queue .round-list{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-gap:10px;gap:10px}.no-queue .round-list li{background:rgba(255,255,255,.55);border-radius:var(--radius-sm);padding:10px 12px}.no-queue .rn{display:block;font-weight:600}.no-queue .rd{margin-top:2px;opacity:.8}.no-queue .rd,.no-queue .rs{display:block;font-size:14px}.no-queue .rs{margin-top:4px;color:var(--danger)}.no-queue .rs.on{color:var(--warn)}.no-queue .ask{margin:0;font-size:14px}.stat-card .foot{margin-top:6px;font-size:13px;color:var(--gray-500);line-height:1.4}.report-year{display:flex;align-items:center;gap:10px}.report-year>span{font-size:14px}.funnel-key,.report-year>span{color:var(--gray-500);white-space:nowrap}.funnel-key{display:flex;align-items:center;gap:6px;font-size:13px}.funnel-key .k{width:10px;height:10px;border-radius:2px;display:inline-block;margin-left:8px}.funnel-key .k:first-child{margin-left:0}.report-block{margin-bottom:30px}.report-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.report-head h2{margin:0;font-size:18px;font-weight:700;color:var(--navy)}.report-head-sum{font-size:14px;color:var(--gray-500)}.tag-retired{font-size:12px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:var(--gray-200);color:var(--gray-700)}.table-scroll{overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.report-table{width:100%;min-width:900px;border-collapse:collapse}.report-table td,.report-table th{padding:10px 14px;font-size:15px;border-bottom:1px solid var(--gray-200);white-space:nowrap}.report-table th{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-100)}.report-table .left{text-align:left;white-space:normal}.report-table .num-col{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover td{background:var(--info-bg)}.report-table tr.total td{font-weight:600;border-top:2px solid var(--gray-300)}.report-table tr.total td,.report-table tr.total:hover td{background:var(--gray-100)}.report-table .round-name{font-weight:500}.report-table .hint,.report-table tr.orphan .round-name{color:var(--gray-500);font-weight:400}.report-table .hint{display:inline-block;margin-left:6px;font-size:13px}.report-table .zero{color:var(--text-faint)}.report-table .pending-mark{font-size:13px;color:var(--warn)}.funnel-col{width:150px}.funnel{display:flex;flex-direction:column;gap:2px;width:130px;padding:3px 0}.funnel .bar{height:5px;border-radius:3px}.bar.sub,.funnel-key .k.sub{background:var(--gray-300)}.bar.int,.funnel-key .k.int{background:var(--theme-blue-light)}.bar.acc,.funnel-key .k.acc{background:var(--theme-blue)}.bar.enr,.funnel-key .k.enr{background:var(--success)}.report-note{margin-top:8px;font-size:14px;line-height:1.75;color:var(--gray-500);max-width:78ch}@media (max-width:860px){.funnel-key{display:none}}.enrol-mark{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-200)}.enrol-on{font-size:14.5px;font-weight:600;color:var(--success)}.pw-wrap{position:relative;display:block}.pw-input{padding-right:46px!important}.pw-eye{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:none;cursor:pointer;color:var(--gray-500);border-radius:6px;transition:color .15s,background .15s}.pw-eye:hover{color:var(--navy);background:var(--gray-100)}.pw-eye:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.pw-input::-ms-clear,.pw-input::-ms-reveal{display:none}.pw-input::-webkit-textfield-decoration-container{padding-right:0}.recaptcha-box{margin:2px 0 14px;flex-direction:column}.recaptcha-box,.recaptcha-slot{display:flex;align-items:center}.recaptcha-slot{position:relative;width:304px;min-height:78px;justify-content:center}.recaptcha-box.ready .recaptcha-slot{min-height:0}.recaptcha-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--gray-200);border-radius:4px;background:var(--gray-100);font-size:12px;color:var(--gray-600);text-align:center;padding:0 12px;line-height:1.4}@media (max-width:400px){.recaptcha-slot{width:100%}}.recaptcha-error{font-size:14px;line-height:1.6;color:var(--danger);margin:8px 0 0;text-align:center}@media (max-width:380px){.recaptcha-slot>div:first-child{transform:scale(.86);transform-origin:center top}.recaptcha-slot{min-height:68px}}.pw-dialog{max-width:520px}.pw-dialog .modal-body{display:flex;flex-direction:column;gap:0}.pw-dialog .flabel{display:block;margin-bottom:6px}.pw-dialog-note{margin:14px 0 0;padding:12px 14px;border-radius:8px;background:var(--gray-100);border:1px solid var(--gray-200);font-size:14px;line-height:1.7;color:var(--gray-600)}.pw-dialog-note b{color:var(--danger)}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.table-overflow{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table td.nowrap,.data-table th.nowrap{white-space:nowrap}.assumed-bar{position:-webkit-sticky;position:sticky;top:0;z-index:900;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 18px;font-size:14.5px;line-height:1.5;color:#4a2c00;background:#ffe9b8;border-bottom:1px solid #e5c680}.assumed-dot{width:8px;height:8px;border-radius:50%;background:#d97706;flex:none}.assumed-who{color:#7a5a1e}.assumed-exit{margin-left:auto;flex:none;padding:5px 14px;font-family:var(--font);font-size:14px;font-weight:600;color:var(--surface);background:#b45309;border:none;border-radius:999px;cursor:pointer}.assumed-exit:hover{background:#92400e}.assumed-exit:disabled{opacity:.6;cursor:default}.program-bar-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.pay-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px 20px;margin-bottom:14px}.pay-summary .lbl{display:block;font-size:14px;color:var(--gray-500)}.pay-summary .amount{font-size:25px;font-weight:700;color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pay-receipt{margin-top:18px;padding:16px 18px;border:1px solid var(--gray-200);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.pay-receipt-head{display:flex;align-items:center;gap:10px}.pay-ok{font-size:14px;font-weight:600;color:var(--success)}.pay-file{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15px}.an-bar{height:6px;background:var(--gray-200);overflow:hidden;min-width:60px;flex:1 1}.an-bar,.an-fill{display:block;border-radius:3px}.an-fill{height:100%;background:var(--theme-blue)}.an-fill.exit{background:var(--theme-rose)}.an-rate{display:flex;align-items:center;gap:8px}.an-rate>span:last-child{font-size:13px;color:var(--gray-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:42px;text-align:right}.an-table{min-width:760px}.an-table.an-narrow{min-width:360px}.an-num{font-size:21px}.an-sub{font-size:13px;color:var(--gray-600)}.an-url{word-break:break-all;font-size:13px}.an-callout{margin-bottom:22px}.an-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}@media (max-width:820px){.an-split{grid-template-columns:minmax(0,1fr)}}.date-input{position:relative;display:block;width:100%}.date-input>input[type=text]{padding-right:42px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.date-input-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--gray-500);cursor:pointer}.date-input-btn:hover:not(:disabled){color:var(--navy);background:var(--gray-100)}.date-input-btn:disabled{cursor:default;opacity:.5}.date-input .date-input-native{position:absolute;right:8px;bottom:0;width:30px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.date-input.bad>input[type=text]{border-color:var(--danger)}.date-filter .date-input{max-width:165px}.req-value .date-input.req-date,.valid-from .date-input{max-width:190px}.req-value .date-input>input[type=text]{padding-right:38px}.date-input.sched-end{margin-top:4px}.switch{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{position:relative;width:34px;height:20px;border-radius:999px;background:var(--danger,#b3261e);transition:background .15s;flex:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}.switch input:checked+.switch-track{background:var(--success)}.switch input:checked+.switch-track:after{transform:translateX(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--theme-blue);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5}.program-inactive-note{margin:0 0 12px;border-left:4px solid var(--danger,#b3261e)}.rich-answer p{margin:0 0 8px}.rich-answer p:last-child{margin-bottom:0}.shortlist-cutoff{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin:18px 0}.shortlist-cutoff-field{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--navy)}.shortlist-cutoff-field input{width:140px;padding:9px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);font:inherit;font-size:19px;font-weight:700}.shortlist-table .muted-sm{font-size:13px;font-weight:400;color:var(--gray-500)}.shortlist-table tr.below-cutoff td{opacity:.55}.shortlist-table tr.below-cutoff.row-selected td{opacity:1}.shortlist-table tr.cutoff-line td{padding:6px 16px;background:none;border-bottom:2px dashed var(--pink);color:var(--pink);font-size:13px;font-weight:700;text-align:right;cursor:default}.shortlist-table .badge-ok{color:#1f7a45;font-weight:600;white-space:nowrap}.crop-modal{max-width:420px}.crop-hint{margin:0 0 12px}.crop-stage{position:relative;margin:0 auto;overflow:hidden;border-radius:6px;background:var(--gray-100);cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:1px solid var(--gray-300)}.crop-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.crop-stage:focus-visible{outline:2px solid var(--theme-blue)}.crop-img{left:0;top:0;max-width:none;transform-origin:0 0}.crop-guide,.crop-img{position:absolute;pointer-events:none}.crop-guide{inset:0;width:100%;height:100%}.crop-zoom{display:flex;align-items:center;gap:10px;max-width:300px;margin:14px auto 0;font-size:19px;color:var(--gray-500)}.crop-zoom input{flex:1 1}.crop-size{text-align:center;margin-top:6px}.photo-actions{display:flex;gap:16px;justify-content:center;width:240px;margin-top:8px;font-size:14px}.photo-actions button{background:none;border:0;padding:0;color:var(--theme-blue);cursor:pointer;font:inherit}.photo-actions button:hover{text-decoration:underline}.interview-topics .topic-desc{display:block;width:100%;margin-top:6px;resize:vertical;font:inherit;font-size:13px;color:var(--gray-700)}.topic-copy{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;flex-wrap:wrap}.topic-copy select{width:auto}.crit-desc{font-size:13px;color:var(--gray-600);line-height:1.45;margin:2px 0 6px}.panel-note{padding:10px 12px;margin:8px 0;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius)}.panel-note-who{font-weight:600;font-size:13px;margin-bottom:4px}.panel-note-text{white-space:pre-wrap;font-size:14px;line-height:1.5}.panel-note .hint{margin:6px 0 0;font-size:13px}.staff-editor{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--surface);padding:18px 20px;box-shadow:var(--shadow)}.staff-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}.staff-editor-head h3{margin:0 0 4px}.staff-editor-head .hint{margin:0;max-width:60ch}.staff-editor-actions{display:flex;gap:8px}.btn.btn-score{padding:11px;font-size:15px}.staff-editor-body{padding-top:8px}.staff-editor-foot{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:20px;padding-top:14px;border-top:1px solid var(--gray-200)}.auth-card .dd-trigger,.auth-card input{height:46px;padding:0 14px;font-size:15px;border-radius:10px}.auth-card .pw-wrap input{padding-right:44px}.auth-card .role-toggle button{padding:11px;font-size:14.5px;border-radius:9px}.auth-card .btn-primary{padding:12px;font-size:16px;border-radius:10px}@media (min-width:901px){.auth-card .recaptcha-slot{transform:scale(.86);transform-origin:top center;margin-bottom:-11px}}:root{--rail-w:232px;--rail-w-min:76px}.rail{position:fixed;inset:0 auto 0 0;z-index:50;width:var(--rail-w);background:var(--brand-bar);color:var(--on-brand);display:flex;flex-direction:column;padding:18px 0 14px;transition:width .16s ease}.rail.collapsed{width:var(--rail-w-min)}body[data-rail] .app-main{margin-left:var(--rail-w);transition:margin-left .16s ease}body[data-rail=collapsed] .app-main{margin-left:var(--rail-w-min)}.rail-head{padding:0 30px 16px 16px;display:flex;flex-direction:column;gap:12px}.rail.collapsed .rail-head{padding:0 10px 14px;align-items:center}.rail.collapsed .rail-head .brand-multi{flex-direction:column;gap:7px;align-items:center}.rail.collapsed .rail-head .brand-multi img{max-width:56px}.rail-head .brand-multi{flex-wrap:wrap;gap:9px}.rail-head .brand-multi img+img{padding-left:0;border-left:0}.rail-title h1{font-size:17px;margin:0;font-weight:600;line-height:1.3}.rail-title .officer-sub{font-size:13px;margin-top:2px}.rail-nav{display:flex;flex-direction:column;gap:2px;padding:0 10px;overflow-y:auto}.rail.collapsed .rail-nav{overflow:visible}.rail-link,.rail-nav>a{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border-radius:9px;box-sizing:border-box;color:var(--on-brand);font-size:14.5px;font-weight:500;opacity:.85;background:none;border:none;cursor:pointer;text-align:left;white-space:nowrap}.rail-link:hover,.rail-nav>a:hover{opacity:1;background:rgba(255,255,255,.12);text-decoration:none}.rail-link.active,.rail-nav>a.active{opacity:1;background:rgba(255,255,255,.18)}.rail-link:focus-visible,.rail-nav>a:focus-visible{outline:2px solid var(--pink);outline-offset:1px}.rail-icon{flex:none}.rail-caret{margin-left:auto;font-size:11px;opacity:.8}.rail.collapsed .rail-caret,.rail.collapsed .rail-label{width:0;overflow:hidden;opacity:0}.rail.collapsed .rail-caret{margin-left:0}.rail.collapsed .rail-link,.rail.collapsed .rail-nav>a{justify-content:center;gap:0;padding:10px 0}.rail-foot{margin-top:auto;padding:14px 10px 0;display:grid;grid-gap:10px;gap:10px}.rail-foot .role-switch{padding:0 1px}.rail-foot .dd-pop{top:auto;bottom:calc(100% + 4px)}.rail-foot-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rail.collapsed .rail-foot-row{justify-content:center}.rail-logout{opacity:.7}.rail-logout:hover{opacity:1;background:rgba(226,59,59,.22)}.rail .nav-menu{position:relative}.rail-sub{display:flex;flex-direction:column;margin:2px 0 6px;padding-left:12px}.rail-sub .nav-menu-group+.nav-menu-group{margin-top:8px}.rail-sub .nav-menu-heading{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);padding:4px 10px}.rail-sub a{display:block;padding:6px 10px;border-radius:7px;color:var(--on-brand);font-size:13.5px;opacity:.8}.rail-sub a:hover{opacity:1;background:rgba(255,255,255,.1);text-decoration:none}.rail-sub a.active{opacity:1;background:rgba(255,255,255,.18)}.rail.collapsed .nav-menu-pop{left:calc(100% + 8px);top:0}.rail-toggle{position:absolute;top:18px;right:-11px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--gray-700);cursor:pointer;padding:0;box-shadow:0 2px 6px rgba(20,30,60,.18)}.rail-toggle:hover{color:var(--blue-dark);border-color:var(--blue)}.rail-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (max-width:900px){.rail{position:static;padding:14px 0 10px}.rail,.rail.collapsed{width:auto}body[data-rail=collapsed] .app-main,body[data-rail] .app-main{margin-left:0}.rail-nav{flex-direction:row;overflow-x:auto;gap:4px;padding:0 14px 4px}.rail-link,.rail-nav>a{width:auto}.rail.collapsed .rail-caret,.rail.collapsed .rail-label{width:auto;opacity:1}.rail.collapsed .rail-link,.rail.collapsed .rail-nav>a{justify-content:flex-start;gap:11px;padding:9px 11px}.rail-head{padding:0 14px 12px}.rail-foot{padding:10px 14px 0}.rail-toggle{display:none}}.data-table .score-col{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-val{font-weight:600;color:var(--text)}.score-val.partial{color:var(--warn-fg)}.score-val.partial i{font-style:normal;margin-left:3px;font-size:11px;vertical-align:2px}.score-none{color:var(--text-faint)}.summary-card .head .card-edit{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--gray-200);border-radius:8px;background:var(--surface);color:var(--gray-500);cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.summary-card .head .card-edit:hover{color:var(--navy);border-color:var(--gray-400);background:#fff}.summary-card .head .card-edit:focus-visible{outline:2px solid var(--theme-blue);outline-offset:2px}.kv-edit{align-items:start;gap:10px 16px}.kv-edit dt{padding-top:9px}.kv-edit dd{min-width:0}.kv-locked{color:var(--gray-500);display:inline-block;padding-top:9px}.row-fields{display:flex;flex-wrap:wrap;gap:8px}.row-field{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:3px}.row-field.wide{flex-basis:100%}.row-field-label{font-size:13px;color:var(--gray-500);letter-spacing:.01em}input.row-input,textarea.row-input{width:100%;height:38px;padding:0 11px;font-family:var(--font);font-size:14.5px;color:var(--text);background:var(--surface);border:1px solid var(--gray-300);border-radius:8px}textarea.row-input{height:auto;padding:9px 11px;line-height:1.5;resize:vertical}input.row-input:focus,textarea.row-input:focus{outline:none;border-color:var(--theme-blue);box-shadow:0 0 0 3px rgba(74,144,226,.16)}.row-field .date-input>input[type=text],.row-field .dd-btn{height:38px}.card-edit-foot{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--gray-200)}.card-edit-foot .hint{margin:0 auto 0 0;font-size:13px}.summary-card.editing{overflow:visible}.summary-card.editing .head{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.cubest-col{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cubest-val{color:var(--text);font-weight:600}.cubest-val i{font-style:normal;font-weight:400;font-size:13px;color:var(--gray-500);margin-left:7px}.say-pill{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:3px 11px;border-radius:999px;white-space:nowrap;color:var(--blue-dark);background:var(--info-bg);border:1px solid color-mix(in srgb,var(--blue) 30%,transparent)}.say-pill:hover{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,var(--info-bg))}.say-pill.mini{gap:3px;padding:2px 8px}.score-cell{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.eval-modal .panel-score-table{margin-bottom:18px}.panel-score-table .dim{color:var(--text-faint)}.score-filter{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--gray-700);white-space:nowrap}.score-filter input{width:72px;height:52px;padding:0 12px;text-align:right;font-family:var(--font);font-size:15px;color:var(--text);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius)}.score-filter input:focus{outline:none;border-color:var(--theme-blue);box-shadow:0 0 0 3px rgba(74,144,226,.16)}.score-filter .dash{color:var(--text-faint)}.inline-check{display:flex;align-items:center;gap:7px;margin:0;font-size:13.5px;white-space:nowrap}.filter-hits{font-size:13px;color:var(--gray-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cmp-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.cmp-scroll{overflow-x:auto}.cmp{display:grid;min-width:760px;background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-sm);overflow:hidden}.cmp-cell{padding:10px 14px;border-bottom:1px solid var(--gray-200);font-size:14.5px}.cmp-cell.lab{background:var(--surface-2);border-right:1px solid var(--gray-200);font-size:13px;font-weight:600;color:var(--gray-600)}.cmp-w{font-weight:400;color:var(--gray-500)}.cmp-cell.head{background:var(--navy);border-bottom:0;padding:13px 14px}.cmp-name{font-size:15.5px;font-weight:600;color:#fff;text-decoration:none;display:block}.cmp-name:hover{text-decoration:underline}.cmp-cell.head .cmp-sub{color:rgba(255,255,255,.72)}.cmp-sub{font-size:13px;color:var(--gray-500);margin-top:1px}.cmp-cell.total{background:var(--surface-3)}.cmp-big{font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.cmp-big,.cmp-num{font-weight:700;color:var(--navy)}.cmp-num{font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cmp-dim{color:var(--text-faint)}.cmp-cell.best{position:relative;background:color-mix(in srgb,var(--success) 7%,var(--surface))}.cmp-cell.total.best{background:color-mix(in srgb,var(--success) 12%,var(--surface))}.cmp-cell.best:after{content:"▲";position:absolute;top:8px;right:11px;font-size:11px;color:var(--success)}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.danger{background:var(--danger-bg,#fae3e2);color:var(--danger-fg,#9a2b27)}.cmp-mini{display:flex;align-items:center;gap:9px}.cmp-bar{flex:1 1;min-width:40px;height:6px;border-radius:3px;background:var(--gray-200);overflow:hidden}.cmp-bar i{display:block;height:100%;background:var(--theme-blue);border-radius:3px}.cmp-v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:13.5px;min-width:28px;text-align:right}.cmp-quote,.cmp-v{color:var(--gray-700)}.cmp-quote{font-size:13px;line-height:1.6}.cmp-quote+.cmp-quote{margin-top:9px}.cmp-quote b{display:block;font-size:13px;color:var(--gray-500);font-weight:600}.cmp-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}@media print{.cmp-scroll{overflow:visible}.cmp{min-width:0;page-break-inside:avoid;break-inside:avoid}.cmp-acts,.cmp-head .btn{display:none}}.dash-table{padding-bottom:300px;margin-bottom:-300px}.dash-table .data-table td,.dash-table .data-table th{padding:13px 10px}.email-col{max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prog-col{min-width:176px}.hint.warn-hint{color:var(--warn-fg);font-weight:500}.fac-scroll{max-height:42vh;min-height:180px;overflow-y:auto;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--surface)}.fac-scroll .data-table{margin:0}.fac-scroll .data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--surface-3,var(--gray-100));box-shadow:inset 0 -1px 0 var(--gray-300)}.info-box.how-to{background:var(--info-bg);color:var(--info-fg);border:1px solid color-mix(in srgb,var(--blue) 28%,transparent);border-left:4px solid var(--blue);padding:13px 16px;font-size:14px;line-height:1.65;border-radius:var(--radius-sm)}.info-box.how-to b{color:var(--navy)}.info-box.how-to li{margin-bottom:5px}.info-box.how-to li:last-child{margin-bottom:0}.panel-grid-scroll{max-height:56vh}.panel-grid-scroll .data-table tfoot td{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;background:var(--surface-3,var(--gray-100));box-shadow:inset 0 1px 0 var(--gray-300)}