:root{--navy:#0f1d40;--navy-2:#16285a;--navy-on:#1f3a78;--rail-text:#c5cee4;--rail-soft:#8d9ac0;--brand:#1a3c7f;--amber:#ffd27a;--ink:#111b33;--soft:#4d5a78;--mute:#6a7593;--line:#dfe4ef;--line-2:#eef1f6;--page:#f4f6fa;--card:#fff;--ok-bg:#e3f4ea;--ok:#1d6b40;--warn-bg:#fff3d6;--warn:#8a5a00;--bad-bg:#fde7e3;--bad:#a3321c;--display:"IBM Plex Sans Condensed", "Arial Narrow", sans-serif;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background:var(--page);font-size:14px;line-height:1.5}a{color:var(--brand)}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.gate{background:var(--navy);place-items:center;min-height:100%;padding:24px;display:grid}.gate-card{width:100%;max-width:400px;color:var(--rail-text);background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;gap:16px;padding:36px 32px;display:grid}.gate-card img{justify-self:center;width:170px;margin-bottom:6px}.gate-card h1{font:700 24px/1.15 var(--display);color:#fff;text-align:center}.gate-card p{text-align:center;font-size:13.5px}.gate-card label{color:#dfe5f3;gap:6px;font-size:12.5px;font-weight:600;display:grid}.gate-card input{font:inherit;color:#fff;background:#ffffff1a;border:1.5px solid #ffffff40;border-radius:8px;padding:11px 13px;font-size:15px}.gate-card input:focus{border-color:#fff9;outline:none}.gate-card .btn{justify-content:center;width:100%;padding:12px;font-size:14.5px}.gate-card .link{color:var(--amber);background:0 0;border:0;justify-self:center;font-size:13px}.gate-card .err{color:#fff;background:#00000040;border:1px solid #ffffff2e;border-radius:8px;padding:10px 12px;font-size:13px}.gate-card .form label{color:#dfe5f3}.gate-card .form input{color:#fff;background:#ffffff1a;border:1.5px solid #ffffff40;border-radius:8px;padding:11px 13px;font-size:15px}.gate-card .form input:focus{border-color:#fff9;outline:none}.gate-card .form .hint{color:#b4bfda}.gate-card .note{color:#ffe7b0;text-align:left;background:#ffd27a1f;border-radius:8px;padding:10px 12px;font-size:13px}.app{grid-template-columns:232px 1fr;min-height:100%;display:grid}.rail{background:var(--navy);color:var(--rail-text);flex-direction:column;gap:22px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.rail .logo{gap:4px;padding:0 8px;text-decoration:none;display:grid}.rail .logo img{width:150px}.rail .logo small{font:500 10.5px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rail-soft)}.rail .org{background:var(--navy-2);border-radius:8px;gap:2px;margin:0 4px;padding:10px 12px;display:grid}.rail .org span{color:var(--rail-soft);font-size:10.5px}.rail .org b{color:#fff;font-size:13.5px;font-weight:600}.rail .org select{font:inherit;color:#fff;background:0 0;border:0;width:100%;padding:0;font-weight:600}.rail .org select option{color:var(--ink)}.rail .org.staff{background:var(--amber)}.rail .org.staff span{color:#5a4a1a}.rail .org.staff b{color:var(--ink)}.rail nav{gap:2px;display:grid}.rail nav .h{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#6f7ca3;padding:14px 12px 6px}.rail nav a{color:var(--rail-text);border-radius:7px;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;text-decoration:none;display:flex}.rail nav a:hover{background:#ffffff0d}.rail nav a.on{background:var(--navy-on);color:#fff;font-weight:600}.rail .foot{color:var(--rail-soft);gap:6px;margin-top:auto;padding:0 12px;font-size:12px;display:grid}.rail .foot button{color:var(--amber);text-align:left;background:0 0;border:0;padding:0;font-size:12px}.main{align-content:start;gap:20px;width:100%;min-width:0;max-width:1240px;margin:0 auto;padding:28px 32px 48px;display:grid}.ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.ph h1{font:700 30px/1.05 var(--display);letter-spacing:-.01em}.ph p{color:var(--soft);margin-top:4px}.acts{flex-wrap:wrap;gap:8px;display:flex}.btn{background:var(--brand);color:#fff;border:1px solid var(--brand);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn.g{color:var(--brand);background:#fff;border-color:#cdd5e8}.btn.amber{background:var(--amber);color:var(--ink);border-color:var(--amber)}.btn.danger{color:var(--bad);background:#fff;border-color:#f0c5bb}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;align-content:start;gap:12px;min-width:0;padding:18px 20px;display:grid}.card h2{font:600 17px/1.2 var(--display);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card h2 small{font:400 12px var(--body);color:var(--soft)}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;gap:4px;padding:14px 16px;display:grid}.kpi .v{font:500 24px/1.1 var(--mono);letter-spacing:-.02em}.kpi .l{color:var(--soft);font-size:12px}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:13px}table.t th{text-align:left;font:500 10.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px}table.t td{border-bottom:1px solid var(--line-2);vertical-align:middle;font-variant-numeric:tabular-nums;padding:10px}table.t tr:last-child td{border-bottom:0}table.t td.r,table.t th.r{text-align:right}table.t a.row{color:var(--ink);font-weight:600;text-decoration:none}table.t a.row:hover{color:var(--brand);text-decoration:underline}.pill{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.wip{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.mute{background:var(--line-2);color:var(--soft)}.who{align-items:center;gap:10px;display:flex}.av{width:30px;height:30px;color:var(--brand);font:600 11px var(--body);background:#e4e9f5;border-radius:50%;flex:none;place-items:center;display:grid}.who small{color:var(--mute);font-size:12px;display:block}.empty{color:var(--soft);padding:8px 0}.err-line{color:var(--bad);font-weight:500}.soon{background:repeating-linear-gradient(135deg,#fafbfd 0 10px,#f4f6fb 10px 20px);border:1.5px dashed #b8c2db;border-radius:10px;padding:18px 20px}.soon b{font:600 16px/1.2 var(--display);color:var(--brand);margin-bottom:4px;display:block}.soon span{color:var(--soft);font-size:13px}.form{gap:14px;display:grid}.form label{color:var(--ink);gap:6px;font-size:12.5px;font-weight:600;display:grid}.form input,.form select{font:inherit;color:var(--ink);background:#fff;border:1px solid #cdd5e8;border-radius:7px;padding:9px 11px;font-size:14px}.form .hint{color:var(--soft);font-size:12px;font-weight:400}.checks{border:1px solid var(--line);border-radius:8px;gap:6px;max-height:320px;padding:8px;display:grid;overflow-y:auto}.checks label{border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:6px 8px;font-weight:400;display:grid}.checks label:hover{background:var(--line-2)}.checks label.taken{opacity:.55}dialog{border:0;border-radius:12px;width:min(480px,100vw - 32px);padding:0;box-shadow:0 20px 60px #0f1d4059}dialog::backdrop{background:#0f1d4073}dialog .dlg{gap:16px;padding:22px 24px;display:grid}dialog h2{font:700 22px/1.15 var(--display)}dialog p{color:var(--soft)}dialog .acts{justify-content:flex-end}@media (width<=820px){.app{grid-template-columns:1fr}.rail{flex-flow:wrap;align-items:center;gap:12px;height:auto;position:static}.rail nav{grid-auto-flow:column;overflow-x:auto}.rail nav .h,.rail .foot{display:none}.main{padding:20px 16px 40px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.lib-dot{vertical-align:0;border-radius:3px;flex:none;width:9px;height:9px;margin-right:8px;display:inline-block}.module{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.module>summary{cursor:pointer;grid-template-columns:6px 1fr auto auto auto auto;align-items:center;gap:18px;padding:14px 18px 14px 0;list-style:none;display:grid}.module>summary::-webkit-details-marker{display:none}.module[open]>summary{border-bottom:1px solid var(--line-2)}.module .sw{align-self:stretch}.module .name b{font:600 17px/1.2 var(--display);display:block}.module .name small{color:var(--soft);font-size:12px}.module .stat{color:var(--soft);text-align:right;white-space:nowrap;font-size:11.5px}.module .stat b{font:500 15px var(--mono);color:var(--ink);display:block}.module .chev{color:var(--mute);transition:transform .15s}.module[open] .chev{transform:rotate(90deg)}.module .table-wrap{padding:4px 12px 10px}.copy{font:400 11.5px var(--mono);color:var(--soft);white-space:nowrap;background:#f4f6fb;border:1px solid #e3e8f3;border-radius:6px;align-items:center;gap:8px;padding:3px 4px 3px 9px;display:inline-flex}.copy button{font:600 11.5px var(--body);color:var(--brand);background:#fff;border:1px solid #cdd5e8;border-radius:5px;padding:2px 9px}.renew{background:#fff8e6;border:1px solid #f2dea5;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:12px 16px;display:grid}.renew .ic{background:var(--amber);width:32px;height:32px;font:700 15px var(--display);color:var(--ink);border-radius:50%;place-items:center;display:grid}.renew b{display:block}.renew span{color:#6b5a2a;font-size:12.5px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search{min-width:220px;font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;padding:9px 12px}.bars{gap:12px;display:grid}.bar-row{grid-template-columns:1fr auto;gap:4px 10px;font-size:12.5px;display:grid}.bar-row .tr{background:var(--line-2);border-radius:4px;grid-column:1/-1;height:8px;overflow:hidden}.bar-row .tr i{height:100%;display:block}.bar-row b{font:500 12.5px var(--mono)}.row2{grid-template-columns:1.5fr 1fr;gap:14px;display:grid}.est{color:var(--mute);font-size:11px}.timeline{display:grid}.ti{border-bottom:1px solid var(--line-2);grid-template-columns:96px 1fr auto;gap:12px;padding:8px 0;font-size:13px;display:grid}.ti:last-child{border-bottom:0}.ti .d{font:500 11.5px var(--mono);color:var(--mute);padding-top:1px}.lhead{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.lhead .av{width:54px;height:54px;font-size:17px}.back{font-size:13px;text-decoration:none}@media (width<=980px){.row2{grid-template-columns:1fr}.module>summary{grid-template-columns:6px 1fr auto}.module .stat.hide-sm{display:none}}.sk{background:linear-gradient(90deg,#e8ecf4 0%,#f3f5f9 40%,#e8ecf4 80%) 0 0/200% 100%;border-radius:6px;animation:1.3s ease-in-out infinite sk;display:block}.sk-dark{background:linear-gradient(90deg,#1b2c5c 0%,#243a72 40%,#1b2c5c 80%) 0 0/200% 100%}.kpi .sk+.sk{margin-top:8px}.sk-table{display:grid}.sk-row{border-bottom:1px solid var(--line-2);align-items:center;gap:18px;padding:12px 10px;display:grid}.sk-row:last-child{border-bottom:0}.sk-page{gap:20px;display:grid}@keyframes sk{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}body.printing{background:#e9edf4}.doc{max-width:210mm;color:var(--ink);background:#fff;margin:24px auto;padding:0 0 18mm;font-size:11.5px;box-shadow:0 2px 18px #0f1d4026}.doc-bar{border-bottom:1px solid var(--line);color:var(--soft);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.doc-head{background:var(--navy);color:#fff;justify-content:space-between;align-items:flex-end;gap:16px;padding:12mm 14mm 10mm;display:flex}.doc-head img{order:2;width:44mm}.doc-head h1{font:700 24px/1.1 var(--display)}.doc-head p{color:#c5cee4;margin-top:4px;font-size:13px}.doc-meta{color:var(--soft);padding:6mm 14mm 0}.doc-kpis{grid-template-columns:repeat(auto-fit,minmax(30mm,1fr));gap:3mm;padding:5mm 14mm;display:grid}.doc-kpis div{border:1px solid var(--line);color:var(--soft);border-radius:6px;padding:3mm 4mm;font-size:10.5px}.doc-kpis b{font:500 17px var(--mono);color:var(--ink);display:block}.doc-learner{padding:3mm 14mm}.doc-learner h2{break-after:avoid}.doc thead{display:table-header-group}.doc-learner h2{font:600 14px var(--display);border-top:2px solid var(--navy);margin-bottom:2mm;padding-top:2mm}.doc-learner h2 small{font:400 11px var(--body);color:var(--soft)}.doc table{border-collapse:collapse;table-layout:fixed;width:100%}.doc th:first-child{width:25%}.doc th:nth-child(2){width:18%}.doc th:nth-child(3){width:12%}.doc th:nth-child(4){width:6.5%}.doc th:nth-child(5){width:7.5%}.doc th:nth-child(6){width:7%}.doc th:nth-child(7),.doc th:nth-child(8){width:12%}.doc td.r+td.r,.doc th.r+th.r{padding-left:3mm}.doc td.r,.doc th.r{white-space:nowrap}.doc th{text-align:left;font:500 9px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line);padding:1.6mm 1.5mm}.doc td{border-bottom:1px solid var(--line-2);vertical-align:top;font-variant-numeric:tabular-nums;padding:1.6mm 1.5mm}.doc td small{color:var(--mute);font-size:9.5px;display:block}.doc .r{text-align:right}.doc tr{break-inside:avoid}.doc-foot{border-top:1px solid var(--line);color:var(--mute);margin:6mm 14mm 0;padding-top:3mm;font-size:9.5px}@page{size:A4;margin:10mm 0}@media print{body.printing{background:#fff}.no-print{display:none!important}.doc{box-shadow:none;max-width:none;margin:0;padding-bottom:0}.doc-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.prog-list{gap:10px;display:grid}.prog{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:6px 1fr auto auto auto auto;align-items:center;gap:16px;padding-right:14px;display:grid;overflow:hidden}.prog .sw{align-self:stretch}.prog .nm{min-width:0;padding:14px 0}.prog .nm b{font:600 16px/1.2 var(--display);display:block}.prog .nm small{color:var(--soft);font-size:12px}.prog .meta{color:var(--soft);text-align:right;white-space:nowrap;font-size:11.5px}.prog .meta b{font:500 14px var(--mono);color:var(--ink);display:block}.ideas{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.idea{background:var(--navy);color:var(--rail-text);border-radius:10px;align-content:start;gap:6px;padding:14px 16px;text-decoration:none;display:grid}.idea:hover{background:#16285a}.idea b{font:600 15px/1.2 var(--display);color:#fff}.idea span{font-size:12px;line-height:1.45}.idea em{font-style:normal;font:500 10.5px var(--mono);color:var(--amber);letter-spacing:.06em;text-transform:uppercase}.builder{grid-template-columns:1.2fr 1fr;align-items:start;gap:16px;display:grid}.builder .steps{gap:12px;display:grid}.step-h{align-items:center;gap:10px;display:flex}.step-h .num{background:var(--navy);color:#fff;width:24px;height:24px;font:600 11.5px var(--mono);border-radius:50%;place-items:center;display:grid}.step-h b{font:600 16px var(--display)}.step-h .est{margin-left:auto}.choice{flex-wrap:wrap;gap:6px;display:flex}.choice button{color:#33415f;background:#fff;border:1px solid #cdd5e8;border-radius:999px;padding:6px 12px;font-size:12.5px}.choice button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.sched-row{border-radius:8px;grid-template-columns:150px 1fr auto;align-items:center;gap:8px;padding:6px;display:grid}.sched-row[data-on]{background:#f4f6fb}.sched-row input,.sched-row select{font:inherit;background:#fff;border:1px solid #cdd5e8;border-radius:7px;min-width:0;padding:7px 9px;font-size:13px}.sched-row .after{color:var(--soft);align-items:center;gap:6px;font-size:12.5px;font-weight:400;display:flex}.sched-row .after input{width:70px}.tick{align-items:center;gap:10px;font-weight:400!important;display:flex!important}.email{background:#e9edf5;border-radius:10px;padding:14px;position:sticky;top:16px}.email .meta{color:var(--soft);gap:3px;padding:0 4px 10px;font-size:11.5px;display:grid}.email .meta b{color:var(--ink)}.mail{background:#fff;border-radius:8px;overflow:hidden}.mail .band{background:var(--navy);color:#fff;gap:2px;padding:16px 20px;display:grid}.mail .band small{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.mail .body{color:#33415f;gap:10px;padding:18px 20px;font-size:13px;display:grid}.mail .cta{background:var(--amber);color:var(--ink);border-radius:7px;justify-self:start;padding:9px 16px;font-weight:700}.mail .foot{color:var(--mute);border-top:1px solid var(--line-2);padding:10px 20px;font-size:11px}@media (width<=1000px){.builder{grid-template-columns:1fr}.email{position:static}.prog{grid-template-columns:6px 1fr auto}.prog .meta{display:none}}
