/* ═══════════════════════════════════════════════════════════════
   SMC FLEET — Unified Theme System v1.0
   data-theme attribute on <html> — 12 presets
   Canonical vars: --bg-primary, --bg-card, --bg-card-hover, --bg-input, --bg-modal
                   --border, --border-active, --text-primary, --text-secondary, --text-dim
   Aliases for Invoice module: --bg=--bg-primary, --bg2=--bg-card, --bg3=--bg-card-hover,
                   --bg4=--bg-input, --bgM=--bg-modal, --brd=--border, --brd2=--border-active,
                   --t1=--text-primary, --t2=--text-secondary, --t3=--text-dim
   ═══════════════════════════════════════════════════════════════ */

/* ── Default / Deep Navy (no data-theme or data-theme="midnight") ── */
:root,
[data-theme="midnight"] {
  --bg-primary:#07091a; --bg-card:#0c0f22; --bg-card-hover:#111530;
  --bg-input:#0a0d1e; --bg-modal:#0e1128;
  --border:#1a1f3a; --border-active:#2a3060;
  --text-primary:#e8eaf0; --text-secondary:#8890a8; --text-dim:#555d78;
  --accent:#00c4ff;
  /* aliases */
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="ocean"] {
  --bg-primary:#0a1520; --bg-card:#0e1e2e; --bg-card-hover:#132838;
  --bg-input:#0b1820; --bg-modal:#0e1e2e;
  --border:#1a3040; --border-active:#2a4a60;
  --text-primary:#e0f0f0; --text-secondary:#7eaab0; --text-dim:#4a7080;
  --accent:#00e8a2;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="charcoal"] {
  --bg-primary:#141418; --bg-card:#1c1c22; --bg-card-hover:#24242c;
  --bg-input:#18181e; --bg-modal:#1c1c22;
  --border:#2a2a30; --border-active:#3a3a44;
  --text-primary:#e8e8ec; --text-secondary:#9898a4; --text-dim:#606068;
  --accent:#ff6b35;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="slate"] {
  --bg-primary:#0d0d18; --bg-card:#14142a; --bg-card-hover:#1c1c36;
  --bg-input:#100e20; --bg-modal:#14142a;
  --border:#2a2a4a; --border-active:#3a3a5e;
  --text-primary:#e0dff0; --text-secondary:#8a88b0; --text-dim:#5a5878;
  --accent:#7a5ae0;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="nord"] {
  --bg-primary:#0a1418; --bg-card:#0e1c24; --bg-card-hover:#142830;
  --bg-input:#0c181e; --bg-modal:#0e1c24;
  --border:#1a2e38; --border-active:#2a4250;
  --text-primary:#d8ece8; --text-secondary:#7eb0a8; --text-dim:#4a7a72;
  --accent:#4ecdc4;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="dracula"] {
  --bg-primary:#120a0e; --bg-card:#1a0e16; --bg-card-hover:#241420;
  --bg-input:#160c12; --bg-modal:#1a0e16;
  --border:#2e1a24; --border-active:#442838;
  --text-primary:#f0e0e8; --text-secondary:#b08098; --text-dim:#784860;
  --accent:#ff3b5c;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="solarized"] {
  --bg-primary:#12100a; --bg-card:#1e1a0e; --bg-card-hover:#282214;
  --bg-input:#181408; --bg-modal:#1e1a0e;
  --border:#2e2a1a; --border-active:#443e28;
  --text-primary:#f0e8d8; --text-secondary:#b0a080; --text-dim:#786840;
  --accent:#ff9f1c;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="paper"] {
  --bg-primary:#f0f1f5; --bg-card:#ffffff; --bg-card-hover:#e8eaef;
  --bg-input:#f5f6f8; --bg-modal:#ffffff;
  --border:#d0d4de; --border-active:#b0b6c4;
  --text-primary:#1a1d28; --text-secondary:#4a5068; --text-dim:#8890a0;
  --accent:#0066cc;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="frost"] {
  --bg-primary:#eef5fb; --bg-card:#ffffff; --bg-card-hover:#e4eef8;
  --bg-input:#f7fbff; --bg-modal:#ffffff;
  --border:#c9d9ec; --border-active:#9eb9d8;
  --text-primary:#14253a; --text-secondary:#48627d; --text-dim:#7f95ab;
  --accent:#2f80ed;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

[data-theme="harbor-light"] {
  --bg-primary:#eef7f4; --bg-card:#ffffff; --bg-card-hover:#e2f0eb;
  --bg-input:#f7fcfa; --bg-modal:#ffffff;
  --border:#c8ddd6; --border-active:#97bdb1;
  --text-primary:#173129; --text-secondary:#44685d; --text-dim:#79958b;
  --accent:#0f9d8a;
  --bg:var(--bg-primary); --bg2:var(--bg-card); --bg3:var(--bg-card-hover);
  --bg4:var(--bg-input); --bgM:var(--bg-modal);
  --brd:var(--border); --brd2:var(--border-active);
  --t1:var(--text-primary); --t2:var(--text-secondary); --t3:var(--text-dim);
}

/* Full Black and Full White use compatibility themes for legacy module rules.
   The selected identity stays in data-smc-theme and these important tokens keep
   later module-level :root declarations from replacing the requested palette. */
[data-smc-theme="full-black"] {
  color-scheme:dark;
  --bg-primary:#000000 !important; --bg-card:#050505 !important; --bg-card-hover:#0d0d0d !important;
  --bg-elev:#0d0d0d !important; --bg-input:#080808 !important; --bg-modal:#070707 !important;
  --border:#303030 !important; --border-active:#565656 !important;
  --text-primary:#ffffff !important; --text-secondary:#e0e0e0 !important; --text-dim:#adadad !important;
  --accent:#ffffff !important;
  --bg:var(--bg-primary) !important; --bg2:var(--bg-card) !important; --bg3:var(--bg-card-hover) !important;
  --bg4:var(--bg-input) !important; --bgM:var(--bg-modal) !important;
  --brd:var(--border) !important; --brd2:var(--border-active) !important;
  --t1:var(--text-primary) !important; --t2:var(--text-secondary) !important; --t3:var(--text-dim) !important;
  --text:var(--text-primary) !important; --muted:var(--text-secondary) !important; --line:var(--border) !important;
  --diamond:#38bdf8; --info:#38bdf8; --destiny:#ff7a45; --freedom:#20e6aa; --budget-clr:#a78bfa; --purple:#a78bfa;
  --routine:#38bdf8; --vital:#ff4d6d; --essential:#ffb347; --success:#20e6aa; --warning:#ffb347; --warn:#ffb347; --danger:#ff4d6d;
  --shadow:0 4px 24px rgba(0,0,0,.72);
}

[data-smc-theme="full-white"] {
  color-scheme:light;
  --bg-primary:#ffffff !important; --bg-card:#ffffff !important; --bg-card-hover:#f5f5f5 !important;
  --bg-elev:#f5f5f5 !important; --bg-input:#fafafa !important; --bg-modal:#ffffff !important;
  --border:#d1d5db !important; --border-active:#8f969f !important;
  --text-primary:#000000 !important; --text-secondary:#2f3337 !important; --text-dim:#5f6670 !important;
  --accent:#005fb8 !important;
  --bg:var(--bg-primary) !important; --bg2:var(--bg-card) !important; --bg3:var(--bg-card-hover) !important;
  --bg4:var(--bg-input) !important; --bgM:var(--bg-modal) !important;
  --brd:var(--border) !important; --brd2:var(--border-active) !important;
  --t1:var(--text-primary) !important; --t2:var(--text-secondary) !important; --t3:var(--text-dim) !important;
  --text:var(--text-primary) !important; --muted:var(--text-secondary) !important; --line:var(--border) !important;
  --diamond:#0067b8; --info:#0067b8; --freedom:#087d59; --destiny:#c84b1c; --budget-clr:#5d3db1; --purple:#5d3db1;
  --success:#087d59; --warning:#9a6500; --warn:#9a6500; --danger:#b91c3c;
  --vital:#b91c3c; --essential:#9a6500; --routine:#0067b8;
  --shadow:0 4px 20px rgba(17,24,39,.09);
}

html[data-smc-theme="full-black"],
html[data-smc-theme="full-black"] body {
  background:#000000 !important;
  color:var(--text-primary);
}

html[data-smc-theme="full-white"],
html[data-smc-theme="full-white"] body {
  background:#ffffff !important;
  color:var(--text-primary);
}

/* Full Black and Full White keep neutral surfaces, while operational colors
   remain visible in alarms, charts, maps, photos, video and canvas content. */

/* ── Shared constants (don't change per theme) ── */
:root {
  --destiny:#ff6b35; --freedom:#00e8a2; --diamond:#00c4ff;
  --vital:#ff3b5c; --essential:#ff9f1c; --routine:#00c4ff;
  --budget-clr:#8b5cf6; --purple:#7a5ae0;
  --success:#00e8a2; --warning:#ff9f1c; --warn:var(--warning); --danger:#ff3b5c; --info:#00c4ff;
  --radius:8px; --radius-lg:12px;
  --shadow:0 4px 24px rgba(0,0,0,0.4);
  --transition:all 0.2s ease;
  --fs:14px;
  --font-size:var(--fs);
  --smc-font-size:var(--fs);
  --smc-font-display:'Rajdhani','Arial Narrow','Segoe UI',Arial,sans-serif;
  --smc-font-ui:'Inter','Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --smc-font-data:'JetBrains Mono','Cascadia Mono',Consolas,monospace;
  --mono:'JetBrains Mono',monospace;
  --sans:'Rajdhani',sans-serif;
  --r:var(--radius); --r2:var(--radius-lg);
}

/* Cross-module aliases used by older standalone portal workspaces. */
html[data-theme] {
  --card:var(--bg-card) !important;
  --card2:var(--bg-card-hover) !important;
  --panel:var(--bg-card) !important;
  --surface:var(--bg-card) !important;
  --surface-2:var(--bg-card-hover) !important;
  --line:var(--border) !important;
  --line-active:var(--border-active) !important;
  --tx:var(--text-primary) !important;
  --text:var(--text-primary) !important;
  --mut:var(--text-secondary) !important;
  --muted:var(--text-secondary) !important;
  --dim:var(--text-dim) !important;
  --acc:var(--accent) !important;
  --good:var(--success) !important;
}

html[data-theme] body {
  background-color:var(--bg-primary) !important;
  color:var(--text-primary);
}

/* Paper theme overrides accent colors for readability on light bg */
[data-theme="paper"] {
  --diamond:#0077cc; --success:#0a8a5a; --warning:#c07800; --danger:#cc2244;
  --info:#0077cc; --freedom:#0a8a5a; --destiny:#d05020; --budget-clr:#6040b0; --purple:#6040b0;
  --vital:#cc2244; --essential:#c07800; --routine:#0077cc;
  --shadow:0 4px 24px rgba(0,0,0,0.08);
}

[data-theme="frost"] {
  --diamond:#2f80ed; --success:#138b62; --warning:#c18400; --danger:#cc3355;
  --info:#2f80ed; --freedom:#138b62; --destiny:#d2672d; --budget-clr:#5b6ee1; --purple:#5b6ee1;
  --vital:#cc3355; --essential:#c18400; --routine:#2f80ed;
  --shadow:0 4px 24px rgba(33,88,142,0.08);
}

[data-theme="harbor-light"] {
  --diamond:#0f9d8a; --success:#178768; --warning:#c07a00; --danger:#cf3450;
  --info:#0f9d8a; --freedom:#178768; --destiny:#d15c2f; --budget-clr:#5d61c9; --purple:#5d61c9;
  --vital:#cf3450; --essential:#c07a00; --routine:#0f9d8a;
  --shadow:0 4px 24px rgba(24,97,84,0.08);
}

/* ── Accent override: each theme's --accent feeds --diamond for module highlights ── */
[data-theme="ocean"]     { --diamond:var(--accent) }
[data-theme="charcoal"]  { --diamond:var(--accent) }
[data-theme="slate"]     { --diamond:var(--accent) }
[data-theme="nord"]      { --diamond:var(--accent) }
[data-theme="dracula"]   { --diamond:var(--accent) }
[data-theme="solarized"] { --diamond:var(--accent) }

/* ── Scrollbar ── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-primary)}
::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}

/* ── Content scaling — tüm paneller daha okunaklı ── */
.detail-body { zoom: 1.15; }
.modal-body { zoom: 1.1; }
.modal-overlay .modal { zoom: 1.1; }
.detail-panel { background: var(--bg-primary) !important; z-index: 99 !important; }

/* Shared button system */
.smc-btn{
  appearance:none;
  border:1px solid var(--border);
  background:var(--bg-input);
  color:var(--text-primary);
  min-height:38px;
  padding:9px 14px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font:700 13px/1 var(--sans);
  letter-spacing:.2px;
  cursor:pointer;
  transition:var(--transition);
  text-decoration:none;
  white-space:nowrap;
}

.smc-btn:hover{
  border-color:var(--border-active);
  transform:translateY(-1px);
}

.smc-btn:disabled,
.smc-btn.is-disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.smc-btn-primary{
  background:var(--diamond);
  border-color:var(--diamond);
  color:var(--bg-primary);
}

.smc-btn-success{
  background:var(--success);
  border-color:var(--success);
  color:var(--bg-primary);
}

.smc-btn-warning{
  background:rgba(255,159,28,.14);
  border-color:rgba(255,159,28,.35);
  color:var(--warning);
}

.smc-btn-danger{
  background:rgba(255,59,92,.14);
  border-color:rgba(255,59,92,.35);
  color:var(--danger);
}

.smc-btn-ghost{
  background:transparent;
  color:var(--text-secondary);
}

.smc-btn-soft{
  background:rgba(255,255,255,.03);
}

.smc-btn-sm{
  min-height:30px;
  padding:6px 10px;
  border-radius:8px;
  font-size:11px;
}

.smc-btn-lg{
  min-height:44px;
  padding:11px 18px;
  border-radius:12px;
  font-size:14px;
}

.smc-btn-icon{
  width:38px;
  min-width:38px;
  padding:0;
}

/* Theme access for standalone pages that do not render the shared topbar. */
#smcGlobalThemeControl{
  position:fixed;
  top:12px;
  right:12px;
  z-index:2147483000;
  font-family:var(--sans,'Rajdhani',Arial,sans-serif);
  color:var(--text-primary);
}

.smc-global-theme-toggle{
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--bg-card);
  color:var(--text-primary);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:var(--shadow);
}

.smc-global-theme-toggle:hover,
.smc-global-theme-toggle:focus-visible{
  border-color:var(--border-active);
  outline:none;
}

.smc-global-theme-panel{
  position:absolute;
  top:44px;
  right:0;
  width:min(304px,calc(100vw - 24px));
  padding:12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--bg-card);
  color:var(--text-primary);
  box-shadow:var(--shadow);
}

.smc-global-theme-panel[hidden]{display:none}
.smc-global-theme-title{margin:0 0 9px;font-size:12px;font-weight:800;text-transform:uppercase}
.smc-global-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}

.smc-global-theme-option{
  min-width:0;
  min-height:34px;
  padding:7px 8px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg-input);
  color:var(--text-primary);
  font:700 12px/1.1 var(--sans,'Rajdhani',Arial,sans-serif);
  text-align:left;
  cursor:pointer;
}

.smc-global-theme-option:hover,
.smc-global-theme-option.is-active{border-color:var(--border-active);background:var(--bg-card-hover)}
.smc-global-theme-option.is-active{box-shadow:inset 3px 0 0 var(--accent)}
.smc-global-theme-swatch{width:13px;height:13px;flex:0 0 13px;border:1px solid var(--border-active);border-radius:50%}

@media(max-width:600px){
  #smcGlobalThemeControl{top:8px;right:8px}
  .smc-global-theme-toggle{width:36px;height:36px}
  .smc-global-theme-panel{top:42px}
}

@media print{
  #smcGlobalThemeControl{display:none !important}
}
