/* Shared appearance tokens. Screen-only so printed bills retain their own design. */
@media screen {
  :root { --page:#f5f5f5; --surface:#fff; --soft:#f1f5f9; --ink:#203247; --muted:#526477; --line:#ced7e0; --accent:#287cb5; --head:#34495e; --head-ink:#fff; --shell:#2c3e50; --shell-ink:#fff; --hover:#eaf0f5; }
  :root[data-theme="light"] { --page:#eef4f4; --surface:#fff; --soft:#f5f8f8; --ink:#203b43; --muted:#546d75; --line:#d7e3e5; --accent:#087e80; --head:#e8f2f2; --head-ink:#24464d; --shell:#fff; --shell-ink:#24464d; --hover:#e4f3f1; }
  :root[data-theme="dark"] { color-scheme:dark; --page:#101923; --surface:#1b2838; --soft:#233345; --ink:#e4edf7; --muted:#b2c3d4; --line:#405167; --accent:#22878c; --head:#2a3c50; --head-ink:#e4edf7; --shell:#172332; --shell-ink:#e4edf7; --hover:#2a4054; }
  body { background:var(--page); color:var(--ink); }
  #mainApp > header { background:var(--shell) !important; color:var(--shell-ink) !important; gap:16px; flex-wrap:wrap; border-radius:0; }
  .sidebar { background:var(--shell); color:var(--shell-ink); }
  [data-theme="light"] .sidebar { border-right:1px solid var(--line); }
  [data-theme="light"] .sidebar-item { color:var(--muted); }
  [data-theme="light"] .sidebar-item.active { color:white; }
  [data-theme="light"] .sidebar-section-header { background:var(--soft) !important; }
  [data-theme="light"] .sidebar-group-label { border-color:var(--line); color:var(--muted); }
  [data-theme="light"] .sidebar-section { border-color:var(--line); }
  [data-theme="light"] .sidebar-item:hover { background:var(--hover) !important; color:var(--ink) !important; }
  [data-theme="light"] .sidebar-section.easywash .sidebar-item.active { background:var(--accent); color:#fff !important; }
  [data-theme="dark"] .sidebar-item { color:var(--muted); }
  [data-theme="dark"] .sidebar-item.active { color:white; }
  [data-theme="dark"] .sidebar-group-label { color:var(--muted); }
  .main-content, body.partner-mode .main-content { background:var(--page); }
  .card, .partner-account, .partner-welcome-dialog { background:var(--surface); color:var(--ink); }
  .card h2, .card h3, .partner-account-head h3, .partner-welcome-heading h2 { color:var(--ink); }
  .cards-list li, .partner-balance, .partner-payout-form, .partner-bill-details { background:var(--soft); color:var(--ink); border-color:var(--line); }
  .partner-balance strong, .partner-welcome-message-label { color:var(--ink); }
  .partner-balance small, .partner-account-meta, .partner-money-note, .partner-welcome-intro, .partner-payout-form label { color:var(--muted); }
  [data-theme="light"] .btn:not([style*="background"]), [data-theme="light"] .folder-header { background:var(--accent); }
  [data-theme="dark"] .btn:not([style*="background"]) { background:var(--accent); }
  th { background:var(--head) !important; color:var(--head-ink) !important; font-weight:650; }
  th, td { border-color:var(--line); }
  tr:nth-child(even) { background:var(--soft); }
  tr:hover { background:var(--hover); }
  input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="color"]), select, textarea, #partnerWelcomeMessage { background:var(--surface) !important; color:var(--ink) !important; border-color:var(--line) !important; border-radius:6px; }
  input::placeholder, textarea::placeholder { color:var(--muted); opacity:1; }
  #dashReceivedOrders input, #dashReceivedOrders select { padding:8px; border:1px solid var(--line); }
  #dashReceivedOrders p { margin-bottom:14px; }
  :focus-visible { outline:3px solid #36a9c7; outline-offset:3px; }
  [data-theme="dark"] a { color:#85d8ed; }
  [data-theme="dark"] .status-active { background:#173e32; color:#8ae3b8; }
  [data-theme="dark"] .status-paused { background:#493b20; color:#ffda8b; }
  [data-theme="dark"] .status-cancelled { background:#492b34; color:#ffacb6; }
  [data-density="compact"] .main-content { padding:12px; }
  [data-density="compact"] .card { padding:14px; }
  [data-density="compact"] th, [data-density="compact"] td { padding:7px 10px !important; }
  [data-density="compact"] .sidebar-item { padding-top:7px; padding-bottom:7px; }
  [data-density="compact"] #dashAttendance, [data-density="compact"] #dashReceivedOrders { padding:12px 16px !important; }
  .appearance-trigger { background:transparent !important; border:1px solid currentColor; color:inherit; }
  #appearanceDialog { margin:auto; width:min(740px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid var(--line); border-radius:20px; padding:28px; color:var(--ink); background:var(--surface); box-shadow:0 24px 80px #0005; }
  #appearanceDialog::backdrop { background:#0c182966; backdrop-filter:blur(2px); }
  .appearance-eyebrow { color:var(--muted); font-size:11px; letter-spacing:2px; font-weight:700; }
  .appearance-heading h2 { font-size:25px; margin:8px 0; }
  .appearance-heading p, .appearance-note { color:var(--muted); font-size:14px; line-height:1.6; }
  #appearanceDialog fieldset { border:0; margin-top:24px; padding:0; min-width:0; }
  #appearanceDialog legend { font-weight:650; margin-bottom:12px; }
  .appearance-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .theme-choice { position:relative; border:2px solid var(--line); border-radius:12px; padding:10px; cursor:pointer; }
  .theme-choice:has(input:checked) { border-color:var(--accent); box-shadow:0 0 0 2px var(--hover); }
  .theme-choice input { position:absolute; right:14px; top:14px; z-index:1; accent-color:var(--accent); }
  .theme-choice strong, .theme-choice small { display:block; margin-top:8px; }
  .theme-choice small { color:var(--muted); font-size:12px; line-height:1.5; }
  .theme-sample { display:block; height:105px; position:relative; overflow:hidden; border-radius:6px; background:var(--sample-bg); border:1px solid #8ba3b633; }
  .theme-sample i { position:absolute; inset:0 75% 0 0; background:var(--sample-nav); }
  .theme-sample b { position:absolute; left:32%; top:18%; width:55%; height:24%; background:var(--sample-card); border-top:4px solid var(--sample-accent); border-radius:3px; }
  .theme-sample em { position:absolute; left:32%; top:52%; width:55%; height:34%; background:repeating-linear-gradient(var(--sample-card) 0 9px,var(--sample-bg) 9px 12px); }
  .sample-classic { --sample-bg:#f1f1f1; --sample-nav:#2c3e50; --sample-card:#fff; --sample-accent:#3498db; }
  .sample-light { --sample-bg:#eef4f4; --sample-nav:#d9e9e7; --sample-card:#fff; --sample-accent:#087e80; }
  .sample-dark { --sample-bg:#101923; --sample-nav:#213348; --sample-card:#35495f; --sample-accent:#54c9bc; }
  .appearance-density { display:flex; gap:12px; flex-wrap:wrap; }
  .appearance-density label { flex:1; min-width:180px; padding:12px; border:1px solid var(--line); border-radius:8px; cursor:pointer; }
  .appearance-density small { display:block; margin:5px 0 0 20px; color:var(--muted); }
  .appearance-note { margin-top:20px; }
  #appearanceFeedback { color:var(--ink); font-size:13px; margin-top:8px; }
  .appearance-actions { display:flex; align-items:center; gap:10px; margin-top:22px; border-top:1px solid var(--line); padding-top:20px; flex-wrap:wrap; }
  .appearance-actions span { flex:1; }
  .appearance-secondary { padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); cursor:pointer; }
  @media(max-width:600px) { #appearanceDialog { padding:18px; } .appearance-heading h2 { font-size:21px; } .appearance-options { gap:6px; } .theme-choice { padding:6px; } .theme-sample { height:75px; } .theme-choice small { font-size:11px; } .appearance-actions span { display:none; } .appearance-actions .btn { flex:1; } }
  @media(pointer:coarse) { .appearance-actions button, .appearance-density label { min-height:44px; } [data-density="compact"] .btn, [data-density="compact"] .sidebar-item { min-height:40px; } }
}
@media print { #appearanceDialog, .appearance-trigger { display:none !important; } }
