
*, *::before, *::after { box-sizing: border-box; }
:root {
  --app-brand-font: "Dosis", "Manrope", "Inter", system-ui, sans-serif;
  --app-display-font: "Manrope", "Inter", system-ui, sans-serif;
  --app-reading-font: "Source Serif 4", Georgia, serif;
  --app-accent: #0f5bd8;
  --app-accent-strong: #0b47ab;
  --app-accent-alt: #0f766e;
  --app-accent-soft: rgba(15, 91, 216, 0.12);
  --app-bg: #ffffff;
  --app-text: #111827;
  --app-muted: #4b5563;
  --app-card-bg: #ffffff;
  --app-card-muted: #f4f6f8;
  --app-border: #d9e1ea;
  --app-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
  --app-shadow-lg: 0 18px 36px rgba(17, 24, 39, 0.12);
  --fms-sidebar-bg: #ffffff;
  --fms-sidebar-bg-soft: #f3f4f6;
  --fms-sidebar-text: #1f2937;
  --fms-sidebar-muted: #6b7280;
  --fms-topbar-bg: rgba(255, 255, 255, 0.96);
  --fms-subnav-bg: rgba(255, 255, 255, 0.94);
}
html[data-theme="dark"] {
  --app-bg: #101418;
  --app-text: #e8eaed;
  --app-muted: #a6adb7;
  --app-card-bg: #182028;
  --app-card-muted: #1f2933;
  --app-border: #2f3b46;
  --app-shadow: 0 14px 30px rgba(0, 0, 0, 0.3);
  --app-shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.36);
  --fms-sidebar-bg: #121a23;
  --fms-sidebar-bg-soft: #18212b;
  --fms-sidebar-text: #d7e3f1;
  --fms-sidebar-muted: #95a6bb;
  --fms-topbar-bg: rgba(24, 32, 40, 0.86);
  --fms-subnav-bg: rgba(20, 27, 35, 0.9);
}
html[data-theme-preset="emerald"] { --app-accent: #10b981; }
html[data-theme-preset="sunset"] { --app-accent: #f97316; }
html[data-theme-preset="graphite"] { --app-accent: #334155; }
html[data-surface-style="flat"] { --app-shadow: none; }
html[data-surface-style="glass"] {
  --app-card-bg: rgba(255, 255, 255, 0.72);
  --app-border: rgba(148, 163, 184, 0.45);
}
html[data-theme="dark"][data-surface-style="glass"] {
  --app-card-bg: rgba(17, 27, 47, 0.72);
  --app-border: rgba(59, 80, 116, 0.65);
}
body {
  margin: 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(15, 91, 216, 0.07), transparent 34%),
    radial-gradient(circle at 7% 92%, rgba(15, 118, 110, 0.07), transparent 32%),
    var(--app-bg);
  color: var(--app-text);
  font-family: "Manrope", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15.5px;
  line-height: 1.62;
  letter-spacing: 0.002em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

p,
li,
dd,
.form-text,
.text-muted,
.small {
  line-height: 1.68;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.24;
}

a,
button,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

h1, h2, h3, h4, h5, h6,
.ui-page-hero__title,
.ui-section-card__title,
.ui-table-card__title,
.ui-chart-card__title,
.ui-stat-card__value {
  font-family: var(--app-display-font);
}

/* ── Base Component Overrides ────────────────────────────── */
.card { background: var(--app-card-bg); border: 1px solid var(--app-border); border-radius: 0.75rem; box-shadow: var(--app-shadow); }
  .card-header { padding: 0.85rem 1rem; border-bottom: 1px solid var(--app-border); background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,250,253,0.7)); }
  .card-body { padding: 1rem; }

  .card-body,
  .panel-body,
  .modal-body,
  .ui-section-card__body,
  .ui-table-card__body,
  .ui-chart-card__body,
  .ui-menu-card__body,
  .fms-content,
  .fms-content main,
  .fms-content section {
    line-height: 1.66;
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.5rem;
    border-radius: .85rem;
    border: 1px solid transparent;
    padding: .62rem .95rem;
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.15;
    cursor: pointer;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
  }
  .btn:hover,
  .btn:focus {
    transform: translateY(-1px);
  }
  .btn-sm {
    min-height: 2rem;
    padding: .46rem .72rem;
    font-size: .8rem;
  }
  .btn-primary {
    background: linear-gradient(180deg, var(--app-accent), var(--app-accent-strong));
    color: #fff;
    border-color: var(--app-accent);
    box-shadow: 0 8px 18px rgba(15, 91, 216, 0.24);
  }
  .btn-success {
    background: linear-gradient(135deg, var(--app-accent-alt), #0a5c56);
    color: #fff;
    border-color: var(--app-accent-alt);
    box-shadow: 0 12px 24px rgba(15, 118, 110, 0.2);
  }
  .btn-outline-primary {
    background: rgba(15, 91, 216, 0.06);
    color: var(--app-accent);
    border-color: rgba(15, 91, 216, 0.24);
  }
  .btn-outline-secondary {
    background: rgba(95, 99, 104, 0.05);
    color: var(--app-text);
    border-color: rgba(95, 99, 104, 0.16);
  }
  .btn-outline-danger {
    background: rgba(239, 74, 0, 0.06);
    color: #dc2626;
    border-color: rgba(220, 38, 38, 0.24);
  }
  .btn-outline-success {
    background: rgba(69, 179, 105, 0.08);
    color: #16a34a;
    border-color: rgba(69, 179, 105, 0.22);
  }

  .form-control,
  .form-select,
  .form-control-sm,
  .form-select-sm {
    width: 100%;
    min-height: 2.7rem;
    border: 1px solid var(--app-border);
    border-radius: .9rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,246,250,0.92));
    color: var(--app-text);
    padding: .72rem .9rem;
    font-size: .94rem;
    line-height: 1.45;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
  }
  .form-select {
    padding-right: 2.5rem;
  }
  .form-control-sm,
  .form-select-sm {
    min-height: 2.35rem;
    padding: .58rem .75rem;
    font-size: .86rem;
  }
  textarea.form-control,
  textarea.form-control-sm {
    min-height: 7rem;
    resize: vertical;
  }
  .form-control::placeholder,
  .form-control-sm::placeholder {
    color: color-mix(in srgb, var(--app-muted) 82%, transparent);
  }
  .form-control:focus,
  .form-select:focus,
  .form-control-sm:focus,
  .form-select-sm:focus {
    outline: none;
    border-color: rgba(26, 115, 232, 0.5);
    box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.12);
    background: var(--app-card-bg);
  }
  .form-check-input {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(72, 127, 255, 0.2);
    border-radius: .35rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,246,250,0.92));
    color: var(--app-text);
    accent-color: #487fff;
    box-shadow: inset 0 0 0 1px rgba(72, 127, 255, 0.04);
  }
  .form-check-input:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(72, 127, 255, 0.12);
  }
  .form-check {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
  }
  .form-check-label {
    font-size: .83rem;
    font-weight: 600;
    color: var(--app-text);
  }
  .form-control.is-invalid,
  .form-select.is-invalid,
  .form-control-sm.is-invalid,
  .form-select-sm.is-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1);
  }
  .invalid-feedback {
    display: block;
    margin-top: .28rem;
    color: #dc2626;
    font-size: .78rem;
    font-weight: 500;
  }

  .table { width: 100%; border-collapse: collapse; }
  .table th, .table td { border-bottom: 1px solid var(--app-border); padding: .68rem .72rem; text-align: left; vertical-align: middle; }
  .table-responsive { width: 100%; overflow-x: auto; }
  .table-sm th, .table-sm td { padding: .52rem .58rem; }
  .table-hover tbody tr:hover { background: rgba(148,163,184,.12); }
  .align-middle { vertical-align: middle !important; }

  .d-flex { display: flex; }
  .align-items-center { align-items: center; }
  .justify-content-between { justify-content: space-between; }
  .justify-content-center { justify-content: center; }
  .text-center { text-align: center; }
  .text-end { text-align: right; }
  .w-100 { width: 100%; }
  .mb-0 { margin-bottom: 0; }
  .mb-1 { margin-bottom: .25rem; }
  .mb-2 { margin-bottom: .5rem; }
  .mb-3 { margin-bottom: .75rem; }
  .mt-1 { margin-top: .25rem; }
  .mt-2 { margin-top: .5rem; }
  .mt-3 { margin-top: .75rem; }
  .ms-2 { margin-left: .5rem; }

  .g-2 { gap: .5rem; }
  .g-3 { gap: .75rem; }

  .modal { position: fixed; inset: 0; z-index: 1050; display: none; align-items: center; justify-content: center; background: rgba(15,23,42,.55); }
  .modal.show { display: flex; }
  .modal-dialog { width: min(94vw, 640px); }
  .modal-content { background: var(--app-card-bg); border-radius: .75rem; border: 1px solid var(--app-border); overflow: hidden; }
  .modal-header, .modal-footer { padding: .75rem 1rem; border-bottom: 1px solid var(--app-border); }
  .modal-footer { border-bottom: 0; border-top: 1px solid var(--app-border); }
  .modal-body { padding: 1rem; }

  /* ── Navbar ─────────────────────────────────────────────── */
  .navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .5rem 1rem; }
  .navbar-expand-lg { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-brand { display: inline-flex; align-items: center; text-decoration: none; }
  .navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
  .navbar-toggler { background: transparent; border: none; cursor: pointer; padding: .25rem .5rem; line-height: 1; }
  .navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-size: cover; }
  /* collapse: mobile hide, desktop always visible */
  @media (max-width: 991.98px) {
    .collapse { display: none; }
    .collapse.show { display: block; }
  }
  @media (min-width: 992px) {
    .navbar-expand-lg .collapse { display: flex !important; flex-grow: 1; align-items: center; }
    .navbar-expand-lg .navbar-nav { flex-direction: row; }
    .navbar-expand-lg .navbar-toggler { display: none !important; }
  }

  /* ── Dropdown ───────────────────────────────────────────── */
  .dropdown { position: relative; }
  .dropdown-menu { display: none; position: absolute; top: 100%; z-index: 1000; min-width: 10rem; padding: .35rem 0; background: var(--app-card-bg); border: 1px solid var(--app-border); border-radius: .5rem; box-shadow: 0 4px 16px rgba(0,0,0,.12); }
  .dropdown-menu.show { display: block; }
  .dropdown-menu-end { right: 0; left: auto; }
  .dropdown-item { display: flex; align-items: center; width: 100%; padding: .45rem .9rem; font-size: .875rem; color: var(--app-text); text-decoration: none; background: transparent; border: 0; cursor: pointer; white-space: nowrap; }
  .dropdown-item:hover, .dropdown-item:focus { background: rgba(148,163,184,.12); }
  .dropdown-item:focus-visible { outline: 2px solid rgba(13, 110, 253, .55); outline-offset: -2px; }
  .dropdown-divider { height: 0; margin: .25rem 0; border-top: 1px solid var(--app-border); overflow: hidden; }

  .compat-tooltip {
    position: absolute;
    z-index: 1200;
    pointer-events: none;
    max-width: 18rem;
    padding: .35rem .55rem;
    border-radius: .45rem;
    background: rgba(15, 23, 42, .92);
    color: #f8fafc;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.2;
    box-shadow: 0 8px 18px rgba(2, 6, 23, .28);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .12s ease, transform .12s ease;
  }

  .compat-tooltip.show {
    opacity: 1;
    transform: translateY(0);
  }

  html[data-theme="dark"] .compat-tooltip {
    background: rgba(30, 41, 59, .95);
    color: #e2e8f0;
    box-shadow: 0 10px 24px rgba(2, 6, 23, .42);
  }

  /* ── Nav links ───────────────────────────────────────────── */
  .nav-link { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
  .nav-item { list-style: none; }

  /* ── Spacing — margin ────────────────────────────────────── */
  .me-auto { margin-right: auto; }
  .me-1 { margin-right: .25rem; }
  .me-2 { margin-right: .5rem; }
  .me-3 { margin-right: .75rem; }
  .me-4 { margin-right: 1rem; }
  .ms-auto { margin-left: auto; }
  .ms-1 { margin-left: .25rem; }
  .ms-3 { margin-left: .75rem; }
  .ms-4 { margin-left: 1rem; }
  .mt-0 { margin-top: 0; }
  .mt-4 { margin-top: 1rem; }
  .mb-4 { margin-bottom: 1rem; }

  /* ── Spacing — padding ───────────────────────────────────── */
  .p-0 { padding: 0; }
  .p-1 { padding: .25rem; }
  .p-2 { padding: .5rem; }
  .p-3 { padding: .75rem; }
  .p-4 { padding: 1rem; }
  .px-2 { padding-left: .5rem; padding-right: .5rem; }
  .px-3 { padding-left: .75rem; padding-right: .75rem; }
  .px-4 { padding-left: 1rem; padding-right: 1rem; }
  .py-1 { padding-top: .25rem; padding-bottom: .25rem; }
  .py-2 { padding-top: .5rem; padding-bottom: .5rem; }
  .py-3 { padding-top: .75rem; padding-bottom: .75rem; }
  .pt-0 { padding-top: 0; }
  .pt-3 { padding-top: .75rem; }
  .pb-1 { padding-bottom: .25rem; }
  .pb-3 { padding-bottom: .75rem; }
  .pe-2 { padding-right: .5rem; }
  .ps-2 { padding-left: .5rem; }
  @media (min-width: 768px) {
    .px-md-3 { padding-left: .75rem !important; padding-right: .75rem !important; }
  }

  /* ── Typography ──────────────────────────────────────────── */
  .fw-bold { font-weight: 700; }
  .fw-semibold { font-weight: 600; }
  .fw-medium { font-weight: 500; }
  .fw-normal { font-weight: 400; }
  .fw-light { font-weight: 300; }
  .small { font-size: .875em; }
  .fs-6 { font-size: 1rem; }
  .fs-5 { font-size: 1.125rem; }
  .fs-4 { font-size: 1.25rem; }
  .fs-xs { font-size: .81rem; }
  .fs-xxs { font-size: .72rem; }

  /* ── Text colours ────────────────────────────────────────── */
  .text-primary { color: var(--app-accent) !important; }
  .text-success { color: #16a34a !important; }
  .text-danger  { color: #dc2626 !important; }
  .text-warning { color: #d97706 !important; }
  .text-info    { color: #0891b2 !important; }
  .text-muted   { color: var(--app-muted) !important; }
  .text-secondary { color: #64748b !important; }
  .text-white   { color: #fff !important; }
  html[data-theme="dark"] .text-success { color: #4ade80 !important; }
  html[data-theme="dark"] .text-danger  { color: #f87171 !important; }
  html[data-theme="dark"] .text-warning { color: #fbbf24 !important; }

  /* ── Backgrounds ─────────────────────────────────────────── */
  .bg-transparent { background-color: transparent !important; }
  .bg-white       { background-color: #fff !important; }
  .bg-primary     { background-color: var(--app-accent) !important; }
  .bg-success     { background-color: #16a34a !important; }
  .bg-danger      { background-color: #dc2626 !important; }
  .bg-warning     { background-color: #d97706 !important; }
  .bg-secondary   { background-color: #64748b !important; }
  .bg-success-subtle { background-color: #dcfce7; }
  .bg-danger-subtle  { background-color: #fee2e2; }
  .bg-warning-subtle { background-color: #fef9c3; }
  .bg-info-subtle    { background-color: #e0f2fe; }
  .bg-primary-subtle { background-color: rgba(13,110,253,.12); }
  .text-bg-light { background-color: #f1f5f9 !important; color: #334155 !important; }
  .text-bg-secondary { background-color: #64748b !important; color: #fff !important; }
  .text-bg-success { background-color: #16a34a !important; color: #fff !important; }
  .text-bg-danger { background-color: #dc2626 !important; color: #fff !important; }
  .text-bg-warning { background-color: #d97706 !important; color: #fff !important; }
  .text-bg-info { background-color: #0891b2 !important; color: #fff !important; }
  html[data-theme="dark"] .text-bg-light { background-color: #1e293b !important; color: #dbe5f1 !important; }
  html[data-theme="dark"] .bg-success-subtle { background-color: rgba(22,163,74,.22); }
  html[data-theme="dark"] .bg-danger-subtle  { background-color: rgba(220,38,38,.22); }
  html[data-theme="dark"] .bg-warning-subtle { background-color: rgba(217,119,6,.22); }
  html[data-theme="dark"] .bg-info-subtle    { background-color: rgba(8,145,178,.22); }
  html[data-theme="dark"] .bg-white { background-color: var(--app-card-bg) !important; }

  /* ── Display ─────────────────────────────────────────────── */
  .d-none        { display: none !important; }
  .d-block       { display: block !important; }
  .d-inline      { display: inline !important; }
  .d-inline-flex { display: inline-flex !important; }
  .d-grid        { display: grid !important; }
  @media (min-width: 576px)  { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } }
  @media (min-width: 768px)  { .d-md-none { display: none !important; } .d-md-block { display: block !important; } .d-md-inline { display: inline !important; } .d-md-inline-flex { display: inline-flex !important; } }
  @media (min-width: 992px)  { .d-lg-none { display: none !important; } .d-lg-block { display: block !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-flex { display: inline-flex !important; } }

  /* ── Borders & radius ────────────────────────────────────── */
  .border-0 { border: 0 !important; }
  .border   { border: 1px solid var(--app-border); }
  .border-top { border-top: 1px solid var(--app-border) !important; }
  .rounded        { border-radius: .375rem !important; }
  .rounded-2      { border-radius: .5rem !important; }
  .rounded-3      { border-radius: .75rem !important; }
  .rounded-4      { border-radius: 1rem !important; }
  .rounded-pill   { border-radius: 999px !important; }
  .rounded-circle { border-radius: 50% !important; }

  /* ── Shadow ──────────────────────────────────────────────── */
  .shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,.08) !important; }
  .shadow    { box-shadow: 0 4px 12px rgba(0,0,0,.1) !important; }

  /* ── Overflow ────────────────────────────────────────────── */
  .overflow-hidden { overflow: hidden !important; }
  .overflow-auto   { overflow: auto !important; }
  .overflow-x-auto { overflow-x: auto !important; }

  /* ── Badge ───────────────────────────────────────────────── */
  .badge { display: inline-flex; align-items: center; padding: .25em .55em; font-size: .75em; font-weight: 700; border-radius: 999px; line-height: 1; }

  /* ── Alert ───────────────────────────────────────────────── */
  .alert         { padding: .75rem 1rem; border-radius: .5rem; border: 1px solid; margin-bottom: 1rem; }
  .alert-success { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
  .alert-danger  { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
  .alert-warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
  .alert-info    { background: #f0f9ff; border-color: #bae6fd; color: #075985; }
  .alert-dismissible { position: relative; padding-right: 2rem; }
  .fade { transition: opacity .15s linear; }
  .fade:not(.show) { opacity: 0; }
  .show { opacity: 1; }
  .btn-close {
    width: 1.2rem;
    height: 1.2rem;
    border: 0;
    border-radius: .35rem;
    background: transparent;
    color: currentColor;
    opacity: .68;
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }
  .btn-close::before,
  .btn-close::after {
    content: '';
    position: absolute;
    width: .72rem;
    height: 1.5px;
    background: currentColor;
    border-radius: 999px;
  }
  .btn-close::before { transform: rotate(45deg); }
  .btn-close::after { transform: rotate(-45deg); }
  .btn-close:hover,
  .btn-close:focus { opacity: 1; background: rgba(148,163,184,.14); }

  /* ── Flex helpers ────────────────────────────────────────── */
  .hidden        { display: none !important; }
  .flex          { display: flex; }
  .inline-flex   { display: inline-flex; }
  .grid          { display: grid; }
  .w-full        { width: 100%; }
  .grid-cols-1   { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .col-span-12   { grid-column: span 12 / span 12; }
  .flex-wrap     { flex-wrap: wrap; }
  .flex-column   { flex-direction: column; }
  .flex-shrink-0 { flex-shrink: 0; }
  .flex-grow-1   { flex-grow: 1; }

  @media (min-width: 576px) {
    .sm\:col-span-1  { grid-column: span 1 / span 1; }
    .sm\:col-span-2  { grid-column: span 2 / span 2; }
    .sm\:col-span-3  { grid-column: span 3 / span 3; }
    .sm\:col-span-4  { grid-column: span 4 / span 4; }
    .sm\:col-span-5  { grid-column: span 5 / span 5; }
    .sm\:col-span-6  { grid-column: span 6 / span 6; }
    .sm\:col-span-7  { grid-column: span 7 / span 7; }
    .sm\:col-span-8  { grid-column: span 8 / span 8; }
    .sm\:col-span-9  { grid-column: span 9 / span 9; }
    .sm\:col-span-10 { grid-column: span 10 / span 10; }
    .sm\:col-span-11 { grid-column: span 11 / span 11; }
    .sm\:col-span-12 { grid-column: span 12 / span 12; }
  }

  @media (min-width: 768px) {
    .md\:grid-cols-2  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .md\:grid-cols-3  { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .md\:grid-cols-4  { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .md\:grid-cols-6  { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .md\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .md\:col-span-1   { grid-column: span 1 / span 1; }
    .md\:col-span-2   { grid-column: span 2 / span 2; }
    .md\:col-span-3   { grid-column: span 3 / span 3; }
    .md\:col-span-4   { grid-column: span 4 / span 4; }
    .md\:col-span-5   { grid-column: span 5 / span 5; }
    .md\:col-span-6   { grid-column: span 6 / span 6; }
    .md\:col-span-7   { grid-column: span 7 / span 7; }
    .md\:col-span-8   { grid-column: span 8 / span 8; }
    .md\:col-span-9   { grid-column: span 9 / span 9; }
    .md\:col-span-10  { grid-column: span 10 / span 10; }
    .md\:col-span-11  { grid-column: span 11 / span 11; }
    .md\:col-span-12  { grid-column: span 12 / span 12; }
  }

  @media (min-width: 992px) {
    .lg\:col-span-1  { grid-column: span 1 / span 1; }
    .lg\:col-span-2  { grid-column: span 2 / span 2; }
    .lg\:col-span-3  { grid-column: span 3 / span 3; }
    .lg\:col-span-4  { grid-column: span 4 / span 4; }
    .lg\:col-span-5  { grid-column: span 5 / span 5; }
    .lg\:col-span-6  { grid-column: span 6 / span 6; }
    .lg\:col-span-7  { grid-column: span 7 / span 7; }
    .lg\:col-span-8  { grid-column: span 8 / span 8; }
    .lg\:col-span-9  { grid-column: span 9 / span 9; }
    .lg\:col-span-10 { grid-column: span 10 / span 10; }
    .lg\:col-span-11 { grid-column: span 11 / span 11; }
    .lg\:col-span-12 { grid-column: span 12 / span 12; }
  }

  .field,
  .choice {
    width: 100%;
    min-height: 2.7rem;
    border: 1px solid var(--app-border);
    border-radius: .9rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,246,250,0.92));
    color: var(--app-text);
    padding: .72rem .9rem;
    font-size: .94rem;
    line-height: 1.45;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
  }

  .choice {
    padding-right: 2.5rem;
  }

  .field:focus,
  .choice:focus {
    outline: none;
    border-color: rgba(26, 115, 232, 0.5);
    box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.12);
    background: var(--app-card-bg);
  }

  .field::placeholder {
    color: color-mix(in srgb, var(--app-muted) 82%, transparent);
  }

  .field-xs,
  .choice-xs,
  .action-xs {
    min-height: 2.15rem;
    padding: .5rem .7rem;
    font-size: .79rem;
  }

  textarea.field {
    min-height: 7rem;
    resize: vertical;
  }

  .panel {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,248,251,0.93));
    border: 1px solid var(--app-border);
    box-shadow: var(--app-shadow);
  }

  .panel-head,
  .panel-foot {
    padding: .9rem 1rem;
    border-color: var(--app-border);
  }

  .panel-head {
    border-bottom: 1px solid var(--app-border);
    background: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(248,250,253,0.72));
  }

  .panel-body {
    padding: 1rem;
  }

  .panel-foot {
    border-top: 1px solid var(--app-border);
    background: transparent;
  }

  .action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.5rem;
    border-radius: .85rem;
    border: 1px solid transparent;
    padding: .62rem .95rem;
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.15;
    cursor: pointer;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
  }

  .action:hover,
  .action:focus {
    transform: translateY(-1px);
  }

  .action-primary {
    background: linear-gradient(180deg, var(--app-accent), var(--app-accent-strong));
    color: #fff;
    border-color: var(--app-accent);
    box-shadow: 0 8px 18px rgba(15, 91, 216, 0.24);
  }

  .action-success {
    background: linear-gradient(135deg, var(--app-accent-alt), #0a5c56);
    color: #fff;
    border-color: var(--app-accent-alt);
    box-shadow: 0 12px 24px rgba(15, 118, 110, 0.2);
  }

  .action-dark {
    background: linear-gradient(180deg, #1f2937, #111827);
    color: #fff;
    border-color: #111827;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.18);
  }

  .action-neutral-ghost,
  .action-primary-ghost,
  .action-danger-ghost,
  .action-success-ghost,
  .action-dark-ghost {
    background: #fff;
  }

  .action-neutral-ghost {
    color: var(--app-text);
    border-color: rgba(95, 99, 104, 0.16);
    background: rgba(95, 99, 104, 0.05);
  }

  .action-primary-ghost {
    color: var(--app-accent);
    border-color: rgba(15, 91, 216, 0.24);
    background: rgba(15, 91, 216, 0.06);
  }

  .action-danger-ghost {
    color: #dc2626;
    border-color: rgba(220, 38, 38, 0.24);
    background: rgba(239, 74, 0, 0.06);
  }

  .action-success-ghost {
    color: #16a34a;
    border-color: rgba(22, 163, 74, 0.22);
    background: rgba(69, 179, 105, 0.08);
  }

  .action-dark-ghost {
    color: #1f2937;
    border-color: rgba(31, 41, 55, 0.18);
    background: rgba(31, 41, 55, 0.06);
  }

  .tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .28rem .6rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
  }

  .wowdash-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(15, 91, 216, 0.1);
    background: linear-gradient(135deg, rgba(15, 91, 216, 0.08), rgba(15, 118, 110, 0.08) 45%, rgba(255,255,255,0.98) 100%);
    box-shadow: var(--app-shadow-lg);
  }

  .wowdash-hero::after {
    content: "";
    position: absolute;
    inset: auto -3rem -3rem auto;
    width: 12rem;
    height: 12rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(15, 91, 216, 0.14), transparent 68%);
    pointer-events: none;
  }

  .section-chip {
    border-radius: 999px;
  }

  .tx-kpi-link {
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .tx-kpi-link:hover .panel,
  .tx-kpi-link:focus .panel {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
  }

  .account-panel {
    overflow: hidden;
  }

  .account-panel-header {
    background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(243,246,250,0.9));
  }

  .account-table thead th {
    background: rgba(248, 250, 252, 0.95);
    color: color-mix(in srgb, var(--app-text) 80%, transparent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
  }

  .account-table tbody tr:hover {
    background: rgba(15, 91, 216, 0.05);
  }

  .account-analytics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    align-items: end;
    gap: .9rem;
    min-height: 220px;
  }

  .account-analytics__bar {
    width: 100%;
    min-height: 12px;
    border-radius: 999px 999px .9rem .9rem;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,0.28), 0 12px 24px rgba(15, 23, 42, 0.12);
  }

  .account-panel-preview {
    position: relative;
    overflow: hidden;
    padding: 1.2rem;
    border-radius: 1rem;
    min-height: 180px;
    background: linear-gradient(135deg, #0f5bd8, #0f766e);
    color: #fff;
    box-shadow: 0 18px 36px rgba(15, 91, 216, 0.24);
  }

  .account-panel-preview-chip {
    width: 3rem;
    height: 2.1rem;
    border-radius: .55rem;
    background: linear-gradient(135deg, rgba(255,255,255,0.86), rgba(255,255,255,0.32));
    margin-bottom: 1.8rem;
  }

  .account-panel-preview-number {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .08em;
  }

  .account-panel-preview-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .82;
  }

  .account-panel-preview-value,
  .account-panel-preview-brand {
    font-size: .9rem;
    font-weight: 700;
  }

  html[data-theme="dark"] .field,
  html[data-theme="dark"] .choice {
    background: linear-gradient(180deg, rgba(16,26,48,0.96), rgba(10,18,34,0.98));
  }

  html[data-theme="dark"] .panel {
    background: linear-gradient(180deg, rgba(24, 32, 40, 0.96), rgba(31, 41, 51, 0.9));
  }

  html[data-theme="dark"] .panel-head,
  html[data-theme="dark"] .account-panel-header {
    background: linear-gradient(180deg, rgba(24, 32, 40, 0.86), rgba(20, 27, 35, 0.94));
  }

  html[data-theme="dark"] .action-neutral-ghost,
  html[data-theme="dark"] .action-primary-ghost,
  html[data-theme="dark"] .action-danger-ghost,
  html[data-theme="dark"] .action-success-ghost,
  html[data-theme="dark"] .action-dark-ghost {
    background: rgba(24, 32, 40, 0.88);
  }

  html[data-theme="dark"] .account-table thead th {
    background: rgba(24, 32, 40, 0.96);
  }

  html[data-theme="dark"] .wowdash-hero {
    background: linear-gradient(135deg, rgba(15, 91, 216, 0.26), rgba(15, 118, 110, 0.18) 45%, rgba(24, 32, 40, 0.96) 100%);
    border-color: rgba(96, 165, 250, 0.18);
  }

  /* ── Gap ─────────────────────────────────────────────────── */
  .gap-1 { gap: .25rem; }
  .gap-2 { gap: .5rem; }
  .gap-3 { gap: .75rem; }
  .gap-4 { gap: 1rem; }

  /* ── List ────────────────────────────────────────────────── */
  .list-unstyled { list-style: none; padding-left: 0; margin-bottom: 0; }

  /* ── Btn-outline-light (for dark navbars) ────────────────── */
  .btn-outline-light { background: transparent; color: rgba(255,255,255,.88); border-color: rgba(255,255,255,.32); }
  .btn-outline-light:hover, .btn-outline-light:focus { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.45); }

  /* ── HR ──────────────────────────────────────────────────── */
  hr { margin: .5rem 0; border: 0; border-top: 1px solid var(--app-border); }

  /* ── Misc ────────────────────────────────────────────────── */
  .position-relative { position: relative; }
  .position-absolute { position: absolute; }
  .h-100            { height: 100%; }
  .min-w-0          { min-width: 0; }
  .text-truncate    { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .text-decoration-none { text-decoration: none; }
  .align-middle     { vertical-align: middle; }
  .cursor-pointer   { cursor: pointer; }
  .object-fit-cover { object-fit: cover; }
  .opacity-50       { opacity: .5; }
  .opacity-75       { opacity: .75; }
  .card-footer      { padding: .65rem 1rem; border-top: 1px solid var(--app-border); background: transparent; }
  .col-sm-6 { width: 100%; } @media (min-width: 576px) { .col-sm-6 { width: 50%; } }
  .form-label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .83rem;
    font-weight: 700;
    color: color-mix(in srgb, var(--app-text) 84%, transparent);
    margin-bottom: .45rem;
  }
  html[data-theme="dark"] .form-control,
  html[data-theme="dark"] .form-select,
  html[data-theme="dark"] .form-control-sm,
  html[data-theme="dark"] .form-select-sm,
  html[data-theme="dark"] .form-check-input {
    background: linear-gradient(180deg, rgba(16,26,48,0.96), rgba(10,18,34,0.98));
  }

.ui-page-shell {
  display: grid;
  gap: 0.75rem;
}

.ui-page-shell__content {
  min-width: 0;
}

.unified-module-shell {
  gap: 0.9rem;
}

.unified-module-intro {
  border: 1px solid color-mix(in srgb, #1a73e8 18%, transparent);
  background: linear-gradient(120deg, rgba(26, 115, 232, 0.1), rgba(111, 168, 255, 0.08) 55%, rgba(255, 255, 255, 0.88));
  border-radius: 0.95rem;
  padding: 0.9rem 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.unified-module-intro__title {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1f58c5;
  font-weight: 800;
}

.unified-module-intro__text {
  margin: 0.28rem 0 0;
  font-size: 0.87rem;
  color: color-mix(in srgb, var(--app-text) 82%, transparent);
}

.unified-module-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.unified-module-nav__item {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  text-decoration: none;
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
  font-size: 0.79rem;
  line-height: 1;
  border: 1px solid var(--app-border);
  background: color-mix(in srgb, var(--app-card-bg) 94%, #f4f6ff);
  color: color-mix(in srgb, var(--app-text) 74%, transparent);
  transition: border-color 0.16s ease, color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.unified-module-nav__item:hover,
.unified-module-nav__item:focus {
  color: #1f58c5;
  border-color: rgba(26, 115, 232, 0.34);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(26, 115, 232, 0.12);
}

.unified-module-nav__item.is-active {
  border-color: rgba(26, 115, 232, 0.5);
  background: linear-gradient(130deg, #1a73e8, #2f67f6);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(26, 115, 232, 0.24);
}

.unified-module-content {
  min-width: 0;
}

html[data-theme="dark"] .unified-module-intro {
  background: linear-gradient(120deg, rgba(26, 115, 232, 0.24), rgba(111, 168, 255, 0.16) 55%, rgba(14, 24, 42, 0.92));
  border-color: rgba(111, 168, 255, 0.35);
}

html[data-theme="dark"] .unified-module-intro__title {
  color: #a7ccff;
}

.ui-page-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(26, 115, 232, 0.08), rgba(232, 240, 254, 0.9) 58%, rgba(255, 255, 255, 0.98) 100%);
  box-shadow: var(--app-shadow-lg);
}

.ui-page-hero::after {
  content: "";
  position: absolute;
  inset: auto -4rem -4rem auto;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(26, 115, 232, 0.16), transparent 68%);
  pointer-events: none;
}

.ui-page-hero--plain {
  background: var(--app-card-bg);
  border: 1px solid var(--app-border);
  box-shadow: var(--app-shadow);
}

.ui-page-hero--accent {
  background: linear-gradient(135deg, rgba(26, 115, 232, 0.1), rgba(168, 199, 250, 0.28) 48%, rgba(255, 255, 255, 0.98) 100%);
}

html[data-theme="dark"] .ui-page-hero {
  background: linear-gradient(135deg, rgba(26, 115, 232, 0.22), rgba(96, 165, 250, 0.12) 52%, rgba(24, 32, 40, 0.96) 100%);
}

html[data-theme="dark"] .ui-page-hero--plain {
  background: var(--app-card-bg);
}

.ui-page-hero__row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.ui-page-hero__copy {
  min-width: 0;
  flex: 1 1 24rem;
}

.ui-page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1a73e8;
  margin-bottom: 0.55rem;
}

.ui-page-hero__title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: var(--app-text);
}

.ui-page-hero__icon {
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(26, 115, 232, 0.12), rgba(232, 240, 254, 0.88));
  color: #1a73e8;
  flex: 0 0 auto;
  box-shadow: inset 0 0 0 1px rgba(26, 115, 232, 0.12);
}

.ui-page-hero__subtitle {
  margin-top: 0.85rem;
  max-width: 62rem;
  font-size: 0.95rem;
  line-height: 1.65;
}

.ui-page-hero__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.ui-stat-grid {
  display: grid;
  gap: 0.75rem;
}

.ui-stat-grid--1 {
  grid-template-columns: 1fr;
}

.ui-stat-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ui-stat-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ui-stat-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ui-stat-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.ui-stat-card {
  height: 100%;
  border: 1px solid var(--app-border);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ui-stat-card--surface {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 246, 250, 0.9));
}

.ui-stat-card--plain {
  background: var(--app-card-bg);
}

.ui-stat-card--solid {
  background: linear-gradient(135deg, var(--app-accent), var(--app-accent-alt));
  color: #fff;
}

.ui-stat-card-link:hover .ui-stat-card,
.ui-stat-card-link:focus .ui-stat-card,
.ui-stat-card-wrap:hover .ui-stat-card,
.ui-stat-card-wrap:focus-within .ui-stat-card {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.11);
  border-color: rgba(72, 127, 255, 0.22);
}

html[data-theme="dark"] .ui-stat-card--surface {
  background: linear-gradient(180deg, rgba(16, 26, 48, 0.96), rgba(10, 18, 34, 0.98));
}

.ui-stat-card__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.ui-stat-card__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.ui-stat-card__label {
  display: inline-block;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ui-stat-card__value {
  margin-top: 0.42rem;
  font-size: clamp(1.15rem, 1vw + 1rem, 1.6rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.ui-stat-card__meta {
  margin-top: 0.38rem;
  font-size: 0.74rem;
  color: var(--app-muted);
}

.ui-stat-card--solid .ui-stat-card__label,
.ui-stat-card--solid .ui-stat-card__meta,
.ui-stat-card--solid .text-muted {
  color: rgba(255, 255, 255, 0.84) !important;
}

.ui-stat-card__icon {
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: rgba(72, 127, 255, 0.12);
  color: #487fff;
  box-shadow: inset 0 0 0 1px rgba(72, 127, 255, 0.08);
}

.ui-stat-card--success .ui-stat-card__icon {
  background: rgba(69, 179, 105, 0.14);
  color: #45b369;
}

.ui-stat-card--warning .ui-stat-card__icon {
  background: rgba(255, 159, 41, 0.16);
  color: #ff9f29;
}

.ui-stat-card--danger .ui-stat-card__icon {
  background: rgba(239, 74, 0, 0.14);
  color: #ef4a00;
}

.ui-stat-card--info .ui-stat-card__icon {
  background: rgba(20, 75, 214, 0.14);
  color: #144bd6;
}

/* Accounts module KPI sizing and layout (scoped). */
.accounts-page-shell > .ui-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px;
}

.accounts-page-shell .accounts-kpi-tile {
  height: 200px;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card {
  height: 100%;
  border-radius: 16px;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card .card-body {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.1rem 1.15rem;
}

.accounts-page-shell .accounts-kpi-sparkline {
  margin-top: 0.35rem;
  height: 30px;
  width: 100%;
}

.accounts-page-shell .accounts-kpi-sparkline svg {
  width: 100%;
  height: 100%;
  display: block;
}

.accounts-page-shell .accounts-kpi-sparkline__line {
  fill: none;
  stroke: #2f67f6;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.accounts-page-shell .accounts-kpi-sparkline__area {
  fill: rgba(47, 103, 246, 0.14);
  stroke: none;
}

.accounts-page-shell .accounts-kpi-sparkline__dot {
  fill: #2f67f6;
  stroke: #ffffff;
  stroke-width: 1;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card__row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card__copy {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card__label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card__value {
  margin-top: 0.35rem;
  font-size: clamp(0.92rem, 1.2vw, 1.15rem);
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.accounts-page-shell .accounts-kpi-tile .ui-stat-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.62rem;
  flex-shrink: 0;
  align-self: flex-start;
}

.accounts-page-shell .accounts-analytics-panel .card-header {
  border-bottom: 1px solid var(--app-border);
  padding: 0.55rem 0.75rem;
}

.accounts-page-shell .accounts-analytics-panel .card-body {
  padding: 0.55rem 0.75rem 0.7rem;
}

/* Bootstrap-style tiny controls. */
.accounts-page-shell .join {
  display: inline-flex;
  gap: 0;
}

.accounts-page-shell .join > .btn {
  border-radius: 0;
}

.accounts-page-shell .join > .btn:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.accounts-page-shell .join > .btn:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.accounts-page-shell .btn.btn-xs {
  padding: 0.18rem 0.48rem;
  font-size: 0.71rem;
  line-height: 1.15;
  min-height: 1.55rem;
}

.accounts-page-shell .input.input-xs {
  height: 1.65rem;
  min-height: 1.65rem;
  padding: 0.1rem 0.42rem;
  font-size: 0.72rem;
  border: 1px solid var(--app-border);
  border-radius: 0.45rem;
  background: var(--app-card-bg);
}

.accounts-page-shell .accounts-analytics-panel #accountsAnalyticsFilters .btn.active {
  background: #2f67f6;
  color: #ffffff;
  border-color: #2f67f6;
}

.accounts-page-shell .accounts-analytics-chart {
  width: 100%;
  height: 118px;
  display: block;
}

.accounts-page-shell .accounts-chart-bg {
  fill: color-mix(in oklab, var(--app-card-bg) 94%, #2f67f6 6%);
  stroke: color-mix(in oklab, var(--app-border) 82%, #2f67f6 18%);
  stroke-width: 1;
}

.accounts-page-shell .accounts-chart-line {
  fill: none;
  stroke: #2f67f6;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.accounts-page-shell .accounts-chart-area {
  fill: rgba(47, 103, 246, 0.16);
  stroke: none;
}

.accounts-page-shell .accounts-chart-dot {
  fill: #2f67f6;
  stroke: #ffffff;
  stroke-width: 1.6;
}

.accounts-page-shell .accounts-chart-bar {
  fill: color-mix(in oklab, #1aa7ec 78%, #2f67f6 22%);
}

.accounts-page-shell .accounts-chart-label {
  fill: var(--app-muted);
  font-size: 9px;
  font-weight: 600;
}

.accounts-page-shell .accounts-fms-dashboard .card {
  border: 1px solid var(--app-border);
  box-shadow: none;
  overflow: hidden;
}

.accounts-page-shell .accounts-fms-dashboard .fms-kpi-card {
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.accounts-page-shell .accounts-fms-dashboard .fms-kpi-card:hover {
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
  transform: translateY(-2px);
}

.accounts-page-shell .accounts-fms-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.accounts-page-shell .accounts-fms-charts-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr);
  gap: 0.75rem;
}

.accounts-page-shell .accounts-fms-label {
  font-size: 0.66rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 700;
  color: #64748b;
}

.accounts-page-shell .accounts-fms-value {
  font-size: 1.85rem;
  line-height: 1.05;
  font-weight: 700;
  color: #1e293b;
}

.accounts-page-shell .accounts-fms-icon {
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

.accounts-page-shell .accounts-fms-icon.tone-primary { background: rgba(59, 130, 246, 0.13); color: #3b82f6; }
.accounts-page-shell .accounts-fms-icon.tone-secondary { background: rgba(100, 116, 139, 0.13); color: #64748b; }
.accounts-page-shell .accounts-fms-icon.tone-warning { background: rgba(234, 179, 8, 0.14); color: #eab308; }
.accounts-page-shell .accounts-fms-icon.tone-danger { background: rgba(244, 63, 94, 0.13); color: #f43f5e; }

.accounts-page-shell .accounts-fms-dashboard .card-header {
  background: transparent;
  border-bottom: 1px solid var(--app-border);
  padding: 0.9rem 1rem 0.6rem;
}

.accounts-page-shell .accounts-fms-dashboard .card-title {
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.accounts-page-shell .accounts-fms-dashboard .card-body {
  padding: 0.75rem 1rem 1rem;
}

.accounts-page-shell .accounts-fms-spark {
  height: 84px;
  border-top: 1px solid var(--app-border);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(248, 250, 252, 0.82));
}

.accounts-page-shell .accounts-fms-spark svg {
  width: 100%;
  height: 100%;
  display: block;
}

.accounts-page-shell .accounts-fms-donut {
  min-height: 260px;
  display: grid;
  place-items: center;
}

.accounts-page-shell .accounts-fms-donut__svg {
  width: 100%;
  max-width: 280px;
  height: auto;
}

.accounts-page-shell .accounts-fms-donut__title {
  font-size: 0.62rem;
  fill: #64748b;
  font-weight: 700;
}

.accounts-page-shell .accounts-fms-donut__value {
  font-size: 1.5rem;
  fill: #334155;
  font-weight: 700;
}

.accounts-page-shell .accounts-fms-bars {
  min-height: 260px;
}

.accounts-page-shell .accounts-fms-bars__svg {
  width: 100%;
  height: 260px;
  display: block;
}

.accounts-page-shell .accounts-fms-bar__label {
  fill: #64748b;
  font-size: 10px;
  font-weight: 600;
}

.accounts-page-shell .accounts-fms-dashboard .text-default-500 {
  color: #64748b !important;
}

@media (max-width: 991.98px) {
  .accounts-page-shell .accounts-fms-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accounts-page-shell .accounts-fms-charts-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .accounts-page-shell .accounts-fms-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) and (min-width: 576px) {
  .accounts-page-shell > .ui-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575.98px) {
  .accounts-page-shell > .ui-stat-grid {
    grid-template-columns: 1fr !important;
  }

  .accounts-page-shell .accounts-kpi-tile {
    height: 165px;
  }

  .accounts-page-shell .accounts-kpi-sparkline {
    height: 26px;
  }

  .accounts-page-shell .accounts-analytics-chart {
    height: 102px;
  }
}

.ui-section-card {
  border: 1px solid var(--app-border);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.ui-section-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 1rem 1.1rem 0.95rem;
  background: transparent;
  border-bottom: 1px solid var(--app-border);
}

.ui-section-card__heading {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.ui-section-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(72, 127, 255, 0.12);
  color: #487fff;
  flex: 0 0 auto;
}

.ui-section-card__title {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--app-text);
}

.ui-section-card__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.ui-section-card__body {
  padding: 1rem 1.1rem 1.1rem;
}

.ui-section-card--accent .ui-section-card__icon {
  background: rgba(69, 179, 105, 0.12);
  color: #45b369;
}

.ui-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-radius: 0.85rem;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.ui-button:hover,
.ui-button:focus {
  transform: translateY(-1px);
}

.ui-button:disabled {
  opacity: 0.58;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.ui-button--sm {
  min-height: 2rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.78rem;
}

.ui-button--md {
  min-height: 2.5rem;
  padding: 0.65rem 0.95rem;
  font-size: 0.88rem;
}

.ui-button--lg {
  min-height: 2.9rem;
  padding: 0.8rem 1.15rem;
  font-size: 0.94rem;
}

.ui-button--block {
  width: 100%;
}

.ui-button--pill {
  border-radius: 999px;
}

.ui-button--primary {
  background: linear-gradient(135deg, #487fff, #486cea);
  border-color: #487fff;
  color: #fff;
  box-shadow: 0 12px 24px rgba(72, 127, 255, 0.22);
}

.ui-button--secondary {
  background: var(--app-card-bg);
  border-color: var(--app-border);
  color: var(--app-text);
}

.ui-button--success {
  background: linear-gradient(135deg, #45b369, #16a34a);
  border-color: #45b369;
  color: #fff;
  box-shadow: 0 12px 24px rgba(69, 179, 105, 0.18);
}

.ui-button--warning {
  background: linear-gradient(135deg, #ff9f29, #f39016);
  border-color: #ff9f29;
  color: #fff;
  box-shadow: 0 12px 24px rgba(255, 159, 41, 0.2);
}

.ui-button--danger {
  background: linear-gradient(135deg, #ef4a00, #d53128);
  border-color: #ef4a00;
  color: #fff;
  box-shadow: 0 12px 24px rgba(239, 74, 0, 0.2);
}

.ui-button--outline {
  background: transparent;
  border-color: rgba(72, 127, 255, 0.26);
  color: #487fff;
}

.ui-button--ghost {
  background: transparent;
  border-color: transparent;
  color: var(--app-text);
}

.ui-form-field {
  display: grid;
  gap: 0.45rem;
}

.ui-form-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.83rem;
  font-weight: 700;
  color: color-mix(in srgb, var(--app-text) 84%, transparent);
}

.ui-form-label__required {
  color: #ef4a00;
}

.ui-form-hint {
  font-size: 0.75rem;
  color: var(--app-muted);
}

.ui-form-error {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.18rem;
  font-size: 0.76rem;
  font-weight: 600;
  color: #dc2626;
}

.ui-form-input,
.ui-form-select,
.ui-form-textarea {
  width: 100%;
  border: 1px solid var(--app-border);
  border-radius: 0.9rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,246,250,0.92));
  color: var(--app-text);
  padding: 0.72rem 0.9rem;
  font-size: 0.9rem;
  line-height: 1.35;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.ui-form-input:focus,
.ui-form-select:focus,
.ui-form-textarea:focus {
  outline: none;
  border-color: rgba(72, 127, 255, 0.55);
  box-shadow: 0 0 0 4px rgba(72, 127, 255, 0.12);
  background: var(--app-card-bg);
}

.ui-form-input::placeholder,
.ui-form-textarea::placeholder {
  color: color-mix(in srgb, var(--app-muted) 82%, transparent);
}

.ui-form-input.is-invalid,
.ui-form-select.is-invalid,
.ui-form-textarea.is-invalid {
  border-color: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1);
}

html[data-theme="dark"] .ui-form-input,
html[data-theme="dark"] .ui-form-select,
html[data-theme="dark"] .ui-form-textarea {
  background: linear-gradient(180deg, rgba(16,26,48,0.96), rgba(10,18,34,0.98));
}

.ui-check {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
}

.ui-check__input {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  accent-color: #487fff;
}

.ui-check__copy {
  display: inline-flex;
  flex-direction: column;
  gap: 0.12rem;
}

.ui-check__label {
  font-size: 0.83rem;
  font-weight: 600;
  color: var(--app-text);
}

.ui-check__hint {
  font-size: 0.72rem;
  color: var(--app-muted);
}

.ui-menu-card,
.ui-table-card,
.ui-chart-card {
  border: 1px solid var(--app-border);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
}

.ui-menu-card__header,
.ui-table-card__header,
.ui-chart-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 1rem 1.1rem 0.95rem;
  border-bottom: 1px solid var(--app-border);
}

.ui-menu-card__heading,
.ui-table-card__heading,
.ui-chart-card__heading {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.ui-menu-card__icon,
.ui-table-card__icon,
.ui-chart-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(72, 127, 255, 0.12);
  color: #487fff;
}

.ui-menu-card__body,
.ui-table-card__body,
.ui-chart-card__body {
  padding: 1rem 1.1rem 1.1rem;
}

.ui-menu-list {
  display: grid;
  gap: 0.4rem;
}

.ui-menu-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  background: rgba(148, 163, 184, 0.08);
  color: var(--app-text);
  border-radius: 0.85rem;
  padding: 0.7rem 0.85rem;
  text-decoration: none;
  transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.ui-menu-item:hover,
.ui-menu-item:focus,
.ui-menu-item.is-active {
  background: rgba(72, 127, 255, 0.12);
  border-color: rgba(72, 127, 255, 0.18);
  color: var(--app-text);
}

.ui-menu-item--compact {
  border-radius: 0.7rem;
  padding: 0.55rem 0.7rem;
  background: transparent;
}

.ui-menu-item__icon {
  width: 1rem;
  text-align: center;
  color: #487fff;
}

.ui-menu-item__label {
  font-size: 0.84rem;
  font-weight: 600;
}

.ui-table-card__title,
.ui-chart-card__title {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ui-table-card .table thead th {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--app-muted);
  border-bottom-width: 1px;
}

.ui-table-card--dense .table th,
.ui-table-card--dense .table td {
  padding-top: 0.38rem;
  padding-bottom: 0.38rem;
}

.ui-chart-card__summary {
  border-top: 1px solid var(--app-border);
  padding: 0.8rem 1.1rem 1rem;
  font-size: 0.78rem;
  color: var(--app-muted);
}

.ui-modal-backdrop .absolute {
  background: rgba(15, 23, 42, 0.58);
  backdrop-filter: blur(3px);
}

.ui-modal-panel {
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--app-card-bg);
  box-shadow: 0 22px 56px rgba(15, 23, 42, 0.24);
}

.ui-modal-dialog__header,
.ui-modal-dialog__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 1rem 1.1rem;
}

.ui-modal-dialog__header {
  border-bottom: 1px solid var(--app-border);
}

.ui-modal-dialog__footer {
  border-top: 1px solid var(--app-border);
}

.ui-modal-dialog__body {
  padding: 1rem 1.1rem 1.1rem;
}

.ui-modal-dialog__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
}

.ui-modal-dialog__subtitle {
  margin: 0.22rem 0 0;
  font-size: 0.78rem;
  color: var(--app-muted);
}

/* ── Auth Shell Enhancement ──────────────────────────────── */
.ui-auth-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 0% 0%, rgba(72, 127, 255, 0.08), transparent 40%),
              radial-gradient(circle at 100% 100%, rgba(111, 55, 230, 0.08), transparent 40%),
              var(--app-bg);
  position: relative;
  overflow: hidden;
  padding: 2rem 1rem;
}

.ui-auth-wrapper::before {
  content: "";
  position: absolute;
  width: 40vw;
  height: 40vw;
  background: radial-gradient(circle, rgba(72, 127, 255, 0.05), transparent 70%);
  top: -10vw;
  right: -10vw;
  border-radius: 50%;
  pointer-events: none;
}

.ui-auth-shell__logo-fallback {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  border-radius: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #487fff, #6f37e6);
  box-shadow: 0 20px 40px rgba(72, 127, 255, 0.3);
  font-size: 1.5rem;
}

.ui-auth-shell__title {
  font-family: var(--app-brand-font);
  font-size: 1.75rem;
  font-weight: 950;
  letter-spacing: -0.04em;
  margin-bottom: 0.25rem;
}

.ui-auth-shell__subtitle {
  font-size: 0.9rem;
  opacity: 0.8;
  margin-bottom: 2rem;
}

.ui-auth-shell__card {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 30px 60px rgba(15, 23, 42, 0.12) !important;
  border-radius: 1.5rem !important;
}

html[data-theme="dark"] .ui-auth-shell__card {
  background: rgba(16, 26, 48, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4) !important;
}

.ui-auth-panel-title {
  font-family: var(--app-brand-font);
  font-size: 1.35rem;
  font-weight: 900;
  margin-bottom: 0.5rem;
}

.ui-page-hero__title,
.ui-section-card__title,
.ui-table-card__title,
.ui-chart-card__title {
  font-family: var(--app-brand-font);
  letter-spacing: -0.01em;
}

.ui-auth-form .ui-form-input {
  background: var(--app-card-bg);
  border-radius: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--app-border);
  transition: all 0.2s ease;
}

.ui-auth-form .ui-form-input:focus {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(72, 127, 255, 0.1);
  border-color: var(--app-accent);
}

.ui-auth-form .ui-form-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 800;
  color: var(--app-muted);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ui-auth-form .ui-form-label i {
  font-size: 0.85rem;
  color: var(--app-accent);
}

.ui-auth-actions .ui-button {
  padding: 0.85rem;
  border-radius: 1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 15px 30px rgba(72, 127, 255, 0.25);
}

.ui-auth-shell__subtitle,
.ui-auth-shell__footer {
  color: var(--app-muted);
}

.ui-auth-shell__footer {
  font-size: 0.74rem;
}

.ui-auth-shell__card {
  overflow: hidden;
}

.ui-auth-panel-head {
  text-align: center;
  margin-bottom: 1.25rem;
}

.ui-auth-panel-title {
  margin: 0 0 0.28rem;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--app-text);
}

.ui-auth-panel-subtitle {
  margin: 0;
  color: var(--app-muted);
  font-size: 0.84rem;
}

.ui-auth-panel-footnote {
  color: var(--app-muted);
}

.ui-auth-form {
  display: grid;
  gap: 1rem;
}

.ui-auth-form .alert {
  margin-bottom: 0;
}

.ui-auth-actions {
  display: grid;
  gap: 0.75rem;
}

.ui-auth-note {
  text-align: center;
  color: var(--app-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

.ui-auth-note--compact {
  font-size: 0.78rem;
}

.ui-auth-icon-badge {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  border-radius: 1.3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(72, 127, 255, 0.14), rgba(69, 179, 105, 0.16));
  color: #487fff;
  box-shadow: inset 0 0 0 1px rgba(72, 127, 255, 0.12);
}

@media (max-width: 767.98px) {
  .ui-page-hero__title {
    font-size: 1.4rem;
  }

  .ui-page-hero__actions,
  .ui-section-card__actions {
    width: 100%;
  }

  .ui-stat-grid--2,
  .ui-stat-grid--3 {
    grid-template-columns: 1fr;
  }

  /* 4-col grid: tablet collapses to 2 */
  .ui-stat-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  /* 4-col grid: mobile collapses to 1 */
  .ui-stat-grid--4 {
    grid-template-columns: 1fr;
  }
}




  .dashboard-home-hero .dashboard-hero-title {
    font-size: clamp(1.5rem, 2.4vw, 2.2rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    align-items: center;
  }
  .dashboard-home-hero .dashboard-hero-subtitle {
    max-width: 60rem;
    font-size: 0.96rem;
    line-height: 1.6;
    margin-top: 0.75rem;
  }
  .dashboard-home-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .dashboard-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
    gap: 0.75rem;
  }
  .dashboard-home-sidebar {
    display: grid;
    gap: 0.75rem;
  }
  .dashboard-launch-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .dashboard-launch-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
    min-height: 10.5rem;
    padding: 1rem;
    border: 1px solid var(--app-border);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.98));
    color: inherit;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  }
  html[data-theme="dark"] .dashboard-launch-card {
    background: linear-gradient(180deg, rgba(17,27,47,0.94), rgba(11,18,32,0.98));
  }
  .dashboard-launch-card:hover,
  .dashboard-launch-card:focus {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
    border-color: rgba(13,110,253,0.28);
    color: inherit;
  }
  .dashboard-launch-icon,
  .dashboard-group-link-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(148, 163, 184, 0.12);
    flex: 0 0 auto;
  }
  .dashboard-launch-title,
  .dashboard-group-title,
  .dashboard-group-link-title {
    font-weight: 800;
  }
  .dashboard-launch-copy,
  .dashboard-group-subtitle,
  .dashboard-group-link-copy {
    color: var(--app-muted);
    font-size: 0.82rem;
    line-height: 1.4;
  }
  .dashboard-group-stack,
  .dashboard-focus-list {
    display: grid;
    gap: 0.75rem;
  }
  .dashboard-group-card {
    border: 1px solid var(--app-border);
    border-radius: 1rem;
    padding: 1rem;
    background: rgba(148, 163, 184, 0.05);
  }
  .dashboard-group-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
  }
  .dashboard-group-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
    font-size: 0.8rem;
    font-weight: 700;
  }
  .dashboard-group-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .dashboard-group-link,
  .dashboard-focus-link {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.7rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.9rem;
    background: rgba(148, 163, 184, 0.08);
    color: inherit;
    text-decoration: none;
    border: 1px solid transparent;
  }
  .dashboard-group-link:hover,
  .dashboard-group-link:focus,
  .dashboard-focus-link:hover,
  .dashboard-focus-link:focus {
    color: inherit;
    border-color: rgba(13,110,253,0.24);
    background: rgba(148, 163, 184, 0.12);
  }
  .dashboard-group-link {
    justify-content: flex-start;
  }
  .dashboard-life-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.75rem;
  }
  .dashboard-life-stat {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.9rem;
    background: rgba(148, 163, 184, 0.08);
  }
  .dashboard-life-stat small {
    color: var(--app-muted);
  }
  .dashboard-life-stat strong {
    font-size: 1.05rem;
  }
  .dashboard-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .dashboard-filter-bar .form-select {
    min-width: 8rem;
    width: auto;
  }
  .dashboard-filter-bar .form-control {
    min-width: 14rem;
    width: auto;
  }
  @media (max-width: 1199.98px) {
    .dashboard-home-kpis,
    .dashboard-launch-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 991.98px) {
    .dashboard-home-grid,
    .dashboard-group-links {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 575.98px) {
    .dashboard-home-kpis,
    .dashboard-launch-grid,
    .dashboard-life-stats {
      grid-template-columns: 1fr;
    }
    .dashboard-filter-bar .form-select,
    .dashboard-filter-bar .form-control,
    .dashboard-filter-bar .btn {
      width: 100%;
    }
  }

    /* FMS-style app shell */
    .fms-shell {
      min-height: 100vh;
      display: grid;
      grid-template-columns: 270px minmax(0, 1fr);
      grid-template-rows: 72px auto minmax(0, 1fr);
      grid-template-areas:
        "sidebar topbar"
        "sidebar subnav"
        "sidebar content";
      background:
        radial-gradient(circle at 95% 8%, rgba(15, 91, 216, 0.08), transparent 48%),
        radial-gradient(circle at 15% 92%, rgba(15, 118, 110, 0.09), transparent 40%),
        var(--app-bg);
    }
    .fms-shell.sidebar-mini {
      grid-template-columns: 88px minmax(0, 1fr);
    }
    .fms-sidebar {
      grid-area: sidebar;
      background: linear-gradient(180deg, var(--fms-sidebar-bg) 0%, var(--fms-sidebar-bg-soft) 100%);
      color: var(--fms-sidebar-text);
      border-right: 1px solid rgba(95, 99, 104, 0.1);
      position: sticky;
      top: 0;
      height: 100vh;
      display: flex;
      flex-direction: column;
      z-index: 45;
    }
    .fms-sidebar.mini .fms-brand-copy,
    .fms-sidebar.mini .fms-sidebar-section-label,
    .fms-sidebar.mini .fms-nav-link span {
      display: none;
    }
    .fms-sidebar.mini .fms-brand-link,
    .fms-sidebar.mini .fms-nav-link {
      justify-content: center;
    }
    .fms-sidebar.mini .fms-nav-link {
      padding: .62rem .45rem;
    }
    .fms-sidebar.mini .fms-nav-link i {
      width: auto;
      font-size: 1rem;
    }
    .fms-sidebar-brand {
      padding: 1rem 1rem .85rem;
      border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    }
    .fms-brand-link {
      display: flex;
      align-items: center;
      gap: .75rem;
      color: inherit;
      text-decoration: none;
    }
    .fms-brand-logo {
      width: 2.25rem;
      height: 2.25rem;
      border-radius: .65rem;
      background: linear-gradient(180deg, var(--app-accent), var(--app-accent-strong));
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
    }
    .fms-brand-copy {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: .1rem;
    }
    .fms-brand-title {
      font-family: var(--app-brand-font);
      font-size: .95rem;
      line-height: 1.1;
      font-weight: 800;
      color: var(--fms-sidebar-text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fms-brand-subtitle {
      font-size: .69rem;
      color: var(--fms-sidebar-muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fms-sidebar-scroll {
      overflow-y: auto;
      padding: .85rem .75rem 1rem;
      display: grid;
      gap: .65rem;
    }
    .fms-sidebar-section-label {
      font-size: .67rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-weight: 700;
      color: var(--fms-sidebar-muted);
      padding: 0 .55rem;
    }
    .fms-nav-stack {
      display: grid;
      gap: .22rem;
    }
    .fms-nav-link {
      display: flex;
      align-items: center;
      gap: .62rem;
      padding: .58rem .66rem;
      border-radius: .68rem;
      text-decoration: none;
      color: var(--fms-sidebar-text);
      border: 1px solid transparent;
      font-size: .82rem;
      font-weight: 600;
      transition: background .15s ease, transform .15s ease, border-color .15s ease;
    }
    .fms-nav-link i {
      width: 1rem;
      text-align: center;
      opacity: .9;
    }
    .fms-nav-link:hover,
    .fms-nav-link:focus {
      color: var(--app-accent-strong);
      background: rgba(15, 91, 216, 0.08);
      border-color: rgba(15, 91, 216, 0.15);
    }
    .fms-nav-link.active {
      color: var(--app-accent-strong);
      background: linear-gradient(90deg, rgba(15, 91, 216, .14), rgba(255, 255, 255, .9));
      border-color: rgba(15, 91, 216, 0.14);
      box-shadow: inset 0 0 0 1px rgba(15, 91, 216, 0.05);
    }
    .fms-nav-sub-group {
      display: grid;
      gap: .16rem;
      margin: .08rem 0 .34rem;
      padding-left: 1.95rem;
    }
    .fms-nav-sub-link {
      color: color-mix(in srgb, var(--fms-sidebar-text) 82%, transparent);
      text-decoration: none;
      font-size: .74rem;
      font-weight: 500;
      border-radius: .5rem;
      padding: .22rem .48rem;
      border: 1px solid transparent;
      transition: color .15s ease, background .15s ease, border-color .15s ease;
    }
    .fms-nav-sub-link:hover,
    .fms-nav-sub-link:focus {
      color: var(--fms-sidebar-text);
      background: rgba(15, 91, 216, .08);
      border-color: rgba(15, 91, 216, .18);
    }
    .fms-nav-sub-link.active {
      color: var(--fms-sidebar-text);
      background: rgba(15, 91, 216, .15);
      border-color: rgba(15, 91, 216, .28);
    }
    .fms-nav-sub-sub-group {
      display: grid;
      gap: .14rem;
      margin: .08rem 0 .28rem;
      padding-left: .7rem;
      border-left: 1px dashed rgba(148, 163, 184, .32);
    }
    .fms-nav-sub-sub-link {
      color: color-mix(in srgb, var(--fms-sidebar-text) 74%, transparent);
      text-decoration: none;
      font-size: .7rem;
      font-weight: 500;
      border-radius: .45rem;
      padding: .18rem .44rem;
      border: 1px solid transparent;
      transition: color .15s ease, background .15s ease, border-color .15s ease;
    }
    .fms-nav-sub-sub-link:hover,
    .fms-nav-sub-sub-link:focus {
      color: var(--fms-sidebar-text);
      background: rgba(15, 91, 216, .07);
      border-color: rgba(15, 91, 216, .16);
    }
    .fms-nav-sub-sub-link.active {
      color: var(--fms-sidebar-text);
      background: rgba(15, 91, 216, .13);
      border-color: rgba(15, 91, 216, .24);
    }
    .fms-topbar {
      grid-area: topbar;
      background: var(--fms-topbar-bg);
      border-bottom: 1px solid var(--app-border);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: .6rem 1rem;
      position: sticky;
      top: 0;
      z-index: 30;
    }
    html[data-theme="dark"] .fms-topbar {
      border-bottom-color: rgba(71, 85, 105, 0.45);
    }
    .fms-topbar-left,
    .fms-topbar-right {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
    }
    .fms-mobile-brand {
      align-items: center;
      gap: .65rem;
      text-decoration: none;
      color: inherit;
      min-width: 0;
    }
    .fms-mobile-brand-logo {
      width: 2.15rem;
      height: 2.15rem;
      border-radius: .72rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: linear-gradient(135deg, var(--app-accent), var(--app-accent-strong));
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
      flex: 0 0 auto;
    }
    .fms-mobile-brand-copy {
      min-width: 0;
      display: flex;
      flex-direction: column;
      line-height: 1.08;
    }
    .fms-mobile-brand-title {
      font-family: var(--app-brand-font);
      font-size: .84rem;
      font-weight: 800;
      color: var(--app-text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fms-mobile-brand-subtitle {
      font-size: .67rem;
      color: var(--app-muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fms-breadcrumbs {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      margin-top: .24rem;
      font-size: .68rem;
      color: #94a3b8;
      flex-wrap: wrap;
    }
    .fms-breadcrumbs a {
      color: #64748b;
      text-decoration: none;
    }
    html[data-theme="dark"] .fms-breadcrumbs a {
      color: #94a3b8;
    }
    .fms-breadcrumbs .sep {
      color: #cbd5e1;
    }
    .fms-topbar-search {
      width: min(30rem, 41vw);
      min-width: 15rem;
      height: 2.2rem;
      border: 1px solid rgba(95, 99, 104, 0.12);
      border-radius: 999px;
      background: rgba(244, 246, 248, 0.92);
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: 0 .65rem;
      color: var(--app-muted);
    }
    .fms-topbar-search input {
      border: 0;
      outline: 0;
      background: transparent;
      color: var(--app-text);
      width: 100%;
      font-size: .8rem;
    }
    .fms-notify-btn {
      position: relative;
    }
    .fms-notify-dot {
      position: absolute;
      top: .35rem;
      right: .35rem;
      width: .48rem;
      height: .48rem;
      border-radius: 999px;
      background: #ef4444;
      box-shadow: 0 0 0 2px var(--app-card-bg);
    }
    .fms-notif-panel {
      width: min(22rem, calc(100vw - 1.5rem));
      display: grid;
      gap: .28rem;
    }
    .fms-notif-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: .2rem .35rem .5rem;
      border-bottom: 1px solid var(--app-border);
      margin-bottom: .15rem;
      font-size: .8rem;
    }
    .fms-notif-head a {
      text-decoration: none;
      color: var(--app-accent);
      font-weight: 600;
    }
    .fms-notif-item {
      display: flex;
      align-items: flex-start;
      gap: .55rem;
      text-decoration: none;
      color: var(--app-text);
      border-radius: .62rem;
      padding: .45rem .4rem;
    }
    .fms-notif-item:hover,
    .fms-notif-item:focus {
      background: rgba(148, 163, 184, .15);
    }
    .fms-notif-icon {
      width: 1.9rem;
      height: 1.9rem;
      border-radius: .55rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      margin-top: .1rem;
    }
    .fms-notif-title {
      display: block;
      font-size: .78rem;
      font-weight: 700;
      line-height: 1.2;
    }
    .fms-notif-time {
      display: block;
      color: var(--app-muted);
      font-size: .72rem;
      margin-top: .15rem;
    }
    .fms-page-heading {
      display: flex;
      flex-direction: column;
      line-height: 1.12;
    }
    .fms-page-kicker {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      font-size: .64rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--app-accent);
      margin-bottom: .18rem;
    }
    .fms-page-heading h1 {
      margin: 0;
      font-size: .92rem;
      font-weight: 800;
      color: var(--app-text);
    }
    .fms-page-heading p {
      margin: 0;
      font-size: .68rem;
      color: var(--app-muted);
    }
    .fms-subnav {
      grid-area: subnav;
      background: var(--fms-subnav-bg);
      border-bottom: 1px solid var(--app-border);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .25rem;
      padding: .4rem 1rem;
      position: sticky;
      top: 72px;
      z-index: 29;
    }
    html[data-theme="dark"] .fms-subnav {
      border-bottom-color: rgba(71, 85, 105, 0.4);
    }
    .fms-subnav-link {
      display: inline-block;
      padding: .2rem .7rem;
      border-radius: 999px;
      font-size: .75rem;
      font-weight: 600;
      text-decoration: none;
      color: var(--app-muted);
      background: transparent;
      border: 1px solid transparent;
      transition: background .15s, color .15s, border-color .15s;
      white-space: nowrap;
    }
    .fms-subnav-link:hover {
      background: rgba(15, 91, 216, .09);
      color: var(--app-accent-strong);
    }
    .fms-subnav-link.active {
      background: var(--app-accent);
      color: #fff;
      border-color: var(--app-accent);
    }
    .fms-subnav-link.child {
      font-size: .72rem;
      color: var(--app-muted);
    }
    .fms-subnav-link.child.active {
      background: var(--app-accent-alt);
      color: #fff;
      border-color: var(--app-accent-alt);
    }
    html[data-theme="dark"] .fms-subnav-link {
      color: #94a3b8;
    }
    html[data-theme="dark"] .fms-subnav-link:hover {
      background: rgba(99, 102, 241, .18);
      color: #a5b4fc;
    }
    html[data-theme="dark"] .fms-subnav-link.active {
      background: #4f46e5;
      color: #fff;
    }
    .fms-content {
      grid-area: content;
      min-width: 0;
      max-width: 100%;
    }
    .fms-content > .container-fluid {
      max-width: 100%;
    }
    .theme-toggle-btn {
      border: 1px solid var(--app-border);
      background: var(--app-card-bg);
      color: var(--app-text);
      border-radius: 999px;
      padding: .28rem .62rem;
      display: inline-flex;
      align-items: center;
      gap: .42rem;
      font-size: .78rem;
      font-weight: 700;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
      transition: transform .15s ease, border-color .15s ease, background .15s ease;
    }
    .theme-toggle-btn:hover,
    .theme-toggle-btn:focus {
      transform: translateY(-1px);
      border-color: var(--app-accent);
      background: var(--app-card-bg);
    }
    .theme-toggle-label {
      white-space: nowrap;
    }
    .fms-icon-btn {
      width: 2.1rem;
      height: 2.1rem;
      border-radius: .62rem;
      border: 1px solid var(--app-border);
      background: var(--app-card-bg);
      color: #334155;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    html[data-theme="dark"] .fms-icon-btn {
      color: #dbe5f1;
      border-color: #30425f;
      background: #0f172a;
    }
    .fms-user-btn {
      border: 1px solid var(--app-border);
      background: var(--app-card-bg);
      color: var(--app-text);
      border-radius: 999px;
      padding: .26rem .56rem .26rem .32rem;
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      font-size: .78rem;
      font-weight: 600;
    }
    .fms-user-avatar {
      width: 1.7rem;
      height: 1.7rem;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(59, 130, 246, 0.15);
      color: #2563eb;
    }
    .fms-user-name {
      max-width: 8.5rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fms-dropdown {
      position: relative;
    }
    .fms-dropdown-panel {
      position: absolute;
      right: 0;
      top: calc(100% + .45rem);
      z-index: 60;
      border: 1px solid var(--app-border);
      border-radius: .85rem;
      background: var(--app-card-bg);
      box-shadow: 0 15px 38px rgba(15, 23, 42, .18);
      padding: .5rem;
    }
    .fms-launcher-panel {
      width: min(26rem, calc(100vw - 1.5rem));
    }
    .fms-launcher-title {
      font-size: .78rem;
      font-weight: 800;
      color: var(--app-muted);
      margin: .1rem .2rem .55rem;
      text-transform: uppercase;
      letter-spacing: .06em;
    }
    .fms-launcher-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .45rem;
    }
    .fms-launcher-item {
      display: flex;
      align-items: center;
      gap: .5rem;
      padding: .5rem .55rem;
      border-radius: .62rem;
      text-decoration: none;
      color: var(--app-text);
      background: rgba(148, 163, 184, 0.08);
      font-size: .8rem;
      font-weight: 600;
    }
    .fms-launcher-item:hover,
    .fms-launcher-item:focus,
    .fms-launcher-item.active {
      background: rgba(59, 130, 246, 0.16);
      color: #1d4ed8;
    }
    html[data-theme="dark"] .fms-launcher-item:hover,
    html[data-theme="dark"] .fms-launcher-item:focus,
    html[data-theme="dark"] .fms-launcher-item.active {
      color: #93c5fd;
    }
    .fms-user-panel {
      width: 11rem;
      display: grid;
      gap: .2rem;
    }
    .fms-dropdown-link {
      width: 100%;
      border: 0;
      background: transparent;
      border-radius: .55rem;
      display: flex;
      align-items: center;
      gap: .5rem;
      text-decoration: none;
      color: var(--app-text);
      font-size: .82rem;
      font-weight: 600;
      padding: .48rem .55rem;
    }
    .fms-dropdown-link:hover,
    .fms-dropdown-link:focus {
      background: rgba(148, 163, 184, 0.16);
    }
    .fms-dropdown-link.danger {
      color: #dc2626;
    }
    .fms-sidebar-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(2, 6, 23, 0.46);
      z-index: 40;
    }
    .fms-mobile-only {
      display: none;
    }
    .fms-desktop-only {
      display: inline-flex;
    }

    /* Front dashboard hero: flat Google-like surface (no heavy gradients) */
    .dashboard-home .dashboard-hero {
      border-radius: 1.15rem !important;
      background: #ffffff;
      color: var(--app-text);
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    }
    .dashboard-home .dashboard-hero::after {
      display: none;
    }
    .dashboard-home .dashboard-hero .card-body {
      padding: 1.15rem 1.2rem;
    }
    .dashboard-home .dashboard-hero .text-muted,
    .dashboard-home .dashboard-hero .dashboard-hero-subtitle {
      color: color-mix(in srgb, var(--app-text) 64%, transparent) !important;
    }
    .dashboard-home .dashboard-hero .ui-page-hero__eyebrow {
      color: #1a73e8;
      background: #e8f0fe;
      border-radius: 999px;
      padding: 0.28rem 0.6rem;
      letter-spacing: 0.06em;
      font-weight: 700;
    }
    .dashboard-home .dashboard-hero .ui-page-hero__icon {
      background: #e8f0fe;
      color: #1a73e8;
      box-shadow: inset 0 0 0 1px rgba(26, 115, 232, 0.12);
      border-radius: 0.9rem;
    }
    html[data-theme="dark"] .dashboard-home .dashboard-hero {
      background: #1f2937;
      border: 1px solid rgba(148, 163, 184, 0.22);
      box-shadow: 0 2px 10px rgba(2, 6, 23, 0.36);
    }
    html[data-theme="dark"] .dashboard-home .dashboard-hero .ui-page-hero__title {
      color: #f8fafc;
    }
    html[data-theme="dark"] .dashboard-home .dashboard-hero .dashboard-hero-subtitle,
    html[data-theme="dark"] .dashboard-home .dashboard-hero .text-muted {
      color: rgba(226, 232, 240, 0.82) !important;
    }
    html[data-theme="dark"] .dashboard-home .dashboard-hero .ui-page-hero__eyebrow,
    html[data-theme="dark"] .dashboard-home .dashboard-hero .ui-page-hero__icon {
      background: rgba(26, 115, 232, 0.18);
      color: #a8c7fa;
    }
    .dashboard-home .dashboard-kpi-card {
      border: 1px solid rgba(148, 163, 184, .24);
      border-radius: 1rem !important;
      box-shadow: 0 8px 25px rgba(15, 23, 42, .08);
    }
    .dashboard-home .dashboard-kpi-card h5 {
      font-size: 1.18rem;
      font-weight: 800;
      letter-spacing: -.02em;
    }
    .dashboard-home .dashboard-launch-card,
    .dashboard-home .dashboard-group-card,
    .dashboard-home .dashboard-focus-link,
    .dashboard-home .dashboard-life-stat {
      border-radius: .95rem;
    }
    .dashboard-home .dashboard-launch-card {
      min-height: 9.8rem;
    }
    .dashboard-home .dashboard-launch-icon,
    .dashboard-home .dashboard-group-link-icon {
      background: rgba(59, 130, 246, .12);
    }
    .dashboard-home .dashboard-focus-link {
      border: 1px solid rgba(148, 163, 184, .24);
    }
    .dashboard-home #dashboardTxTable .card,
    .dashboard-home #lifeWidgetTable .card {
      border-radius: .95rem !important;
      border: 1px solid rgba(148, 163, 184, .2);
    }
    .dashboard-home .badge {
      font-weight: 700;
      letter-spacing: .01em;
    }
    .dashboard-ops-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .75rem;
    }
    .dashboard-list-stack {
      display: grid;
      gap: .42rem;
    }
    .dashboard-list-item {
      display: flex;
      align-items: center;
      gap: .55rem;
      border: 1px solid rgba(148, 163, 184, .2);
      border-radius: .75rem;
      padding: .52rem .62rem;
      background: rgba(248, 250, 252, .76);
    }
    html[data-theme="dark"] .dashboard-list-item {
      background: rgba(15, 23, 42, .64);
      border-color: rgba(71, 85, 105, .5);
    }
    .dashboard-avatar-chip {
      width: 2rem;
      height: 2rem;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(59, 130, 246, .16);
      color: #1d4ed8;
      font-size: .71rem;
      font-weight: 800;
      letter-spacing: .03em;
      flex: 0 0 auto;
    }
    .dashboard-list-main {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: .08rem;
      flex: 1 1 auto;
    }
    .dashboard-list-main strong {
      font-size: .8rem;
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .dashboard-list-main small {
      color: var(--app-muted);
      font-size: .7rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .dashboard-list-meta {
      font-size: .68rem;
      color: #64748b;
      background: rgba(148, 163, 184, .16);
      border-radius: 999px;
      padding: .2rem .45rem;
      white-space: nowrap;
      flex: 0 0 auto;
    }
    .dashboard-tx-dot {
      width: .62rem;
      height: .62rem;
      border-radius: 999px;
      flex: 0 0 auto;
    }
    .dashboard-tx-dot.income { background: #10b981; }
    .dashboard-tx-dot.expense { background: #ef4444; }
    .dashboard-list-amount {
      font-size: .78rem;
      font-weight: 700;
      white-space: nowrap;
      flex: 0 0 auto;
    }
    .dashboard-list-amount.income { color: #059669; }
    .dashboard-list-amount.expense { color: #dc2626; }
    .dashboard-home .table th {
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .05em;
      color: #64748b;
      text-transform: uppercase;
    }
    .dashboard-home .table td {
      font-size: .8rem;
      vertical-align: middle;
    }
    :root {
      --chart-color-1: #4f46e5;
      --chart-color-2: #0ea5e9;
      --chart-color-3: #10b981;
      --chart-color-4: #f59e0b;
      --chart-color-5: #ef4444;
    }
    .apexcharts-tooltip {
      border-radius: .6rem !important;
      box-shadow: 0 8px 24px rgba(15, 23, 42, .18) !important;
      border: 1px solid var(--app-border) !important;
    }
    .apexcharts-legend-text {
      color: #64748b !important;
      font-size: .72rem !important;
    }

    /* Subtle load-in rhythm similar to FMS cards */
    @keyframes fmsFadeUp {
      from {
        opacity: 0;
        transform: translateY(8px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    .dashboard-home > * {
      opacity: 0;
      animation: fmsFadeUp .42s ease forwards;
    }
    .dashboard-home > *:nth-child(1) { animation-delay: .02s; }
    .dashboard-home > *:nth-child(2) { animation-delay: .06s; }
    .dashboard-home > *:nth-child(3) { animation-delay: .1s; }
    .dashboard-home > *:nth-child(4) { animation-delay: .14s; }
    .dashboard-home > *:nth-child(5) { animation-delay: .18s; }
    .dashboard-home > *:nth-child(n+6) { animation-delay: .22s; }
    body.no-motion .dashboard-home > * {
      animation: none !important;
      opacity: 1 !important;
    }
    @media (prefers-reduced-motion: reduce) {
      .dashboard-home > * {
        animation: none !important;
        opacity: 1 !important;
      }
    }

    /* Auth shell alignment with FMS visual language */
    .fms-auth-shell {
      position: relative;
      z-index: 1;
    }
    .fms-auth-shell::before {
      content: '';
      position: fixed;
      inset: 0;
      z-index: -1;
      background:
        radial-gradient(circle at 10% 8%, rgba(59, 130, 246, .18), transparent 42%),
        radial-gradient(circle at 90% 92%, rgba(16, 185, 129, .16), transparent 45%),
        linear-gradient(180deg, rgba(248, 250, 252, .95), rgba(241, 245, 249, .95));
    }
    html[data-theme="dark"] .fms-auth-shell::before {
      background:
        radial-gradient(circle at 12% 8%, rgba(37, 99, 235, .24), transparent 42%),
        radial-gradient(circle at 88% 92%, rgba(14, 116, 144, .22), transparent 45%),
        linear-gradient(180deg, rgba(8, 15, 30, .96), rgba(10, 18, 34, .96));
    }
    .fms-auth-head h1 {
      letter-spacing: -.02em;
    }
    .fms-auth-logo {
      width: 56px;
      height: 56px;
      object-fit: cover;
      border-radius: 12px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
    }
    .fms-auth-card {
      border: 1px solid rgba(148, 163, 184, .24) !important;
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
    }
    html[data-theme="dark"] .fms-auth-card {
      border-color: rgba(71, 85, 105, .44) !important;
      background: rgba(15, 23, 42, .86);
    }

    /* Full-project FMS parity layer for module pages */
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) {
      --module-card-radius: .92rem;
      --module-card-border: rgba(148, 163, 184, .24);
      --module-card-shadow: 0 10px 28px rgba(15, 23, 42, .08);
      --module-soft-bg: rgba(248, 250, 252, .84);
    }
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) {
      --module-card-border: rgba(71, 85, 105, .52);
      --module-card-shadow: 0 12px 30px rgba(2, 6, 23, .42);
      --module-soft-bg: rgba(30, 41, 59, .32);
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .card {
      border: 1px solid var(--module-card-border) !important;
      border-radius: var(--module-card-radius) !important;
      box-shadow: var(--module-card-shadow) !important;
      background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .96));
    }
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .card {
      background: linear-gradient(180deg, rgba(15, 23, 42, .95), rgba(17, 27, 47, .95));
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .card-header {
      border-bottom: 1px solid var(--module-card-border);
      background: transparent !important;
      font-weight: 700;
      letter-spacing: .01em;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .card-body {
      padding: .92rem 1rem;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-tabs,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-pills {
      gap: .32rem;
      border: 0;
      background: var(--module-soft-bg);
      padding: .3rem;
      border-radius: .8rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-tabs .nav-link,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-pills .nav-link {
      border: 1px solid transparent;
      border-radius: .62rem;
      color: #475569;
      font-size: .8rem;
      font-weight: 700;
      padding: .42rem .68rem;
      transition: all .14s ease;
      background: transparent;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-tabs .nav-link:hover,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-tabs .nav-link:focus,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-pills .nav-link:hover,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-pills .nav-link:focus {
      color: #1e293b;
      background: rgba(148, 163, 184, .2);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-tabs .nav-link.active,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-pills .nav-link.active {
      background: linear-gradient(135deg, #2563eb, #0ea5e9);
      color: #fff;
      border-color: rgba(37, 99, 235, .44);
      box-shadow: 0 8px 16px rgba(37, 99, 235, .22);
    }
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-tabs .nav-link,
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .nav.nav-pills .nav-link {
      color: #cbd5e1;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .table {
      border-collapse: separate;
      border-spacing: 0;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .table thead th {
      background: rgba(148, 163, 184, .14);
      color: #64748b;
      border-bottom: 1px solid var(--module-card-border);
      font-size: .69rem;
      text-transform: uppercase;
      letter-spacing: .06em;
      font-weight: 800;
      white-space: nowrap;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .table td {
      border-bottom: 1px solid rgba(148, 163, 184, .18);
      font-size: .79rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .table-hover tbody tr:hover {
      background: rgba(14, 165, 233, .08);
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .form-control,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .form-select {
      border-radius: .62rem;
      border-color: rgba(148, 163, 184, .34);
      background: rgba(255, 255, 255, .86);
      min-height: 2.15rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .form-control:focus,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .form-select:focus {
      border-color: rgba(37, 99, 235, .58);
      box-shadow: 0 0 0 .18rem rgba(37, 99, 235, .13);
    }
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .form-control,
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .form-select {
      background: rgba(15, 23, 42, .62);
      border-color: rgba(71, 85, 105, .62);
      color: #dbe5f1;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .modal-content {
      border-radius: 1rem;
      border-color: var(--module-card-border);
      box-shadow: 0 20px 46px rgba(2, 6, 23, .28);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .modal-header,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .modal-footer {
      background: rgba(148, 163, 184, .08);
      border-color: var(--module-card-border);
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .badge {
      border-radius: 999px;
      font-size: .67rem;
      letter-spacing: .02em;
      font-weight: 700;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .alert {
      border-radius: .74rem;
      border-width: 1px;
      box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-hero {
      border: 0 !important;
      border-radius: 1rem !important;
      background: linear-gradient(128deg, rgba(30, 41, 59, .96), rgba(37, 99, 235, .86)) !important;
      color: #f8fafc !important;
      box-shadow: 0 18px 40px rgba(30, 41, 59, .24) !important;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-hero .text-muted {
      color: rgba(226, 232, 240, .92) !important;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link .card {
      transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link .card-body {
      padding: .86rem .9rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link .module-kpi-row,
    .dashboard-kpi-card .module-kpi-row {
      display: flex;
      align-items: center;
      gap: .7rem;
      min-width: 0;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link .module-kpi-icon,
    .dashboard-kpi-card .module-kpi-icon {
      width: 2rem;
      height: 2rem;
      border-radius: .56rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(37, 99, 235, .12);
      color: #2563eb;
      font-size: .8rem;
      flex-shrink: 0;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link .module-kpi-copy,
    .dashboard-kpi-card .module-kpi-copy {
      min-width: 0;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link h5,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link h6 {
      font-weight: 800;
      letter-spacing: -.01em;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link:hover .card,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .module-kpi-link:focus .card {
      transform: translateY(-2px);
      border-color: rgba(14, 165, 233, .48) !important;
      box-shadow: 0 16px 32px rgba(14, 116, 144, .16) !important;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .themed-tabs,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) ul.nav.themed-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: .34rem;
      border: 0 !important;
      background: var(--module-soft-bg) !important;
      border-radius: .8rem !important;
      padding: .3rem !important;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .themed-tabs .nav-link {
      border: 1px solid transparent !important;
      border-radius: .62rem !important;
      background: transparent !important;
      color: #475569 !important;
      font-size: .79rem !important;
      font-weight: 700 !important;
      padding: .42rem .68rem !important;
      line-height: 1.2;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .themed-tabs .nav-link.active {
      background: linear-gradient(135deg, #2563eb, #0ea5e9) !important;
      color: #fff !important;
      border-color: rgba(37, 99, 235, .44) !important;
      box-shadow: 0 8px 16px rgba(37, 99, 235, .22) !important;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .account-summary-card {
      border: 1px solid var(--module-card-border) !important;
      border-radius: .95rem !important;
      box-shadow: 0 10px 24px rgba(15, 23, 42, .1) !important;
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95)) !important;
    }
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .account-summary-card {
      background: linear-gradient(180deg, rgba(15,23,42,.95), rgba(17,27,47,.95)) !important;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-modal .modal-content {
      border-radius: 1rem !important;
      border: 1px solid var(--module-card-border) !important;
      box-shadow: 0 24px 48px rgba(2, 6, 23, .28) !important;
      background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,250,252,.95)) !important;
    }
    html[data-theme="dark"] .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-modal .modal-content {
      background: linear-gradient(180deg, rgba(15,23,42,.97), rgba(17,27,47,.95)) !important;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-records-table-wrap {
      overflow-x: auto;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-actions-dropdown {
      position: relative;
      z-index: 5;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-actions-dropdown .dropdown-menu {
      z-index: 2000;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-toolbar .btn {
      white-space: nowrap;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-toolbar .dropdown-toggle {
      min-width: 40px;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-stat-icon {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-modal .modal-header {
      padding: .85rem 1rem;
      border-bottom: 1px solid rgba(148, 163, 184, .24);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-modal .modal-body {
      padding: 1rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-modal .nav-tabs .nav-link {
      font-weight: 700;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-modal .nav-tabs .nav-link.active {
      background: rgba(148, 163, 184, .18);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) #txRecordsTable tbody tr:hover {
      background-color: rgba(37, 99, 235, .06);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-filter-active .fas.fa-filter {
      color: var(--app-accent);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-kpi-link {
      color: inherit;
      text-decoration: none;
      display: block;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-kpi-link .card {
      transition: transform .14s ease, box-shadow .14s ease;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-kpi-link:hover .card,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .tx-kpi-link:focus .card {
      transform: translateY(-1px);
      box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
    }

    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-add-form-v2 .tx-type-tabs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .5rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-add-form-v2 .tx-type-tab {
      border: 1px solid var(--app-border);
      background: color-mix(in srgb, var(--app-card-bg) 88%, var(--app-bg) 12%);
      color: var(--app-text);
      border-radius: .5rem;
      padding: .45rem .65rem;
      font-size: .875rem;
      font-weight: 600;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-add-form-v2 .tx-type-tab.active {
      background: var(--bs-danger);
      border-color: var(--bs-danger);
      color: #fff;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-add-form-v2 .tx-add-pane {
      background: color-mix(in srgb, var(--app-card-bg) 94%, var(--app-accent) 6%);
    }
    .fms-content #txSmartAddSection .tx-smart-form {
      gap: .8rem 0;
    }
    .fms-content #txSmartAddSection .tx-smart-form .ui-form-field {
      display: grid;
      gap: .45rem;
    }
    .fms-content #txSmartAddSection .tx-smart-form .ui-form-label {
      display: block;
    }
    .fms-content #txSmartAddSection .tx-smart-form .ui-form-input,
    .fms-content #txSmartAddSection .tx-smart-form .ui-form-select,
    .fms-content #txSmartAddSection .tx-smart-form .ui-form-textarea {
      display: block;
      width: 100%;
    }
    .fms-content #txSmartAddSection .tx-smart-input-wrap .form-group,
    .fms-content #txSmartAddSection .tx-smart-input-wrap .mb-3 {
      margin-bottom: 0 !important;
    }
    .fms-content #txSmartAddSection .tx-smart-input-field {
      width: 100%;
      min-height: 3rem;
    }
    .fms-content #txSmartAddSection .tx-smart-intake,
    .fms-content #txSmartAddSection .tx-smart-history-pane,
    .fms-content #txSmartAddSection .tx-smart-scan-pane {
      background: color-mix(in srgb, var(--app-card-bg) 93%, var(--app-accent) 7%);
      border-color: var(--app-border);
    }
    .fms-content #txSmartAddSection .tx-smart-action-bar {
      background: color-mix(in srgb, var(--app-card-bg) 95%, var(--app-accent) 5%);
      border-color: var(--app-border);
    }
    .fms-content #txSmartAddSection #txSmartInput {
      min-height: 2.6rem;
      font-size: .92rem;
      font-weight: 600;
    }
    .fms-content #txSmartAddSection .tx-smart-submit-wrap .btn {
      min-height: 2.7rem;
      font-weight: 700;
    }
    .fms-content #txSmartAddSection .tx-smart-history-card {
      background: var(--app-card-bg) !important;
      border-color: var(--app-border);
      box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
      transition: transform .15s ease, box-shadow .15s ease;
    }
    .fms-content #txSmartAddSection .tx-smart-history-card:hover {
      transform: translateY(-1px);
      box-shadow: 0 12px 24px rgba(15, 23, 42, .1);
    }
    .fms-content #txSmartAddSection .tx-smart-history-title {
      line-height: 1.35;
    }
    .fms-content #txSmartAddSection .tx-smart-history-meta {
      line-height: 1.35;
      font-size: .76rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-taxonomy-picker .tx-cat-l1-input,
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-taxonomy-picker .tx-cat-l2-input,
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-taxonomy-picker .tx-cat-l3-input {
      font-weight: 600;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-taxonomy-picker .tx-cat-l2-input {
      font-size: .825rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-taxonomy-picker .tx-cat-l3-input {
      font-size: .8rem;
      color: var(--app-muted);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-taxonomy-picker input:disabled {
      opacity: .55;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-group {
      border: 1px solid var(--app-border);
      border-radius: .9rem;
      background: color-mix(in srgb, var(--app-card-bg) 90%, var(--app-bg) 10%);
      padding: .85rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-pill-group {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .5rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-active {
      display: flex;
      flex-wrap: wrap;
      gap: .4rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-chip {
      display: inline-flex;
      align-items: center;
      gap: .25rem;
      padding: .28rem .55rem;
      border-radius: 999px;
      border: 1px solid var(--app-border);
      background: var(--app-card-bg);
      color: var(--app-muted);
      font-size: .74rem;
      line-height: 1.2;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-group-title {
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
      color: var(--app-muted);
      margin-bottom: .75rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-sidebar {
      position: sticky;
      top: 1rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: .625rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-chip {
      display: flex;
      align-items: center;
      gap: .625rem;
      background: var(--app-card-bg);
      border: 1px solid var(--app-border);
      border-radius: .625rem;
      padding: .5rem .75rem;
      text-decoration: none;
      color: inherit;
      transition: box-shadow .15s, border-color .15s;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-chip:hover {
      box-shadow: var(--app-shadow);
      border-color: var(--app-accent);
      color: inherit;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.25rem;
      height: 2.25rem;
      border-radius: .5rem;
      flex-shrink: 0;
      font-size: .85rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-icon-primary {
      background: color-mix(in srgb, var(--bs-primary) 16%, var(--app-card-bg) 84%);
      color: var(--bs-primary);
      border: 1px solid color-mix(in srgb, var(--bs-primary) 28%, transparent);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-icon-success {
      background: color-mix(in srgb, var(--bs-success) 18%, var(--app-card-bg) 82%);
      color: var(--bs-success);
      border: 1px solid color-mix(in srgb, var(--bs-success) 28%, transparent);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-icon-danger {
      background: color-mix(in srgb, var(--bs-danger) 18%, var(--app-card-bg) 82%);
      color: var(--bs-danger);
      border: 1px solid color-mix(in srgb, var(--bs-danger) 28%, transparent);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-body {
      display: flex;
      flex-direction: column;
      min-width: 0;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-label {
      font-size: .7rem;
      color: var(--app-muted);
      line-height: 1.2;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-value {
      font-size: .95rem;
      font-weight: 700;
      line-height: 1.3;
      white-space: nowrap;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-shell,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-shell {
      max-width: 1400px;
      margin: 0 auto;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-hero {
      border: 0;
      border-radius: 1rem;
      background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--app-accent) 18%, transparent), transparent 32%),
        linear-gradient(135deg, color-mix(in srgb, var(--app-card-bg) 96%, white 4%) 0%, color-mix(in srgb, var(--app-card-bg) 88%, var(--app-accent) 12%) 100%);
      box-shadow: var(--app-shadow);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-eyebrow,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-eyebrow {
      font-size: .78rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-eyebrow {
      color: var(--app-muted);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-title {
      font-size: clamp(1.5rem, 2vw, 2.1rem);
      line-height: 1.1;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-amount {
      font-size: clamp(1.9rem, 3vw, 2.6rem);
      line-height: 1;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-panel,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-hero,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-panel,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-form-card {
      border-radius: 1rem;
      border: 1px solid var(--app-border);
      box-shadow: var(--app-shadow);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-panel .card-header,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-panel .card-header,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-form-card .card-header {
      background: color-mix(in srgb, var(--app-card-bg) 85%, var(--app-bg) 15%);
      border-bottom-color: var(--app-border);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-list,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-list {
      display: grid;
      gap: .85rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-row {
      display: grid;
      grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
      gap: .9rem;
      align-items: start;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-row {
      display: grid;
      grid-template-columns: minmax(120px, 150px) minmax(0, 1fr);
      gap: .85rem;
      align-items: start;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-row dt,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-row dt {
      margin: 0;
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
      color: var(--app-muted);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-row dd,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-row dd {
      margin: 0;
      color: var(--app-text);
      word-break: break-word;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-tag,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-chip {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      padding: .42rem .72rem;
      border-radius: 999px;
      border: 1px solid var(--app-border);
      background: color-mix(in srgb, var(--app-card-bg) 88%, var(--app-bg) 12%);
      color: var(--app-text);
      font-size: .85rem;
      font-weight: 600;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-note {
      min-height: 130px;
      border-radius: .9rem;
      background: linear-gradient(180deg, color-mix(in srgb, var(--app-card-bg) 82%, var(--app-bg) 18%), var(--app-card-bg));
      border: 1px solid var(--app-border);
      color: var(--app-text);
      white-space: pre-wrap;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-taxonomy {
      display: grid;
      gap: .75rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-taxonomy-item {
      display: flex;
      align-items: center;
      gap: .75rem;
      padding: .8rem .9rem;
      border: 1px solid var(--app-border);
      border-radius: .9rem;
      background: color-mix(in srgb, var(--app-card-bg) 88%, var(--app-bg) 12%);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-taxonomy-item i,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-taxonomy-label i {
      width: 1rem;
      text-align: center;
      color: var(--app-muted);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-taxonomy-copy small {
      display: block;
      color: var(--app-muted);
      text-transform: uppercase;
      letter-spacing: .04em;
      font-size: .74rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-taxonomy-copy span {
      display: block;
      color: var(--app-text);
      font-weight: 600;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-attachment,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-attachment {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 1rem;
      padding: .9rem 0;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-attachment + .tx-view-attachment,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-attachment + .tx-edit-attachment {
      border-top: 1px solid var(--app-border);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-attachment-meta,
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-attachment-meta {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-top: .45rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-hero {
      background:
        radial-gradient(circle at top right, color-mix(in srgb, #f59e0b 16%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--app-card-bg) 95%, white 5%) 0%, color-mix(in srgb, var(--app-card-bg) 90%, #f59e0b 10%) 100%);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-title {
      font-size: clamp(1.45rem, 2vw, 2rem);
      line-height: 1.1;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-amount {
      font-size: clamp(1.6rem, 2.4vw, 2.2rem);
      line-height: 1;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-taxonomy-card {
      border: 1px dashed var(--app-border);
      border-radius: .95rem;
      background: color-mix(in srgb, var(--app-card-bg) 86%, var(--app-bg) 14%);
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-taxonomy-label {
      display: flex;
      align-items: center;
      gap: .45rem;
    }
    .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-taxonomy-hint {
      font-size: .82rem;
      color: var(--app-muted);
    }
    @media (max-width: 991.98px) {
      .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-sidebar {
        position: static;
      }
      .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-add-form-v2 .tx-type-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 575.98px) {
      .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-kpi-strip {
        grid-template-columns: 1fr;
      }
      .fms-content main.container-fluid > .container-fluid.module-transactions-shell .tx-filter-pill-group {
        grid-template-columns: 1fr;
      }
      .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-row,
      .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-row {
        grid-template-columns: 1fr;
        gap: .3rem;
      }
      .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-attachment,
      .fms-content main.container-fluid > .container-fluid.module-transactions-edit-shell .tx-edit-attachment {
        flex-direction: column;
      }
      .fms-content main.container-fluid > .container-fluid.module-transactions-view-shell .tx-view-row {
        gap: .25rem;
      }
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell {
      --mod-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
      --mod-soft-bg: rgba(148, 163, 184, 0.12);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .card {
      box-shadow: var(--mod-shadow);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .card-header {
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      background: #fff;
      padding: .78rem 1rem;
      line-height: 1.25;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .card-body {
      padding: 1rem 1.05rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .table thead,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .table thead.table-light {
      background: var(--mod-soft-bg);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .table tbody tr:hover {
      background-color: rgba(37, 99, 235, 0.05);
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .table.table-sm > :not(caption) > * > * {
      padding: .46rem .55rem;
      vertical-align: middle;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .table-responsive {
      border-radius: .75rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .btn,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .form-control,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .form-select {
      border-radius: 10px;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .row.g-2 {
      --bs-gutter-y: .6rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .row.g-3 {
      --bs-gutter-y: .9rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .mod-shell .mod-hero {
      border-left: 4px solid rgba(37, 99, 235, 0.55);
    }

    .auto-field-label {
      display: block;
      font-size: .78rem;
      font-weight: 600;
      color: #475569;
      margin-bottom: .25rem;
      line-height: 1.2;
      letter-spacing: .01em;
    }

    main.container-fluid > .container-fluid .card.rounded-3 .card-header {
      padding: .72rem .95rem;
      line-height: 1.25;
    }
    main.container-fluid > .container-fluid .card.rounded-3 .card-body {
      padding: .95rem 1rem;
    }
    main.container-fluid > .container-fluid .table.table-sm > :not(caption) > * > * {
      padding: .44rem .52rem;
      vertical-align: middle;
    }
    main.container-fluid > .container-fluid .row.g-2 {
      --bs-gutter-y: .55rem;
    }

    .kpi-card {
      border-left: 4px solid !important;
    }
    #log {
      max-height: 220px;
      overflow-y: auto;
      font-size: .82rem;
    }

    body.nav-compact .top-icon-link {
      min-width: 76px;
      padding: .5rem .55rem;
    }
    body.nav-compact .top-icon-link .label {
      font-size: .68rem;
    }

    .module-auto-shell .module-auto-nav-card {
      position: sticky;
      top: 1rem;
    }
    .module-auto-shell .module-auto-nav {
      gap: .35rem;
    }
    .module-auto-shell .module-auto-nav .nav-link {
      text-align: left;
      border-radius: .8rem;
      color: #334155;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      font-size: .92rem;
      font-weight: 500;
      width: 100%;
    }
    .module-auto-shell .module-auto-nav .nav-link.active {
      background: #0f172a;
      color: #fff;
      border-color: #0f172a;
    }
    .module-auto-pane {
      display: none;
    }
    .module-auto-pane.active {
      display: block;
    }

    .module-add-fab {
      position: fixed;
      right: 1.25rem;
      bottom: 1.25rem;
      z-index: 1085;
      border-radius: 999px;
      padding: .9rem 1.15rem;
      box-shadow: 0 14px 30px rgba(13, 110, 253, .28);
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      font-weight: 700;
    }
    .module-add-fab .fa-plus {
      font-size: .85rem;
    }
    .module-add-fab:hover,
    .module-add-fab:focus {
      transform: translateY(-1px);
      box-shadow: 0 18px 36px rgba(13, 110, 253, .32);
    }
    .module-add-fab-wrap {
      position: fixed;
      right: 1.25rem;
      bottom: 1.25rem;
      z-index: 1085;
      display: inline-flex;
      flex-direction: column;
      align-items: flex-end;
      gap: .5rem;
    }
    .module-add-fab-menu {
      display: none;
      min-width: 260px;
      max-width: 320px;
      max-height: 50vh;
      overflow-y: auto;
      background: #fff;
      border: 1px solid #dbe3ef;
      border-radius: 1rem;
      box-shadow: 0 18px 42px rgba(15, 23, 42, .24);
      padding: .5rem;
    }
    .module-add-fab-wrap.open .module-add-fab-menu {
      display: block;
    }
    .module-add-fab-menu-header {
      font-size: .76rem;
      color: #64748b;
      text-transform: uppercase;
      letter-spacing: .06em;
      font-weight: 700;
      padding: .2rem .4rem .35rem;
    }
    .module-add-fab-item {
      width: 100%;
      text-align: left;
      border-radius: .7rem;
      font-size: .84rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: .45rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      border: 1px solid transparent;
      padding: .45rem .55rem;
    }
    .module-add-fab-item i {
      width: 1rem;
      text-align: center;
      color: #334155;
    }

    .managed-select-wrap {
      display: flex;
      flex-direction: column;
      gap: .35rem;
    }
    .managed-select-inline {
      display: flex;
      align-items: stretch;
      gap: .35rem;
      width: 100%;
    }
    .managed-select-inline > select {
      flex: 1 1 auto;
      min-width: 0;
    }
    .managed-field-add-btn {
      align-self: flex-start;
      border-radius: 999px;
      min-width: 2.25rem;
      width: 2.25rem;
      height: 2.25rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      flex: 0 0 auto;
    }
    .managed-field-add-btn i {
      margin: 0;
    }
    .managed-field-add-btn .managed-field-add-text {
      display: none;
    }

    .amount-action-input {
      flex: 1 1 auto;
      min-width: 0;
    }
    .form-secondary-action-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .35rem;
    }
    .calculator-display {
      font-size: 1.2rem;
      font-weight: 700;
      text-align: right;
      letter-spacing: .02em;
    }
    .calculator-preview {
      min-height: 1.2rem;
    }
    .calculator-key-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: .5rem;
    }
    .calculator-key-grid .btn {
      min-height: 2.8rem;
      font-weight: 600;
    }
    .calculator-key-grid .btn[data-calc-action="apply"] {
      grid-column: span 2;
    }
    .quick-submit-hint {
      font-size: .73rem;
      color: #64748b;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .inv-photo {
      width: 42px;
      height: 42px;
      object-fit: cover;
      border-radius: 8px;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .inv-kpi-grid .card-body {
      padding-top: .85rem;
      padding-bottom: .85rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .inv-table-actions .btn {
      padding: .2rem .45rem;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav-card,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav-card,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav-card {
      position: sticky;
      top: 1rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav {
      gap: .35rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav .nav-link,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav .nav-link,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link {
      text-align: left;
      border-radius: .8rem;
      color: #334155;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      font-size: .92rem;
      font-weight: 500;
      width: 100%;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav .nav-link {
      padding: .55rem .75rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav .nav-link.active,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav .nav-link.active,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link.active {
      background: #0f172a;
      color: #fff;
      border-color: #0f172a;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav .nav-link.ctx-btn:not(.active) {
      color: #94a3b8;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav .nav-link.ctx-btn.veh-ready:not(.active) {
      color: #334155;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-pane,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicle-pane,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-pane {
      display: none;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-pane.active,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicle-pane.active,
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-pane.active {
      display: block;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-pane .card-header {
      font-weight: 600;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-section-note {
      font-size: .85rem;
      color: #64748b;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .veh-no-ctx {
      background: #f8fafc;
      border: 1px dashed #cbd5e1;
      border-radius: 1rem;
      padding: 2.5rem 1rem;
      text-align: center;
      color: #94a3b8;
    }

    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link.nav-sub {
      font-size: .85rem;
      padding-left: 1.9rem;
      background: #f1f5f9;
      color: #475569;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link.nav-sub.active {
      background: #1e293b;
      color: #fff;
      border-color: #1e293b;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-section-label {
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: #94a3b8;
      padding: .55rem .5rem .1rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link.nav-link-ext {
      background: #f1f5f9;
      color: #475569;
      font-size: .88rem;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link.nav-link-ext:hover {
      background: #e2e8f0;
      color: #0f172a;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .stat-card-link {
      text-decoration: none;
      color: inherit;
      display: block;
    }
    .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .stat-card-link:hover .card {
      background: #f0fdf4;
      border-color: #86efac !important;
      transition: all .15s;
    }

    .fms-index-visuals {
      display: grid;
      gap: .85rem;
    }
    .fms-kpi-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: .75rem;
    }
    .fms-kpi-card {
      border: 1px solid #dbe3ef;
      border-radius: .9rem;
      background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
      padding: .8rem .9rem;
      position: relative;
      overflow: hidden;
      min-height: 108px;
    }
    .fms-kpi-label {
      font-size: .67rem;
      text-transform: uppercase;
      letter-spacing: .06em;
      color: #64748b;
      font-weight: 700;
      margin-bottom: .25rem;
    }
    .fms-kpi-value {
      font-size: 1.55rem;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.1;
    }
    .fms-kpi-spark {
      position: absolute;
      left: .5rem;
      right: .5rem;
      bottom: .45rem;
      height: 34px;
      border-radius: .5rem;
      background: linear-gradient(180deg, rgba(59,130,246,.14), rgba(59,130,246,.02));
      mask-image: linear-gradient(90deg, transparent 0%, #000 16%, #000 84%, transparent 100%);
    }
    .fms-kpi-spark::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 45%;
      height: 1px;
      background: rgba(59,130,246,.35);
    }
    .fms-chart-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr);
      gap: .85rem;
    }
    .fms-chart-card {
      border: 1px solid #dbe3ef;
      border-radius: .95rem;
      background: #fff;
      padding: .85rem;
      min-height: 235px;
    }
    .fms-chart-head {
      font-size: .82rem;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: .65rem;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .fms-donut-wrap {
      display: flex;
      align-items: center;
      gap: 1rem;
      height: calc(100% - 1.5rem);
      min-height: 160px;
    }
    .fms-donut {
      width: 180px;
      height: 180px;
      border-radius: 50%;
      position: relative;
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: inset 0 0 0 1px rgba(148,163,184,.22);
    }
    .fms-donut::before {
      content: '';
      width: 118px;
      height: 118px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 0 0 1px #e2e8f0;
      position: absolute;
    }
    .fms-donut span {
      position: relative;
      z-index: 1;
      font-size: 1.6rem;
      font-weight: 800;
      color: #334155;
    }
    .fms-donut-copy {
      max-width: 240px;
    }
    .fms-mini-bars {
      height: 172px;
      display: grid;
      grid-template-columns: repeat(10, minmax(0, 1fr));
      align-items: end;
      gap: .45rem;
      padding-top: .65rem;
      border-top: 1px solid #edf2f7;
      background: linear-gradient(180deg, rgba(16,185,129,.06), transparent 58%);
      border-radius: .8rem;
    }
    .fms-mini-bar {
      display: block;
      width: 100%;
      border-radius: .45rem .45rem .1rem .1rem;
      background: linear-gradient(180deg, #14b8a6 0%, #3b82f6 100%);
      min-height: 8px;
      box-shadow: 0 2px 8px rgba(20,184,166,.18);
    }

    @media (max-width: 991.98px) {
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav-card,
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav-card,
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav-card {
        position: static;
      }
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav,
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav,
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: .25rem;
        white-space: nowrap;
      }
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .family-shell .family-nav .nav-link,
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .vehicles-shell .vehicles-nav .nav-link,
      .fms-content main.container-fluid > .container-fluid:not(.dashboard-home) .household-shell .household-nav .nav-link {
        min-width: max-content;
        width: auto;
      }
      .fms-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .fms-chart-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 575.98px) {
      .fms-kpi-grid {
        grid-template-columns: 1fr;
      }
      .fms-donut {
        width: 150px;
        height: 150px;
      }
      .fms-donut::before {
        width: 96px;
        height: 96px;
      }
    }

    @media (max-width: 1100px) {
      .fms-shell {
        grid-template-columns: 1fr;
        grid-template-rows: 68px auto minmax(0, 1fr);
        grid-template-areas:
          "topbar"
          "subnav"
          "content";
      }
      .fms-subnav {
        top: 68px;
      }
      .fms-sidebar {
        position: fixed;
        left: 0;
        top: 0;
        width: min(84vw, 270px);
        transform: translateX(-110%);
        transition: transform .2s ease;
        box-shadow: 0 20px 40px rgba(2, 6, 23, .38);
      }
      .fms-sidebar.open {
        transform: translateX(0);
      }
      .fms-mobile-only {
        display: inline-flex;
      }
      .fms-desktop-only {
        display: none;
      }
      .fms-user-name {
        display: none;
      }
      .fms-topbar-search {
        min-width: 11.2rem;
        width: 34vw;
      }
      .dashboard-ops-grid {
        grid-template-columns: 1fr;
      }
    }
    @media (max-width: 768px) {
      .fms-topbar {
        padding: .55rem .75rem;
      }
      .fms-page-heading p,
      .fms-page-kicker {
        display: none;
      }
      .fms-content {
        padding-left: .8rem !important;
        padding-right: .8rem !important;
      }
      .fms-launcher-grid {
        grid-template-columns: 1fr;
      }
      .fms-notif-panel {
        width: min(20rem, calc(100vw - 1rem));
      }
      .fms-topbar-search {
        display: none;
      }
      .fms-breadcrumbs {
        display: none;
      }
    }

    /* Global module design baseline: applies to all module dashboards/forms, excluding home dashboard route. */
    .fms-content .module-dashboard-home {
      --module-surface: #f9fbff;
      --module-border: #dbe6f5;
      --module-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
      --module-focus: rgba(72, 127, 255, 0.48);
      --module-focus-ring: 0 0 0 4px rgba(72, 127, 255, 0.14);
      --module-link: #1d4ed8;
      --module-link-hover: #1e40af;
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home {
      --module-surface: #132036;
      --module-border: #334155;
      --module-shadow: 0 14px 34px rgba(2, 6, 23, 0.5);
      --module-focus: rgba(96, 165, 250, 0.65);
      --module-focus-ring: 0 0 0 4px rgba(96, 165, 250, 0.2);
      --module-link: #93c5fd;
      --module-link-hover: #bfdbfe;
    }

    .fms-content .module-dashboard-home .card,
    .fms-content .module-dashboard-home .ui-section-card,
    .fms-content .module-dashboard-home .dashboard-section {
      background: var(--module-surface);
      border-color: var(--module-border);
      box-shadow: var(--module-shadow);
      border-radius: 1rem;
    }

    .fms-content .module-dashboard-home .card-header,
    .fms-content .module-dashboard-home .ui-section-card__header,
    .fms-content .module-dashboard-home .dashboard-section-header {
      border-bottom-color: var(--module-border);
      font-weight: 700;
      letter-spacing: .01em;
    }

    .fms-content .module-dashboard-home a:not(.btn):not(.nav-link):not(.dropdown-item) {
      color: var(--module-link);
    }

    .fms-content .module-dashboard-home a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
    .fms-content .module-dashboard-home a:not(.btn):not(.nav-link):not(.dropdown-item):focus {
      color: var(--module-link-hover);
    }

    .fms-content .module-dashboard-home .btn,
    .fms-content .module-dashboard-home .ui-btn,
    .fms-content .module-dashboard-home button {
      border-radius: .82rem;
      font-weight: 700;
    }

    .fms-content .module-dashboard-home .form-control,
    .fms-content .module-dashboard-home .form-select,
    .fms-content .module-dashboard-home .ui-form-input,
    .fms-content .module-dashboard-home .ui-form-select,
    .fms-content .module-dashboard-home textarea {
      border-color: var(--module-border);
      border-radius: .86rem;
      background: linear-gradient(180deg, var(--module-surface), #eef4ff);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .form-control,
    html[data-theme="dark"] .fms-content .module-dashboard-home .form-select,
    html[data-theme="dark"] .fms-content .module-dashboard-home .ui-form-input,
    html[data-theme="dark"] .fms-content .module-dashboard-home .ui-form-select,
    html[data-theme="dark"] .fms-content .module-dashboard-home textarea {
      background: linear-gradient(180deg, #132036, #0f1b2f);
    }

    .fms-content .module-dashboard-home .form-control:focus,
    .fms-content .module-dashboard-home .form-select:focus,
    .fms-content .module-dashboard-home .ui-form-input:focus,
    .fms-content .module-dashboard-home .ui-form-select:focus,
    .fms-content .module-dashboard-home textarea:focus {
      border-color: var(--module-focus);
      box-shadow: var(--module-focus-ring);
      outline: none;
    }

    .fms-content .module-dashboard-home .dashboard-kpi-link .dashboard-kpi-card,
    .fms-content .module-dashboard-home .module-kpi-link .card,
    .fms-content .module-dashboard-home .stat-card-link .dashboard-kpi-card {
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .fms-content .module-dashboard-home .dashboard-kpi-link:hover .dashboard-kpi-card,
    .fms-content .module-dashboard-home .module-kpi-link:hover .card,
    .fms-content .module-dashboard-home .stat-card-link:hover .dashboard-kpi-card {
      transform: translateY(-2px);
      box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
      border-color: var(--module-link);
    }

    .fms-content .module-dashboard-home .table thead th {
      background: #eef4ff;
      border-bottom-color: var(--module-border);
      font-size: .76rem;
      text-transform: uppercase;
      letter-spacing: .05em;
      font-weight: 700;
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .table thead th {
      background: #1a2a45;
    }

    .fms-content .module-dashboard-home .table td {
      border-bottom-color: var(--module-border);
    }

    /* Module visual phase 2: atmospheric backgrounds, stronger rhythm, and intentional motion. */
    .fms-content .module-dashboard-home,
    .fms-content .container-fluid.mod-shell,
    .fms-content .container-fluid.dashboard-home {
      position: relative;
      isolation: isolate;
      border-radius: 1.1rem;
      padding: 0.35rem;
      background:
        radial-gradient(92rem 28rem at 6% -14%, rgba(26, 115, 232, 0.09), transparent 62%),
        radial-gradient(60rem 22rem at 95% 0%, rgba(232, 240, 254, 0.8), transparent 58%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(246, 248, 252, 0.76));
      border: 1px solid color-mix(in srgb, var(--module-border) 76%, #c7d8f3 24%);
      box-shadow: 0 20px 46px rgba(15, 23, 42, 0.08);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home,
    html[data-theme="dark"] .fms-content .container-fluid.mod-shell,
    html[data-theme="dark"] .fms-content .container-fluid.dashboard-home {
      background:
        radial-gradient(82rem 24rem at 10% -12%, rgba(56, 189, 248, 0.16), transparent 58%),
        radial-gradient(56rem 18rem at 95% -2%, rgba(45, 212, 191, 0.12), transparent 60%),
        linear-gradient(180deg, rgba(12, 20, 36, 0.92), rgba(10, 18, 33, 0.9));
      border-color: color-mix(in srgb, var(--module-border) 82%, #26446d 18%);
      box-shadow: 0 22px 52px rgba(2, 6, 23, 0.52);
    }

    .fms-content .module-dashboard-home .card,
    .fms-content .module-dashboard-home .ui-section-card,
    .fms-content .module-dashboard-home .ui-table-card,
    .fms-content .module-dashboard-home .ui-chart-card,
    .fms-content .module-dashboard-home .ui-menu-card {
      backdrop-filter: blur(2px);
    }

    .fms-content .module-dashboard-home .card-header,
    .fms-content .module-dashboard-home .ui-section-card__header,
    .fms-content .module-dashboard-home .ui-table-card__header,
    .fms-content .module-dashboard-home .ui-chart-card__header,
    .fms-content .module-dashboard-home .ui-menu-card__header {
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.32));
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .card-header,
    html[data-theme="dark"] .fms-content .module-dashboard-home .ui-section-card__header,
    html[data-theme="dark"] .fms-content .module-dashboard-home .ui-table-card__header,
    html[data-theme="dark"] .fms-content .module-dashboard-home .ui-chart-card__header,
    html[data-theme="dark"] .fms-content .module-dashboard-home .ui-menu-card__header {
      background: linear-gradient(180deg, rgba(18, 31, 55, 0.7), rgba(18, 31, 55, 0.45));
    }

    .fms-content .module-dashboard-home .ui-page-hero__title,
    .fms-content .module-dashboard-home .ui-section-card__title,
    .fms-content .module-dashboard-home .ui-table-card__title,
    .fms-content .module-dashboard-home .ui-chart-card__title {
      letter-spacing: -0.028em;
    }

    .fms-content .module-dashboard-home .btn,
    .fms-content .module-dashboard-home .ui-button,
    .fms-content .module-dashboard-home button {
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    }

    .fms-content .module-dashboard-home .btn:hover,
    .fms-content .module-dashboard-home .ui-button:hover,
    .fms-content .module-dashboard-home button:hover {
      box-shadow: 0 14px 26px rgba(15, 23, 42, 0.14);
    }

    .fms-content .module-dashboard-home .table tbody tr {
      transition: background-color .18s ease, transform .18s ease;
    }

    .fms-content .module-dashboard-home .table-hover tbody tr:hover {
      transform: translateX(1px);
    }

    .fms-content .module-dashboard-home :where(button, a, input, select, textarea):focus-visible {
      outline: 2px solid color-mix(in srgb, var(--module-focus) 84%, #ffffff 16%);
      outline-offset: 2px;
      box-shadow: var(--module-focus-ring);
      border-radius: 0.6rem;
    }

    @media (prefers-reduced-motion: no-preference) {
      .fms-content .module-dashboard-home .ui-page-hero,
      .fms-content .module-dashboard-home .card,
      .fms-content .module-dashboard-home .ui-section-card,
      .fms-content .module-dashboard-home .ui-table-card,
      .fms-content .module-dashboard-home .ui-chart-card,
      .fms-content .module-dashboard-home .ui-menu-card {
        animation: module-rise .42s ease both;
      }

      .fms-content .module-dashboard-home .card:nth-of-type(2),
      .fms-content .module-dashboard-home .ui-section-card:nth-of-type(2),
      .fms-content .module-dashboard-home .ui-table-card:nth-of-type(2),
      .fms-content .module-dashboard-home .ui-chart-card:nth-of-type(2) {
        animation-delay: .04s;
      }

      .fms-content .module-dashboard-home .card:nth-of-type(3),
      .fms-content .module-dashboard-home .ui-section-card:nth-of-type(3),
      .fms-content .module-dashboard-home .ui-table-card:nth-of-type(3),
      .fms-content .module-dashboard-home .ui-chart-card:nth-of-type(3) {
        animation-delay: .08s;
      }
    }

    @keyframes module-rise {
      from {
        opacity: 0;
        transform: translateY(6px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .fms-content .inventory-module-shell .inventory-breadcrumbs {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.5rem;
      font-size: 0.875rem;
    }

    .fms-content .inventory-module-shell .inventory-breadcrumb-separator {
      color: rgba(100, 116, 139, 0.75);
      font-size: 0.7rem;
    }

    .fms-content .inventory-module-shell .inventory-card-link {
      border: 1px solid var(--module-border);
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    .fms-content .inventory-module-shell .inventory-card-link:hover,
    .fms-content .inventory-module-shell .inventory-card-link:focus-visible {
      transform: translateY(-2px);
      border-color: var(--module-link);
      box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
    }

    /* Shared workspace visual layer for dashboard/form/detail hosts. */
    .fms-content .module-dashboard-home .workspace-alert {
      display: flex;
      align-items: flex-start;
      gap: 0.45rem;
      border-radius: 0.85rem;
      border-width: 1px;
      font-weight: 600;
      box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    }

    .fms-content .module-dashboard-home .workspace-alert i {
      margin-top: 0.08rem;
      opacity: 0.78;
    }

    .fms-content .module-dashboard-home .workspace-table-wrap {
      border: 1px solid color-mix(in srgb, var(--module-border) 75%, #c7d8f3 25%);
      border-radius: 0.95rem;
      overflow: hidden;
      background: color-mix(in srgb, var(--module-surface) 88%, #ffffff 12%);
    }

    .fms-content .module-dashboard-home .workspace-table thead th {
      background: linear-gradient(180deg, rgba(227, 238, 255, 0.92), rgba(240, 246, 255, 0.9));
      font-size: 0.72rem;
      letter-spacing: 0.07em;
    }

    .fms-content .module-dashboard-home .workspace-table tbody tr:nth-child(even) {
      background: rgba(148, 163, 184, 0.06);
    }

    .fms-content .module-dashboard-home .workspace-chip {
      display: inline-flex;
      align-items: center;
      min-height: 1.55rem;
      border-radius: 999px;
      padding: 0.18rem 0.58rem;
      background: rgba(29, 78, 216, 0.1);
      border: 1px solid rgba(29, 78, 216, 0.18);
      color: color-mix(in srgb, #1d4ed8 78%, #0f172a 22%);
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    .fms-content .module-dashboard-home .workspace-cell-stack {
      display: flex;
      flex-direction: column;
      gap: 0.1rem;
    }

    .fms-content .module-dashboard-home .workspace-cell-title {
      font-weight: 700;
      color: var(--app-text);
      line-height: 1.3;
    }

    .fms-content .module-dashboard-home .workspace-cell-meta {
      font-size: 0.75rem;
      color: var(--app-muted);
      line-height: 1.3;
    }

    .fms-content .module-dashboard-home .workspace-meta-card {
      border: 1px solid color-mix(in srgb, var(--module-border) 72%, #cbdcf7 28%);
      border-radius: 0.95rem;
      padding: 0.78rem 0.92rem;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(246, 250, 255, 0.86));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    }

    .fms-content .module-dashboard-home .workspace-meta-card__label {
      font-size: 0.73rem;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      color: color-mix(in srgb, var(--app-muted) 78%, #1e3a8a 22%);
      margin-bottom: 0.16rem;
      font-weight: 700;
    }

    .fms-content .module-dashboard-home .workspace-meta-card__value {
      font-size: 0.98rem;
      font-weight: 700;
      line-height: 1.35;
      color: var(--app-text);
    }

    .fms-content .module-dashboard-home .workspace-tree-node {
      border: 1px solid color-mix(in srgb, var(--module-border) 74%, #c8dcff 26%);
      border-radius: 0.92rem;
      padding: 0.72rem 0.84rem;
      background:
        radial-gradient(130% 140% at 0% 0%, rgba(59, 130, 246, 0.08), transparent 58%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(248, 251, 255, 0.9));
    }

    .fms-content .module-dashboard-home .workspace-tree-node__title {
      font-weight: 700;
      color: var(--app-text);
      line-height: 1.25;
    }

    .fms-content .module-dashboard-home .workspace-tree-node__meta {
      border-radius: 999px;
      padding: 0.16rem 0.52rem;
      font-size: 0.72rem;
      font-weight: 700;
      background: rgba(16, 185, 129, 0.16);
      color: #047857;
      border: 1px solid rgba(16, 185, 129, 0.28);
      white-space: nowrap;
    }

    .fms-content .module-dashboard-home .workspace-tree-node__desc {
      margin-top: 0.3rem;
      font-size: 0.79rem;
      color: var(--app-muted);
      line-height: 1.45;
    }

    .fms-content .module-dashboard-home .workspace-tree-children {
      margin-left: 0.72rem;
      padding-left: 0.72rem;
      margin-top: 0.72rem;
      border-left: 2px dashed rgba(59, 130, 246, 0.22);
    }

    .fms-content .module-dashboard-home .workspace-viz-card {
      border: 1px solid color-mix(in srgb, var(--module-border) 72%, #cddffd 28%);
      border-radius: 0.95rem;
      padding: 0.8rem 0.85rem;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(246, 250, 255, 0.92));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
    }

    .fms-content .module-dashboard-home .workspace-viz-card__head {
      margin-bottom: 0.55rem;
    }

    .fms-content .module-dashboard-home .workspace-viz-card__title {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.83rem;
      font-weight: 800;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--app-text) 76%, #1d4ed8 24%);
    }

    .fms-content .module-dashboard-home .workspace-bar-list {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    .fms-content .module-dashboard-home .workspace-bar-item {
      display: flex;
      flex-direction: column;
      gap: 0.24rem;
    }

    .fms-content .module-dashboard-home .workspace-bar-item__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
    }

    .fms-content .module-dashboard-home .workspace-bar-item__label {
      font-size: 0.79rem;
      font-weight: 700;
      color: var(--app-text);
    }

    .fms-content .module-dashboard-home .workspace-bar-item__value {
      font-size: 0.74rem;
      font-weight: 700;
      color: var(--app-muted);
    }

    .fms-content .module-dashboard-home .workspace-bar-track {
      width: 100%;
      height: 0.48rem;
      border-radius: 999px;
      background: rgba(148, 163, 184, 0.2);
      overflow: hidden;
    }

    .fms-content .module-dashboard-home .workspace-bar-fill {
      height: 100%;
      border-radius: 999px;
      background: linear-gradient(90deg, #2563eb, #0ea5e9);
      box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-table thead th {
      background: linear-gradient(180deg, rgba(29, 53, 88, 0.92), rgba(24, 44, 74, 0.88));
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-chip {
      background: rgba(147, 197, 253, 0.16);
      border-color: rgba(147, 197, 253, 0.3);
      color: #dbeafe;
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-meta-card,
    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-tree-node {
      background: linear-gradient(180deg, rgba(20, 35, 58, 0.92), rgba(16, 29, 49, 0.92));
      border-color: color-mix(in srgb, var(--module-border) 86%, #385d93 14%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-viz-card {
      background: linear-gradient(180deg, rgba(20, 35, 58, 0.9), rgba(16, 29, 49, 0.94));
      border-color: color-mix(in srgb, var(--module-border) 84%, #3f669f 16%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-viz-card__title {
      color: #bfdbfe;
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-bar-track {
      background: rgba(71, 85, 105, 0.62);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-bar-fill {
      background: linear-gradient(90deg, #60a5fa, #22d3ee);
      box-shadow: 0 5px 12px rgba(56, 189, 248, 0.26);
    }

    html[data-theme="dark"] .fms-content .module-dashboard-home .workspace-tree-node__meta {
      background: rgba(52, 211, 153, 0.2);
      border-color: rgba(52, 211, 153, 0.35);
      color: #bbf7d0;
    }

    .fms-content .inventory-module-shell .inventory-card-link__title {
      font-size: 1rem;
      font-weight: 700;
      color: inherit;
    }

    .fms-content .inventory-module-shell .inventory-card-link__meta {
      margin-top: 0.2rem;
      color: var(--bs-secondary-color);
      font-size: 0.82rem;
    }

    .fms-content .inventory-module-shell .inventory-card-link__meta--caps {
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: 0.72rem;
    }

    .fms-content .inventory-module-shell .inventory-card-link__icon {
      color: color-mix(in srgb, var(--module-link) 58%, #64748b 42%);
      opacity: 0.65;
      transition: transform .18s ease, opacity .18s ease;
    }

    .fms-content .inventory-module-shell .inventory-card-link:hover .inventory-card-link__icon,
    .fms-content .inventory-module-shell .inventory-card-link:focus-visible .inventory-card-link__icon {
      opacity: 1;
      transform: translateX(2px);
    }

    .fms-content .inventory-module-shell .inventory-card-link__icon--static {
      transform: none !important;
      opacity: 0.55;
    }

    .fms-content .inventory-module-shell .inventory-form-card {
      min-height: 100%;
    }

    .fms-content .inventory-module-shell .inventory-helper-list {
      padding-left: 1rem;
      display: grid;
      gap: 0.85rem;
    }

    .fms-content .inventory-module-shell .inventory-summary-list {
      display: grid;
      gap: 0.85rem;
    }

    .fms-content .inventory-module-shell .inventory-summary-list div {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      align-items: baseline;
      padding-bottom: 0.65rem;
      border-bottom: 1px solid color-mix(in srgb, var(--module-border) 72%, transparent 28%);
    }

    .fms-content .inventory-module-shell .inventory-summary-list div:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }

    .fms-content .inventory-module-shell .inventory-summary-list dt {
      margin: 0;
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--bs-secondary-color);
    }

    .fms-content .inventory-module-shell .inventory-summary-list dd {
      margin: 0;
      font-weight: 700;
      text-align: right;
    }

    .fms-content .inventory-module-shell .inventory-summary-caps {
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: 0.76rem;
    }

    .fms-content .inventory-module-shell .inventory-empty-state {
      text-align: center;
      color: var(--bs-secondary-color);
      padding: 2rem 1rem !important;
      font-style: italic;
    }

    .fms-content .inventory-module-shell .inventory-micro-copy {
      font-size: 0.72rem;
      color: var(--bs-secondary-color);
      margin-top: 0.15rem;
    }

    @media (max-width: 991.98px) {
      .fms-content .inventory-module-shell .inventory-summary-list div {
        flex-direction: column;
        align-items: flex-start;
      }

      .fms-content .inventory-module-shell .inventory-summary-list dd {
        text-align: left;
      }
    }

    .docs-workspace .panel,
    .library-workspace .panel {
      border: 1px solid var(--app-border);
      border-radius: 1.15rem;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 253, 0.88));
      box-shadow: var(--app-shadow);
    }

    .docs-workspace .panel-head,
    .library-workspace .panel-head,
    .library-workspace .panel-foot {
      background: transparent;
      border-color: var(--app-border);
    }

    .docs-workspace .docs-markdown {
      max-width: 76ch;
      margin: 0 auto;
      padding: 0.35rem 0 1rem;
      color: var(--app-text);
      font-family: var(--app-reading-font);
      font-size: 1.04rem;
      line-height: 1.82;
      letter-spacing: 0.002em;
    }

    .docs-workspace .docs-markdown > :first-child {
      margin-top: 0;
    }

    .docs-workspace .docs-markdown h1,
    .docs-workspace .docs-markdown h2,
    .docs-workspace .docs-markdown h3,
    .docs-workspace .docs-markdown h4 {
      font-family: var(--app-display-font);
      color: var(--app-text);
      letter-spacing: -0.024em;
      margin-top: 1.65em;
      margin-bottom: 0.55em;
    }

    .docs-workspace .docs-markdown p,
    .docs-workspace .docs-markdown li,
    .docs-workspace .docs-markdown blockquote {
      color: #3c4043;
    }

    .docs-workspace .docs-markdown a {
      color: var(--app-accent);
      text-decoration-color: rgba(26, 115, 232, 0.28);
    }

    .docs-workspace .docs-markdown code,
    .docs-workspace .docs-markdown pre {
      font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
    }

    .docs-workspace .docs-markdown pre {
      padding: 1rem 1.1rem;
      border-radius: 1rem;
      background: #f1f5fb;
      border: 1px solid #d9e3f1;
      overflow-x: auto;
    }

    .docs-workspace .docs-markdown blockquote {
      margin: 1.3rem 0;
      padding: 0.3rem 0 0.3rem 1rem;
      border-left: 4px solid rgba(26, 115, 232, 0.28);
    }

    .library-workspace .meter {
      overflow: hidden;
      border-radius: 999px;
      background: #e8eef7;
    }

    .library-workspace .meter-fill {
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #7baaf7, #1a73e8);
    }

    .library-workspace .tag {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      min-height: 1.7rem;
      padding: 0.12rem 0.58rem;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 700;
    }

    .library-workspace [x-show="activeTab === 'reading'"] h6,
    .library-workspace [x-show="activeTab === 'stats'"] h6 {
      font-size: 0.98rem;
      font-weight: 800;
      letter-spacing: -0.02em;
    }

    .library-workspace .panel-body .fw-semibold.text-truncate {
      font-size: 0.98rem;
    }

    .library-workspace .panel-foot {
      padding: 0 1rem 1rem;
    }

    html[data-theme="dark"] .card-header,
    html[data-theme="dark"] .docs-workspace .docs-markdown pre,
    html[data-theme="dark"] .docs-workspace .panel,
    html[data-theme="dark"] .library-workspace .panel {
      background: linear-gradient(180deg, rgba(24, 32, 40, 0.96), rgba(31, 41, 51, 0.9));
    }

    html[data-theme="dark"] .docs-workspace .docs-markdown {
      color: #dfe4ea;
    }

    html[data-theme="dark"] .docs-workspace .docs-markdown p,
    html[data-theme="dark"] .docs-workspace .docs-markdown li,
    html[data-theme="dark"] .docs-workspace .docs-markdown blockquote {
      color: #cfd6df;
    }

    html[data-theme="dark"] .library-workspace .meter {
      background: #22303d;
    }

