
:root{--bg:#fff;--fg:#111827;--muted:#6b7280;--border:#e5e7eb;--accent:#2563eb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--surface:#f9fafb}
@media (prefers-color-scheme: dark){:root{--bg:#0b0f19;--fg:#e5e7eb;--muted:#9ca3af;--border:#1f2937;--surface:#0f1423}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.card{background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04);overflow:hidden}
.card-header,.card-footer{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.card-footer{border-top:1px solid var(--border);border-bottom:none}
.card-body{padding:1rem}
.card-title{margin:0;font-weight:600;font-size:1.1rem}
.card-subtitle{color:var(--muted);font-size:.9rem}
.card-actions{margin-left:auto;display:flex;gap:.5rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.badge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.8rem}
.badge.info{background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.25)}
.badge.success{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.25)}
.badge.warning{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.25)}
.badge.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.25)}
.btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--fg);padding:.45rem .8rem;border-radius:.55rem;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:10vh 1rem;z-index:50}
.modal.show{display:flex}.modal-dialog{width:min(640px,100%)}.modal-content{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.modal-header,.modal-footer{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.modal-footer{border-top:1px solid var(--border);border-bottom:none}.modal-body{padding:1rem}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:40}.modal-backdrop.show{display:block}
.card.info{border-color:rgba(37,99,235,.35)}.card.success{border-color:rgba(16,185,129,.35)}.card.warning{border-color:rgba(245,158,11,.35)}.card.danger{border-color:rgba(239,68,68,.35)}
/* Dashboard-→Card Aliase */
.dashboard-card{ all:unset; } .dashboard-card{ display:block; }
.dashboard-card{ background:var(--bg); border:1px solid var(--border); border-radius:12px; box-shadow:0 1px 2px rgba(0,0,0,.04); overflow:hidden; }

.dashboard-card-header{ padding:.75rem 1rem; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.dashboard-card-body{ padding:1rem; }
.dashboard-card-footer{ padding:.75rem 1rem; border-top:1px solid var(--border); display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }

.dashboard-card-title{ margin:0; font-weight:600; font-size:1.1rem; }
.dashboard-card-description{ color:var(--muted); font-size:.9rem; }

.dashboard-card-actions{ margin-left:auto; display:flex; gap:.5rem; }

