    body { font-family: system-ui, -apple-system, sans-serif; }
    .nav-active { background: rgba(255,255,255,0.1); border-left-color: #f59e0b !important; color: #fff; }
    .nav-item { border-left: 3px solid transparent; transition: all 0.15s; }
    .stagnant-row { animation: pulsered 2s infinite; }
    kbd { display:inline-flex;align-items:center;padding:2px 7px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;font-size:11px;font-family:ui-monospace,monospace;font-weight:600;color:#334155;box-shadow:0 1px 0 #94a3b8; }
    @keyframes pulsered { 0%,100%{background:rgba(239,68,68,0.05)}50%{background:rgba(239,68,68,0.12)} }
    .progress-fill { transition: width 0.4s ease; }
    ::-webkit-scrollbar { width: 5px; height: 5px; }
    ::-webkit-scrollbar-track { background: #f1f5f9; }
    ::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 3px; }
    .modal-box { animation: fadein 0.18s ease; }
    @keyframes fadein { from{opacity:0;transform:scale(0.96)} to{opacity:1;transform:scale(1)} }

    /* ===== AUTH SCREENS ===== */
    .auth-screen { background: radial-gradient(ellipse at top, #0f2040 0%, #0a0f1a 60%, #000 100%); }
    .code-box {
      width: 60px; height: 68px; font-size: 1.75rem; font-weight: 700;
      text-align: center; background: rgba(255,255,255,0.04);
      border: 2px solid rgba(255,255,255,0.12); color: #fff;
      border-radius: 10px; transition: border-color 0.15s, background 0.15s;
      caret-color: #f59e0b;
    }
    .code-box:focus { outline: none; border-color: #f59e0b; background: rgba(245,158,11,0.06); }
    .auth-input {
      width: 100%; padding: 10px 14px; background: rgba(255,255,255,0.05);
      border: 1.5px solid rgba(255,255,255,0.12); color: #fff; border-radius: 8px;
      font-size: 0.875rem; transition: border-color 0.15s, background 0.15s;
    }
    .auth-input:focus { outline: none; border-color: #f59e0b; background: rgba(245,158,11,0.05); }
    .auth-input::placeholder { color: rgba(255,255,255,0.25); }
    .auth-btn {
      width: 100%; padding: 11px; background: #b45309; color: #fff;
      font-weight: 700; font-size: 0.8rem; letter-spacing: 0.12em;
      border: none; border-radius: 8px; cursor: pointer;
      transition: background 0.15s, transform 0.1s;
    }
    .auth-btn:hover { background: #92400e; }
    .auth-btn:active { transform: scale(0.99); }
    .auth-shake { animation: shake 0.4s ease; }
    @keyframes shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }
    .scan-line {
      position: absolute; top: 0; left: 0; right: 0; height: 2px;
      background: linear-gradient(90deg, transparent, rgba(245,158,11,0.4), transparent);
      animation: scan 3s ease-in-out infinite;
    }
    @keyframes scan { 0%{top:0;opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{top:100%;opacity:0} }

    /* ===== REPORT CARDS ===== */
    .report-section-text { max-height: 5.5rem; overflow: hidden; transition: max-height 0.35s ease; }
    .report-section-text.expanded { max-height: 120rem; }
    .report-card { transition: box-shadow 0.15s; }
    .report-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.07); }

    /* ===== PRINT STYLES ===== */
    @media not print {
      #print-report { display: none !important; }
      #lp-print-area { display: none !important; }
    }
    @media print {
      @page { size: letter; margin: 0.5in; }
      body { background: white !important; }
      /* ── Dashboard Executive Report print (body.dash-printing) ── */
      body.dash-printing #sidebar,
      body.dash-printing #topbar,
      body.dash-printing .no-print { display: none !important; }
      body.dash-printing #main-wrapper { margin-left: 0 !important; }
      body.dash-printing #content { display: none !important; }
      body.dash-printing #lp-print-area { display: none !important; }
      body.dash-printing #print-report { display: block !important; }
      .print-card { border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; margin-bottom: 12px; break-inside: avoid; }
      .print-header { text-align: center; margin-bottom: 24px; border-bottom: 2px solid #1e3a5f; padding-bottom: 12px; }
      /* ── LP print (body.lp-printing) ── */
      body.lp-printing > *:not(#lp-print-area) { display: none !important; }
      body.lp-printing #lp-print-area { display: block !important; background: white; }
    }

    /* ===== STAFFING CALENDAR DAY BLOCKS ===== */
    .sc-day-block { cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s; }
    .sc-day-block:hover { border-color: #93c5fd !important; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }

    /* ===== COLLAPSIBLE SIDEBAR ===== */
    #sidebar { transition: width 0.25s ease; width: max-content; min-width: 220px; }
    #sidebar .nav-item span, #sidebar .sb-hide p, #sidebar .sb-hide { white-space: nowrap; }
    #main-wrapper { transition: margin-left 0.25s ease; }
    #sidebar.sb-collapsed { width: 60px !important; min-width: 0 !important; overflow: hidden; }
    @media (min-width: 1024px) {
      #sidebar.sb-collapsed + #main-wrapper { margin-left: 60px !important; }
    }
    #sidebar.sb-collapsed #sb-header { padding: 0.5rem 0 !important; }
    #sidebar.sb-collapsed #sb-header-inner { justify-content: center !important; gap: 0 !important; }
    #sidebar.sb-collapsed .sb-hide { display: none !important; }
    #sidebar.sb-collapsed .nav-item { padding-left: 0 !important; padding-right: 0 !important; gap: 0 !important; justify-content: center !important; }
    #sidebar.sb-collapsed .nav-item > div,
    #sidebar.sb-collapsed .nav-item > span { display: none !important; }
    #sidebar.sb-collapsed #sb-toggle { justify-content: center !important; }
    #sidebar.sb-collapsed #sb-footer { padding: 0.5rem 0 !important; }
    #sidebar.sb-collapsed #sb-footer-user { flex-direction: column !important; justify-content: center !important; align-items: center !important; gap: 0.5rem !important; margin-bottom: 0 !important; }
    #sidebar.sb-collapsed #sb-footer-meta { display: none !important; }

    /* ===== DARK MODE ===== */
    body.dark { background-color: #0f172a !important; color: #e2e8f0; color-scheme: dark; }

    /* Smooth transitions */
    body, body *, body *::before, body *::after {
      transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    }
    /* Skip transitions on SVG paths and decorative elements */
    body svg *, body img { transition: none !important; }

    /* --- Surfaces --- */
    body.dark .bg-white        { background-color: #1e293b !important; }
    body.dark .bg-slate-50     { background-color: #162032 !important; }
    body.dark .bg-slate-100    { background-color: #253347 !important; }
    body.dark .bg-slate-200    { background-color: #334155 !important; }
    body.dark #topbar          { background-color: #1e293b !important; border-color: #334155 !important; }
    #topbar                    { transition: height 0.25s ease; }
    body.dark .modal-box       { background-color: #1e293b !important; }

    /* --- Text --- */
    body.dark .text-slate-900  { color: #f1f5f9 !important; }
    body.dark .text-slate-800  { color: #e2e8f0 !important; }
    body.dark .text-slate-700  { color: #cbd5e1 !important; }
    body.dark .text-slate-600  { color: #94a3b8 !important; }
    body.dark .text-slate-500  { color: #64748b !important; }

    /* --- Borders --- */
    body.dark .border-slate-100 { border-color: #1e293b !important; }
    body.dark .border-slate-200 { border-color: #334155 !important; }
    body.dark .border-slate-300 { border-color: #475569 !important; }

    /* --- Dividers (divide-y, divide-slate-*) --- */
    body.dark [class*="divide-"] > * + * { border-color: #334155 !important; }

    /* --- Hover states --- */
    body.dark .hover\:bg-slate-50:hover   { background-color: #253347 !important; }
    body.dark .hover\:bg-slate-100:hover  { background-color: #334155 !important; }
    body.dark .hover\:bg-slate-200:hover  { background-color: #475569 !important; }
    body.dark .hover\:bg-red-50:hover     { background-color: rgba(239,68,68,0.15) !important; }
    body.dark .hover\:bg-red-100:hover    { background-color: rgba(239,68,68,0.18) !important; }
    body.dark .hover\:bg-orange-50:hover  { background-color: rgba(249,115,22,0.12) !important; }
    body.dark .hover\:bg-amber-50:hover   { background-color: rgba(251,191,36,0.12) !important; }
    body.dark .hover\:bg-amber-50\/60:hover { background-color: rgba(251,191,36,0.12) !important; }
    body.dark .hover\:bg-blue-50:hover    { background-color: rgba(59,130,246,0.12) !important; }
    body.dark .hover\:bg-sky-50:hover     { background-color: rgba(14,165,233,0.12) !important; }
    body.dark .hover\:bg-emerald-50:hover { background-color: rgba(16,185,129,0.12) !important; }
    body.dark .hover\:bg-purple-50:hover  { background-color: rgba(168,85,247,0.12) !important; }
    body.dark .hover\:bg-violet-50:hover  { background-color: rgba(139,92,246,0.12) !important; }

    /* --- Form fields --- */
    body.dark input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    body.dark textarea,
    body.dark select {
      background-color: #0f172a !important;
      border-color: #475569 !important;
      color: #e2e8f0 !important;
    }
    body.dark input::placeholder,
    body.dark textarea::placeholder { color: #64748b !important; }

    /* --- Accent pastel backgrounds (soften in dark) --- */
    body.dark .bg-amber-50  { background-color: rgba(251,191,36,0.10)  !important; }
    body.dark .bg-blue-50   { background-color: rgba(59,130,246,0.10)  !important; }
    body.dark .bg-sky-50    { background-color: rgba(14,165,233,0.10)  !important; }
    body.dark .bg-indigo-50 { background-color: rgba(99,102,241,0.10)  !important; }
    body.dark .bg-red-50    { background-color: rgba(239,68,68,0.10)   !important; }
    body.dark .bg-orange-50 { background-color: rgba(249,115,22,0.10)  !important; }
    body.dark .bg-green-50,
    body.dark .bg-emerald-50{ background-color: rgba(16,185,129,0.10)  !important; }
    body.dark .bg-purple-50 { background-color: rgba(168,85,247,0.10)  !important; }
    body.dark .bg-yellow-50 { background-color: rgba(234,179,8,0.10)   !important; }

    /* Colored text on pastel backgrounds — lighten so it reads on dark bg */
    body.dark .text-red-800    { color: #fca5a5 !important; }
    body.dark .text-orange-800 { color: #fdba74 !important; }
    body.dark .text-yellow-800 { color: #fde047 !important; }
    body.dark .text-green-800  { color: #86efac !important; }
    body.dark .text-emerald-800{ color: #6ee7b7 !important; }
    body.dark .text-blue-800   { color: #93c5fd !important; }
    body.dark .text-sky-800    { color: #7dd3fc !important; }
    body.dark .text-amber-800  { color: #fcd34d !important; }
    body.dark .text-indigo-800 { color: #a5b4fc !important; }
    body.dark .text-violet-800 { color: #c4b5fd !important; }
    body.dark .text-purple-800 { color: #d8b4fe !important; }
    /* Mid-range colored text (urgency bar, due date labels) */
    body.dark .text-red-600    { color: #f87171 !important; }
    body.dark .text-red-900    { color: #fca5a5 !important; }
    body.dark .text-yellow-600 { color: #facc15 !important; }
    body.dark .text-green-600  { color: #4ade80 !important; }
    body.dark .text-green-700  { color: #4ade80 !important; }
    body.dark .text-orange-600 { color: #fb923c !important; }
    body.dark .text-orange-500 { color: #f97316 !important; }
    body.dark .text-blue-600   { color: #60a5fa !important; }
    body.dark .text-indigo-600 { color: #818cf8 !important; }
    body.dark .text-violet-600 { color: #a78bfa !important; }
    /* Priority badges — solid pastel background + dark text so it's always readable */
    body.dark .priority-badge                    { color: #0f172a !important; }
    body.dark .priority-badge.bg-red-100         { background-color: #fecaca !important; border-color: #fca5a5 !important; }
    body.dark .priority-badge.bg-orange-100      { background-color: #fed7aa !important; border-color: #fdba74 !important; }
    body.dark .priority-badge.bg-yellow-100      { background-color: #fef08a !important; border-color: #fde047 !important; }
    body.dark .priority-badge.bg-green-100       { background-color: #bbf7d0 !important; border-color: #86efac !important; }

    /* Gradient backgrounds (background-image — not caught by bg-* overrides) */
    body.dark .from-slate-50 { --tw-gradient-from: #253347 !important; }
    body.dark .from-white    { --tw-gradient-from: #1e293b !important; }
    body.dark .to-white      { --tw-gradient-to:   #1e293b !important; }
    body.dark .to-slate-50   { --tw-gradient-to:   #253347 !important; }

    /* --- Scrollbars --- */
    body.dark ::-webkit-scrollbar-track { background: #0f172a; }
    body.dark ::-webkit-scrollbar-thumb { background: #334155; }
    body.dark ::-webkit-scrollbar-thumb:hover { background: #475569; }

    /* --- Print: force light mode regardless of dark toggle --- */
    @media print {
      body.dark, body.dark * { background-color: unset !important; color: unset !important; border-color: unset !important; }
    }

    /* ── Division Calendar — base styles ── */
    .cal-card          { background:#fff; border:1px solid #e2e8f0; box-shadow:0 0 40px rgba(99,102,241,0.05),0 4px 6px -1px rgba(0,0,0,0.04); }
    .cal-hdr           { background:linear-gradient(135deg,#0f172a 0%,#1e293b 60%,#0c1f3a 100%); }
    .cal-day-hdr-row   { background:#f8fafc; border-bottom:1px solid rgba(99,102,241,0.12); }
    .cal-wkday-hdr-txt { color:#475569; }
    .cal-wknd-hdr-txt  { color:#94a3b8; }
    .cal-grid-body     { border-left:1px solid #f1f5f9; border-top:1px solid #f1f5f9; }
    .cal-cell-border   { border-color:#f1f5f9; }
    .cal-wknd-cell     { background:rgba(248,250,252,0.85); }
    .cal-day-num       { color:#374151; }
    .cal-day-num-oom   { color:#cbd5e1; }
    .cal-pill          { transition:filter .15s; }
    .cal-pill:hover    { filter:brightness(1.15); }
    .cal-legend-strip  { background:#fff; border:1px solid #e2e8f0; }
    .cal-legend-label  { color:#94a3b8; }
    .cal-legend-pill   { }
    .cal-sb-card       { background:#fff; border:1px solid #e2e8f0; }
    .cal-sb-hdr        { background:linear-gradient(135deg,#1e293b,#334155); }
    .cal-sb-divider    { border-bottom:1px solid #f1f5f9; }
    .cal-sb-divider:last-child { border-bottom:none; }
    .cal-overdue-body  { background:#fef2f2; }
    .cal-overdue-row   { border-bottom:1px solid #fee2e2; }
    .cal-overdue-row:last-child { border-bottom:none; }

    /* ── Division Calendar — dark mode ── */
    body.dark .cal-card        { background:#1e293b !important; border-color:#334155 !important; box-shadow:0 0 40px rgba(99,102,241,0.10),0 4px 6px -1px rgba(0,0,0,0.35) !important; }
    body.dark .cal-day-hdr-row { background:#0f172a !important; border-color:rgba(99,102,241,0.18) !important; }
    body.dark .cal-wkday-hdr-txt { color:#64748b !important; }
    body.dark .cal-wknd-hdr-txt  { color:#334155 !important; }
    body.dark .cal-grid-body   { border-color:#253347 !important; }
    body.dark .cal-cell-border { border-color:#253347 !important; }
    body.dark .cal-wknd-cell   { background:rgba(10,20,40,0.55) !important; }
    body.dark .cal-day-num     { color:#cbd5e1 !important; }
    body.dark .cal-day-num-oom { color:#2d3f55 !important; }
    body.dark .cal-legend-strip { background:#1e293b !important; border-color:#334155 !important; }
    body.dark .cal-legend-label { color:#475569 !important; }
    body.dark .cal-sb-card     { background:#1e293b !important; border-color:#334155 !important; }
    body.dark .cal-sb-divider  { border-color:#253347 !important; }
    body.dark .cal-overdue-body { background:rgba(239,68,68,0.07) !important; }
    body.dark .cal-overdue-row { border-color:rgba(239,68,68,0.12) !important; }
    body.dark .text-red-700    { color:#fca5a5 !important; }

  