@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap");.theme-root[data-theme=light],:root{--ink:#182321;--muted:#697572;--line:#e3e8e5;--paper:#ffffff;--canvas:#f5f7f5;--green:#174f45;--green-2:#247465;--mint:#ddf3eb;--lime:#c9ef81;--amber:#e59b34;--amber-bg:#fff1d7;--red:#c94c4c;--red-bg:#fde7e5;--blue:#3572a8;--blue-bg:#e8f1fa;--shadow:0 12px 32px rgba(22,52,46,.06);--field:#ffffff;--surface-muted:#fbfcfb;--surface-subtle:#f0f7f4;--surface-hover:#edf1ef;--header:rgba(255,255,255,.9);--portal-header:rgba(255,255,255,.96);--attention-bg:linear-gradient(145deg,#fff 45%,#f4fae9 140%);--invitation-bg:linear-gradient(135deg,#eaf5f0,#f7f3e8)}.theme-root[data-theme=light]{color-scheme:light}.theme-root[data-theme=dark]{color-scheme:dark;--ink:#eef6f2;--muted:#a9b8b2;--line:#344943;--paper:#192824;--canvas:#101815;--green:#286f61;--green-2:#75c9b5;--mint:#1d453b;--lime:#c9ef81;--amber:#f2b45b;--amber-bg:#49371d;--red:#ff9b98;--red-bg:#472625;--blue:#8fc5f2;--blue-bg:#203a50;--shadow:0 12px 32px rgba(0,0,0,.22);--field:#14211d;--surface-muted:#1c2c27;--surface-subtle:#20342e;--surface-hover:#2a3d37;--header:rgba(16,24,21,.9);--portal-header:rgba(16,24,21,.96);--attention-bg:linear-gradient(145deg,#192824 45%,#27341e 140%);--invitation-bg:linear-gradient(135deg,#152a24,#2b281d)}@media (prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--ink:#eef6f2;--muted:#a9b8b2;--line:#344943;--paper:#192824;--canvas:#101815;--green:#286f61;--green-2:#75c9b5;--mint:#1d453b;--amber:#f2b45b;--amber-bg:#49371d;--red:#ff9b98;--red-bg:#472625;--blue:#8fc5f2;--blue-bg:#203a50;--shadow:0 12px 32px rgba(0,0,0,.22);--field:#14211d;--surface-muted:#1c2c27;--surface-subtle:#20342e;--surface-hover:#2a3d37;--header:rgba(16,24,21,.9);--portal-header:rgba(16,24,21,.96);--attention-bg:linear-gradient(145deg,#192824 45%,#27341e 140%);--invitation-bg:linear-gradient(135deg,#152a24,#2b281d)}}*{box-sizing:border-box}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:DM Sans,sans-serif}button,input{font:inherit}button{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--green-2) 45%,transparent);outline-offset:2px}.theme-root{min-height:100vh;color:var(--ink);background:var(--canvas)}.theme-select{display:grid;grid-gap:5px;gap:5px;color:var(--ink);font-size:9px;font-weight:600}.theme-select select{width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--field);font:400 10px DM Sans}.theme-select.compact{display:flex;align-items:center;gap:7px;color:var(--muted)}.theme-select.compact select{width:auto;min-width:92px;padding:6px 8px;font-size:9px}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;flex:0 0 248px;position:fixed;inset:0 auto 0 0;z-index:30;padding:24px 16px 18px;display:flex;flex-direction:column;background:#123d36;color:#eef8f4}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font:700 20px/1 Manrope;color:#123d36;background:var(--lime);transform:rotate(-4deg)}.brand b{display:block;font:700 15px/1.15 Manrope;letter-spacing:-.2px}.brand small{display:block;margin-top:2px;color:#a8c4bc;font-size:11px;letter-spacing:1.8px;text-transform:uppercase}.brand .product-signature{font-size:9px;letter-spacing:0;text-transform:none}.mobile-close{display:none;margin-left:auto;border:0;background:none;color:inherit}.workspace-switch{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:22px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.06)}.workspace-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(201,239,129,.15);color:var(--lime);font-size:11px;font-weight:700}.workspace-switch span{min-width:0;flex:1 1}.workspace-switch b,.workspace-switch small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-switch small{margin-bottom:2px;color:#9ebbb3;font-size:10px}.workspace-switch b{font-size:12px;font-weight:600}.organization-switch{margin-bottom:10px}.organization-switch select,.training-run-switch select{width:100%;min-width:0;padding:0 18px 0 0;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#fff;background:transparent;font:600 11px DM Sans;cursor:pointer}.organization-switch select option,.training-run-switch select option{color:var(--ink);background:var(--field)}.training-run-switch select:disabled{color:#9ebbb3;cursor:default}.sidebar nav{min-height:0;overflow-y:auto;padding-right:2px}.nav-group{margin-bottom:14px}.nav-group:last-child{margin-bottom:4px}.nav-group .training-run-switch{margin:0 0 7px;padding:8px 9px}.nav-group .training-run-switch .workspace-icon{width:28px;height:28px}nav p{padding:0 10px;margin:0 0 8px;color:#83a69d;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.sidebar-bottom>button,nav button{width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;margin:2px 0;border:0;border-radius:9px;color:#bcd1cb;background:transparent;cursor:pointer;text-align:left;font-size:13px;transition:.18s ease}.sidebar-bottom>button:hover,nav button:hover{color:#fff;background:rgba(255,255,255,.07)}.sidebar-bottom>button.active,nav button.active{color:#fff;background:rgba(201,239,129,.14)}nav button.active svg{color:var(--lime)}nav button em{margin-left:auto;min-width:20px;padding:2px 6px;border-radius:20px;background:var(--lime);color:#163d36;font-size:10px;font-style:normal;font-weight:700;text-align:center}.sidebar-bottom{flex:0 0 auto;margin-top:auto}.user-card{display:flex;align-items:center;gap:10px;margin-top:14px;padding:14px 7px 0;border-top:1px solid rgba(255,255,255,.1)}.user-card span{flex:1 1;min-width:0}.user-card b,.user-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card b{font-size:11px}.user-card small{margin-top:2px;color:#8facA4;font-size:9px}.logout-btn{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;color:#a8c4bc;background:transparent;cursor:pointer}.logout-btn:hover{color:#fff;background:rgba(255,255,255,.08)}.main-area{width:calc(100% - 248px);min-width:0;margin-left:248px}header{height:64px;position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:var(--header);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.breadcrumb,header{display:flex;align-items:center}.breadcrumb{gap:7px;color:var(--muted);font-size:12px}.breadcrumb b{color:var(--ink);font-weight:600}.header-actions{display:flex;align-items:center;gap:12px}.mobile-run-picker{display:none}.header-avatar,.person-avatar{display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:700}.header-avatar{width:32px;height:32px;font-size:10px}.menu-btn{display:none;border:0;background:transparent}.icon-btn{width:32px;height:32px;position:relative;display:inline-grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;cursor:pointer}.icon-btn:hover{background:var(--surface-hover)}.header-actions .icon-btn i{width:6px;height:6px;position:absolute;top:6px;right:6px;border-radius:50%;background:var(--red);border:1px solid #fff}main{max-width:1440px;padding:38px 40px 64px;margin:0 auto}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.eyebrow{margin:0 0 7px;color:var(--green-2);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}h1{margin:0;font:700 30px/1.15 Manrope;letter-spacing:-.8px}.lead{margin:8px 0 0;color:var(--muted);font-size:14px}.compact-hero{align-items:center}.primary-btn,.secondary-btn,.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;cursor:pointer;font-weight:600;transition:.18s ease;white-space:nowrap}.primary-btn{padding:11px 15px;border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 6px 18px rgba(23,79,69,.15);font-size:12px}.primary-btn:hover{transform:translateY(-1px);background:#0d4037}.secondary-btn{padding:9px 13px;border:1px solid var(--line);background:var(--field);color:var(--ink);font-size:11px}.secondary-btn:hover{border-color:#87aa9f;background:var(--surface-muted)}.secondary-btn{text-decoration:none}.secondary-btn.full{width:100%;margin-top:12px}.text-btn{padding:5px 0;border:0;background:transparent;color:var(--green-2);font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.metric-card,.panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.metric-card{min-height:150px;padding:19px;border-radius:14px;overflow:hidden}.metric-card.attention{position:relative;background:var(--attention-bg)}.metric-card.attention:after{content:"";width:70px;height:70px;position:absolute;right:-25px;bottom:-25px;border-radius:50%;background:rgba(201,239,129,.32)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.metric-top svg{color:var(--green-2)}.metric-card strong{display:block;margin:14px 0 9px;font:700 28px/1 Manrope;letter-spacing:-.6px}.metric-card strong span{color:var(--muted);font-size:13px;font-weight:500}.metric-card small{display:block;margin-top:7px;color:var(--muted);font-size:10px}.metric-link{position:relative;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.metric-link:focus-visible,.metric-link:hover{border-color:#8db8ab;box-shadow:0 10px 24px rgba(23,79,69,.12);transform:translateY(-2px);outline:none}.metric-link-arrow{position:absolute;right:17px;bottom:17px;color:var(--green-2)}.metric-link[aria-pressed=true]{border-color:#d79a9a;box-shadow:inset 0 0 0 1px #d79a9a}.delta{margin:13px 0 0;font-size:10px;font-weight:600}.delta.positive{color:var(--green-2)}.delta.warning{color:#b9771b}.progress{height:5px;border-radius:10px;overflow:hidden;background:#e8eeeb}.progress span{height:100%;display:block;border-radius:inherit;background:var(--green-2)}.progress.compact{height:4px}.avatar-stack{display:flex;margin:12px 0 4px}.avatar-stack i{width:27px;height:27px;display:grid;place-items:center;margin-left:-6px;border:2px solid #fff;border-radius:50%;background:#dfe9e5;color:var(--green);font-size:8px;font-style:normal;font-weight:700}.avatar-stack i:first-child{margin-left:0;background:var(--green);color:#fff}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.85fr);grid-gap:16px;gap:16px;margin-bottom:16px}.action-list,.action-panel,.dashboard-grid>*{min-width:0}.panel{padding:22px;border-radius:14px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel h2{margin:0;font:700 15px/1.3 Manrope;letter-spacing:-.2px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.module-bars{display:grid;grid-gap:15px;gap:15px}.bar-label{display:flex;justify-content:space-between;gap:10px;font-size:10px}.bar-label span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bar-label b{font-size:10px}.bar-track{height:6px;margin:5px 0 3px;border-radius:8px;overflow:hidden;background:#ebefed}.bar-track span{height:100%;display:block;border-radius:inherit;background:var(--green-2);animation:grow .65s ease both;transform-origin:left}@keyframes grow{0%{transform:scaleX(0)}}.module-bar:nth-child(3) .bar-track span,.module-bar:nth-child(5) .bar-track span{background:#7fa84c}.module-bar:nth-child(6) .bar-track span{background:var(--amber)}.module-bar small,.pill{color:var(--muted);font-size:9px}.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:20px;background:var(--surface-hover);font-weight:600;white-space:nowrap}.pill.green{color:var(--green-2);background:var(--mint)}.pill.amber{color:var(--amber);background:var(--amber-bg)}.pill.red{color:var(--red);background:var(--red-bg)}.pill.blue{color:var(--blue);background:var(--blue-bg)}.action-list{display:grid}.action-list>button{min-width:0;width:100%;display:flex;align-items:center;gap:10px;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.action-list>button>span:nth-child(2){min-width:0;flex:1 1}.action-list b,.action-list small{display:block}.action-list b{margin-bottom:3px;font-size:10px}.action-list small{max-width:100%;color:var(--muted);font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.load-error{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-color:#e6b1ac;background:var(--red-bg)}.load-error span{min-width:0;flex:1 1}.load-error b,.load-error small{display:block}.load-error small{margin-top:3px;color:var(--muted)}.action-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px}.action-icon.red{color:var(--red);background:var(--red-bg)}.action-icon.amber{color:var(--amber);background:var(--amber-bg)}.action-icon.blue{color:var(--blue);background:var(--blue-bg)}.action-icon.green{color:var(--green-2);background:var(--mint)}.next-panel{padding-bottom:8px}.table-wrap{width:100%;overflow-x:auto}.portfolio-filters{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.portfolio-filters label{min-width:220px;display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:9px;font-weight:600}.portfolio-filters select{width:100%;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--field)}.active-filter{gap:6px;padding:8px 10px;border:1px solid #e4b3ae;color:var(--red);background:var(--red-bg);cursor:pointer;font-size:9px}.active-filter,.service-health{display:inline-flex;align-items:center;border-radius:999px;font-weight:700}.service-health{gap:7px;padding:9px 12px;font-size:10px}.service-health.healthy{color:var(--green-2);background:var(--mint)}.service-health.degraded{color:var(--amber);background:var(--amber-bg)}.portfolio-table td{min-width:90px}.portfolio-table td:first-child{min-width:310px}.portfolio-table:focus{outline:3px solid rgba(36,116,101,.18);outline-offset:3px}.portfolio-object-links{display:grid;grid-gap:5px;gap:5px}.portfolio-object-links button{width:100%;min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) 14px;align-items:center;grid-gap:7px;gap:7px;padding:5px 6px;border:0;border-radius:7px;background:transparent;cursor:pointer;text-align:left}.portfolio-object-links button:focus-visible,.portfolio-object-links button:hover{background:var(--surface-subtle);outline:none}.portfolio-object-links button>svg{color:var(--green-2)}.portfolio-object-links button span{min-width:0}.portfolio-object-links b,.portfolio-object-links small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-object-links b{color:var(--ink);font-size:9px}.portfolio-object-links small{margin-top:2px;color:var(--muted);font-size:8px}.coverage-link,.status-filter-link,.table-attention-link,.table-value-link{border:0;background:transparent;cursor:pointer}.status-filter-link{padding:2px;border-radius:999px}.status-filter-link:focus-visible,.status-filter-link:hover{box-shadow:0 0 0 3px rgba(36,116,101,.14);outline:none}.table-value-link{display:inline-flex;align-items:center;gap:3px;padding:6px;border-radius:7px;color:var(--green-2)}.coverage-link:focus-visible,.coverage-link:hover,.table-value-link:focus-visible,.table-value-link:hover{background:var(--surface-subtle);outline:none}.coverage-link{min-width:100px;padding:6px;border-radius:7px;text-align:left}.coverage-link .progress{pointer-events:none}.table-attention-link{display:flex;align-items:center;gap:3px;padding:3px 0;text-align:left}.table-attention-link:focus-visible,.table-attention-link:hover{text-decoration:underline;outline:none}.cell-subtitle,.cell-warning{display:block;margin-top:4px;color:var(--muted);font-size:8px}.cell-warning{color:var(--red)}.portfolio-table .progress{min-width:90px;margin-top:6px}.portfolio-return{max-width:100%;display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:9px 12px;border:1px solid #b7d7ca;border-radius:9px;color:var(--green);background:var(--mint);cursor:pointer;text-align:left}.portfolio-return b,.portfolio-return small,.portfolio-return span{min-width:0;display:block}.portfolio-return b{font-size:10px}.portfolio-return small{margin-top:2px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.portfolio-return:focus-visible,.portfolio-return:hover{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(36,116,101,.12);outline:none}.checkbox-label{display:flex!important;align-items:center;gap:8px}.checkbox-label input{width:auto!important}table{width:100%;border-collapse:collapse;font-size:10px}th{padding:8px 10px;font-size:8px;font-weight:700;letter-spacing:.7px;text-align:left;text-transform:uppercase}td,th{color:var(--muted)}td{padding:12px 10px;border-top:1px solid var(--line)}td.strong{color:var(--ink);font-weight:600;white-space:nowrap}td.session-title{max-width:290px;color:var(--ink);font-weight:500}.program-summary{display:flex;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.program-summary div{flex:1 1;padding:15px 18px;border-right:1px solid var(--line)}.program-summary div:last-child{border:0}.program-summary small,.program-summary span{display:block}.program-summary span{font:700 17px Manrope}.program-summary small{margin-top:3px;color:var(--muted);font-size:9px}.toolbar{justify-content:space-between;gap:16px;margin-bottom:18px}.searchbox,.toolbar{display:flex;align-items:center}.searchbox{min-width:280px;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface-muted)}.searchbox:focus-within{border-color:#78a397;box-shadow:0 0 0 3px rgba(36,116,101,.1)}.searchbox input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.toolbar-meta{display:flex;align-items:center;gap:9px}.curriculum{border-top:1px solid var(--line)}.curriculum-item{border-bottom:1px solid var(--line)}.curriculum-item.expanded{background:var(--surface-muted)}.curriculum-main{width:100%;display:flex;align-items:center;gap:12px;padding:16px 8px;border:0;background:transparent;cursor:pointer;text-align:left}.drag{color:#aeb8b4;letter-spacing:-3px}.module-index{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;color:var(--green-2);background:var(--mint);font-size:9px;font-weight:700}.curriculum-copy{min-width:0;flex:1 1}.curriculum-copy b,.curriculum-copy small{display:block}.curriculum-copy b{font-size:11px}.curriculum-copy small{margin-top:3px;color:var(--muted);font-size:9px}.hours{font:700 11px Manrope}.course-list{padding:0 46px 16px 66px}.course-list>div{display:flex;align-items:center;gap:10px;padding:9px 0}.course-line{width:12px;height:1px;background:#aab8b3}.course-list>div>span:nth-child(2){flex:1 1}.course-list b,.course-list small{display:block}.course-list b{font-size:10px}.course-list small{margin-top:2px;color:var(--muted);font-size:8px}.add-course{display:flex;align-items:center;gap:5px;margin:8px 0 0 22px;border:0;background:transparent;color:var(--green-2);cursor:pointer;font-size:9px;font-weight:700}.create-program-panel,.programs-panel{margin-bottom:16px}.program-form{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(260px,1fr);grid-gap:14px;gap:14px}.login-card label,.program-form label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:10px;font-weight:600}.login-card input,.program-form input,.program-form textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;outline:none;color:var(--ink);background:var(--surface-muted);font:400 11px DM Sans}.login-card input:focus,.program-form input:focus,.program-form textarea:focus{border-color:#78a397;box-shadow:0 0 0 3px rgba(36,116,101,.1)}.program-form textarea{resize:vertical}.program-form .wide{grid-column:1/-1}.clone-source,.training-run-clone-panel{margin-bottom:16px}.clone-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.clone-source>span{min-width:0;padding:11px 12px;border:1px solid #b7d7ca;border-radius:9px;background:var(--mint)}.clone-source b,.clone-source small{display:block}.clone-source b{margin-top:4px;overflow:hidden;color:var(--ink);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.clone-source small{color:var(--muted);font-size:8px}.clone-target{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0;padding:13px;border:1px solid var(--line);border-radius:10px}.clone-target legend{padding:0 6px;color:var(--green-2);font:700 9px Manrope}.form-actions{display:flex;justify-content:flex-end;gap:9px}.form-actions.split-actions{display:grid;grid-template-columns:auto 1fr auto auto}.secondary-btn.danger-text{border-color:#efc8c8;color:var(--red)}.form-error{margin:0;color:var(--red);font-size:10px;font-weight:600}.program-records{border-top:1px solid var(--line)}.program-records article{display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;align-items:center;grid-gap:12px;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line)}.program-records article>span:nth-child(2) b,.program-records article>span:nth-child(2) small{display:block}.program-records article>span:nth-child(2) b{font-size:11px}.program-records article>span:nth-child(2) small{margin-top:3px;color:var(--muted);font-size:9px}.catalog-layout{grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);align-items:start}.catalog-layout,.catalog-main{display:grid;grid-gap:16px;gap:16px}.catalog-main{min-width:0}.program-picker{position:-webkit-sticky;position:sticky;top:82px;padding-bottom:10px}.program-picker .program-records{margin:0 -8px;border-top:1px solid var(--line)}.program-picker .program-records button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;grid-gap:10px;gap:10px;padding:12px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.program-picker .program-records button.selected,.program-picker .program-records button:hover{border-radius:9px;background:var(--surface-subtle)}.program-picker .program-records button.selected{box-shadow:inset 3px 0 var(--green-2)}.program-picker .program-records b,.program-picker .program-records small{display:block}.program-picker .program-records b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.program-picker .program-records small{margin-top:3px;color:var(--muted);font-size:8px}.version-header{display:flex;justify-content:space-between;gap:24px}.version-header h2{font-size:19px}.version-header>div:first-child>p:last-child{max-width:600px;margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.version-actions{display:flex;align-items:flex-end;gap:10px}.version-actions label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:9px;font-weight:600}.curriculum-form select,.status-select,.version-actions select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--field);font:500 10px DM Sans}.curriculum-editor{overflow:hidden}.curriculum-tree{display:grid;grid-gap:12px;gap:12px}.module-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}.course-row,.module-row,.unit-row{position:relative;display:flex;align-items:center;gap:10px}.course-row.drop-target-after:after,.course-row.drop-target-before:before,.module-row.drop-target-after:after,.module-row.drop-target-before:before,.unit-row.drop-target-after:after,.unit-row.drop-target-before:before{content:"";position:absolute;z-index:2;right:4px;left:4px;height:3px;border-radius:2px;background:var(--green-2);box-shadow:0 0 0 2px #fff}.course-row.drop-target-before:before,.module-row.drop-target-before:before,.unit-row.drop-target-before:before{top:-2px}.course-row.drop-target-after:after,.module-row.drop-target-after:after,.unit-row.drop-target-after:after{bottom:-2px}.module-row{padding:13px;background:var(--surface-subtle)}.course-tree{display:grid;grid-gap:9px;gap:9px;padding:11px 14px 14px 52px}.course-card{border-left:2px solid #b9cec7;padding-left:12px}.course-row{min-height:34px}.course-position{min-width:28px;color:var(--green-2);font-size:9px;font-weight:700}.row-actions{display:inline-flex;gap:3px}.drag-handle{color:var(--muted);cursor:-webkit-grab;cursor:grab}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.icon-btn:disabled{opacity:.45;cursor:wait}.icon-btn.danger{color:var(--red)}.unit-list{display:grid;grid-gap:5px;gap:5px;margin:7px 0 4px 38px}.unit-row{min-height:38px;padding:6px 8px;border-radius:8px;background:var(--field)}.unit-type{min-width:58px;padding:3px 6px;border-radius:12px;color:var(--green-2);background:var(--mint);font-size:8px;font-weight:700;text-align:center}.curriculum-form{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(180px,1fr) minmax(120px,.5fr);grid-gap:10px;gap:10px;margin:10px 0 16px;padding:14px;border:1px dashed #9bb8af;border-radius:10px;background:var(--surface-muted)}.curriculum-form label{display:grid;grid-gap:5px;gap:5px;color:var(--ink);font-size:9px;font-weight:600}.curriculum-form input,.curriculum-form select,.curriculum-form textarea{width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--field);font:400 10px DM Sans}.curriculum-form input:focus,.curriculum-form select:focus,.curriculum-form textarea:focus{border-color:#78a397;box-shadow:0 0 0 3px rgba(36,116,101,.1)}.curriculum-form .wide{grid-column:1/-1}.duration-inputs{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;grid-gap:5px;gap:5px}.duration-inputs span{color:var(--muted);font-size:8px}.empty-state.compact{padding:28px 12px}.runs-panel{margin-top:0}.run-form{margin-bottom:18px;padding:14px;border:1px dashed #9bb8af;border-radius:10px;background:var(--surface-muted)}.run-list{display:grid;border-top:1px solid var(--line)}.run-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}.run-list b,.run-list small{display:block}.run-list b{font-size:10px}.run-list small{margin-top:3px;color:var(--muted);font-size:8px}.section-separator{display:flex;align-items:center;gap:12px;margin:26px 0 14px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.section-separator:after,.section-separator:before{content:"";height:1px;flex:1 1;background:var(--line)}.login-page{min-height:100vh;max-width:none;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(440px,1.1fr);padding:0;background:var(--canvas)}.login-brand{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:70px clamp(40px,7vw,110px);color:#eef8f4;background:var(--green)}.brand-mark.large{width:54px;height:54px;margin-bottom:36px;font-size:26px}.login-brand .eyebrow{color:var(--lime)}.login-brand h1{max-width:600px;color:#fff;font-size:clamp(32px,4vw,54px);line-height:1.08;letter-spacing:-1.8px}.login-brand>p:not(.eyebrow){max-width:520px;margin:18px 0 34px;color:#bcd1cb;font-size:14px;line-height:1.7}.login-assurance{display:flex;align-items:center;gap:12px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.login-assurance svg{color:var(--lime)}.login-assurance b,.login-assurance small{display:block}.login-assurance b{font-size:11px}.login-assurance small{margin-top:3px;color:#9ebbb3;font-size:9px}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(390px,100%);padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.login-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:18px;border-radius:12px;color:var(--green);background:var(--mint)}.login-card h2{margin:0;font:700 23px Manrope}.login-card>p{margin:7px 0 24px;color:var(--muted);font-size:11px}.login-card form{display:grid;grid-gap:15px;gap:15px}.login-mode-button{justify-self:center;display:inline-flex;align-items:center;gap:5px}.login-success{margin:0;padding:10px;border-radius:8px;color:var(--green-2);background:var(--mint);font-size:10px;line-height:1.5}.login-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin-top:12px;text-decoration:none}.full-btn{width:100%;margin-top:5px}.login-hint{display:block;margin-top:18px;color:var(--muted);font-size:9px;line-height:1.5;text-align:center}.segmented{display:inline-flex;padding:3px;border-radius:9px;background:var(--surface-hover)}.segmented button{padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:9px;font-weight:600}.segmented button.active{color:var(--ink);background:var(--field);box-shadow:0 2px 8px rgba(20,50,45,.08)}.select-label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600}.week-strip{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;padding:13px 0 18px;border-top:1px solid var(--line)}.week-strip button{padding:9px;border:1px solid transparent;border-radius:9px;background:var(--surface-muted);cursor:pointer}.week-strip button.selected{border-color:var(--green);color:#fff;background:var(--green)}.week-strip b,.week-strip small{display:block}.week-strip small{font-size:8px}.week-strip b{margin-top:2px;font-size:12px}.schedule-context{display:flex;align-items:center;gap:18px;margin-bottom:16px}.schedule-context label{min-width:280px;display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:9px;font-weight:600}.schedule-context select,.session-form input,.session-form select,.session-form textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--field);font:400 10px DM Sans}.schedule-context>div b,.schedule-context>div small{display:block}.schedule-context>div b{font-size:11px}.schedule-context>div small{margin-top:4px;color:var(--muted);font-size:9px}.session-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));grid-gap:12px;gap:12px}.session-form label{display:grid;align-content:start;grid-gap:5px;gap:5px;color:var(--ink);font-size:9px;font-weight:600}.session-form input:focus,.session-form select:focus,.session-form textarea:focus{border-color:#78a397;box-shadow:0 0 0 3px rgba(36,116,101,.1)}.session-form .wide{grid-column:1/-1}.session-editor-overlay{position:fixed;inset:0;z-index:55;display:flex;justify-content:flex-end;background:rgba(6,24,20,.46)}.session-editor-drawer{width:min(620px,calc(100vw - 48px));height:100dvh;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line);color:var(--ink);background:var(--paper);box-shadow:-18px 0 45px rgba(6,24,20,.2);animation:drawer-in .2s ease both}.session-editor-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 20px;border-bottom:1px solid var(--line);background:var(--paper)}.session-editor-header h2{margin:0;font:700 20px/1.25 Manrope}.session-editor-header .eyebrow{margin-bottom:5px}.session-editor-header>div{min-width:0}.session-editor-header>div>p:last-child{display:grid;grid-gap:3px;gap:3px;margin:10px 0 0;color:var(--muted);font-size:10px}.session-editor-header>div>p:last-child b{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.session-editor-header .icon-btn{flex:0 0 auto}.session-editor-body{min-height:0;flex:1 1;overflow-y:auto;padding:22px 26px 28px;overscroll-behavior:contain}.session-editor-help{margin:0 0 18px;padding:10px 12px;border-radius:8px;color:var(--muted);background:var(--surface-subtle);font-size:9px;line-height:1.5}.session-editor-drawer .session-form{grid-template-columns:repeat(2,minmax(0,1fr))}.session-editor-drawer .form-actions{position:-webkit-sticky;position:sticky;bottom:-28px;margin:8px -26px -28px;padding:16px 26px 20px;border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -10px 22px rgba(6,24,20,.06)}@keyframes drawer-in{0%{opacity:.7;transform:translateX(28px)}}.conflict-panel,.schedule-metrics{margin-bottom:16px}.conflict-panel{border-color:#edcaca}.conflict-list{display:grid;grid-gap:8px;gap:8px}.conflict-list>div{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:var(--red);background:var(--red-bg)}.conflict-list b,.conflict-list small{display:block}.conflict-list b{font-size:10px}.conflict-list small{margin-top:3px;color:var(--red);font-size:8px}.view-switch button{display:inline-flex;align-items:center;gap:5px}.schedule-table-wrap{overflow-x:auto}.schedule-table td b,.schedule-table td small{display:block}.schedule-table td small{margin-top:3px;color:var(--muted);font-size:8px}.schedule-table td svg{margin-right:4px;vertical-align:-2px}.schedule-table tr.has-conflict{background:var(--red-bg)}.schedule-table tr.has-conflict td:first-child{box-shadow:inset 3px 0 #de815d}.schedule-assignments{display:grid;grid-gap:5px;gap:5px}.schedule-assignments>span{display:block}.inline-assignment-cell{min-width:245px}.inline-primary-select{width:100%;max-width:280px}.status-select:disabled{cursor:not-allowed;opacity:.65}.inline-save-state{color:var(--green-2)!important;font-weight:700}.inline-save-error{max-width:260px;color:var(--red)!important;line-height:1.35}.inline-conflict-warning{display:grid;grid-gap:6px;gap:6px;margin-top:8px;padding:9px;border:1px solid #e5b18f;border-radius:8px;color:var(--red);background:var(--red-bg)}.inline-conflict-warning b{display:flex!important;align-items:center;gap:4px;font-size:8px}.inline-conflict-warning small{margin:0!important;color:var(--red)!important;line-height:1.4}.inline-conflict-warning>div{display:flex;align-items:center;justify-content:flex-end;gap:6px}.inline-conflict-warning .secondary-btn,.inline-conflict-warning .text-btn{min-height:28px;padding:5px 8px;font-size:8px}.calendar-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 0;border-top:1px solid var(--line)}.calendar-period-toolbar h3,.calendar-period-toolbar small{display:block;margin:0}.calendar-period-toolbar small{color:var(--muted);font-size:8px;font-weight:600;text-transform:uppercase}.calendar-period-toolbar h3{margin-top:3px;font:700 13px Manrope}.calendar-navigation{display:flex;align-items:center;gap:6px}.calendar-navigation .secondary-btn{display:inline-flex;align-items:center;gap:6px}.calendar-grid{display:grid;grid-gap:7px;gap:7px;padding-top:12px;border-top:1px solid var(--line)}.calendar-grid.week{grid-template-columns:repeat(7,minmax(100px,1fr));overflow-x:auto}.calendar-grid.month{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.calendar-day{min-height:125px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface-muted)}.calendar-day.outside-period{opacity:.55;background:var(--surface-muted)}.calendar-day.today{border-color:var(--green-2);box-shadow:inset 0 0 0 1px var(--green-2)}.calendar-day.today>header{background:var(--mint)}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface-subtle);font-size:8px;text-transform:capitalize}.calendar-day>header span{color:var(--ink);font-size:11px;font-weight:700}.calendar-day>div{display:grid;grid-gap:4px;gap:4px;padding:5px}.calendar-empty{display:block;padding:6px 2px;color:var(--muted);font-size:7px}.calendar-event{display:grid;grid-gap:2px;gap:2px;padding:6px;border-left:3px solid var(--green-2);border-radius:6px;background:var(--mint)}.calendar-day button.calendar-event{width:100%;border-top:0;border-right:0;border-bottom:0;cursor:pointer;text-align:left}.calendar-day button.calendar-event:hover{filter:brightness(.94)}.calendar-event.conflict{border-left-color:var(--red);background:var(--red-bg)}.calendar-event small{color:var(--muted);font-size:7px}.calendar-event b{overflow:hidden;font-size:8px;line-height:1.25;text-overflow:ellipsis}.calendar-event span{color:var(--green-2);font-size:7px}.calendar-period-empty{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:9px;color:var(--green-2);background:var(--surface-subtle)}.calendar-period-empty b,.calendar-period-empty small{display:block}.calendar-period-empty b{color:var(--ink);font-size:9px}.calendar-period-empty small{margin-top:3px;color:var(--muted);font-size:8px}.coverage-detail{margin-top:16px}.empty-state{display:grid;place-items:center;grid-gap:7px;gap:7px;padding:50px;color:var(--muted)}.empty-state b{color:var(--ink);font-size:12px}.empty-state small{font-size:10px}.operational-empty .primary-btn{margin-top:6px}.people-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}.people-context-copy{min-width:0;display:flex;align-items:center;gap:10px;color:var(--green-2)}.people-context-copy span{min-width:0}.people-context-copy b,.people-context-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-context-copy b{color:var(--ink);font-size:10px}.people-context-copy small{margin-bottom:3px;color:var(--muted);font-size:8px}.people-scope-switch{flex:0 0 auto}.instructor-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.instructor-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(360px,.82fr);grid-gap:16px;gap:16px;align-items:start}.instructor-list{border-top:1px solid var(--line)}.instructor-row{width:100%;display:grid;grid-template-columns:38px minmax(160px,1.5fr) .45fr .55fr minmax(130px,.8fr) 20px;align-items:center;grid-gap:13px;gap:13px;padding:13px 6px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.instructor-row.selected,.instructor-row:hover{background:var(--surface-subtle)}.instructor-row.selected{box-shadow:inset 3px 0 var(--green-2)}.person-avatar{width:34px;height:34px;font-size:9px}.person-avatar.large{width:44px;height:44px;font-size:11px}.person-avatar.small{width:30px;height:30px;background:var(--lime);color:var(--green)}.person-main b,.person-main small,.person-stat b,.person-stat small{display:block}.person-main b,.person-stat b{font-size:10px}.person-main small,.person-stat small{margin-top:3px;color:var(--muted);font-size:8px}.onboarding>span{display:flex;justify-content:space-between;margin-bottom:5px;font-size:8px}.onboarding b{font-size:8px}.instructor-detail{position:-webkit-sticky;position:sticky;top:82px}.context-return{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 16px;padding:11px 12px;border:1px solid #b7d7ca;border-radius:9px;color:var(--green-2);background:var(--mint)}.context-return>span{min-width:0;display:flex;align-items:center;gap:9px}.context-return b,.context-return small{display:block}.context-return b{color:var(--ink);font-size:9px}.context-return small{margin-top:3px;color:var(--muted);font-size:8px}.context-return button{flex:0 0 auto}.detail-identity{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.detail-identity h2,.detail-identity p{margin:0}.detail-identity p{margin-top:4px;color:var(--muted);font-size:9px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0;border:1px solid var(--line);border-radius:9px}.detail-stats span{padding:10px;border-right:1px solid var(--line)}.detail-stats span:last-child{border-right:0}.detail-stats b,.detail-stats small{display:block}.detail-stats b{font:700 12px Manrope}.detail-stats small{margin-top:3px;color:var(--muted);font-size:8px}.profile-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.profile-form label{display:grid;grid-gap:5px;gap:5px;color:var(--ink);font-size:9px;font-weight:600}.profile-form input,.profile-form select,.profile-form textarea{width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--field);font:400 10px DM Sans}.profile-form input:focus,.profile-form select:focus,.profile-form textarea:focus{border-color:#78a397;box-shadow:0 0 0 3px rgba(36,116,101,.1)}.profile-form .wide{grid-column:1/-1}.compact-form{margin-bottom:18px}.detail-section{padding-top:18px;border-top:1px solid var(--line)}.detail-section+.detail-section{margin-top:18px}.detail-section .panel-head{margin-bottom:10px}.assignment-list,.checklist{display:grid}.assignment-list>div,.checklist>div{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.assignment-list>div>span,.checklist>div>span{min-width:0;flex:1 1}.assignment-list b,.assignment-list small,.checklist b,.checklist small{display:block}.assignment-list b,.checklist b{font-size:9px}.assignment-list small,.checklist small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.assignment-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.assignment-actions label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:8px;font-weight:600}.assignment-actions .status-select{max-width:190px}.assignment-actions .small-btn:disabled{cursor:not-allowed;opacity:.55}.checklist{margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:9px}.checklist>header{height:auto;position:static;display:flex;padding:0 0 7px;border:0;background:transparent}.checklist>div.overdue{margin:0 -6px;padding:9px 6px;color:var(--red);background:var(--red-bg)}.checklist>div.overdue small{color:var(--red)}.detail-empty{margin:8px 0;color:var(--muted);font-size:9px}.import-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);grid-gap:16px;gap:16px;margin-bottom:16px}.import-panel{min-width:0}.dropzone{min-height:150px;display:grid;place-items:center;align-content:center;grid-gap:7px;gap:7px;padding:22px;border:1px dashed #87aa9f;border-radius:11px;color:var(--green-2);background:var(--surface-muted);cursor:pointer;text-align:center}.dropzone:hover{border-color:var(--green-2);background:var(--surface-subtle)}.dropzone input{width:1px;height:1px;position:absolute;opacity:0}.dropzone b{color:var(--ink);font-size:11px}.dropzone small{color:var(--muted);font-size:9px}.import-error{margin-top:12px}.primary-btn:disabled,.secondary-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.reconciliation{margin-bottom:16px}.reconciliation-cards{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:18px;border:1px solid var(--line);border-radius:10px}.reconciliation-cards span{padding:12px;border-right:1px solid var(--line)}.reconciliation-cards span:last-child{border-right:0}.reconciliation-cards b,.reconciliation-cards small{display:block}.reconciliation-cards b{font:700 13px Manrope}.reconciliation-cards small{margin-top:3px;color:var(--muted);font-size:8px}.issue-table-wrap{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:9px}.issue-table-wrap th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-subtle)}.import-success{display:flex;align-items:center;gap:11px;margin-top:16px;padding:13px;border-radius:10px;color:var(--green-2);background:var(--mint)}.import-success span{min-width:0;flex:1 1}.import-success b,.import-success small{display:block}.import-success b{font-size:10px}.import-success small{margin-top:3px;font-size:8px}.import-records{display:grid;border-top:1px solid var(--line)}.import-records article{display:grid;grid-template-columns:32px minmax(0,1fr) 70px auto auto;align-items:center;grid-gap:11px;gap:11px;padding:11px 3px;border-bottom:1px solid var(--line)}.import-records b,.import-records small{display:block}.import-records b{font-size:9px}.import-records small{margin-top:3px;color:var(--muted);font-size:8px}.placeholder{max-width:620px;margin:70px auto;display:grid;place-items:center;text-align:center;padding:60px 30px}.placeholder-icon{width:60px;height:60px;display:grid;place-items:center;margin-bottom:15px;border-radius:18px;color:var(--green);background:var(--mint)}.placeholder h1{font-size:24px}.placeholder p{margin:9px 0 20px;color:var(--muted);font-size:12px}.toast{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:10px;background:#152d28;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:11px;animation:toast .2s ease both}@keyframes toast{0%{transform:translateY(8px);opacity:0}}.scrim{display:none}.portal-shell{min-height:100vh;background:var(--canvas)}.portal-header{height:68px;position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px) / 2));border-bottom:1px solid var(--line);background:var(--portal-header)}.portal-brand,.portal-user{display:flex;align-items:center;gap:11px}.portal-brand span:last-child,.portal-user span{display:grid;grid-gap:2px;gap:2px}.portal-brand b,.portal-user b{font-size:10px}.portal-brand small,.portal-user small{color:var(--muted);font-size:8px}.portal-user{text-align:right}.portal-main{max-width:1240px;margin:auto;padding:38px 24px 60px}.portal-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);grid-gap:16px;gap:16px;align-items:start}.portal-wide{min-width:0}.portal-session-list{display:grid}.portal-session{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-gap:14px;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.portal-date{width:46px;height:51px;display:grid;place-items:center;align-content:center;border-radius:10px;color:var(--green);background:var(--mint)}.portal-date b{font:700 17px Manrope}.portal-date small{color:var(--green-2);font-size:8px;text-transform:uppercase}.portal-session-copy h3{margin:7px 0 4px;font:700 11px Manrope}.portal-session-copy p{margin:0;color:var(--muted);font-size:9px}.portal-session-copy>small{display:flex;align-items:center;gap:4px;margin-top:7px;color:var(--muted);font-size:8px}.portal-status{width:max-content;padding:3px 7px;border-radius:99px;color:var(--muted);background:var(--surface-hover);font-size:7px;font-style:normal;font-weight:700}.portal-status.proposed{color:var(--amber);background:var(--amber-bg)}.portal-status.accepted,.portal-status.confirmed{color:var(--green-2);background:var(--mint)}.portal-status.declined{color:var(--red);background:var(--red-bg)}.portal-session-actions{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.small-btn{min-height:30px;padding:6px 9px;font-size:8px}.file-btn{position:relative;cursor:pointer}.file-btn input{width:1px;height:1px;position:absolute;opacity:0}.material-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.material-links a{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:6px;color:var(--green-2);background:var(--surface-subtle);font-size:8px;text-decoration:none}.portal-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.portal-form label{display:grid;grid-gap:5px;gap:5px;font-size:8px;font-weight:600}.portal-form input,.portal-form select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--field);font:400 9px DM Sans}.portal-form button{grid-column:1/-1}.availability-list,.notification-list{display:grid;margin-top:12px}.availability-list>div{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.availability-list span{min-width:0;flex:1 1}.availability-list b,.availability-list small{display:block}.availability-list b{font-size:8px}.availability-list small{margin-top:3px;color:var(--muted);font-size:7px}.notification-list button{display:flex;gap:8px;padding:10px 3px;border:0;border-top:1px solid var(--line);color:var(--muted);background:transparent;cursor:pointer;text-align:left}.notification-list button.unread{color:var(--green-2);background:var(--surface-muted)}.notification-list span{display:grid;grid-gap:3px;gap:3px}.notification-list b{color:var(--ink);font-size:8px}.notification-list small{font-size:8px;line-height:1.35}.notification-list em{color:var(--muted);font-size:7px;font-style:normal}.invitation-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--invitation-bg)}.invitation-card{width:min(460px,100%)}.invitation-card h1{margin:4px 0 10px;font-size:25px}.invitation-card>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.invitation-card form label{display:grid;grid-gap:6px;gap:6px;margin-top:12px;font-size:9px;font-weight:600}.invitation-card form input{padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--field)}.account-access{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:11px;border-radius:9px;background:var(--surface-subtle)}.account-access b,.account-access small{display:block}.account-access b{font-size:9px}.account-access small{margin-top:3px;color:var(--muted);font-size:8px}.invitation-link{display:grid;grid-gap:5px;gap:5px;margin:-4px 0 14px}.invitation-link small{color:var(--muted);font-size:8px}.invitation-link input{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--green-2);background:var(--field);font-size:8px}.learner-shell{background:var(--canvas)}.learner-row{grid-template-columns:38px minmax(160px,1.5fr) .45fr .55fr minmax(80px,.6fr) 20px}.inline-enrollment{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;margin-bottom:8px}.inline-enrollment select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--field);font-size:9px}.attendance-admin{max-height:420px;overflow:auto;display:grid}.attendance-admin>div{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}.attendance-admin>div>span{min-width:0;flex:1 1}.attendance-admin b,.attendance-admin small{display:block}.attendance-admin b{font-size:8px}.attendance-admin small{margin-top:3px;color:var(--muted);font-size:7px}.attendance-badge{align-self:start;padding:4px 7px;border-radius:99px;color:var(--muted);background:var(--surface-hover);font-size:7px;font-weight:700}.attendance-badge.present,.attendance-badge.remote{color:var(--green-2);background:var(--mint)}.attendance-badge.absent{color:var(--red);background:var(--red-bg)}.attendance-badge.excused{color:var(--amber);background:var(--amber-bg)}.learner-enrollments{display:grid;grid-gap:8px;gap:8px}.learner-enrollments section{display:grid;grid-gap:5px;gap:5px;padding:10px;border:1px solid var(--line);border-radius:8px}.learner-enrollments b{font-size:9px}.learner-enrollments small{color:var(--muted);font-size:7px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.resource-grid a{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;grid-gap:9px;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px;color:var(--green-2);text-decoration:none}.resource-grid a:hover{border-color:#87aa9f;background:var(--surface-muted)}.resource-grid span{min-width:0}.resource-grid b,.resource-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-grid b{color:var(--ink);font-size:8px}.resource-grid small{margin-top:3px;color:var(--muted);font-size:7px}.attendance-history{display:grid}.attendance-history>div{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--green-2)}.attendance-history span{min-width:0}.attendance-history b,.attendance-history small{display:block}.attendance-history b{color:var(--ink);font-size:8px}.attendance-history small{margin-top:3px;color:var(--muted);font-size:7px}.assessment-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);grid-gap:16px;gap:16px;align-items:start}.assessment-layout>*{min-width:0}.assessment-form{padding-bottom:16px;border-bottom:1px solid var(--line)}.checkbox-field{display:flex!important;align-items:center;grid-template-columns:auto 1fr}.checkbox-field input{width:auto}.assessment-list{display:grid;margin-top:12px}.assessment-list>button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.assessment-list>button.selected{border-radius:8px;background:var(--surface-subtle)}.assessment-list span,.result-learner{min-width:0;flex:1 1}.assessment-list b,.assessment-list small,.result-learner b,.result-learner small{display:block}.assessment-list b,.result-learner b{font-size:9px}.assessment-list small,.result-learner small{margin-top:3px;color:var(--muted);font-size:7px}.assessment-results{display:grid;overflow-x:auto}.assessment-results>section{display:grid;grid-template-columns:minmax(135px,1fr) 90px 72px minmax(130px,1fr) auto;align-items:center;grid-gap:7px;gap:7px;padding:9px 0;border-bottom:1px solid var(--line)}.assessment-results input,.assessment-results select{min-width:0;padding:7px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--field);font-size:8px}.certification-board{margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.certification-board>section{display:grid;grid-template-columns:minmax(150px,1fr) auto 82px;align-items:center;grid-gap:9px;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.certification-board span b,.certification-board span small{display:block}.certification-board span b{font-size:8px}.certification-board span small{margin-top:3px;color:var(--muted);font-size:7px}.certification-board a{text-decoration:none}.certificate-actions{display:flex;align-items:center;gap:7px}.text-btn.danger{color:var(--red)}.learner-results{display:grid}.learner-results>section{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.learner-results span{min-width:0}.learner-results b,.learner-results em,.learner-results small{display:block}.learner-results b{font-size:9px}.learner-results small{margin-top:4px;color:var(--muted);font-size:7px}.learner-results em{margin-top:5px;color:var(--green-2);font-size:8px;font-style:normal}.learner-results strong{color:var(--green-2);font:700 14px Manrope;white-space:nowrap}.certificate-list{display:grid}.certificate-list a{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;grid-gap:8px;gap:8px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--green-2);text-decoration:none}.certificate-list b,.certificate-list small{display:block}.certificate-list b{color:var(--ink);font-size:8px}.certificate-list small{margin-top:3px;color:var(--muted);font-size:7px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:16px;align-items:start}.settings-grid>*{min-width:0}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 14px}.settings-section-head h2{margin:0;font:700 20px Manrope}.member-invite-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;grid-gap:9px;gap:9px;margin-bottom:16px;padding:13px;border-radius:10px;background:var(--surface-subtle)}.member-invite-form label{display:grid;grid-gap:5px;gap:5px;font-size:8px;font-weight:600}.member-invite-form input,.member-invite-form select{min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--field);font-size:9px}.member-table-wrap{overflow-x:auto}.member-table-wrap td{min-width:120px}.pending-invitations{margin-top:20px}.pending-invitations h3{margin:0 0 6px;font:700 11px Manrope}.pending-invitations section{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.pending-invitations section span{min-width:0;flex:1 1}.pending-invitations b,.pending-invitations small{display:block}.pending-invitations b{font-size:9px}.pending-invitations small{margin-top:3px;color:var(--muted);font-size:7px}.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.operations-grid span{padding:12px;border:1px solid var(--line);border-radius:9px}.operations-grid b,.operations-grid small{display:block}.operations-grid b{font:700 11px Manrope;overflow-wrap:anywhere}.operations-grid small{margin-top:4px;color:var(--muted);font-size:7px}.ops-command{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px;border-radius:8px;color:#d7ece5;background:#123d36}.ops-command code{font-size:9px}.ops-command small{color:#9ebbb3;font-size:7px}.audit-list{max-height:310px;overflow-y:auto;display:grid}.audit-list section{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}.audit-list section>span:last-child{min-width:0}.audit-list b,.audit-list small{display:block}.audit-list b{font-size:8px}.audit-list small{margin-top:3px;color:var(--muted);font-size:7px}.email-operations{margin-top:16px}.email-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.email-failures{margin-top:18px}.email-failures h3{margin:0 0 6px;font:700 11px Manrope}.email-failures section{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.email-failures section>span{min-width:0;flex:1 1}.email-failures b,.email-failures small{display:block;overflow-wrap:anywhere}.email-failures b{font-size:9px}.email-failures small{margin-top:3px;color:var(--muted);font-size:7px}.email-failures button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.help-grid article{min-width:0}.help-grid h2{margin-top:14px}.help-grid p,.help-reference p{color:var(--muted);font-size:11px;line-height:1.6}.help-actions{display:flex;gap:16px}.help-reference{display:flex;align-items:center;justify-content:space-between;gap:20px}.help-reference code{padding:10px 12px;border-radius:8px;color:#d7ece5;background:#123d36;white-space:nowrap}@media (max-width:1050px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.instructor-row{grid-template-columns:38px minmax(150px,1fr) .4fr .5fr 150px 20px}.catalog-layout,.import-layout,.instructor-layout{grid-template-columns:1fr}.instructor-detail,.program-picker{position:static}.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-layout,.portal-grid{grid-template-columns:1fr}.member-invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}.member-invite-form button{width:100%}}@media (max-width:760px){.login-page{grid-template-columns:1fr}.login-brand{min-height:auto;padding:36px 24px}.login-brand h1{font-size:32px}.login-assurance,.login-brand>p:not(.eyebrow):not(.product-promise){display:none}.brand-mark.large{width:42px;height:42px;margin-bottom:24px;font-size:21px}.login-panel{padding:28px 18px 44px}.login-card{padding:24px}.sidebar{transform:translateX(-100%);transition:transform .22s ease}.sidebar.open{transform:translateX(0)}.menu-btn,.mobile-close{display:inline-grid;place-items:center;cursor:pointer}.scrim{display:block;position:fixed;inset:0;z-index:25;border:0;background:rgba(6,24,20,.38)}.main-area{width:100%;margin-left:0}header{padding:0 18px}.menu-btn{margin-right:12px}.breadcrumb{min-width:0;flex:1 1}.breadcrumb b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb span,.breadcrumb svg{display:none}.mobile-run-picker{width:min(42vw,190px);display:grid;grid-gap:2px;gap:2px;color:var(--muted);font-size:8px;font-weight:700}.mobile-run-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-run-picker select{width:100%;min-width:0;padding:5px 22px 5px 7px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--field);font:600 9px DM Sans}.header-actions .header-avatar{display:none}main{padding:26px 18px 44px}.portfolio-filters{align-items:stretch;flex-direction:column}.portfolio-filters .active-filter,.portfolio-filters .secondary-btn,.portfolio-filters label{width:100%;min-width:0}.hero-row{align-items:flex-start;flex-direction:column}.hero-row .primary-btn,.hero-row .secondary-btn{width:100%}.hero-actions{width:100%;display:grid;grid-template-columns:1fr}h1{font-size:25px}.instructor-metrics,.metrics{grid-template-columns:1fr}.metric-card{min-height:135px}.panel{padding:17px}.panel-head{align-items:flex-start}.panel-head .text-btn{display:none}.program-summary{display:grid;grid-template-columns:1fr 1fr}.program-summary div{border-bottom:1px solid var(--line)}.program-summary div:nth-child(2){border-right:0}.program-summary div:nth-child(3),.program-summary div:nth-child(4){border-bottom:0}.planning-toolbar,.toolbar{align-items:stretch;flex-direction:column}.searchbox{min-width:0;width:100%}.toolbar-meta{justify-content:space-between}.toolbar-meta .pill{display:none}.segmented{overflow-x:auto}.segmented button{white-space:nowrap}.people-context{align-items:stretch;flex-direction:column}.people-scope-switch{width:100%;display:grid;grid-template-columns:1fr}.context-return{align-items:stretch;flex-direction:column}.context-return button{width:100%}.week-strip{gap:4px}.week-strip button{padding:8px 3px}.schedule-context{align-items:stretch;flex-direction:column}.schedule-context label{min-width:0}.session-form{grid-template-columns:1fr}.session-form .wide{grid-column:auto}.session-editor-drawer{width:100vw;border-left:0}.session-editor-header{padding:20px 18px 16px}.session-editor-body{padding:18px 18px 24px}.session-editor-drawer .session-form{grid-template-columns:1fr}.session-editor-drawer .form-actions{bottom:-24px;margin:8px -18px -24px;padding:14px 18px 18px}.calendar-period-toolbar{align-items:stretch;flex-direction:column}.calendar-navigation{justify-content:space-between}.calendar-grid.month{grid-template-columns:repeat(7,130px)}.calendar-grid.week{grid-template-columns:repeat(7,150px)}.curriculum-main{gap:8px}.drag{display:none}.hours{margin-left:auto}.course-list{padding-left:45px;padding-right:8px}.program-form{grid-template-columns:1fr}.program-form .wide{grid-column:auto}.clone-source,.clone-target{grid-template-columns:1fr}.version-actions,.version-header{align-items:stretch;flex-direction:column}.version-actions,.version-actions .primary-btn,.version-actions .secondary-btn{width:100%}.course-tree{padding-left:14px}.unit-list{margin-left:0}.unit-row{align-items:flex-start;flex-wrap:wrap}.unit-row .curriculum-copy{min-width:calc(100% - 80px)}.curriculum-form{grid-template-columns:1fr}.curriculum-form .wide{grid-column:auto}.instructor-row{grid-template-columns:36px minmax(0,1fr) 20px}.onboarding,.person-stat{display:none}.profile-form{grid-template-columns:1fr}.profile-form .wide{grid-column:auto}.reconciliation-cards{grid-template-columns:repeat(2,1fr)}.reconciliation-cards span{border-bottom:1px solid var(--line)}.portal-header{padding:0 16px}.portal-main{padding:26px 16px 44px}.portal-user span{display:none}.portal-metrics{grid-template-columns:1fr}.portal-session{grid-template-columns:40px minmax(0,1fr)}.portal-session-actions{grid-column:2;align-items:stretch;flex-direction:row;flex-wrap:wrap}.portal-form{grid-template-columns:1fr}.portal-form button{grid-column:auto}.resource-grid{grid-template-columns:1fr}.assessment-results>section{min-width:670px}.help-grid,.member-invite-form,.settings-grid{grid-template-columns:1fr}.help-reference{align-items:stretch;flex-direction:column}.help-reference code{overflow-x:auto;white-space:nowrap}.import-success{align-items:flex-start;flex-wrap:wrap}.import-success .secondary-btn{width:100%}td{min-width:110px}td.session-title{min-width:220px}}@media (prefers-reduced-motion:reduce){.session-editor-drawer{animation:none}}