/* Brand tokens — change these to match Design Print's palette. */
:root {
  --adp-ink: #14213d;
  --adp-ink-2: #1d2f57;
  --adp-accent: #0f9d8a;
  --adp-bg: #f4f6fa;
  --adp-sidebar-w: 248px;
}
body { background: var(--adp-bg); }
.adp-topbar { background: var(--adp-ink); color: #fff; }
.adp-topbar .navbar-brand { color: #fff; }
.adp-shell { display: flex; min-height: 100vh; }
aside.adp-sidebar, .adp-sidebar { background: var(--adp-ink) !important; background-color: #14213d !important; color: #fff; width: var(--adp-sidebar-w); flex: 0 0 var(--adp-sidebar-w); }
@media (min-width: 992px) { .adp-sidebar { position: sticky; top: 0; height: 100vh; } }
.adp-sidebar .nav-link { color: rgba(255,255,255,.78); border-radius: .5rem; }
.adp-sidebar .nav-link:hover { color: #fff; background: var(--adp-ink-2); }
.adp-sidebar .nav-link.active { background: var(--adp-accent); color: #fff; }
.adp-brand { font-weight: 700; font-size: 1.15rem; letter-spacing: .2px; }
.adp-brand small { font-weight: 400; font-size: .78rem; color: rgba(255,255,255,.6); }
.adp-main { flex: 1 1 auto; min-width: 0; }
.adp-content { padding: 1.25rem; max-width: 1280px; }
.adp-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.adp-login .adp-content { max-width: 420px; width: 100%; }
.adp-card { border: 0; box-shadow: 0 1px 3px rgba(20,33,61,.08); }
.adp-card .card-header { background: #fff; font-weight: 600; border-bottom: 1px solid #eef0f5; }
.adp-stat { font-size: 1.9rem; font-weight: 700; line-height: 1; }
.adp-stat-label { font-size: .8rem; color: #6b7280; text-transform: uppercase; letter-spacing: .4px; }
.adp-tasklist .list-group-item { border-color: #eef0f5; }
.adp-ai-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .5px; color: #7c3aed; font-weight: 700; }
.adp-fact-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .5px; color: #047857; font-weight: 700; }
.adp-msg-user { background: #e8f5f2; border-radius: .75rem; padding: .75rem 1rem; }
.adp-msg-ai { background: #fff; border-radius: .75rem; padding: .75rem 1rem; box-shadow: 0 1px 3px rgba(20,33,61,.08); }
.adp-pre { background: #0f172a; color: #e2e8f0; border-radius: .5rem; padding: .75rem; font-size: .8rem; white-space: pre-wrap; word-break: break-word; max-height: 360px; overflow: auto; }
.adp-kv th { width: 34%; font-weight: 600; color: #475569; }
.adp-pending { border-left: 4px solid #f59e0b; }
textarea.adp-grow { min-height: 7rem; }
.adp-prewrap { white-space: pre-wrap; }
.adp-inherit-font { font-family: inherit; }
.adp-w-80 { width: 80px; }
.adp-w-90 { width: 90px; }
.adp-w-100 { width: 100px; }
.adp-mic { width: 56px; height: 56px; font-size: 1.4rem; line-height: 1; padding: 0; }
.adp-scroll-320 { max-height: 320px; overflow: auto; }
