:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172a43;background:#f4f7fb;font-synthesis:none;--blue:#00338d;--muted:#718096;--border:#e3eaf2}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #36bffa;outline-offset:3px}a{color:#005eb8;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3.2vw,43px);letter-spacing:-1.5px;line-height:1.15}h2{font-size:22px;letter-spacing:-.6px}h3{font-size:17px}p{line-height:1.65}small,.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:#8bcdff;margin-bottom:20px}.login{min-height:100dvh;display:grid;grid-template-columns:1.08fr 1fr}.brand{background:radial-gradient(ellipse at 90% 70%,#116bba,transparent 55%),linear-gradient(135deg,#001d58,#00338d);color:white;padding:64px 9%;display:flex;flex-direction:column;justify-content:space-between;gap:65px;overflow:hidden}.logo{width:125px;object-fit:contain}.brand h1{font-size:clamp(38px,4.6vw,68px);max-width:570px}.brand p{color:#bfd6f0;max-width:440px}.brand .steps{display:flex;gap:26px;border-top:1px solid #ffffff30;padding-top:25px}.steps strong{display:block;font-size:24px;margin-bottom:8px}.steps span{font-size:12px;color:#bfd6f0}.signin{display:grid;place-items:center;padding:45px}.signin>div{max-width:390px;width:100%}.signin .eyebrow{color:#005eb8}.signin h2{font-size:30px}.field{display:grid;gap:8px;margin:18px 0;font-size:13px;font-weight:600}.field input,.field textarea,.field select{width:100%;padding:13px;border:1px solid #ced8e5;border-radius:9px;color:#172a43;background:white;min-width:0}.field textarea{min-height:110px;resize:vertical}.btn{border:0;border-radius:8px;padding:12px 18px;font-weight:650;font-size:13px;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(1.13)}.btn.secondary{background:#edf3fc;color:#00338d}.btn.ghost{background:transparent;color:#50637e;border:1px solid var(--border)}.btn.danger{background:#fff0f0;color:#b42318}.wide{width:100%}.note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:22px}.error{padding:12px 15px;background:#fff0f0;color:#b42318;border-radius:8px;font-size:13px;line-height:1.6}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100dvh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:32px 22px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.sidebar .logo{background:transparent;padding:0;width:108px;border-radius:3px}.product{margin:18px 0 28px;font-size:12px;letter-spacing:1.2px;color:#718096}.nav{display:grid;gap:7px}.nav button{border:0;text-align:left;background:transparent;padding:13px 14px;border-radius:8px;font-size:13px;color:#54657c;font-weight:600;display:flex;gap:12px}.nav button.active{background:#eaf1fd;color:#00338d}.nav button:hover{background:#f2f6fc}.nav .glyph{width:18px;font-size:16px}.sidefoot{margin-top:auto;border-top:1px solid var(--border);padding-top:24px;font-size:12px;line-height:1.6}.topbar{height:82px;padding:0 38px;background:#ffffffd9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px}.breadcrumb{font-size:13px;color:#718096}.user{display:flex;align-items:center;gap:12px;font-size:13px}.avatar{background:#e5edfc;color:#00338d;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700}.content{max-width:1440px;margin:auto;padding:34px 38px 60px}.pagehead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:26px}.pagehead h1{font-size:29px;margin-bottom:7px}.pagehead p{margin:0;color:var(--muted);font-size:13px}.hero{padding:36px;background:linear-gradient(115deg,#00236a,#004bab);border-radius:16px;color:white;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-bottom:24px;position:relative;overflow:hidden}.hero h1{max-width:650px;margin-bottom:14px}.hero p{color:#c9def8;margin-bottom:22px;max-width:600px;font-size:14px}.hero .btn{background:#fff;color:#00338d}.hero .eyebrow{margin-bottom:14px}.heroart{width:145px;height:145px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-content:center;text-align:center;outline:18px solid #ffffff08;margin:18px}.heroart strong{font-size:39px}.heroart small{color:#c9def8}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:22px}.stat strong{font-size:29px;display:block;margin:12px 0 5px}.stat span{font-size:12px;color:#718096}.stat small{font-size:11px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboardgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px}.card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:24px;min-width:0}.card p{color:#718096;font-size:13px}.cardhead{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:18px}.cardhead h2,.cardhead h3{margin:0}.pill{display:inline-flex;padding:5px 9px;background:#edf3fd;color:#1259a1;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.pill.green{background:#e8f8ee;color:#15834b}.pill.orange{background:#fff5e5;color:#9d620a}.pill.red{background:#fff0f0;color:#b42318}.row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #eef2f7}.row:last-child{border:0;padding-bottom:0}.row:first-child{padding-top:0}.row h3{margin:0 0 6px;font-size:14px}.row p{margin:0;font-size:12px}.index{flex:0 0 36px;height:36px;background:#eef3fc;border-radius:9px;display:grid;place-items:center;color:#00338d;font-weight:700;font-size:13px}.rowmain{flex:1;min-width:0}.actions{display:flex;gap:9px;flex-wrap:wrap}.module{display:flex;flex-direction:column;gap:15px}.module .actions{margin-top:auto}.module h3{font-size:20px;margin:0}.module p{margin:0}.meta{font-size:12px;color:#718096;line-height:1.8}.empty{padding:45px 25px;text-align:center;color:#718096;background:white;border:1px dashed #d4deeb;border-radius:12px}.empty h3{color:#354964}.progress{width:100%;height:7px;accent-color:#005eb8;display:block}.tablewrap{overflow:auto;background:white;border:1px solid var(--border);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--border)}th{color:#718096;font-size:11px;text-transform:uppercase;letter-spacing:.7px;background:#fafbfd}td .btn{padding:8px 11px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar input,.toolbar select{padding:11px;border:1px solid var(--border);border-radius:8px;background:white}.toolbar input{flex:1;min-width:150px}dialog{border:0;border-radius:16px;padding:0;width:min(680px,calc(100% - 24px));max-height:90dvh;box-shadow:0 30px 100px #001c4d50}dialog::backdrop{background:#11253d80;backdrop-filter:blur(3px)}.modalhead{position:sticky;top:0;background:white;padding:22px 26px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;z-index:1}.modalhead h2{margin:0;font-size:21px}.modalbody{padding:24px 26px}.modalbody .text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.divider{border:0;border-top:1px solid var(--border);margin:24px 0}.loading{min-height:80vh;display:grid;place-items:center;color:#718096}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#172a43;color:white;border-radius:10px;padding:14px 22px;z-index:20;box-shadow:0 5px 25px #14263e22;font-size:13px;max-width:90%;display:none}#toast.show{display:block}.banner{background:#eaf3ff;border:1px solid #cde2fc;color:#154b83;padding:17px 20px;border-radius:11px;margin-bottom:24px;font-size:13px;line-height:1.7}.stack{display:grid;gap:20px}.datebox{background:#eaf1fd;color:#00338d;padding:10px;border-radius:9px;text-align:center;min-width:55px;font-weight:700}.datebox small{display:block;font-weight:500;font-size:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.supporttext{white-space:pre-wrap;overflow-wrap:anywhere}.profileline{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}
@media(max-width:1050px){.shell{grid-template-columns:200px 1fr}.sidebar{padding:24px 15px}.content{padding:26px 24px}.topbar{padding:0 24px}.dashboardgrid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.heroart{display:none}.hero{grid-template-columns:1fr}.brand{padding:40px 9%}.brand .steps{gap:12px}}
@media(max-width:700px){.login{grid-template-columns:1fr}.brand{padding:30px;gap:28px}.brand h1{font-size:34px;margin:0}.brand p,.brand .steps{display:none}.brand .logo{width:90px}.brand .eyebrow{margin:0 0 12px}.signin{padding:35px 24px}.shell{display:block}.sidebar{position:static;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--border)}.sidebar .logo{width:85px}.product{display:inline-block;margin:0 0 0 12px;vertical-align:middle}.nav{display:flex;overflow-x:auto;margin-top:16px;padding-bottom:4px}.nav button{white-space:nowrap;padding:10px}.sidefoot{display:none}.topbar{height:65px;padding:0 18px}.breadcrumb{display:none}.topbar .user{flex:1}.content{padding:24px 16px}.hero{padding:26px}.hero h1{font-size:29px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.pagehead{align-items:start}.pagehead h1{font-size:25px}.card{padding:20px}.row{gap:12px}.row .btn{padding:10px}.formgrid{grid-template-columns:1fr}.modalbody{padding:20px}.hero .eyebrow{font-size:10px}.user .muted{display:none}}

.brand .logo{filter:brightness(0) invert(1)}
/* Compact sign-in layout: adapts to available viewport height, including browser zoom. */
.login{height:100dvh;min-height:0;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}
.login .brand{min-height:0;padding:clamp(24px,5vh,52px) clamp(28px,5vw,76px);gap:20px}
.login .brand .logo{width:110px}
.login .brand h1{font-size:clamp(32px,4.2vw,58px);line-height:1.1;letter-spacing:-1.6px;margin-bottom:20px}
.login .brand p{font-size:14px;line-height:1.7;margin-bottom:0;max-width:420px}
.login .brand .steps{padding-top:18px;gap:18px}
.login .steps strong{font-size:19px;margin-bottom:6px}
.login .steps span{font-size:11px}
.login .signin{padding:24px clamp(24px,4vw,64px);min-width:0}
.login .signin>div{max-width:380px}
.login .signin .eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:14px}
.login .signin h2{font-size:30px;margin-bottom:10px}
.login .signin .muted{font-size:13px;line-height:1.5;margin-bottom:22px}
.login .field{font-size:12px;margin:15px 0;gap:7px}
.login .field input{height:44px;padding:11px 13px;border-radius:7px;transition:border-color .15s,background-color .15s}
.login .field input:focus,.login .field input:focus-visible{outline:none;box-shadow:none;border-color:#8593a5;background:#fff}
.login .btn{min-height:44px;border-radius:7px}
.login .note{font-size:11px;line-height:1.6;margin:18px 0 0}
.login #loginError:empty{display:none}
.login #loginError.error{font-size:12px;line-height:1.4;padding:10px 12px;margin:12px 0}
@media(min-width:701px) and (max-height:650px){
 .login .brand{padding:24px 36px;gap:18px}
 .login .brand .logo{width:88px}
 .login .brand h1{font-size:36px;margin-bottom:14px}
 .login .brand .eyebrow{font-size:10px;margin-bottom:12px}
 .login .brand p{font-size:12px}
 .login .steps{display:none}
 .login .brand{justify-content:center}
 .login .brand>div{margin-top:20px}
 .login .signin{padding:18px 32px}
 .login .signin h2{font-size:26px;margin-bottom:8px}
 .login .signin .eyebrow{margin-bottom:9px}
 .login .signin .muted{margin-bottom:14px;font-size:12px}
 .login .field{margin:11px 0;gap:5px}
 .login .field input{height:39px;padding:9px 12px}
 .login .btn{min-height:39px;padding:10px 16px}
 .login .note{margin-top:12px;font-size:10px}
}
@media(max-width:700px){
 .login{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
 .login .brand{padding:20px 24px;display:flex;flex-direction:row;align-items:center;gap:18px;justify-content:start}
 .login .brand .logo{width:74px}
 .login .brand .eyebrow{font-size:9px;letter-spacing:1.2px;margin:0 0 5px}
 .login .brand h1{font-size:20px;letter-spacing:-.4px;margin:0}
 .login .brand h1 br{display:none}
 .login .brand p,.login .brand .steps{display:none}
 .login .signin{padding:22px 24px;align-items:center}
 .login .signin h2{font-size:27px}
}
@media(max-height:400px){.login{height:auto;min-height:100dvh}.login .signin{padding-top:20px;padding-bottom:20px}}
/* Employee-portal sign-in controls, with dedicated training authentication. */
.login .signin>div{background:white;border:1px solid #e3eaf2;border-radius:14px;padding:28px;max-width:440px;box-shadow:0 12px 40px #162b4810}
.login .signin h2{font-size:25px;letter-spacing:-.6px}
.login .login-input-shell{display:flex;align-items:center;gap:10px;border:1px solid #ced8e5;border-radius:7px;background:#fff;padding:0 12px;height:44px}
.login .login-input-shell:focus-within{border-color:#8593a5}
.login svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.login .login-input-shell>svg{color:#7e8ea5}
.login .login-input-shell input{border:0;outline:none;box-shadow:none;background:transparent;min-width:0;width:100%;height:100%;padding:0;font-size:13px;color:#172a43}
.login .login-input-shell input:focus,.login .login-input-shell input:focus-visible{border:0;outline:none;box-shadow:none;background:transparent}
.login .password-shell{margin-top:-8px;margin-bottom:16px}
.login #togglePassword{border:0;padding:4px;background:transparent;color:#718096;display:flex;align-items:center;cursor:pointer}
.login #loginButton{display:flex;justify-content:space-between}
.login .login-assistance{display:flex;justify-content:center;align-items:center;gap:9px;margin:15px 0;color:#9aa7b8}
.login .login-assistance button{background:none;border:0;padding:0;font-size:11px;color:#526780;cursor:pointer}
.login .login-assistance button:hover{text-decoration:underline}
.login .login-security{display:flex;align-items:start;gap:9px;padding-top:14px;border-top:1px solid #e3eaf2;font-size:10px;color:#7b8798;line-height:1.5}
.login .login-security svg{width:16px;height:16px}
.login .login-footer{font-size:9px;text-align:center;letter-spacing:.15px;color:#8a96a6;margin-top:16px}
@media(min-width:701px) and (max-height:650px){
 .login .signin{padding:12px 24px}
 .login .signin>div{padding:20px 24px}
 .login .signin h2{font-size:23px}
 .login .login-input-shell{height:38px}
 .login .password-shell{margin-top:-6px;margin-bottom:12px}
 .login .login-assistance{margin:12px 0}
 .login .login-security{padding-top:10px}
 .login .login-footer{margin-top:10px}
}
@media(max-width:700px){.login .signin{padding:16px}.login .signin>div{padding:22px}.login .signin h2{font-size:23px}.login .login-assistance{gap:7px}}
@media(min-width:701px) and (max-height:520px){
 .login .signin>div{padding:15px 18px}
 .login .signin h2{font-size:21px}
 .login .signin .muted{margin-bottom:10px;font-size:11px}
 .login .signin .eyebrow{font-size:9px;margin-bottom:7px}
 .login .field{margin:9px 0;font-size:11px}
 .login .login-input-shell{height:35px}
 .login .password-shell{margin-top:-4px;margin-bottom:10px}
 .login .login-assistance{margin:10px 0;gap:6px}
 .login .login-assistance button{font-size:10px}
 .login .login-security{font-size:9px;padding-top:9px}
 .login .login-footer{font-size:8px;margin-top:9px}
}
@media(max-width:700px) and (max-height:650px){
 .login .brand{padding:14px 20px}.login .brand .logo{width:62px}.login .brand h1{font-size:18px}
 .login .signin{padding:12px 16px}.login .signin>div{padding:18px}
 .login .signin .eyebrow{margin-bottom:9px}.login .signin .muted{margin-bottom:14px}
 .login .field{margin:10px 0}.login .login-input-shell{height:39px}
 .login .password-shell{margin-top:-4px;margin-bottom:12px}
 .login .login-assistance{margin:12px 0}.login .login-security{padding-top:10px}
 .login .login-footer{margin-top:10px}
}

/* v2 - Administration console. Base employee sign-in experience is preserved. */
.admin-shell{--blue:#00338d;background:#f5f7fb}
.admin-shell .sidebar{background:#fff;box-shadow:5px 0 30px rgba(22,50,88,.025)}
.admin-shell .sidebar-head{padding-bottom:15px;border-bottom:1px solid #edf0f6;margin-bottom:20px}
.admin-shell .product{font-size:10px;letter-spacing:1.4px;margin:16px 0 12px;font-weight:800;color:#596b81}
.admin-sidelabel{display:flex;align-items:center;gap:8px;font-size:11px;color:#4f647c;font-weight:650}
.status-dot{display:inline-block;background:#38ad75;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px #43ad7525;flex:0 0 7px}
.workspace-main{min-width:0}
.admin-shell .nav{gap:4px}
.admin-shell .nav button{padding:12px 13px;border-radius:9px}
.admin-shell .nav button.active{background:#e9f1fd;box-shadow:inset 3px 0 0 #005eb8}
.admin-shell .content{max-width:1540px}
.crumb-separator{padding:0 9px;color:#bcc6d3}
.admin-welcome{background:radial-gradient(circle at 83% 14%,rgba(33,114,200,.40) 0,transparent 45%),linear-gradient(110deg,#002c7a,#064d9b);border-radius:16px;padding:36px 42px;display:flex;justify-content:space-between;align-items:center;gap:24px;overflow:hidden;margin-bottom:22px;color:#fff;min-height:220px;position:relative}
.admin-welcome:after{content:'';width:430px;height:430px;border:1px solid #ffffff22;position:absolute;border-radius:50%;right:-160px;top:-280px;pointer-events:none}
.admin-welcome-copy{z-index:1;max-width:640px}
.admin-welcome-tag{display:flex;align-items:center;gap:11px;letter-spacing:1.3px;font-weight:750;font-size:10px;color:#c0dbff;margin-bottom:20px}
.admin-welcome h1{font-size:clamp(27px,3.5vw,38px);line-height:1.14;letter-spacing:-1.15px;margin-bottom:13px}
.admin-welcome p{font-size:13px;line-height:1.75;color:#d6e6fa;max-width:560px;margin-bottom:20px}
.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-hero-actions .btn{background:#fff;color:#00338d}
.admin-hero-actions .btn.secondary{background:#ffffff1b;border:1px solid #ffffff50;color:#fff}
.admin-hero-ornament{min-width:185px;width:185px;height:185px;border:1px solid #ffffff50;border-radius:24px;transform:rotate(-7deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:0 0 0 17px #ffffff07;flex-shrink:0}
.admin-hero-ornament>*{transform:rotate(7deg)}
.admin-hero-ornament span{letter-spacing:2.5px;font-size:10px;color:#cce0f5}
.admin-hero-ornament strong{font-size:50px;letter-spacing:-3px}
.admin-hero-ornament small{font-size:10px;color:#cce0f5}
.admin-stats{margin-bottom:30px}
.admin-stats .stat{border-radius:12px;padding:21px 22px;background:#fff;box-shadow:0 4px 18px #223b6b07}
.admin-stats .stat span{font-weight:650;color:#61728a}
.admin-stats .stat strong{font-size:32px;letter-spacing:-1.2px;margin:10px 0 6px}
.admin-section{margin-bottom:30px}
.admin-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 15px}
.admin-section-title h2{font-size:18px;margin:0}
.admin-section-title p{font-size:12px;margin:0;color:#8190a2}
.admin-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.admin-action{display:flex;text-align:left;border:1px solid #e2eaf4;border-radius:12px;padding:19px 15px;background:#fff;gap:12px;align-items:flex-start;min-height:125px;transition:transform .16s,box-shadow .16s,border-color .16s;cursor:pointer;color:#243854}
.admin-action:hover{border-color:#a8c8f1;box-shadow:0 10px 26px #183f7412;transform:translateY(-2px)}
.admin-action-icon{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:10px;font-size:22px;color:#005eb8;background:#eaf2fe}
.admin-action-copy{display:grid;gap:8px;flex:1;min-width:0}
.admin-action-copy strong{font-size:13px}
.admin-action-copy small{font-size:11px;line-height:1.5;color:#718096}
.admin-action-arrow{font-size:16px;color:#8da1b8}
.admin-grid .cardhead p{font-size:11px;margin:5px 0 0}
.admin-grid .empty{padding:35px 15px}
.cohort-mini{padding:14px 0;border-bottom:1px solid #edf1f6}
.cohort-mini:last-child{border-bottom:0;padding-bottom:0}
.cohort-mini-top,.batch-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px}
.cohort-mini-top span,.batch-metrics strong{color:#005eb8;font-weight:750}
.cohort-track{height:7px;width:100%;background:#edf1f7;overflow:hidden;border-radius:10px;margin-bottom:7px}
.cohort-track span{display:block;height:100%;background:linear-gradient(90deg,#005eb8,#4faaf0);border-radius:10px}
.cohort-mini small{font-size:10px;line-height:1.4}
.person-mini{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf1f6;padding:12px 0}
.person-mini:last-child{border-bottom:0;padding-bottom:0}
.person-mini>div{flex:1;min-width:0}
.person-mini>div strong{display:block;font-size:12px}
.person-mini>div small{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}
.member-initial{display:inline-grid;place-items:center;min-width:36px;height:36px;border-radius:10px;background:#e9f1fd;color:#005eb8;font-size:13px;font-weight:800;flex-shrink:0}
.member-initial.large{width:56px;height:56px;border-radius:15px;font-size:22px}
.onboarding-strip{background:#eef4fd;border:1px solid #d4e3f5;padding:20px;display:flex;align-items:center;gap:13px;border-radius:12px;margin-bottom:22px}
.onboarding-strip>div:not(.onboarding-index):not(.onboarding-arrow){flex:1;min-width:0}
.onboarding-strip strong{font-size:12px;color:#1b4678}
.onboarding-strip p{font-size:11px;line-height:1.65;color:#536f91;margin:5px 0 0}
.onboarding-strip .btn{font-size:11px;padding:10px 12px;white-space:nowrap}
.onboarding-index{width:30px;height:30px;border-radius:8px;background:#d4e7ff;color:#00338d;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}
.onboarding-arrow{font-size:17px;color:#8ea8c5}
.people-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}
.people-highlights>div{background:#fff;border:1px solid #e3eaf2;padding:17px 20px;border-radius:11px}
.people-highlights small{font-size:11px;display:block}
.people-highlights strong{font-size:25px;font-weight:800;display:block;margin-top:6px}
.list-panel{border:1px solid #e3eaf2;border-radius:13px;background:#fff;overflow:hidden}
.people-table-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 24px 15px}
.people-table-head h2{margin:0;font-size:18px}
.people-table-head p{margin:6px 0 0;font-size:12px;color:#718096}
.people-toolbar{padding:0 24px 21px;margin:0}
.people-toolbar input{min-width:190px}
.people-toolbar select{min-width:130px}
.list-panel .tablewrap{border:0;border-radius:0}
.person-link{display:flex;align-items:center;text-align:left;gap:10px;border:0;background:transparent;padding:0;color:#1b314c}
.person-link strong{font-size:12px;display:block}
.person-link small{font-size:11px;display:block;margin-top:5px}
.person-link:hover strong{color:#005eb8;text-decoration:underline}
.section-intro{padding:16px 20px;background:#ecf3fd;border:1px solid #d6e6f8;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;gap:15px}
.section-intro span{font-size:10px;font-weight:800;letter-spacing:1px;color:#005eb8;white-space:nowrap}
.section-intro p{font-size:12px;line-height:1.6;margin:0;color:#456282}
.batch-grid .batch-card{min-height:275px}
.batch-card .batch-icon{width:40px;height:40px;border-radius:10px;background:#eef4fe;color:#005eb8;display:grid;place-items:center;font-size:21px}
.batch-card h3{font-size:20px;overflow-wrap:anywhere;margin:16px 0 5px}
.batch-card p{font-size:12px}
.batch-card .btn{margin-top:16px}
.member-setup-note{border-left:3px solid #005eb8;background:#eff5fd;padding:13px 16px;border-radius:0 8px 8px 0;margin:0 0 18px}
.member-setup-note strong{color:#1d4f86;font-size:12px}
.member-setup-note p{font-size:12px;line-height:1.6;margin:6px 0 0;color:#527090}
.member-profile-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid #e7ebf1}
.member-profile-head h2{margin:0;font-size:22px}
.member-profile-head p{margin:4px 0 10px;font-size:12px;color:#718096}
.member-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:22px 0}
.member-profile-grid small{display:block;font-size:11px;margin-bottom:8px}
.member-profile-grid strong{display:block;font-size:13px;overflow-wrap:anywhere}
@media(max-width:1150px){.admin-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-strip{flex-wrap:wrap}.onboarding-strip>div:not(.onboarding-index):not(.onboarding-arrow){min-width:190px}.onboarding-arrow{display:none}}
@media(max-width:900px){.admin-hero-ornament{display:none}.admin-welcome{padding:30px}.people-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.section-intro{display:block}.section-intro p{margin-top:8px}}
@media(max-width:700px){.admin-shell .sidebar{position:relative;height:auto}.admin-shell .sidebar-head{border:0;margin:0;padding:0}.admin-sidelabel{display:none}.admin-shell .topbar{min-height:65px;height:auto;padding:11px 15px}.admin-shell .user{justify-content:flex-end}.admin-shell .user-details{min-width:0;max-width:122px}.admin-shell .user-details strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-welcome{padding:25px 22px;min-height:0}.admin-welcome h1{font-size:28px}.admin-welcome-tag{font-size:9px}.admin-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-action{min-height:145px;display:block;padding:14px}.admin-action-icon{margin-bottom:12px}.admin-action-arrow{display:none}.admin-section-title{display:block}.admin-section-title p{margin-top:7px}.admin-stats{gap:10px}.admin-stats .stat{padding:15px}.admin-stats .stat strong{font-size:27px}.onboarding-strip{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.onboarding-strip>div:not(.onboarding-index):not(.onboarding-arrow){min-width:0}.onboarding-strip .btn{grid-column:2;justify-self:start}.people-table-head{padding:20px 17px 14px}.people-table-head .btn{white-space:nowrap;padding:10px}.people-toolbar{padding:0 17px 16px}.people-toolbar input{width:100%;flex-basis:100%}.people-toolbar select{flex:1;min-width:0}.people-highlights>div{padding:12px 14px}.batch-card{min-height:0}.batch-grid .batch-card{min-height:0}}
@media(max-width:430px){.admin-actions-grid{grid-template-columns:1fr}.admin-action{min-height:0;display:flex}.admin-action-icon{margin:0}.admin-shell .topbar .avatar{display:none}.admin-shell .topbar .btn{padding:9px}.admin-welcome h1{font-size:25px}.member-profile-grid{gap:13px}}

.batch-focus{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 17px;background:#edf4ff;border:1px solid #d4e5fa;border-radius:9px;font-size:12px;color:#42618b;margin:0 0 17px}.batch-focus strong{color:#13477e}.batch-focus .btn{padding:7px 10px;font-size:11px}

/* v3 · People, communications & cohort management | Internal enterprise workspace */
:root{--blue:#073b88;--ink:#182e4b;--border:#e5ebf3;--soft:#f6f8fc}
body{background:#f6f8fc}
.shell{grid-template-columns:256px minmax(0,1fr)}
.sidebar{padding:26px 18px 20px;box-shadow:2px 0 15px #142d4810;z-index:4}
.sidebar-head{padding:7px 10px 10px}
.sidebar .logo{width:112px}
.product{font-weight:750;letter-spacing:1.25px;color:#7387a0;font-size:10.5px;margin:16px 0 17px}
.sidebar .nav{display:grid;align-content:start;gap:3px;overflow-y:auto;min-height:0;padding:3px 3px 8px 0;scrollbar-width:thin}
.nav button{border-radius:10px;padding:11px 13px;letter-spacing:-.05px;font-size:12.5px;flex-shrink:0;transition:background .15s ease}
.nav button.active{color:#00338d;background:#e9f0fc;box-shadow:inset 3px 0 #00338d;font-weight:760}
.nav .glyph{font-size:17px;width:19px;text-align:center;line-height:1}
.sidefoot{padding:16px 10px 6px;font-size:11px}
.topbar{height:76px;min-height:76px;padding:0 30px;position:sticky;top:0;z-index:3;backdrop-filter:blur(14px)}
.content{max-width:1500px;padding:32px 36px 64px;width:100%}
.pagehead{margin-bottom:25px}
.pagehead h1{font-size:27px;letter-spacing:-.9px}
.pagehead p{color:#77879d;line-height:1.6}
.user-details strong{font-size:13px;color:var(--ink)}
.user-details small{text-transform:capitalize}
.card,.stat,.tablewrap{box-shadow:0 4px 19px #173a6410}
.admin-actions-grid .admin-action{transition:transform .16s,box-shadow .16s}
.admin-actions-grid .admin-action:hover{transform:translateY(-2px);box-shadow:0 10px 25px #163d7514}
.btn{border-radius:9px}
.feature-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(115deg,#00286c 0%,#034a9b 70%,#1069ae);color:#fff;padding:27px 32px;border-radius:16px;margin-bottom:25px;overflow:hidden}
.feature-kicker{letter-spacing:2.2px;font-size:10px;font-weight:750;color:#a8dbff}
.feature-intro h2{font-size:23px;margin:11px 0 8px;letter-spacing:-.8px}
.feature-intro p{font-size:12px;line-height:1.6;color:#d3e5fb;max-width:560px;margin:0}
.feature-intro-mark{width:96px;height:96px;flex:0 0 96px;border:1px solid #fff5;border-radius:22px;display:grid;place-items:center;font-size:45px;color:#cfeaff;transform:rotate(-8deg);background:#ffffff13}
.cohort-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cohort-card{padding:24px;border:1px solid #e1eaf5;background:white;border-radius:16px;min-width:0;box-shadow:0 8px 25px #152c4b0a}
.cohort-top,.cohort-bottom,.cohort-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cohort-initial{width:46px;height:46px;border-radius:14px;background:#e7f1ff;color:#0a4ca0;font-size:18px;display:grid;place-items:center;font-weight:800}
.cohort-card h3{margin:19px 0 4px;font-size:20px;letter-spacing:-.5px;overflow-wrap:anywhere}
.cohort-code,.cohort-dates{margin:0;color:#8493a5;font-size:12px}
.cohort-dates{margin:13px 0 18px;color:#506785}
.cohort-team{padding:12px 15px;background:#f5f8fd;border-radius:10px;display:grid;gap:11px}
.cohort-team>div{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:11.5px}
.cohort-team span{color:#8191a3}
.cohort-team strong{color:#243c5e;text-align:right;font-size:11.5px;overflow-wrap:anywhere}
.cohort-bottom{justify-content:start;gap:35px;margin-top:17px}
.cohort-bottom>div{display:grid;gap:1px}
.cohort-bottom strong{font-size:24px;color:#163b69}
.cohort-bottom small{font-size:11px}
.cohort-progress{height:6px;border-radius:6px;background:#e7eef8;margin:14px 0 18px;overflow:hidden}
.cohort-progress span{height:100%;display:block;background:linear-gradient(90deg,#00338d,#3da3ee);border-radius:6px}
.cohort-actions{justify-content:start;flex-wrap:wrap}
.cohort-actions .btn{font-size:11px;padding:9px 11px;min-height:37px}
.cohort-members{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--border);margin-top:18px;padding-top:14px}
.cohort-members span{font-size:10px;border-radius:7px;padding:5px 7px;background:#edf4fe;color:#28598a}
.cohort-members button{color:#a52828;background:transparent;border:0;font-size:15px;padding:0 3px;vertical-align:middle}
.comm-shell{display:grid;grid-template-columns:minmax(290px,340px) minmax(0,1fr);background:white;border:1px solid #e3eaf3;border-radius:16px;min-height:min(680px,72dvh);overflow:hidden;box-shadow:0 6px 26px #152e4c12}
.comm-list-pane{border-right:1px solid #e6edf5;min-width:0;display:flex;flex-direction:column;background:#fff}
.comm-pane-title{padding:22px 19px 13px;display:flex;justify-content:space-between;align-items:center}
.comm-pane-title h2{font-size:18px;letter-spacing:-.4px;margin-bottom:4px}
.comm-pane-title p{font-size:11px;margin:0;color:#8793a6}
.count-chip{font-size:11px;font-weight:700;color:#335b83;background:#f0f5fc;padding:6px 10px;border-radius:20px}
.comm-search-wrap{display:flex;align-items:center;background:#f6f8fc;border:1px solid #e6edf5;margin:2px 17px 16px;border-radius:10px;padding:8px 12px;gap:9px}
.comm-search-wrap>span{font-size:21px;color:#94a5b8}
.comm-search-wrap input{border:0;background:transparent;outline:0;font-size:12px;width:100%;color:#223c5d}
.comm-filter{display:flex;gap:4px;border-bottom:1px solid #e7edf4;padding:0 16px 11px}
.comm-filter button{background:none;border:0;color:#8091a6;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:700}
.comm-filter button.selected{background:#e9f1fc;color:#00338d}
.comm-items{overflow-y:auto;flex:1;min-height:310px;max-height:520px;scrollbar-width:thin}
.comm-item{width:100%;display:flex;text-align:left;gap:11px;padding:16px 14px;border:0;background:white;border-bottom:1px solid #edf1f7;align-items:flex-start;color:#192f4c;min-width:0}
.comm-item:hover{background:#f7faff}
.comm-item.selected{background:#edf4fe;box-shadow:inset 3px 0 #1266ba}
.comm-item-icon{flex:0 0 35px;width:35px;height:35px;border-radius:12px;background:#e8effb;color:#1457a4;display:grid;place-items:center;font-size:17px}
.comm-item-main{min-width:0;display:grid;gap:6px;flex:1}
.comm-item-main strong,.comm-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.comm-item-main strong{font-size:12.5px;font-weight:650}
.comm-item-main small{font-size:11px;color:#90a0b1}
.comm-item.unread .comm-item-main strong{font-weight:800}
.comm-time{color:#98a5b7;font-size:10px;display:grid;justify-items:end;gap:10px;white-space:nowrap}
.unread-dot{width:7px;height:7px;border-radius:50%;background:#0964c4}
.comm-reader{min-width:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#ffffff,#fbfcfe)}
.reader-header{border-bottom:1px solid #e6edf4;padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.reader-kind{color:#3375b3;font-size:9px;font-weight:800;letter-spacing:1.25px}
.reader-header h2{font-size:19px;margin:7px 0;overflow-wrap:anywhere}
.reader-header p{font-size:11px;color:#8293aa;margin:0;overflow-wrap:anywhere}
.reader-messages{padding:22px;flex:1;min-height:220px;max-height:460px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}
.message-bubble{max-width:84%;width:fit-content;min-width:150px;background:white;border:1px solid #e3ebf4;border-radius:13px 13px 13px 3px;padding:14px 17px;box-shadow:0 3px 12px #1227470b}
.message-bubble.mine{background:#eaf3ff;align-self:flex-end;border-color:#cde3fb;border-radius:13px 13px 3px 13px}
.message-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:8px}
.message-meta strong{font-size:11px;color:#1e5086}
.message-meta time{font-size:9px;color:#8295ad;white-space:nowrap}
.message-bubble p{font-size:12.5px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;color:#2b4261;margin:0}
.message-bubble .btn{margin-top:12px;font-size:10px;padding:6px 9px}
.comm-composer{border-top:1px solid #e6edf4;padding:15px 20px 17px;background:#fff}
.comm-composer textarea{width:100%;border:1px solid #dfe8f3;background:#f8fafd;padding:13px 15px;min-height:72px;max-height:200px;resize:vertical;border-radius:11px;outline:none;font-size:12px;color:#1d3b5d}
.comm-composer textarea:focus{border-color:#6aa2e2;box-shadow:0 0 0 3px #478ad010}
.comm-compose-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.comm-compose-row .btn{font-size:12px}
.attachment-pick{font-size:11px;color:#3b6194;position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0;overflow:hidden}
.attachment-pick input{max-width:160px;font-size:10px}
.comm-reader-empty{margin:auto;text-align:center;padding:38px 15px;max-width:300px}
.comm-reader-empty span{width:76px;height:76px;border-radius:20px;background:#eaf2fd;color:#10529c;display:grid;place-items:center;font-size:30px;margin:0 auto 22px}
.comm-reader-empty h2{font-size:20px}
.comm-reader-empty p,.comm-empty{font-size:12px;color:#90a0b4;line-height:1.7}
.comm-empty{padding:40px 20px;text-align:center}
.comm-disclaimer{font-size:11px;color:#94a3b7;margin-top:15px}
.compose-eyebrow{font-size:10px;font-weight:800;color:#0752a0;letter-spacing:1px;background:#eef5fd;border-radius:8px;padding:11px 14px}
@media(max-width:1100px){.shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:18px 11px}.content{padding:24px 20px 45px}.comm-shell{grid-template-columns:minmax(225px,35%) minmax(0,1fr)}.cohort-cards{gap:12px}}
@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:relative;padding:14px 16px;box-shadow:none}.sidebar-head{padding:0}.sidebar .nav{display:flex;overflow-x:auto;overflow-y:hidden;padding:3px 0 7px;gap:5px;margin-top:10px}.sidebar .nav button{padding:10px 12px;white-space:nowrap;font-size:12px}.sidebar .sidefoot{display:none}.topbar{position:relative;height:63px;padding:0 13px}.topbar .user .btn{padding:8px;font-size:10px}.content{padding:20px 13px 40px}.cohort-cards{grid-template-columns:1fr}.feature-intro{padding:23px}.feature-intro-mark{display:none}.comm-shell{grid-template-columns:1fr;min-height:0}.comm-list-pane{border-right:0;border-bottom:1px solid #e6edf5}.comm-items{max-height:240px;min-height:0}.comm-reader{min-height:380px}.reader-messages{max-height:370px;min-height:150px}.reader-header{padding:18px 14px}.reader-messages{padding:15px}.comm-composer{padding:13px}.message-bubble{max-width:94%}.comm-compose-row .btn{font-size:10px;padding:10px}.cohort-card{padding:19px}.pagehead{gap:12px}.pagehead .btn{font-size:11px;padding:10px}}
@media(max-width:420px){.attachment-pick input{max-width:104px}.comm-pane-title{padding:17px}.comm-search-wrap{margin:0 13px 12px}.topbar .user .user-details{display:none}.topbar .avatar{width:30px;height:30px}.comm-reader-empty{padding:22px}}
.provision-block{border:1px solid #d3e4fa;background:#f4f8ff;padding:17px 18px;border-radius:12px;margin:18px 0}
.provision-check{display:flex;gap:10px;align-items:start;font-size:12px;color:#183c67;cursor:pointer}
.provision-check input{width:17px;height:17px;flex:0 0 17px;accent-color:#00338d;margin-top:2px}
.provision-check strong,.provision-check small{display:block}
.provision-check strong{font-size:12px;margin-bottom:6px}
.provision-check small{color:#7085a0;font-size:11px;line-height:1.5}
.provision-block .field{margin:13px 0}
.provision-block .note{margin-top:10px}
