/* as-reports.css — Reports dashboard redesign (v0.1.86) */

#as-app .rpt-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
#as-app .rpt-kpi { background:var(--s); border:1px solid var(--b); padding:18px; overflow:hidden; }
#as-app .rpt-kpi-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.7px; color:var(--t3); margin-bottom:6px; }
#as-app .rpt-kpi-row { display:flex; align-items:baseline; gap:8px; }
#as-app .rpt-kpi-val { font-size:26px; font-weight:700; line-height:1; }
#as-app .rpt-kpi-delta { font-size:11px; font-weight:600; }
#as-app .rpt-kpi-detail { font-size:10px; color:var(--t3); margin-top:4px; }
#as-app .rpt-bars { display:flex; align-items:flex-end; gap:2px; height:40px; margin-top:10px; }
#as-app .rpt-bar { flex:1; transition:height .3s; }
#as-app .rpt-donut-wrap { display:flex; align-items:center; gap:10px; margin-top:8px; }
#as-app .rpt-donut-legend { font-size:10px; color:var(--t2); line-height:1.7; }
#as-app .rpt-wl-row { margin-bottom:5px; }
#as-app .rpt-wl-head { display:flex; justify-content:space-between; font-size:10px; color:var(--t2); }
#as-app .rpt-wl-track { height:5px; background:var(--sa); margin-top:2px; }
#as-app .rpt-wl-fill { height:100%; }
#as-app .rpt-goal { display:flex; align-items:center; gap:6px; margin-bottom:3px; font-size:11px; cursor:pointer; }
#as-app .rpt-goal-dot { width:13px; height:13px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
#as-app .rpt-goal-done { background:var(--gn); }
#as-app .rpt-goal-open { border:1.5px solid var(--b); background:transparent; }
#as-app .rpt-goal-add { font-size:11px; color:var(--bl); cursor:pointer; margin-top:6px; }
#as-app .rpt-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
#as-app .rpt-card { background:var(--s); border:1px solid var(--b); padding:20px; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
#as-app .rpt-card:hover { border-color:var(--ac); box-shadow:0 2px 12px rgba(0,0,0,.06); }
#as-app .rpt-card-icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
#as-app .rpt-card-title { font-size:14px; font-weight:700; margin-bottom:4px; }
#as-app .rpt-card-desc { font-size:11px; color:var(--t3); line-height:1.5; margin-bottom:14px; min-height:36px; }
#as-app .rpt-card-foot { display:flex; justify-content:space-between; align-items:center; }
#as-app .rpt-card-formats { display:flex; gap:6px; }
#as-app .rpt-card-fmt { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; padding:3px 8px; background:var(--sa); color:var(--t3); }
#as-app .rpt-card-arrow { color:var(--ac); font-size:16px; font-weight:700; }
/* ── Outlook grid (v0.9.53 — Forecast merged into Reports) ──
   Two .card panels inside #as-rpt-outlook (.g2). Squared per house rule: no
   border-radius anywhere. Colors come from theme tokens only. */
#as-app .rpt-ol-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--sa); }
#as-app .rpt-ol-row:last-child { border-bottom:0; }
#as-app .rpt-ol-dot { width:8px; height:8px; flex-shrink:0; }
#as-app .rpt-ol-main { flex:1; min-width:0; }
#as-app .rpt-ol-name { font-size:12px; font-weight:600; }
#as-app .rpt-ol-track { height:4px; background:var(--sa); margin-top:4px; }
#as-app .rpt-ol-fill { height:100%; }
#as-app .rpt-ol-val { font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
#as-app .rpt-ol-total { border-top:2px solid var(--b); border-bottom:0; margin-top:4px; }
#as-app .rpt-ol-empty { font-size:11px; color:var(--t3); padding:16px 0; text-align:center; }
#as-app .rpt-preview-table { width:100%; border-collapse:collapse; font-size:12px; }
#as-app .rpt-preview-table th { text-align:left; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--t3); padding:5px 6px; border-bottom:2px solid var(--b); }
#as-app .rpt-preview-table td { padding:7px 6px; border-bottom:1px solid var(--b); }
#as-app .rpt-preview-table tr:hover td { background:rgba(0,0,0,.02); }
#as-app .rpt-preview-table .num { text-align:right; font-weight:600; font-variant-numeric:tabular-nums; }
@media(max-width:768px) { #as-app .rpt-kpi-grid,#as-app .rpt-cards { grid-template-columns:repeat(2,1fr); } }
