html { scroll-behavior: auto; }
    body { min-height: 100vh; }
    .money { font-variant-numeric: tabular-nums; }
    .module-panel[hidden], .subpanel[hidden], .report-panel[hidden] { display: none !important; }
    .table-scroll { scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
    .table-scroll::-webkit-scrollbar { height: 8px; width: 8px; }
    .table-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }
    .dark .table-scroll { scrollbar-color: #475569 transparent; }
    .chart-box { position: relative; min-height: 310px; }
    .modal-hidden { display: none !important; }
    .toast-hidden { opacity: 0; pointer-events: none; transform: translateY(12px); }
    .field-error { border-color: #ef4444 !important; box-shadow: 0 0 0 4px rgba(239,68,68,.10) !important; }
    .sidebar-link.active { background: rgba(255,255,255,.12); color: #fff; }
    .mobile-link.active { background: #dc2626; color: #fff; border-color: #dc2626; }
    .status-badge { display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;padding:.34rem .68rem;font-size:.72rem;font-weight:800;white-space:nowrap; }
    .metric-value { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
    .dre-account-cell { position: sticky; left: 0; z-index: 2; background: inherit; min-width: 230px; }
    .dre-period-chip { display:inline-flex;align-items:center;gap:.45rem;border-radius:9999px;padding:.48rem .7rem;font-size:.75rem;font-weight:800; }
    .dre-variance-positive { color:#047857; background:#ecfdf5; }
    .dre-variance-negative { color:#b91c1c; background:#fef2f2; }
    .dre-variance-neutral { color:#475569; background:#f1f5f9; }

    #financeTable td, #financeTable th { vertical-align: top; overflow-wrap: anywhere; word-break: break-word; }
    #financeTable .status-badge { max-width: 100%; justify-content: center; line-height: 1.2; }
    @media (max-width: 900px) {
      #financeTable th, #financeTable td { padding-left: .45rem !important; padding-right: .45rem !important; }
      #financeTable .status-badge { font-size: .62rem; padding: .28rem .4rem; }
    }

    @media (min-width: 1024px) {
      .app-shell { transition: grid-template-columns .22s ease; }
      .app-shell.menu-collapsed { grid-template-columns: 92px minmax(0,1fr); }
      .app-shell.menu-collapsed aside { padding-left: 1rem; padding-right: 1rem; }
      .app-shell.menu-collapsed .brand-details,
      .app-shell.menu-collapsed .sidebar-caption,
      .app-shell.menu-collapsed .sidebar-note { display: none !important; }
      .app-shell.menu-collapsed #sidebarNav { margin-top: .5rem; }
      .app-shell.menu-collapsed .sidebar-link { justify-content: center; gap: 0; padding-left: .75rem; padding-right: .75rem; font-size: 0; }
      .app-shell.menu-collapsed .sidebar-link span { font-size: 1.05rem; line-height: 1; }
      .app-shell.menu-collapsed .sidebar-toggle { transform: rotate(180deg); }
    }

    @media print {
      @page { size: A4 landscape; margin: 10mm; }
      html, body { background:#fff !important;color:#000 !important; }
      .print-hidden, aside, header, #mobileNav, #reportFilters, #reportActions, #toast { display:none !important; }
      .app-shell, .main-wrapper, main { display:block !important;width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important; }
      .module-panel { display:none !important; }
      #module-reports { display:block !important; }
      .report-panel { display:none !important; }
      .report-panel.print-active { display:block !important; border:0 !important; box-shadow:none !important; }
      .print-report-title { display:block !important; margin-bottom:14px !important; }
      .table-scroll { overflow:visible !important; }
      .dre-account-cell { position:static !important; }
      table { width:100% !important;min-width:0 !important;font-size:8.5pt !important;border-collapse:collapse !important; }
      thead { display:table-header-group; }
      tr { break-inside:avoid;page-break-inside:avoid; }
      th, td { color:#000 !important;border:1px solid #cbd5e1 !important;padding:6px 7px !important;background:#fff !important; }
      .print-subtotal td { font-weight:700 !important;background:#f1f5f9 !important; }
      .print-total td { font-weight:800 !important;background:#e2e8f0 !important; }
    }

    .report-generator-card{border:1px solid rgb(226 232 240);background:#fff;border-radius:1.25rem;padding:1.25rem;box-shadow:0 18px 50px rgba(15,23,42,.08);transition:.18s ease;}
    .report-generator-card:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(15,23,42,.12);}
    .dark .report-generator-card{background:rgb(15 23 42);border-color:rgb(30 41 59);}
    .report-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:rgb(241 245 249);padding:.25rem .65rem;font-size:.72rem;font-weight:800;color:rgb(71 85 105);}
    .dark .report-pill{background:rgb(30 41 59);color:rgb(203 213 225);}
    .report-preview-table th{white-space:nowrap;}
    .report-preview-table td{vertical-align:top;}

    .report-suite-hero{background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(15,23,42,.02));border:1px solid rgb(226 232 240);border-radius:1.5rem;box-shadow:0 18px 50px rgba(15,23,42,.08);}
    .dark .report-suite-hero{background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(15,23,42,.55));border-color:rgb(30 41 59);}
    .report-section-title{display:flex;align-items:center;gap:.7rem;font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#2563eb;}
    .report-section-title:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(37,99,235,.35),transparent);}
    .report-module-card{border:1px solid rgb(226 232 240);background:#fff;border-radius:1.35rem;padding:1.25rem;box-shadow:0 16px 45px rgba(15,23,42,.07);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
    .report-module-card:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(15,23,42,.11);border-color:#bfdbfe;}
    .dark .report-module-card{background:rgb(15 23 42);border-color:rgb(30 41 59);}
    .report-action-secondary{border:1px solid rgb(203 213 225);background:white;color:rgb(51 65 85);border-radius:.9rem;padding:.65rem .9rem;font-size:.75rem;font-weight:800;}
    .report-action-primary{background:#2563eb;color:white;border-radius:.9rem;padding:.65rem .9rem;font-size:.75rem;font-weight:900;}
    .dark .report-action-secondary{border-color:rgb(51 65 85);background:rgb(30 41 59);color:white;}
    .report-filter-box{border:1px solid rgb(226 232 240);background:rgb(248 250 252);border-radius:1.25rem;padding:1rem;}
    .dark .report-filter-box{background:rgb(15 23 42);border-color:rgb(30 41 59);}
    .report-mini-stat{border-radius:1rem;background:white;padding:.9rem 1rem;border:1px solid rgba(226,232,240,.9);}
    .dark .report-mini-stat{background:rgb(15 23 42);border-color:rgb(30 41 59);}
    .report-multi-select{min-height:9.5rem;}
