
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-2:#f6f8fb;
  --stroke:#e6e9f0;
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#2563eb;
  --brand-50:#eff6ff;
  --brand-100:#dbeafe;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  min-height:100vh;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.header{
  position: sticky; top:0; z-index:1030;
  height:64px;
  border-bottom:1px solid var(--stroke);
  background: rgba(255,255,255,.9);
  backdrop-filter: saturate(180%) blur(6px);
}
.header .brand{ font-weight:700; letter-spacing:.2px; }
.sidebar{
  border-right:1px solid var(--stroke);
  min-height: calc(100vh - 64px);
  background: var(--surface);
}
.card{ border:1px solid var(--stroke); border-radius:14px; background: var(--surface); }
.card-soft{ border:1px solid var(--stroke); border-radius:14px; background: var(--surface-2); }
a, .nav-link{ color: var(--text); text-decoration:none; }
a:hover, .nav-link:hover{ color: var(--brand); }
.btn{ border-radius:10px; border:1px solid var(--stroke); background: var(--surface); color: var(--text); }
.btn:hover{ border-color: #d1d5db; background:#fafafa; }
.btn-primary{ background: var(--brand); color:#fff; border:1px solid var(--brand); }
.btn-primary:hover{ background:#1d4ed8; border-color:#1d4ed8; }
.badge{ border:1px solid var(--stroke); background: var(--brand-50); color: var(--brand); border-radius:999px; font-weight:600; }
.text-muted{ color: var(--muted) !important; }
hr{ border-color: var(--stroke); }
.accordion-button{ background: var(--surface); color: var(--text); }
.accordion-button:not(.collapsed){ background: var(--brand-50); color: var(--text); }
.accordion-button:focus{ box-shadow:none; border-color: var(--brand-100); }
.list-group-item{ background: transparent; color: var(--text); border:0; padding:.4rem .25rem; }
.list-group-item a{ color: var(--text); text-decoration:none; }
.list-group-item a:hover{ color: var(--brand); text-decoration:underline; }
.table thead th{ color: var(--muted); font-weight:600; border-bottom:1px solid var(--stroke); }
.table tbody td{ border-bottom:1px solid var(--stroke); }
.breadcrumb{font-size:.9rem; color:var(--muted)}
.breadcrumb a{ color: var(--muted); text-decoration: underline; }
.breadcrumb .active{ color: var(--text); }
.section-title{display:flex;align-items:center;gap:.5rem}
.section-title i{color: var(--brand)}
.small-muted{ color: var(--muted); font-size:.95rem }
.footer-note{ color: var(--muted); font-size:.9rem }
