.scs-dashboard {
  --scs-ink:#122229;
  --scs-ink-soft:#3d4f56;
  --scs-paper-raised:#FFFFFF;
  --scs-line:#D8D8CE;
  --scs-gold:#B8862E;
  --scs-teal:#2F6B63;
  --scs-rust:#A8502F;

  font-family:'Inter',sans-serif;
  line-height:1.5;
  color:var(--scs-ink);
  max-width:1180px;
  margin:0 auto;
}
.scs-dashboard *{box-sizing:border-box;}
.scs-dashboard h2,
.scs-dashboard h3{
  font-family:'Spectral',serif;
  font-weight:600;
  margin:0;
  color:var(--scs-ink);
}

.scs-masthead{
  border-bottom:2px solid var(--scs-ink);
  padding:8px 0 22px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:16px;
}
.scs-title-block h2{ font-size:2.1rem; letter-spacing:-0.01em; }
.scs-title-block p{ margin:6px 0 0; color:var(--scs-ink-soft); font-size:0.95rem; max-width:52ch; }
.scs-meta{ text-align:right; font-size:0.82rem; color:var(--scs-ink-soft); font-variant-numeric:tabular-nums; }
.scs-meta .scs-refresh-badge{
  display:inline-flex; align-items:center; gap:6px; margin-top:6px;
  padding:4px 10px; border:1px solid var(--scs-line); border-radius:100px;
  background:var(--scs-paper-raised);
}
.scs-meta .scs-dot{ width:6px; height:6px; border-radius:50%; background:var(--scs-teal); display:inline-block; }

.scs-dash-tabs{
  display:flex;
  gap:4px;
  border-bottom:2px solid var(--scs-line);
  margin-top:24px;
}
.scs-dash-tab{
  background:none;
  border:none;
  padding:12px 20px;
  font-family:'Inter',sans-serif;
  font-size:0.92rem;
  font-weight:600;
  color:var(--scs-ink-soft);
  cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
}
.scs-dash-tab.active{ color:var(--scs-teal); border-bottom-color:var(--scs-teal); }
.scs-dash-panel{ display:none; }
.scs-dash-panel.active{ display:block; }

.scs-subfilter-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 24px;
  background:var(--scs-paper-raised);
  border:1px solid var(--scs-line);
  padding:16px 20px;
  margin-top:24px;
  font-size:0.88rem;
}
.scs-subfilter-row label{ display:flex; align-items:center; gap:8px; }
.scs-subfilter-row select,
.scs-subfilter-row input{
  font-family:'Inter',sans-serif;
  font-size:0.88rem;
  padding:6px 8px;
  border:1px solid var(--scs-line);
  background:#fff;
  color:var(--scs-ink);
}
.scs-kpi-delta{ font-size:0.75rem; color:var(--scs-ink-soft); margin-top:6px; font-weight:600; }
.scs-kpi-delta.scs-up{ color:var(--scs-teal); }
.scs-kpi-delta.scs-down{ color:var(--scs-rust); }

.scs-course-layout{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:32px;
  align-items:start;
}
.scs-course-table-col table tbody tr{ cursor:pointer; }
.scs-course-table-col table tbody tr:hover{ background:#f6f5f0; }
.scs-course-table-col table tbody tr.scs-row-selected{ background:#eef3f1; }
@media (max-width:900px){
  .scs-course-layout{ grid-template-columns:1fr; }
}

.scs-status-pill{
  display:inline-block;
  padding:2px 10px;
  border-radius:100px;
  font-size:0.78rem;
  font-weight:600;
}
.scs-status-pill.scs-active{ background:rgba(47,107,99,0.14); color:var(--scs-teal); }
.scs-status-pill.scs-inactive{ background:rgba(168,80,47,0.12); color:var(--scs-rust); }
.scs-status-pill.scs-unknown{ background:var(--scs-line); color:var(--scs-ink-soft); }

.scs-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:16px 20px;
  align-items:flex-end;
  background:var(--scs-paper-raised);
  border:1px solid var(--scs-line);
  padding:18px 20px;
  margin-top:24px;
}
.scs-filter-field{ display:flex; flex-direction:column; gap:5px; min-width:150px; flex:1; }
.scs-filter-field label{ font-size:0.75rem; color:var(--scs-ink-soft); }
.scs-filter-field select,
.scs-filter-field input{
  font-family:'Inter',sans-serif;
  font-size:0.88rem;
  padding:7px 9px;
  border:1px solid var(--scs-line);
  background:#fff;
  color:var(--scs-ink);
  width:100%;
}
.scs-filter-checkbox{ flex-direction:row; align-items:center; gap:8px; min-width:auto; }
.scs-filter-checkbox label{ display:flex; align-items:center; gap:7px; font-size:0.85rem; color:var(--scs-ink); white-space:nowrap; }
.scs-filter-checkbox input[type="checkbox"]{ width:auto; }
.scs-filter-actions{ display:flex; gap:10px; }
.scs-btn{
  font-family:'Inter',sans-serif;
  font-size:0.85rem;
  padding:8px 16px;
  border:1px solid var(--scs-ink);
  background:#fff;
  color:var(--scs-ink);
  cursor:pointer;
}
.scs-btn:hover{ background:#f2f1ec; }
.scs-btn:disabled{ opacity:0.45; cursor:not-allowed; }
.scs-btn-primary{ background:var(--scs-ink); color:#fff; }
.scs-btn-primary:hover{ background:#1c3542; }

.scs-kpi-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--scs-line);
  margin-top:28px;
}
.scs-kpi{ padding:26px 24px; border-right:1px solid var(--scs-line); }
.scs-kpi:last-child{ border-right:none; }
.scs-kpi .scs-num{
  font-family:'Spectral',serif; font-size:2.5rem; font-weight:600;
  font-variant-numeric:tabular-nums; line-height:1;
}
.scs-kpi .scs-label{ margin-top:8px; font-size:0.82rem; color:var(--scs-ink-soft); }
.scs-kpi.scs-accent-teal .scs-num{ color:var(--scs-teal); }
.scs-kpi.scs-accent-gold .scs-num{ color:var(--scs-gold); }

.scs-kpi-row-2{
  grid-template-columns:repeat(2,1fr);
  border-top:none;
  margin-top:0;
}
@media (max-width:860px){
  .scs-kpi-row-2{ grid-template-columns:repeat(2,1fr); }
}

.scs-dashboard section{ margin-top:52px; }
.scs-dashboard .scs-section-head{
  display:flex; justify-content:space-between; align-items:baseline;
  border-bottom:1px solid var(--scs-line); padding-bottom:10px; margin-bottom:22px;
  flex-wrap:wrap; gap:8px;
}
.scs-section-head h3{ font-size:1.2rem; }
.scs-section-head .scs-note{ font-size:0.82rem; color:var(--scs-ink-soft); }

.scs-grid-2{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:40px; }
.scs-panel{ background:var(--scs-paper-raised); border:1px solid var(--scs-line); padding:22px 24px; }
.scs-chart-box{ position:relative; height:290px; }

.scs-status-bar{
  display:flex; width:100%; height:34px; border:1px solid var(--scs-ink);
  overflow:hidden; margin-bottom:16px;
}
.scs-status-bar span{ height:100%; }
.scs-status-legend{ display:flex; flex-wrap:wrap; gap:14px 22px; font-size:0.82rem; }
.scs-status-legend div{ display:flex; align-items:center; gap:7px; }
.scs-swatch{ width:10px; height:10px; display:inline-block; border-radius:2px; }

.scs-table{ width:100%; border-collapse:collapse; font-size:0.9rem; }
.scs-table thead th{
  text-align:left; font-weight:600; color:var(--scs-ink-soft); font-size:0.78rem;
  padding:0 10px 10px; border-bottom:1px solid var(--scs-ink);
}
.scs-table thead th.scs-num-col,
.scs-table tbody td.scs-num-col{ text-align:right; font-variant-numeric:tabular-nums; }
.scs-table tbody td{ padding:12px 10px; border-bottom:1px solid var(--scs-line); vertical-align:middle; }
.scs-table tbody tr:last-child td{ border-bottom:none; }
.scs-course-name{ max-width:340px; }
.scs-bar-cell{ width:140px; }
.scs-bar-track{ height:8px; background:var(--scs-line); border-radius:4px; overflow:hidden; }
.scs-bar-fill{ height:100%; background:var(--scs-teal); }
.scs-bar-fill.scs-low{ background:var(--scs-rust); }

.scs-pagination{
  display:flex; align-items:center; gap:14px; margin-top:16px;
  font-size:0.85rem; color:var(--scs-ink-soft);
}

@media (max-width:860px){
  .scs-kpi-row{ grid-template-columns:repeat(2,1fr); }
  .scs-kpi:nth-child(2){ border-right:none; }
  .scs-kpi{ border-bottom:1px solid var(--scs-line); }
  .scs-grid-2{ grid-template-columns:1fr; }
  .scs-masthead{ flex-direction:column; align-items:flex-start; }
  .scs-meta{ text-align:left; }
}
