:root{--ink:#101828;--muted:#667085;--paper:#f7f9fc;--card:#fff;--line:#e4e7ec;--green:#155eef;--lime:#ffd400;--gold:#f5b800;--red:#d92d20;--navy:#071b44;--blue:#155eef;--blue-soft:#eff4ff;--shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04)}
[hidden]{display:none!important}
*{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
body{grid-template-columns:270px minmax(0,1fr);background:var(--paper);color:var(--ink);font-size:14px}
aside#sidebar{background:var(--navy);border:0;color:#fff;padding:22px 16px;z-index:30;transition:width .2s ease,transform .2s ease}
.brand{min-height:132px;display:flex!important;align-items:center!important;justify-content:center;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-logo-frame{width:218px!important;height:120px!important;border-radius:10px!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.brand-logo{width:162px!important;height:162px!important;object-fit:contain!important;object-position:center!important;display:block!important;flex:none}
nav{margin-top:24px!important;display:grid;gap:4px!important;overflow:auto;padding-bottom:18px}
.nav-label{margin:18px 12px 7px;color:#8293b7;font-size:10px;font-weight:700;letter-spacing:.12em}
nav button{display:flex;align-items:center;gap:11px;color:#c7d2e8!important;background:transparent!important;border-radius:8px!important;padding:10px 12px!important;font-weight:500;min-height:42px}
nav button i{width:22px;height:22px;display:grid;place-items:center;font-style:normal;font-size:17px;color:#93a5c8}
nav button:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
nav button.active{background:var(--blue)!important;color:#fff!important;box-shadow:none!important}
nav button.active i{color:var(--lime)}
.aside-foot{display:flex;align-items:center;gap:10px;padding:14px 10px;border-top:1px solid rgba(255,255,255,.1);color:#fff!important}.aside-foot small{color:#91a3c6!important}.status-dot{width:9px;height:9px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.16)}
main{padding:0 32px 44px;min-width:0}
#app,.panel,.team-layout,.application-detail,.processing-workspace,.department-grid,.operations-grid,.finder-layout,.results,.my-student-list{min-width:0;max-width:100%}
main>header{height:76px;margin:0 -32px 30px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:20}
.menu-toggle{display:none;width:40px;height:40px;padding:0;background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.global-search{display:flex;align-items:center;gap:10px;width:min(480px,45vw);color:#98a2b3;font-size:18px}.global-search input{border:0;background:transparent;padding:10px 0;font-size:14px;outline:0!important}.global-search kbd{font:11px/1 "Helvetica Neue",sans-serif;color:#667085;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:6px;padding:6px 7px;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.header-icon{position:relative;width:40px;height:40px;padding:0;border-radius:50%;background:#fff!important;border-color:var(--line)!important;color:#475467!important}.notification-dot{position:absolute;right:8px;top:7px;width:7px;height:7px;background:#f04438;border:2px solid #fff;border-radius:50%}.user-chip{display:flex;align-items:center;gap:9px}.user-chip .avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:var(--lime);font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:11px;margin-top:1px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:30px;line-height:1.2}.page-subtitle{color:var(--muted);margin:7px 0 0}.eyebrow{color:var(--blue);font-size:10px;letter-spacing:.12em}.primary{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;font-weight:650;box-shadow:0 1px 2px rgba(16,24,40,.08)}.primary:hover{background:#004eeb!important}.page-heading>.primary{padding:11px 17px}.page-heading>.primary span{color:var(--lime);font-weight:800}
h1,h2,.metric strong,.course-title,.detail-main h2,.fit-score strong{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:700!important;letter-spacing:-.025em}.panel h2{font-size:18px!important}
.metric,.panel,.filters,.course-card{border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--shadow)!important}.panel{padding:20px;margin-top:20px}.metrics{gap:16px}.metrics .metric{position:relative;min-height:124px;padding:20px;background:#fff!important;border-color:var(--line)!important}.metrics .metric:before{content:"";display:block;width:34px;height:34px;border-radius:8px;background:var(--blue-soft);margin-bottom:12px}.metrics .metric:nth-child(4):before{background:#fff8cc}.metrics .metric strong{position:absolute;left:20px;bottom:34px;color:var(--ink)!important;font-size:26px;font-weight:700}.metrics .metric span{position:absolute;left:20px;bottom:14px;color:var(--muted)!important}.metrics .metric:nth-child(4) strong{color:var(--blue)!important}
.panel-head{padding-bottom:14px;border-bottom:1px solid #f0f1f3}.toolbar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.toolbar input,.toolbar select{background:#f9fafb}
table{margin-top:10px}th{background:#f9fafb;color:#667085;font-size:10px;padding:11px 12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #f0f1f3}tbody tr:hover{background:#fcfcfd}
button{border-radius:8px;padding:9px 13px}main button:not(.primary):not(.link-button):not(.back-link):not(.icon):not(.header-icon):not(.menu-toggle){background:#fff;border-color:#d0d5dd;color:#344054;font-weight:600}main button:not(.primary):not(.link-button):not(.back-link):not(.icon):not(.header-icon):not(.menu-toggle):hover{background:#f9fafb}
input,select,textarea{border-color:#d0d5dd;border-radius:8px;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:3px solid rgba(21,94,239,.12);border-color:var(--blue)}
.pill{background:#eff4ff;color:#175cd3;font-weight:600;padding:4px 9px}.pill.pending,.pill.new{background:#fffaeb;color:#b54708}.pill.duplicate,.pill.rejected{background:#fef3f2;color:#b42318}.secure-label{background:#eff4ff!important;color:#175cd3!important}
.pipeline-banner{background:linear-gradient(120deg,#071b44,#155eef)!important;border-radius:12px!important;box-shadow:var(--shadow)}.pipeline-banner .eyebrow,.pipeline-banner>b{color:var(--lime)}.kpi-grid div{background:#f8faff!important;color:var(--ink)!important;border:1px solid #e0e7ff}.kpi-grid strong{color:var(--blue)!important}
.visibility-banner{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin-bottom:14px;padding:7px 11px;background:#eff4ff;border:1px solid #d1e0ff;border-radius:999px;color:#344054;font-size:11px}.visibility-banner span{color:#667085}.visibility-banner b{color:#175cd3}.visibility-banner small{color:#667085;border-left:1px solid #b2ccff;padding-left:9px;text-transform:capitalize}
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 2px 2px;color:#667085;font-size:12px}.pagination-bar>div{display:flex;align-items:center;gap:7px}.pagination-bar button{min-width:34px;padding:7px 10px!important}.pagination-bar button:disabled{opacity:.4;cursor:not-allowed}.course-pagination{margin-top:16px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px}
.team-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.team-summary .metric{min-height:104px!important}.team-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(290px,.7fr);gap:20px}.team-layout>.panel{margin-top:20px}.hierarchy-map{padding-bottom:16px}.hierarchy-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.hierarchy-levels div{padding:12px;background:#f8faff;border:1px solid #e0e7ff;border-radius:9px}.hierarchy-levels b,.hierarchy-levels span{display:block}.hierarchy-levels span{color:#667085;font-size:11px;margin-top:4px}.staff-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(170px,1fr) minmax(170px,1fr) minmax(145px,.8fr) 64px 82px 80px;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #f0f1f3}.staff-row:last-child{border-bottom:0}.staff-row.inactive{opacity:.55}.staff-identity{display:flex;align-items:center;gap:11px}.staff-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eff4ff;color:#175cd3;font-weight:700;flex:none;overflow:hidden}.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-identity b,.staff-identity small,.staff-scope b,.staff-scope small{display:block}.staff-identity small,.staff-scope small{color:var(--muted);font-size:11px}.staff-row label{margin:0}.staff-row select,.staff-row input{padding:8px}.staff-scope{text-align:center;text-transform:capitalize}.add-staff-panel{height:max-content}.add-staff-panel form{display:grid;gap:14px;margin-top:20px}.add-staff-panel label small{color:var(--muted)}.photo-picker{display:grid;justify-items:start}.photo-picker>input{display:none}.photo-preview{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;border:2px dashed #84adff;background:#eff4ff center/cover;color:#175cd3;font-weight:700;cursor:pointer}
.course-card{padding:18px}.course-card:hover{border-color:#84adff!important;box-shadow:0 5px 18px rgba(16,24,40,.08)!important}.filters{padding:16px}.detail-stats div{background:#f9fafb;border:1px solid #f0f1f3}.stage-card{background:#fff!important}.stage-card strong{color:var(--blue)}
.course-search-empty{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.course-search-empty h2{margin:18px 0 8px;font-size:22px;color:var(--ink)}.course-search-empty p{max-width:540px;margin:0;color:var(--muted);line-height:1.6}.course-search-icon{position:relative;width:62px;height:62px;border-radius:50%;background:var(--blue-soft);border:1px solid #d1e0ff}.course-search-icon:before{content:"";position:absolute;width:19px;height:19px;border:4px solid var(--blue);border-radius:50%;left:17px;top:15px}.course-search-icon:after{content:"";position:absolute;width:16px;height:4px;border-radius:4px;background:var(--blue);transform:rotate(45deg);left:35px;top:38px}.search-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.search-hints span{padding:6px 10px;border-radius:999px;background:#f8faff;border:1px solid #d1e0ff;color:#344054;font-size:11px;font-weight:600}
dialog{border-radius:14px}dialog::backdrop{background:rgba(7,27,68,.62)}
@media(max-width:1100px){body{grid-template-columns:230px minmax(0,1fr)}.metrics{grid-template-columns:repeat(3,1fr)}.user-chip div{display:none}}
@media(max-width:1400px){.team-layout{grid-template-columns:1fr}.staff-row{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-identity{grid-column:span 2}.hierarchy-levels{grid-template-columns:repeat(3,1fr)}.stage-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.stage-card{min-width:0;overflow:hidden}.stage-card span{overflow-wrap:anywhere}}
@media(max-width:900px){body{display:block}aside#sidebar{position:fixed;inset:0 auto 0 0;width:270px;height:100vh;transform:translateX(-100%);padding:18px 14px}body.sidebar-open aside#sidebar{transform:translateX(0);box-shadow:20px 0 50px rgba(7,27,68,.25)}.menu-toggle{display:grid;place-items:center}main{padding:0 18px 36px}main>header{margin:0 -18px 24px;padding:0 18px}.global-search{width:auto;flex:1}.global-search kbd{display:none}.metrics{grid-template-columns:repeat(2,1fr)}nav{display:grid}.aside-foot{display:flex}.page-heading{align-items:flex-start}.brand-logo-frame{width:218px!important;height:120px!important}.brand-logo{width:162px!important;height:162px!important}}
@media(max-width:560px){.global-search input{font-size:12px}.header-icon{display:none}.page-heading{display:grid}.page-heading>.primary{width:max-content}.metrics{grid-template-columns:1fr}.metrics .metric{min-height:112px}.user-chip{display:none}.page-heading h1{font-size:26px}}
@media(max-width:760px){.team-summary,.hierarchy-levels{grid-template-columns:1fr}.staff-row{grid-template-columns:1fr 1fr}.staff-identity{grid-column:1/-1}.staff-scope{text-align:left}.pagination-bar{align-items:flex-start;flex-direction:column}.course-pagination>div{width:100%;justify-content:space-between}}

/* StudyOS light navigation and shared layout hardening */
aside#sidebar{
  background:linear-gradient(180deg,#e9f8ff 0%,#cdeeff 100%)!important;
  color:var(--navy)!important;
  border-right:1px solid #b5dcf2!important;
  box-shadow:8px 0 24px rgba(7,27,68,.06);
}
.brand{
  min-height:126px!important;
  padding:7px 4px 14px!important;
  border-bottom:1px solid #b5dcf2!important;
}
.brand-logo-frame{
  width:224px!important;
  height:108px!important;
  padding:4px 10px!important;
  border-radius:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand-logo{
  width:150px!important;
  height:150px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  mix-blend-mode:multiply;
}
.nav-label{color:#56769a!important}
nav button{color:#173b6c!important}
nav button i{color:#527aa5!important}
nav button:hover{background:rgba(21,94,239,.09)!important;color:#071b44!important}
nav button:hover i{color:#155eef!important}
nav button.active{background:#155eef!important;color:#fff!important;box-shadow:0 5px 14px rgba(21,94,239,.2)!important}
nav button.active i{color:#ffd400!important}
.aside-foot{border-top:1px solid #b5dcf2!important;color:#071b44!important}
.aside-foot small{color:#52708f!important}

html,body{max-width:100%;overflow-x:hidden}
@media(min-width:901px){
  html,body{height:100%;min-height:0;overflow:hidden}
  body{height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr)}
  aside#sidebar{position:relative;top:auto;height:100dvh;min-height:0;overflow:hidden}
  aside#sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain}
  main{height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
  main>header{position:sticky;top:0;z-index:40}
}
main,#app,main section,main article,main form,.panel,.toolbar,.panel-head{min-width:0;box-sizing:border-box}
.panel-head,.toolbar,.dialog-head,.dialog-actions,.pagination-bar{flex-wrap:wrap}
input,select,textarea{max-width:100%}
img,svg,video,canvas{max-width:100%}
.panel{max-width:100%}
.panel:has(> table){overflow-x:auto}
.panel>table{min-width:720px}
td{overflow-wrap:anywhere}
.stage-strip{max-width:100%;overflow-x:auto}
dialog{max-width:calc(100vw - 30px);max-height:90vh;overflow:auto}
dialog form{max-width:100%}

@media(max-width:1400px){
  .finder-layout,.detail-grid,.processing-workspace,.application-detail,.operations-grid,
  .department-grid,.accounts-grid,.marketing-grid,.system-layout,.bulk-layout,
  .catalog-admin-grid,.agent-layout,.agent-detail-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:1100px){
  .metrics,.executive-metrics,.agent-metrics,.communication-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.sidebar-open aside#sidebar{box-shadow:20px 0 50px rgba(7,27,68,.22)}
  .brand-logo-frame{width:224px!important;height:108px!important}
  .brand-logo{width:150px!important;height:150px!important}
}
@media(max-width:760px){
  .grid,.profile-grid,.admin-form,.staff-form-grid,.advanced-grid,.primary-search,
  .export-filters,.bulk-upload-grid,.mapping-grid,.form-grid,.filters-grid,
  .metrics,.executive-metrics,.agent-metrics,.communication-metrics{grid-template-columns:minmax(0,1fr)!important}
  .page-heading{align-items:flex-start;flex-direction:column}
  .page-heading>.primary{width:100%}
  .panel{padding:15px}
  .toolbar>*{width:100%!important}
}
