/*
 * Holon Admin 2 — presentation layer
 * Purposefully loaded after the existing application CSS.
 * No workflow, IDs, event handlers, API calls, or data behavior are changed here.
 */
:root{
  --a2-navy:#0b2b57;
  --a2-navy-2:#123d76;
  --a2-blue:#1769e0;
  --a2-blue-soft:#edf5ff;
  --a2-canvas:#f5f7fb;
  --a2-panel:#ffffff;
  --a2-line:#dce4ef;
  --a2-line-strong:#c9d5e5;
  --a2-ink:#10264a;
  --a2-muted:#5f6f86;
  --a2-faint:#7f8ca0;
  --a2-green:#159447;
  --a2-amber:#d97706;
  --a2-red:#d92d20;
  --dd-blue:var(--a2-blue);
  --dd-panel:var(--a2-panel);
  --dd-panel2:#f8fafd;
  --dd-raise:var(--a2-blue-soft);
  --dd-line:var(--a2-line);
  --dd-ink:var(--a2-ink);
  --dd-ink2:#314766;
  --dd-dim:var(--a2-muted);
  --dd-faint:var(--a2-faint);
}
html,body{background:var(--a2-canvas)}
body{color:var(--a2-ink);font-feature-settings:"kern";text-rendering:optimizeLegibility}
.main-content{background:var(--a2-canvas)}
.main-header{
  height:50px;
  padding:0 20px;
  background:var(--a2-navy);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:none;
}
.main-header h2{font-size:15px;font-weight:750;letter-spacing:-.01em}
#tool-area{padding:20px 18px 76px;background:var(--a2-canvas)}
#gcp-strip{
  padding:10px 18px;
  background:rgba(255,255,255,.98);
  border-color:var(--a2-line);
  box-shadow:0 1px 0 rgba(16,38,74,.02);
}
#gcp-strip input[type=text],#gcp-strip select,
input[type=text],input[type=search],input[type=date],input[type=email],
select,textarea{
  border-color:var(--a2-line-strong)!important;
  background:#fff;
  color:var(--a2-ink);
  box-shadow:none;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:var(--a2-blue)!important;
  box-shadow:0 0 0 3px rgba(23,105,224,.12)!important;
}
.card,.panel,.tool-card,.dash-stat{
  background:#fff;
  border-color:var(--a2-line);
  border-radius:12px;
  box-shadow:0 1px 2px rgba(16,38,74,.035);
}
.card{padding:20px}
.panel-header{background:#f8fafd;border-color:var(--a2-line);padding:12px 16px}
.card-title,.panel-header h3{color:var(--a2-ink);font-weight:750}
.btn,.btn-sm{
  min-height:34px;
  height:34px;
  padding:0 15px;
  border-radius:8px;
  background:var(--a2-blue);
  border:1px solid var(--a2-blue);
  color:#fff;
  box-shadow:none;
  font-weight:700;
  transition:background .14s,border-color .14s,box-shadow .14s,transform .06s;
}
.btn:hover,.btn-sm:hover{background:#115bc5;border-color:#115bc5}
.btn:active,.btn-sm:active{transform:translateY(1px)}
.btn:focus-visible,.btn-sm:focus-visible,.link-btn:focus-visible{
  outline:3px solid rgba(23,105,224,.28);
  outline-offset:2px;
}
.btn.secondary,.btn-sm.secondary{
  background:#fff;
  border:1px solid var(--a2-line-strong);
  color:#29476d;
}
.btn.secondary:hover,.btn-sm.secondary:hover{background:#f7faff;border-color:#9fb5d2;color:#123d76}
.btn.danger,.btn-sm.danger{background:var(--a2-red);border-color:var(--a2-red)}
.btn:disabled,.btn-sm:disabled{opacity:.48;filter:saturate(.65)}
.link-btn{color:var(--a2-blue)}
.badge,.scope-badge,.inc-b{border-radius:999px;padding:3px 9px}
.badge-ok{background:#eaf8ef;color:#13753a}
.badge-warn{background:#fff5e8;color:#a95700}
.badge-err{background:#fff0ef;color:#b42318}
.badge-run{background:#edf5ff;color:#1559ae}
.info-box{background:#f2f7ff;border-color:#c8dcfa;color:#244f84}
.warn-box{background:#fff4f2;border-color:#ffd0ca;color:#9e271f}
.cs-table{
  border-color:var(--a2-line);
  border-radius:10px;
  box-shadow:none;
}
.cs-table th{
  padding:10px 12px;
  background:#f7f9fc;
  border-color:var(--a2-line);
  color:#52627a;
  font-size:10px;
  letter-spacing:.065em;
}
.cs-table td{padding:10px 12px;border-color:#e6ebf2;color:#253b5c}
.cs-table tbody tr:hover td{background:#fafcff}
.pk-row{padding:10px 12px}
.pk-row:hover{background:#f7faff}
.modal-ov{background:rgba(8,25,51,.48);backdrop-filter:blur(2px)}
.modal{border:1px solid var(--a2-line);border-radius:14px;box-shadow:0 24px 60px rgba(8,25,51,.22)}
.modal-h{font-size:15px;padding:16px 18px}
.modal-b{padding:18px}
.modal-f{padding:13px 18px;background:#fafbfc}
.toast{background:#17365f;border-radius:9px;box-shadow:0 12px 30px rgba(8,25,51,.22)}
.toast.success{background:#147d3e}.toast.error{background:#b42318}

/* Dashboard: preserve content and actions, remove decorative weight. */
.dash-hero{
  background:#fff;
  color:var(--a2-ink);
  border:1px solid var(--a2-line);
  border-radius:12px;
  padding:20px 22px;
  margin-bottom:16px;
  box-shadow:0 1px 2px rgba(16,38,74,.035);
}
.dash-hero::before{height:3px;background:var(--a2-blue)}
.dash-hi{font-size:22px;color:var(--a2-ink)}
.dash-sub{color:var(--a2-muted);opacity:1}
.dash-cta{background:var(--a2-blue);border-color:var(--a2-blue);color:#fff}
.dash-cta:hover{background:#115bc5}
.dash-stats{gap:12px;margin-bottom:16px}
.dash-stat{border-top:1px solid var(--a2-line);padding:15px 16px}
.dash-stat-n{font-size:27px}
.tool-card:hover{border-color:#a9c8f2;box-shadow:0 6px 18px rgba(16,56,110,.08);transform:none}

/* Shared wizard treatment: calm stepper and clear page identity. */
.cop-hero{
  background:#fff;
  color:var(--a2-ink);
  border:1px solid var(--a2-line);
  border-radius:12px;
  padding:18px 20px 17px;
  margin:0 0 14px;
  box-shadow:0 1px 2px rgba(16,38,74,.035);
}
.cop-hero .cwiz-bar{max-width:100%;margin:0}
.cop-hero .cwiz-dot{
  width:32px;height:32px;
  background:#f1f4f8;
  border:1px solid #d7e0eb;
  color:#607086;
  font-size:12px;
}
.cop-hero .cwiz-lbl{
  color:#6c7a8e;
  font-size:10.5px;
  text-transform:none;
  letter-spacing:0;
}
.cop-hero .cwiz-ind.active .cwiz-dot{
  background:var(--a2-blue);
  border-color:var(--a2-blue);
  color:#fff;
  box-shadow:0 0 0 4px rgba(23,105,224,.10);
}
.cop-hero .cwiz-ind.active .cwiz-lbl{color:var(--a2-ink);font-weight:800}
.cop-hero .cwiz-ind.done .cwiz-dot{
  background:#eaf8ef;
  border-color:#9edab4;
  color:#167a3e;
}
.cop-hero .cwiz-ind.done .cwiz-lbl{color:#367354}
.cop-hero .cwiz-line{height:1px;background:#dce4ef;margin-top:15px}
.cop-hero .cwiz-line.done{background:#84cca0}
.cop-hero-head{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid var(--a2-line);
}
.cop-hero-h1{font-size:21px;font-weight:780;color:var(--a2-ink)}
.cop-hero-sub{font-size:13px;color:var(--a2-muted);margin-top:4px}
.cwiz-footer{
  position:sticky;
  bottom:-76px;
  z-index:20;
  margin:14px -18px -76px;
  min-height:62px;
  padding:12px 18px;
  background:rgba(255,255,255,.97);
  border-top:1px solid var(--a2-line);
  box-shadow:0 -8px 24px rgba(16,38,74,.045);
  backdrop-filter:blur(7px);
}
.cop-limit{
  background:#f6f9fd;
  border-color:var(--a2-line);
  border-radius:10px;
  padding:10px 12px;
}
.cop-limit-badge{background:var(--a2-navy);border-radius:7px}
.cop-select .course-search,.cop-select .term-select{height:40px!important;border-radius:8px!important}
.cop-empty{
  background:#fafcff;
  border-color:#cbd8e8;
  border-radius:11px;
}
.cop-empty-art{background:#fff;border-radius:12px;box-shadow:none}
.src-pill{background:#f2f7ff;border-color:#cadcf3}

/* Reduce the original gradient-heavy segmented controls without changing behavior. */
.mc-seg-btn.on,.gcp-prog.on{
  background:#edf5ff;
  color:#1559ae;
}
.hprog-fill{background:var(--a2-blue)}
.hprog.done .hprog-fill{background:var(--a2-green)}
.fpill.on,.subnav button.active{background:var(--a2-blue);border-color:var(--a2-blue)}

/* Accessibility and scan/review surfaces keep their structure but share Admin 2 finish. */
[class^="acc-"],[class*=" acc-"]{scrollbar-color:#c7d3e3 transparent}
.acc-course,.acc-bucket,.acc-issue-card,.acc-summary{
  border-color:var(--a2-line)!important;
  box-shadow:none!important;
}
.acc-course-head,.acc-bucket-head{background:#f8fafd!important}
.acc-score{font-variant-numeric:tabular-nums}

/* Responsive improvements that do not alter workflow. */
@media (max-width:1100px){
  #tool-area{padding:16px 12px 72px}
  .card{padding:16px}
  .cwiz-footer{margin-left:-12px;margin-right:-12px}
}
@media (max-width:760px){
  .main-header{padding:0 14px}
  #tool-area{padding:12px 9px 76px}
  .cop-hero{padding:15px 13px}
  .cop-hero .cwiz-lbl{font-size:9.5px}
  .cop-hero .cwiz-line{margin-left:7px;margin-right:7px}
  .cwiz-footer{margin-left:-9px;margin-right:-9px;gap:8px}
  .card{padding:13px}
  .dash-stats{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* Admin 2 phone layout — Canvas mobile and narrow embedded frames. */
@media (max-width:600px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{font-size:14px}
  .main-content{width:100%;min-width:0;overflow-x:hidden}
  .main-header{height:48px;padding:0 12px}
  .main-header h2{font-size:14px}
  #tool-area{width:100%;box-sizing:border-box;padding:10px 8px 84px}
  #tool-area>.card,#tool-area>.panel,.cop-hero,.dash-hero{width:100%;max-width:100%;box-sizing:border-box}
  #gcp-strip{padding:8px;gap:7px;scrollbar-width:thin}
  #gcp-strip input[type=text],#gcp-strip select{font-size:16px;min-height:42px}
  input[type=text],input[type=search],input[type=date],input[type=email],select,textarea{font-size:16px!important;max-width:100%;box-sizing:border-box}
  .btn,.btn-sm{min-height:44px;height:auto;padding:9px 14px}
  .dash-stats,.accdn-kpis{grid-template-columns:1fr}
  .dash-hero{padding:16px 14px}
  .dash-hi{font-size:20px}
  .cop-hero{padding:13px 11px}
  .cop-hero-head{margin-top:12px;padding-top:12px}
  .cop-hero-h1{font-size:19px}
  .cop-hero-sub{font-size:12.5px;line-height:1.45}
  .cwiz-footer{position:sticky;bottom:-84px;min-height:72px;margin:12px -8px -84px;padding:10px 8px;flex-wrap:wrap}
  .cwiz-footer .btn,.cwiz-footer .btn-sm{flex:1 1 120px}
  .card{padding:12px;border-radius:10px}
  .card-title{line-height:1.35}
  .panel-body{padding:12px}
  .modal{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 24px);overflow:auto}
  .modal-h,.modal-b,.modal-f{padding-left:13px;padding-right:13px}
  .cs-table,.apdb-table,.rd-tbl{min-width:680px}
  .cs-table-wrap,.apdb-wrap,.gcp-tbl-wrap,[style*="overflow-x:auto"]{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .acc-panel-tools,.accsc-card,.nm-scope,.rd-plans{align-items:stretch;flex-direction:column}
  .acc-srch{max-width:none;width:100%;box-sizing:border-box}
  .accsc-stats{width:100%;overflow-x:auto}
  .toast{left:10px;right:10px;bottom:82px;text-align:center}
}


/* Admin 2 visual identity v3 — deliberately distinct from the original Deep Deck shell. */
html,html[data-theme="light"],html[data-theme="dark"]{
  --dd-void:#f4f7fb;
  --dd-void2:#eef3f9;
  --dd-panel:#ffffff;
  --dd-panel2:#f7f9fc;
  --dd-raise:#edf4ff;
  --dd-line:#dbe4ef;
  --dd-line-soft:#e8edf4;
  --dd-ink:#10264a;
  --dd-ink2:#304866;
  --dd-dim:#607087;
  --dd-faint:#8794a7;
  --dd-blue:#1769e0;
  --dd-holon:#1769e0;
}
html body,html[data-theme="light"] body,html[data-theme="dark"] body{
  background:#f4f7fb!important;
  color:#10264a;
}
.topbar{
  height:64px;
  padding:0 22px;
  background:#fff!important;
  border-bottom:1px solid #dbe4ef!important;
  backdrop-filter:none;
  box-shadow:0 1px 3px rgba(16,38,74,.04);
}
.topbar-pill,.topbar-logo{
  background:transparent!important;
  border-radius:8px!important;
  padding:5px 7px!important;
  gap:9px!important;
}
.topbar-pill-name,.topbar-logo-text{
  color:#10264a!important;
  font-size:17px!important;
  font-weight:780!important;
}
.topbar-dot{
  width:10px;height:10px;
  background:#1769e0;
  animation:none;
  box-shadow:0 0 0 4px rgba(23,105,224,.10);
}
.topbar-tag{
  color:#fff!important;
  background:#0b2b57!important;
  padding:4px 8px!important;
  border-radius:6px!important;
}
.topbar-ham,.sb-toggle-btn,#sb-toggle-btn,.dd-tt,.dd-cog,#holon-refresh-btn{
  background:#fff!important;
  border-color:#cbd7e6!important;
  color:#3d526f!important;
  box-shadow:none!important;
}
.dd-cmdk{
  height:36px;
  background:#f7f9fc;
  border-color:#d5dfeb;
  color:#64748b;
}
.shell{
  padding:0;
  gap:0;
  background:#f4f7fb;
}
.sidebar,html[data-theme="light"] .sidebar{
  width:252px;
  background:#fff;
  border:0;
  border-right:1px solid #dbe4ef;
  border-radius:0;
  box-shadow:none;
}
.sb-header{
  height:62px;
  padding:0 20px;
  background:#fff;
  border-bottom:1px solid #e7edf4;
}
.sb-header span{
  color:#748399!important;
  letter-spacing:.12em!important;
  font-size:10px!important;
}
.sb-nav{padding:12px 12px 20px}
.dd-group{
  padding:17px 10px 6px;
  color:#8491a3;
  font-size:9px;
  letter-spacing:.14em;
}
.nav-btn,.nav-btn-hub{
  min-height:39px;
  width:100%;
  margin:2px 0;
  padding:9px 11px;
  border-radius:8px;
  color:#435773;
  font-size:13px;
  gap:10px;
}
.nav-btn:hover,.nav-btn-hub:hover{
  background:#f4f7fb;
  color:#17365f;
}
.nav-btn.active,html[data-theme="light"] .nav-btn.active{
  background:#eaf3ff;
  color:#0e5dc6;
  font-weight:750;
}
.nav-btn.active::before,html[data-theme="light"] .nav-btn.active::before{
  left:-1px;top:7px;bottom:7px;width:3px;
  background:#1769e0;
  box-shadow:none;
}
.nav-ic{
  width:20px;
  color:inherit;
  opacity:1;
}
.nav-cnt{
  background:#eef3f9;
  color:#5c6d84;
  border:0;
}
.sb-foot{
  padding:14px 16px;
  background:#fbfcfe;
  border-top-color:#e7edf4;
}
.sb-foot .fav{
  background:#0b2b57;
  border:0;
}
.sb-foot .who{color:#1d3555}
.sb-foot .role{color:#738198}
.main,html[data-theme="light"] .main{
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#f4f7fb;
}
.main-header{
  min-height:70px;
  height:70px;
  padding:0 26px;
  background:#fff!important;
  border-bottom:1px solid #dbe4ef;
}
.main-header h2,.main-header>span,.main-header .mh-title{
  color:#10264a!important;
  font-size:22px!important;
  font-weight:780!important;
  letter-spacing:-.025em;
}
.main-content{background:#f4f7fb}
#tool-area{
  width:100%;
  max-width:1480px;
  margin:0 auto;
  padding:24px 24px 86px;
}
#gcp-strip{
  padding:10px 24px;
  background:#fff;
  border-bottom:1px solid #dbe4ef;
}
.card,.panel,.tool-card,.dash-stat,.statcard{
  border-radius:10px;
  box-shadow:none!important;
}
.card:hover,.tool-card:hover,.statcard:hover{transform:none!important}
.dash-hero{
  border-radius:10px;
  border-top:4px solid #1769e0;
}
.main-header + #gcp-strip{box-shadow:none}
@media (max-width:900px) and (min-width:601px){
  .sidebar{width:220px}
  #tool-area{padding:18px 14px 80px}
  .main-header{padding:0 18px}
}
@media (max-width:600px) and (pointer:coarse){
  .topbar{height:54px;padding:0 10px}
  .topbar-pill-name{font-size:15px!important}
  .sidebar{
    top:54px;
    width:min(294px,84vw)!important;
    border-right:1px solid #dbe4ef!important;
    box-shadow:10px 0 30px rgba(16,38,74,.18)!important;
  }
  .shell{display:block}
  .main-header{height:58px;min-height:58px;padding:0 12px}
  .main-header h2{font-size:18px!important}
  #tool-area{padding:10px 8px 84px}
}


/* Admin 2 shell v4 — top workflow navigation plus on-demand tool drawer. */
.a2-shell .shell{
  min-height:calc(100vh - 118px);
  width:100%;
}
.a2-shell .main{width:100%;max-width:none}
#a2-primary-nav{
  position:relative;
  z-index:180;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:8px 22px;
  background:#fff;
  border-bottom:1px solid #dbe4ef;
  box-shadow:0 2px 8px rgba(16,38,74,.035);
}
.a2-primary-btn{
  appearance:none;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#50627b;
  font:650 13px/1 "Inter","Lato",sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.a2-primary-btn:hover{background:#f4f7fb;color:#17365f}
.a2-primary-btn.active{
  background:#eaf3ff;
  border-color:#c9ddf8;
  color:#0e5dc6;
  font-weight:750;
}
.a2-primary-ic{
  width:18px;
  display:inline-grid;
  place-items:center;
  color:inherit;
  font-size:15px;
}
.a2-primary-spacer{flex:1}
.a2-hub-btn{margin-right:8px;color:#285a96}
.a2-all-btn{
  border-color:#cbd7e6;
  background:#fff;
  color:#29476d;
}
.a2-shell .sidebar.a2-drawer{
  display:flex!important;
  position:fixed!important;
  z-index:1000!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:286px!important;
  max-width:86vw;
  height:100vh!important;
  margin:0!important;
  opacity:1!important;
  transform:translateX(-104%)!important;
  transition:transform .2s ease!important;
  border:0!important;
  border-right:1px solid #dbe4ef!important;
  box-shadow:16px 0 44px rgba(16,38,74,.18)!important;
  overflow:hidden!important;
}
.a2-shell .sidebar.a2-drawer.a2-open{
  transform:translateX(0)!important;
}
.a2-shell .sidebar.a2-drawer .sb-header{
  height:64px;
  flex:0 0 64px;
  background:#0b2b57;
  border:0;
}
.a2-shell .sidebar.a2-drawer .sb-header span{color:#fff!important}
.a2-shell .sidebar.a2-drawer .sb-nav{
  overflow-y:auto;
  scrollbar-width:thin;
}
#a2-drawer-backdrop{
  display:block;
  position:fixed;
  inset:0;
  z-index:990;
  border:0;
  padding:0;
  background:rgba(10,30,55,.42);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s,visibility .18s;
}
#a2-drawer-backdrop.on{opacity:1;visibility:visible}
.a2-drawer-open{overflow:hidden}
.a2-shell .main-header{
  position:sticky;
  top:0;
  z-index:120;
}
@media (max-width:900px){
  #a2-primary-nav{padding:7px 10px;overflow-x:auto;justify-content:flex-start}
  .a2-primary-spacer{display:none}
  .a2-primary-btn{flex:0 0 auto}
  .a2-hub-btn{margin-right:0}
  .a2-all-btn{position:sticky;right:0;background:#fff;box-shadow:-8px 0 12px #fff}
}
@media (max-width:600px){
  #a2-primary-nav{min-height:48px;padding:6px 8px}
  .a2-primary-btn{min-height:36px;padding:0 10px;font-size:12px}
  .a2-primary-btn span:last-child{display:none}
  .a2-primary-btn.active span:last-child,.a2-all-btn span:last-child{display:inline}
  .a2-shell .shell{min-height:calc(100vh - 102px)}
  .a2-shell .sidebar.a2-drawer{width:min(300px,88vw)!important;top:0!important}
}


/* Admin 2 v5 — neutralize inherited Deep Deck !important dashboard surfaces. */
.a2-shell .dash-hero{
  background:#0b2b57!important;
  border:1px solid #0b2b57!important;
  border-top:4px solid #26a65b!important;
  color:#fff!important;
  box-shadow:none!important;
}
.a2-shell .dash-hero::before{display:none!important}
.a2-shell .dash-hi,.a2-shell .dash-hero .dash-hi{
  color:#fff!important;
}
.a2-shell .dash-sub,.a2-shell .dash-hero .dash-sub{
  color:rgba(255,255,255,.76)!important;
}
.a2-shell .dash-stat,
.a2-shell .statcard,
.a2-shell .tool-card{
  background:#fff!important;
  color:#10264a!important;
  border:1px solid #dbe4ef!important;
  box-shadow:none!important;
}
.a2-shell .tool-card:hover,
.a2-shell .statcard:hover{
  background:#f8fbff!important;
  border-color:#a9c7ed!important;
  transform:none!important;
}
.a2-shell .tool-card .tc-name,
.a2-shell .tool-card .tool-name,
.a2-shell .statcard .sc-val{
  color:#10264a!important;
}
.a2-shell .tool-card .tc-blurb,
.a2-shell .tool-card .tool-desc,
.a2-shell .statcard .sc-label{
  color:#607087!important;
}
.a2-shell .dash-qa-btn{
  background:#fff!important;
  border:1px solid #d1dce9!important;
  color:#29476d!important;
}
