
/* R9 dashboard redesign — preserves application logic */
:root{
  --r9-bg:#171b20;
  --r9-sidebar:#1b2026;
  --r9-panel:#222830;
  --r9-panel2:#1e242b;
  --r9-border:#333b45;
  --r9-text:#f4f6f8;
  --r9-muted:#9aa5af;
  --r9-violet:#7c68d8;
  --r9-green:#39a86f;
  --r9-amber:#d18a22;
  --r9-red:#d6535d;
  --r9-cyan:#3b9eb0;
  --r9-purple:#9667c9;
  --r9-orange:#c97832;
}
body{background:#171b20!important}
.sidebar{background:#1b2026!important}
.topbar{background:#1d2228!important}
#dashboard{padding:0!important}
.r9-dashboard{display:grid;gap:18px}
.r9-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start}
.r9-dashboard-head h2{font-size:28px;margin:0 0 5px}
.r9-dashboard-head p{font-size:13px;color:var(--r9-muted)}
.r9-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.r9-kpi{position:relative;display:grid;grid-template-columns:54px 1fr;gap:14px;padding:20px;background:linear-gradient(145deg,#252b33,#20262d);border:1px solid var(--r9-border);border-radius:14px;overflow:hidden}
.r9-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor}
.r9-kpi-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:color-mix(in srgb,currentColor 15%, transparent);color:currentColor}
.r9-kpi-content{min-width:0}.r9-kpi-content span{font-size:11px;letter-spacing:.3px;color:#c8d0d8}.r9-kpi-content strong{display:block;font-size:30px;line-height:1;margin:9px 0 7px}.r9-kpi-content small{color:var(--r9-muted);font-size:11px}
.r9-spark{height:36px;margin-top:14px;position:relative;opacity:.9}.r9-spark:before{content:"";position:absolute;left:0;right:0;top:18px;height:1px;background:currentColor;opacity:.17}.r9-spark i{position:absolute;inset:0;background:linear-gradient(to bottom,color-mix(in srgb,currentColor 22%,transparent),transparent);clip-path:polygon(0 58%,8% 46%,17% 60%,26% 51%,36% 69%,45% 55%,55% 62%,64% 39%,73% 50%,82% 34%,91% 43%,100% 29%,100% 100%,0 100%)}
.r9-violet{color:var(--r9-violet)}.r9-green{color:var(--r9-green)}.r9-amber{color:var(--r9-amber)}.r9-red{color:var(--r9-red)}.r9-cyan{color:var(--r9-cyan)}.r9-purple{color:var(--r9-purple)}.r9-orange{color:var(--r9-orange)}
.r9-hidden-stat{display:none!important}
.r9-actions{display:grid;grid-template-columns:repeat(9,minmax(110px,1fr));gap:10px}
.r9-action{border:1px solid var(--r9-border);background:linear-gradient(145deg,#242a31,#20262c);border-radius:13px;padding:15px 10px;min-height:128px;color:var(--r9-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:.18s ease}
.r9-action:hover{transform:translateY(-2px);border-color:color-mix(in srgb,currentColor 55%,var(--r9-border));background:#293039}
.r9-action-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,currentColor 14%,transparent);color:currentColor}
.r9-action b{font-size:12px;color:#f5f7f9!important}.r9-action small{font-size:9px;text-align:center;line-height:1.3;color:#a2acb6!important}
.r9-chart-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.r9-bottom-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.r9-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.r9-box{background:linear-gradient(145deg,#232930,#20262c);border:1px solid var(--r9-border);border-radius:14px;padding:20px;min-width:0}
.r9-box-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.r9-box-title h3{font-size:16px;margin:0 0 4px}.r9-box-title p{font-size:11px;color:var(--r9-muted)}
.r9-occurrence-layout{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:20px;min-height:245px}
.r9-donut-wrap{display:grid;place-items:center}.r9-donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#2f8de4 0 25%,#ef8b18 25% 50%,#35ae6c 50% 75%,#818b95 75% 100%);display:grid;place-items:center;position:relative}.r9-donut:after{content:"";position:absolute;width:94px;height:94px;border-radius:50%;background:#222830;border:1px solid #333b45}.r9-donut>div{position:relative;z-index:2;text-align:center}.r9-donut strong{font-size:25px}.r9-donut span{display:block;font-size:10px;color:#9ea8b2;margin-top:4px}
.r9-status-legend{display:grid;gap:12px}.r9-status-legend .status-line,.r9-status-legend>div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;font-size:12px}.r9-status-legend .bar,.r9-status-legend .summary-bar{display:none!important}
.r9-unit-chart{height:245px;display:flex;align-items:flex-end;gap:16px;padding:22px 8px 28px;border-bottom:1px solid #3a424c;position:relative}
.r9-unit-col{flex:1;min-width:42px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.r9-unit-bar{width:min(52px,72%);min-height:3px;border-radius:4px 4px 0 0;background:linear-gradient(to top,#317cc0,#4d9de0);box-shadow:0 0 18px rgba(60,139,205,.12)}.r9-unit-col b{font-size:11px;color:#dfe5ea}.r9-unit-col span{font-size:9px;color:#8f9aa5;white-space:nowrap}
#recent-table .table-wrap{margin:0;border-radius:10px;overflow:hidden}#recent-table table{margin:0}
#dashboard-alerts{display:grid;gap:9px}#dashboard-alerts .alert-item,#dashboard-alerts>div{background:#1f252c;border:1px solid #333c45;border-radius:10px;padding:12px 14px}
#course-summary{min-height:86px}
.r9-search-box .search-row{margin-top:4px}
.r9-activity{margin-bottom:20px}
#dashboard .panel{margin-bottom:0!important}
#dashboard .cards,#dashboard .quick-actions,#dashboard .dashboard-grid,#dashboard .dashboard-hero{display:none!important}
/* top nav retains functionality but visual is neutral */
#top-new,.primary{background:#39434d!important;border-color:#515e6a!important}.primary:hover,#top-new:hover{background:#46525e!important}
@media(max-width:1300px){.r9-actions{grid-template-columns:repeat(5,1fr)}}
@media(max-width:1050px){.r9-kpi-grid{grid-template-columns:repeat(2,1fr)}.r9-chart-grid,.r9-bottom-grid,.r9-secondary-grid{grid-template-columns:1fr}}
@media(max-width:720px){.r9-kpi-grid{grid-template-columns:1fr}.r9-actions{grid-template-columns:repeat(2,1fr)}.r9-occurrence-layout{grid-template-columns:1fr}.r9-unit-chart{overflow-x:auto}.r9-dashboard-head h2{font-size:23px}}
