/* ==========================================================================
   themes.css — Dark theme, sidebar skins, RTL adjustments, print sheets
   Theme = CSS variable overrides only. No duplicated component CSS.
   ========================================================================== */

/* ------------------------------------------------------------ DARK THEME */
[data-theme="dark"] {
  --app-primary: #5b87f7;
  --app-primary-hover: #7099f9;
  --app-primary-soft: #1d2c4d;
  --app-success: #35b58a;
  --app-success-soft: #14322a;
  --app-warning: #d79a3f;
  --app-warning-soft: #352a18;
  --app-danger: #e0665c;
  --app-danger-soft: #3a1f1e;
  --app-info: #4aa3cf;
  --app-info-soft: #142c3a;
  --app-purple: #9b7ded;
  --app-purple-soft: #261f45;

  --app-body-bg: #0d1420;
  --app-surface: #141d2b;
  --app-surface-muted: #18222f;
  --app-surface-hover: #1e293a;
  --app-border: #253044;
  --app-border-strong: #33415a;

  --app-text: #dce3ee;
  --app-text-muted: #94a3b8;
  --app-text-subtle: #718096;
  --app-heading: #f1f5fb;

  --app-sidebar-bg: #111926;
  --app-sidebar-border: #223046;
  --app-sidebar-text: #aab7c9;
  --app-sidebar-text-strong: #f1f5fb;
  --app-sidebar-muted: #6b7a90;
  --app-sidebar-hover: #1b2troubleshoot;
  --app-sidebar-hover: #1b2534;
  --app-sidebar-active-bg: #1d2c4d;
  --app-sidebar-active-text: #8fb0ff;

  --app-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);
  --app-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);
  --app-shadow-md: 0 8px 22px rgba(0, 0, 0, .45);
  --app-shadow-lg: 0 20px 48px rgba(0, 0, 0, .55);

  --bs-body-color: var(--app-text);
  --bs-body-bg: var(--app-body-bg);
  --bs-border-color: var(--app-border);
  --bs-emphasis-color: var(--app-heading);
  --bs-secondary-bg: var(--app-surface-muted);
  --bs-tertiary-bg: var(--app-surface-hover);
}

[data-theme="dark"] .loading-overlay,
[data-theme="dark"] .page-loader { background: rgba(13, 20, 32, .68); }
[data-theme="dark"] .notification-item.unread:hover { background: #22325a; }
[data-theme="dark"] .auth-aside { background: #0b1220; }
[data-theme="dark"] .message-row.out .message-bubble { color: #fff; }
[data-theme="dark"] .swal2-popup { background: var(--app-surface); color: var(--app-text); }
[data-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown,
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection { background: var(--app-surface); border-color: var(--app-border-strong); color: var(--app-text); }
[data-theme="dark"] .flatpickr-calendar { background: var(--app-surface); color: var(--app-text); box-shadow: var(--app-shadow-md); }
[data-theme="dark"] .flatpickr-day { color: var(--app-text); }
[data-theme="dark"] .flatpickr-day.flatpickr-disabled { color: var(--app-text-subtle); }
[data-theme="dark"] .flatpickr-months .flatpickr-month, [data-theme="dark"] .flatpickr-weekdays { background: var(--app-surface); color: var(--app-text); }
[data-theme="dark"] .fc { --fc-border-color: var(--app-border); --fc-page-bg-color: var(--app-surface); --fc-neutral-bg-color: var(--app-surface-muted); }

/* Theme toggle icon swap */
.theme-icon-dark { display: none; }
[data-theme="dark"] .theme-icon-light { display: none; }
[data-theme="dark"] .theme-icon-dark { display: inline-block; }

/* ------------------------------------------------------- SIDEBAR SKINS */
/* Optional dark sidebar while the app stays in light mode */
[data-sidebar-skin="dark"] {
  --app-sidebar-bg: #16202f;
  --app-sidebar-border: #24324a;
  --app-sidebar-text: #aab7c9;
  --app-sidebar-text-strong: #ffffff;
  --app-sidebar-muted: #7b8aa1;
  --app-sidebar-hover: #1f2b3d;
  --app-sidebar-active-bg: #23375f;
  --app-sidebar-active-text: #9ebaff;
}
[data-sidebar-skin="dark"] .workspace-switcher,
[data-sidebar-skin="dark"] .usage-card { background: rgba(255, 255, 255, .04); border-color: var(--app-sidebar-border); color: var(--app-sidebar-text); }
[data-sidebar-skin="dark"] .workspace-name { color: #fff; }
[data-sidebar-skin="dark"] .usage-title { color: #fff; }
[data-sidebar-skin="dark"] .usage-progress { background: rgba(255, 255, 255, .12); }
[data-sidebar-skin="dark"] .btn-outline-light-subtle { background: transparent; border-color: rgba(255,255,255,.18); color: #dbe3ef; }
[data-sidebar-skin="dark"] .btn-outline-light-subtle:hover { background: rgba(255,255,255,.08); color: #fff; }
[data-sidebar-skin="dark"] .nav-sub .nav-link::before { background: rgba(255, 255, 255, .25); }

/* ---------------------------------------------------------- BRAND COLORS */
[data-accent="indigo"] { --app-primary: #4f46e5; --app-primary-hover: #4338ca; --app-primary-soft: #eef0fe; }
[data-accent="teal"]   { --app-primary: #0f766e; --app-primary-hover: #0d5f59; --app-primary-soft: #e3f4f2; }
[data-accent="amber"]  { --app-primary: #b45309; --app-primary-hover: #92400e; --app-primary-soft: #fdf1e2; }
[data-accent="rose"]   { --app-primary: #be123c; --app-primary-hover: #9f1239; --app-primary-soft: #fdeaef; }
[data-accent="slate"]  { --app-primary: #334155; --app-primary-hover: #1e293b; --app-primary-soft: #eef1f5; }
[data-theme="dark"][data-accent="indigo"] { --app-primary: #818cf8; --app-primary-soft: #262a4d; }
[data-theme="dark"][data-accent="teal"]   { --app-primary: #2dd4bf; --app-primary-soft: #12332f; }
[data-theme="dark"][data-accent="amber"]  { --app-primary: #f0a952; --app-primary-soft: #35281a; }
[data-theme="dark"][data-accent="rose"]   { --app-primary: #f472a0; --app-primary-soft: #3b1f2c; }
[data-theme="dark"][data-accent="slate"]  { --app-primary: #94a3b8; --app-primary-soft: #232c3a; }

/* ------------------------------------------------------------------- RTL */
[dir="rtl"] .breadcrumb .breadcrumb-item + .breadcrumb-item::before { transform: rotate(180deg); display: inline-block; }
[dir="rtl"] .table-actions { justify-content: flex-start; }
[dir="rtl"] .col-numeric { text-align: start; }
[dir="rtl"] .invoice-totals { margin-inline-start: 0; margin-inline-end: auto; }
[dir="rtl"] .bi-chevron-right::before, [dir="rtl"] .bi-arrow-right::before { transform: rotate(180deg); display: inline-block; }
[dir="rtl"] .timeline { padding-inline-start: 1.5rem; }
[dir="rtl"] .avatar-group .avatar { margin-inline-start: -8px; }
[dir="rtl"] .dt-container .dt-paging { direction: ltr; }

/* -------------------------------------------------------------- PRINTING */
@media print {
  .invoice-sheet { padding: 0; }
  .print-area, .print-area * { visibility: visible; }
  .doc-stamp { border-color: #000; color: #000; }
  a[href]::after { content: ""; }
  .table > thead > tr > th { background: #f1f1f1 !important; color: #000 !important; }
  .status-badge { border: 1px solid #999; }
}
