body.cap-dashboard-active #dashView { background:var(--bg); color:var(--txt); }
#capDashboard { position:relative; min-height:100vh; padding:18px 22px 28px; overflow:visible; color:var(--txt); }
#capDashboard * { box-sizing:border-box; }
.cap-watermark { inset:0; z-index:20; }
.cap-head,.cap-filter,.cap-kpis,.cap-main-grid,.cap-bottom-grid { position:relative; z-index:6; }
.cap-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.cap-head h1 { margin:0; font-size:27px; letter-spacing:.02em; }
.cap-head p { margin:4px 0 0; color:var(--muted); font-size:11px; letter-spacing:.08em; }
.cap-head-side { display:flex; align-items:center; gap:14px; color:var(--blue2); font-size:13px; }
.cap-filter { position:sticky; top:0; z-index:40; display:flex; align-items:flex-end; gap:12px; min-height:62px; padding:9px 14px; margin-bottom:12px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:0 5px 14px rgba(40,23,57,.06); }
.cap-filter label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.cap-filter select { min-width:150px; height:34px; padding:0 10px; border:1px solid var(--border); border-radius:8px; background:var(--panel2); color:var(--txt); }
.cap-filter-note { margin-left:auto; align-self:center; color:var(--muted); font-size:11px; }
.cap-kpis { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:12px; }
.cap-kpis article { position:relative; min-height:94px; overflow:hidden; padding:14px 16px; border:1px solid var(--border); border-radius:11px; background:var(--panel); box-shadow:0 5px 16px rgba(40,23,57,.04); }
.cap-kpis article::after { content:""; position:absolute; width:58px; height:58px; right:-22px; top:-24px; border-radius:50%; background:var(--panel2); }
.cap-kpis article > * { position:relative; z-index:1; }
.cap-kpis span,.cap-kpis small { display:block; }
.cap-kpis span { color:var(--txt); font-weight:750; font-size:13px; }
.cap-kpis small { color:var(--muted); margin-top:2px; font-size:11px; }
.cap-kpis b { display:block; margin-top:7px; color:var(--blue2); font-size:27px; line-height:1; }
.cap-kpis .pending b { color:#c88a12; }
.cap-kpis .risk b { color:#d34e5e; }
.cap-main-grid { display:grid; grid-template-columns:1.18fr .82fr 1.2fr; gap:12px; margin-bottom:12px; }
.cap-bottom-grid { display:grid; grid-template-columns:.78fr 2.22fr; gap:12px; }
.cap-panel { min-width:0; padding:13px 14px; border:1px solid var(--border); border-radius:12px; background:var(--panel); box-shadow:0 5px 16px rgba(40,23,57,.035); }
.cap-title { margin-bottom:8px; color:var(--txt); font-size:14px; font-weight:800; }
.cap-title small { color:var(--muted); font-size:11px; font-weight:500; }
.cap-title > span { float:right; color:var(--muted); font-size:10px; font-weight:500; }
.cap-chart { height:285px; }
.cap-base-list { display:grid; gap:6px; }
.cap-base-card { padding:7px 9px; border:1px solid var(--border); border-radius:9px; background:var(--panel2); }
.cap-base-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.cap-base-head strong { font-size:13px; }
.cap-base-head small { color:var(--muted); font-weight:500; }
.cap-base-head b { color:var(--blue2); font-size:15px; }
.cap-stack { display:flex; width:100%; height:8px; overflow:hidden; border-radius:999px; background:var(--border); }
.cap-stack i,.cap-stack em { display:block; height:100%; text-decoration:none; }
.cap-stack i { background:#7442a8; }.cap-stack em { background:#8ba2e7; }
.cap-base-meta { display:flex; gap:11px; margin-top:5px; color:var(--muted); font-size:10px; }
.cap-base-meta .risk { color:#d34e5e; }
.cap-base-meta .pending { color:#c88a12; }
.cap-stack-legend { display:flex; gap:16px; margin-top:9px; color:var(--muted); font-size:10px; }
.cap-stack-legend span:before { content:""; display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; }
.cap-stack-legend .closed:before { background:#7442a8; }.cap-stack-legend .open:before { background:#8ba2e7; }.cap-stack-legend .overdue:before { background:#df5a67; }
.cap-aging-chart { height:194px; }
.cap-detail { overflow:hidden; }
.cap-detail table { width:100%; border-collapse:collapse; font-size:11px; }
.cap-detail th,.cap-detail td { padding:8px 7px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; }
.cap-detail th { color:var(--muted); font-weight:650; background:var(--panel2); }
.cap-detail tbody tr:last-child td { border-bottom:0; }
.cap-status { display:inline-block; padding:3px 8px; border-radius:999px; background:color-mix(in srgb,#6685df 15%,transparent); color:#5572c5; font-style:normal; }
.cap-risk-tag { display:inline-block; margin-left:4px; padding:3px 6px; border-radius:999px; background:color-mix(in srgb,#df5a67 14%,transparent); color:#d34e5e; font-style:normal; }
.cap-detail tr.is-overdue { background:color-mix(in srgb,#df5a67 8%,transparent); }
.cap-detail tr.is-pending { background:color-mix(in srgb,#e3a628 9%,transparent); }
html[data-theme="violet"] .cap-kpis article,html[data-theme="violet"] .cap-panel { box-shadow:0 6px 18px rgba(92,52,113,.06); }
@media (max-width:1450px) {
  #capDashboard { padding:13px 14px 20px; }
  .cap-filter { gap:8px; }.cap-filter select { min-width:125px; }
  .cap-main-grid { grid-template-columns:1.08fr .82fr 1.1fr; }
  .cap-detail th,.cap-detail td { padding:7px 5px; font-size:10px; }
}
@media (max-width:1100px) {
  .cap-kpis { grid-template-columns:repeat(3,1fr); }
  .cap-main-grid,.cap-bottom-grid { grid-template-columns:1fr; }
  .cap-filter { flex-wrap:wrap; }.cap-filter-note { width:100%; margin-left:0; }
}
