/* os-26 · Dashboard analytics layout (KarobarOS finishing package) */
.kos-dash{margin:22px 0}
.kos-welcome{background:linear-gradient(120deg,#c2410c,#f4511e);color:#fff;border-radius:16px;padding:26px 28px;margin-bottom:18px;box-shadow:0 10px 30px #c2410c26}
.kos-welcome h2{color:#fff;font-size:23px;margin:0 0 8px}
.kos-welcome p{color:#ffe5d9;max-width:560px}
.kos-welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.kos-welcome-actions .btn{background:#fff;color:#b23c17;border-color:#fff}
.kos-welcome-actions .btn.primary{background:#18181b;color:#fff;border-color:#18181b}
.kos-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.kos-kpi small{color:var(--muted);font-weight:600}
.kos-kpi strong{display:block;font:800 24px Manrope,sans-serif;margin:12px 0 6px;letter-spacing:-.6px;color:var(--ink)}
.kos-kpi em{font-style:normal;font-size:11px;color:var(--orange,#ed612d);font-weight:600}
.kos-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.kos-widget{padding:22px}
.kos-widget-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.kos-widget-head h3{font-size:15px;margin:0}
.kos-widget-head a{font-size:12px;font-weight:700;color:var(--orange,#ed612d);white-space:nowrap}
.kos-empty{text-align:center;padding:18px 10px}
.kos-empty p{color:var(--muted);line-height:1.7;margin:0 auto 14px;max-width:340px}
.kos-empty .btn{display:inline-block}
.kos-chart{width:100%;height:auto;display:block}
.kos-bar{transform-box:fill-box;transform-origin:bottom;animation:kos-grow .55s cubic-bezier(.2,.8,.3,1) both}
.kos-bar-val{font:700 11px 'DM Sans',sans-serif;fill:#52525b}
.kos-bar-day{font:600 10.5px 'DM Sans',sans-serif;fill:#8b948d}
.kos-chart-note{font-size:12px;color:var(--muted);margin:12px 0 0}
.kos-chart-note strong{color:var(--ink)}
.kos-donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.kos-donut{width:138px;height:138px;flex:none;animation:kos-pop .5s ease-out both}
.kos-donut-num{font:800 30px Manrope,sans-serif;fill:var(--ink)}
.kos-donut-cap{font:600 11px 'DM Sans',sans-serif;fill:#8b948d}
.kos-legend{list-style:none;margin:0;padding:0;flex:1;min-width:130px}
.kos-legend li{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--line)}
.kos-legend li:last-child{border-bottom:0}
.kos-legend strong{margin-left:auto}
.kos-dot{width:11px;height:11px;border-radius:4px;flex:none}
.kos-cash-row{display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:12px;padding:8px 0;font-size:13px}
.kos-cash-track{background:#f1f1ee;border-radius:99px;height:14px;overflow:hidden}
.kos-cash-fill{height:100%;border-radius:99px;animation:kos-widen .7s cubic-bezier(.2,.8,.3,1) both;transform-origin:left}
.kos-cash-fill.in{background:#f4511e}
.kos-cash-fill.out{background:#18181b}
.kos-list{list-style:none;margin:0;padding:0}
.kos-list li{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #f0f2ed;font-size:13.5px}
.kos-list li:last-child{border-bottom:0}
.kos-list strong{margin-left:auto;white-space:nowrap}
.kos-list small{color:var(--muted);white-space:nowrap}
.kos-list-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kos-rank{width:22px;height:22px;flex:none;border-radius:50%;background:#fff0e9;color:#c2410c;font:700 11.5px 'DM Sans',sans-serif;display:inline-flex;align-items:center;justify-content:center}
.kos-low-badge{margin-left:auto;background:#fff0e9;color:#c2410c;font-weight:700;font-size:12px;padding:4px 10px;border-radius:99px;white-space:nowrap}
.kos-act-ico{width:30px;height:30px;flex:none;border-radius:9px;background:#f6f5f0;color:#c2410c;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
@keyframes kos-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes kos-widen{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kos-pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.kos-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
 .kos-grid{grid-template-columns:1fr}
 .kos-kpis{gap:10px}
 .kos-kpi strong{font-size:20px}
 .kos-welcome{padding:22px 18px}
 .kos-donut-wrap{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
 .kos-bar,.kos-cash-fill,.kos-donut{animation:none!important}
}
