.dashboard-kpis { min-width:0; color:var(--vs-ink); letter-spacing:0; }
.dashboard-kpis-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; }
.dashboard-kpis-toolbar h2 { margin:0; font-size:18px; font-weight:600; }
.dashboard-kpis-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dashboard-kpi { min-width:0; min-height:132px; padding:16px 20px 20px; border:1px solid var(--vs-border); border-radius:6px; background:var(--vs-surface); }
.dashboard-kpi header, .dashboard-kpi-dialog header { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:40px; }
.dashboard-kpi h3 { margin:0; font-size:16px; line-height:1.5; font-weight:500; color:var(--vs-muted); }
.dashboard-kpi-value { margin:8px 0 0; min-height:44px; font-size:36px; line-height:1.2; font-weight:650; font-variant-numeric:tabular-nums; color:var(--vs-ink); overflow-wrap:anywhere; letter-spacing:0; }
.dashboard-kpis-icon { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex:none; padding:0; border:0; border-radius:5px; color:var(--vs-muted); background:transparent; cursor:pointer; }
.dashboard-kpis-icon:hover { background:var(--vs-accent-bg); color:var(--vs-ink); }
.dashboard-kpis-icon.has-warning { color:var(--vs-danger); }
.dashboard-kpis-icon:focus-visible { outline:2px solid var(--vs-accent); outline-offset:2px; }
.dashboard-kpis-icon:disabled { opacity:.5; cursor:default; }
.dashboard-kpi-loading { display:block; width:60%; max-width:180px; height:38px; border-radius:4px; background:var(--vs-border); }
.dashboard-kpis-icon .is-refreshing { animation:dashboard-kpis-spin 1s linear infinite; }
.dashboard-kpi-dialog { width:calc(100% - 32px); max-width:520px; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--vs-border); border-radius:8px; background:var(--vs-bg); color:var(--vs-ink); overflow-y:auto; }
.dashboard-kpi-dialog::backdrop { background:rgb(0 0 0 / 65%); }
.dashboard-kpi-dialog-body { padding:24px; }
.dashboard-kpi-dialog h2 { margin:0; font-size:22px; line-height:1.4; font-weight:600; }
.dashboard-kpi-period { margin:8px 0 16px; font-size:14px; color:var(--vs-muted); }
.dashboard-kpi-definition { margin:20px 0 0; font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
.dashboard-kpi-dialog .dismissible-warning { margin-top:20px; font-size:16px; line-height:1.6; color:var(--vs-danger); }
@keyframes dashboard-kpis-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .dashboard-kpis-icon .is-refreshing { animation:none; } }
@media (max-width:1000px) { .dashboard-kpis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .dashboard-kpis-grid { grid-template-columns:minmax(0,1fr); } .dashboard-kpi-value { font-size:32px; } .dashboard-kpi-dialog-body { padding:20px; } }
/*$vite$:1*/