:root {
  --bg: #f4f7fb;
  --card: #ffffff;
  --text: #162033;
  --muted: #64748b;
  --border: #d9e2ef;
  --primary: #243b7a;
  --primary-2: #d7262e;
  --success-bg: #effcf5;
  --success-border: #b7e6ca;
  --success-text: #0f6a37;
  --danger-bg: #fff1f1;
  --danger-text: #a11b1b;
  --danger-border: #f1c0c0;
  --warning-bg: #fff8ea;
  --warning-border: #efd7a3;
  --warning-text: #8a5b00;
  --info-bg: #eff6ff;
  --info-border: #c4dafc;
  --info-text: #164b99;
  --shadow: 0 10px 24px rgba(15,23,42,.05);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
.site-header { background: rgba(255,255,255,.92); border-bottom: 1px solid var(--border); backdrop-filter: blur(8px); }
.header-row { display:flex; align-items:center; justify-content:space-between; gap: 18px; min-height:72px; }
.brand-wrap { display:flex; flex-direction:column; gap:4px; }
.brand-title { font-size: 1.05rem; }
.brand-subtitle { color: var(--muted); font-size: .9rem; }
.top-nav { display:flex; gap:12px; flex-wrap: wrap; }
.top-nav a { padding: 10px 12px; border-radius: 10px; color: var(--primary); font-weight: 600; }
.top-nav a.active, .top-nav a:hover { background: #eef3ff; text-decoration: none; }
.page-wrap { padding: 28px 0 48px; }
.card { background: var(--card); border: 1px solid var(--border); border-radius: 18px; padding: 24px; box-shadow: var(--shadow); }
.card h1, .card h2, .card h3 { margin: 0 0 12px; }
.auth-card { max-width: 560px; margin: 48px auto; }
.stack { display:grid; gap: 16px; }
label { display:grid; gap:8px; font-weight:600; }
input, button, select { font: inherit; }
input, select { width:100%; padding: 14px 16px; border:1px solid var(--border); border-radius: 12px; background:#fff; }
button, .button-primary { display:inline-flex; align-items:center; justify-content:center; padding: 14px 18px; border:0; border-radius: 12px; background: linear-gradient(135deg,var(--primary),var(--primary-2)); color:#fff; cursor:pointer; font-weight:700; text-decoration:none; }
button:hover, .button-primary:hover { filter: brightness(1.03); text-decoration:none; }
.button-secondary { display:inline-flex; align-items:center; justify-content:center; padding: 12px 16px; border-radius: 12px; background:#fff; color:var(--primary); border:1px solid var(--border); font-weight:700; text-decoration:none; }
.button-secondary:hover { background:#f7faff; text-decoration:none; }
.alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 16px; }
.alert-error { background: var(--danger-bg); color: var(--danger-text); border:1px solid var(--danger-border); }
.alert-success { background: var(--success-bg); color: var(--success-text); border:1px solid var(--success-border); }
.alert-warning { background: var(--warning-bg); color: var(--warning-text); border:1px solid var(--warning-border); }
.alert-info { background: var(--info-bg); color: var(--info-text); border:1px solid var(--info-border); }
.muted { color: var(--muted); }
.small { font-size: .92rem; }
.grid { display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap:20px; }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.span-4 { grid-column: span 4; }
.span-5 { grid-column: span 5; }
.span-6 { grid-column: span 6; }
.span-7 { grid-column: span 7; }
.span-8 { grid-column: span 8; }
.span-12 { grid-column: span 12; }
.hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.metric { font-size: 40px; margin: 8px 0; font-weight:700; text-transform: capitalize; }
.kpi-grid { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap:16px; }
.kpi-card { background: var(--card); border: 1px solid var(--border); border-radius: 18px; padding: 20px; box-shadow: var(--shadow); }
.kpi-label { color: var(--muted); font-size:.95rem; }
.kpi-value { font-size: 34px; font-weight:800; margin-top:8px; }
.kpi-foot { color: var(--muted); font-size:.9rem; margin-top:8px; }
.table-wrap { overflow:auto; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { padding: 14px 10px; border-bottom: 1px solid var(--border); text-align:left; vertical-align: top; }
.table th { font-size: .92rem; color: var(--muted); }
.badge { display:inline-flex; align-items:center; gap:6px; padding: 7px 10px; border-radius: 999px; font-size: .86rem; font-weight: 700; }
.badge.success { background: var(--success-bg); color: var(--success-text); }
.badge.info { background: var(--info-bg); color: var(--info-text); }
.badge.warning { background: var(--warning-bg); color: var(--warning-text); }
.badge.danger { background: var(--danger-bg); color: var(--danger-text); }
.badge.muted { background: #eef2f7; color: #4b5563; }
.note-card { border-left: 4px solid var(--primary); }
.empty-state { display:grid; gap: 10px; padding: 18px; border:1px dashed var(--border); border-radius: 14px; background:#fbfcfe; }
.spark { display:flex; align-items:flex-end; gap:6px; height: 130px; margin-top: 18px; }
.spark-col { flex:1; background: linear-gradient(180deg,var(--primary),var(--primary-2)); opacity:.9; border-radius: 10px 10px 0 0; min-width: 14px; }
.spark-labels { display:flex; justify-content:space-between; gap:6px; font-size:.82rem; color: var(--muted); margin-top: 8px; }
.list-clean { display:grid; gap:12px; }
.list-item { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding: 14px 0; border-bottom: 1px solid var(--border); }
.list-item:last-child { border-bottom: 0; }
.chip-row { display:flex; flex-wrap:wrap; gap:10px; }
.chip { padding: 8px 12px; border-radius: 999px; background:#f4f7fb; border:1px solid var(--border); color: var(--muted); font-weight:600; }
.stat-row { display:flex; gap:18px; flex-wrap:wrap; }
.stat-pill { background:#f7faff; border:1px solid var(--border); border-radius: 14px; padding: 10px 14px; }
.stat-pill strong { display:block; font-size: 1.1rem; }
.actions-inline { display:flex; gap:10px; flex-wrap:wrap; }
.text-right { text-align:right; }
@media (max-width: 1000px) {
  .kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .grid, .kpi-grid { grid-template-columns: 1fr; }
  .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-12 { grid-column: auto; }
  .header-row { min-height: auto; padding: 16px 0; align-items: flex-start; flex-direction: column; }
  .hero { flex-direction: column; }
}
