/* css/themes.css — 5 themes visuels */
:root{
  --postit-bg:#c4a265;--postit-surface:#f5e6c8;--postit-text:#3e2723;--postit-text-secondary:#5d4037;--postit-border:#8d6e63;--postit-accent:#e65100;--postit-shadow:2px 3px 6px rgba(0,0,0,.25);
  --notion-bg:#fff;--notion-surface:#f7f7f5;--notion-text:#37352f;--notion-text-secondary:#787774;--notion-border:#e9e9e7;--notion-accent:#2eaadc;--notion-shadow:0 1px 3px rgba(0,0,0,.04);
  --term-bg:#0d1117;--term-surface:#161b22;--term-text:#c9d1d9;--term-text-secondary:#8b949e;--term-border:#30363d;--term-accent:#58a6ff;--term-shadow:0 2px 8px rgba(0,0,0,.4);
  --dash-bg:#0f172a;--dash-surface:#1e293b;--dash-text:#f1f5f9;--dash-text-secondary:#94a3b8;--dash-border:#334155;--dash-accent:#3b82f6;--dash-shadow:0 4px 20px rgba(0,0,0,.3);
  --bg:var(--dash-bg);--surface:var(--dash-surface);--text:var(--dash-text);--text-secondary:var(--dash-text-secondary);
  --column-bg:rgba(30,41,59,.7);--border:var(--dash-border);--accent:var(--dash-accent);--shadow:var(--dash-shadow);
  --font:'DM Sans',sans-serif;--radius:12px;
}
body.theme-postit{--bg:var(--postit-bg);--surface:var(--postit-surface);--text:var(--postit-text);--text-secondary:var(--postit-text-secondary);--column-bg:rgba(0,0,0,.08);--border:var(--postit-border);--accent:var(--postit-accent);--shadow:var(--postit-shadow);--radius:2px;background:linear-gradient(135deg,#c4a265,#a8884d)}
body.theme-postit .card{box-shadow:2px 3px 6px rgba(0,0,0,.2);border:none}
body.theme-postit .card:nth-child(3n+1){background:#fff9c4}body.theme-postit .card:nth-child(3n+2){background:#b3e5fc}body.theme-postit .card:nth-child(3n){background:#c8e6c9}
body.theme-postit .column{background:rgba(255,255,255,.15);border:none}
body.theme-postit-dark{--bg:#3e2723;--surface:#4e342e;--text:#efebe9;--text-secondary:#a1887f;--column-bg:rgba(0,0,0,.2);--border:#5d4037;--accent:#ff6d00;--shadow:2px 3px 6px rgba(0,0,0,.4);--radius:2px;background:linear-gradient(135deg,#3e2723,#2c1a14)}
body.theme-postit-dark .card{box-shadow:2px 3px 6px rgba(0,0,0,.35);border:none}
body.theme-postit-dark .card:nth-child(3n+1){background:#5d4037;color:#fff9c4}body.theme-postit-dark .card:nth-child(3n+2){background:#37474f;color:#b3e5fc}body.theme-postit-dark .card:nth-child(3n){background:#2e7d32;color:#c8e6c9}
body.theme-postit-dark .column{background:rgba(0,0,0,.15);border:none}
body.theme-notion{--bg:var(--notion-bg);--surface:#fff;--text:var(--notion-text);--text-secondary:var(--notion-text-secondary);--column-bg:var(--notion-surface);--border:var(--notion-border);--accent:var(--notion-accent);--shadow:var(--notion-shadow);--radius:6px}
body.theme-notion .card{border:none;box-shadow:none;background:#fff}body.theme-notion .card:hover{background:#f7f7f5}body.theme-notion .column{background:transparent;border:none}
body.theme-notion-dark{--bg:#191919;--surface:#202020;--text:#e3e3e1;--text-secondary:#9b9a97;--column-bg:rgba(32,32,32,.7);--border:#2f2f2f;--accent:#2eaadc;--shadow:0 1px 3px rgba(0,0,0,.2);--radius:6px;background:#191919}
body.theme-notion-dark .card{border:none;box-shadow:none;background:#262626}body.theme-notion-dark .card:hover{background:#2f2f2f}body.theme-notion-dark .column{background:transparent;border:none}
body.theme-notion-dark .header{background:#202020;border-bottom:1px solid #2f2f2f}body.theme-notion-dark .project-bar{background:#202020}body.theme-notion-dark .stats-bar{background:#202020}
body.theme-terminal{--bg:var(--term-bg);--surface:var(--term-surface);--text:var(--term-text);--text-secondary:var(--term-text-secondary);--column-bg:var(--term-surface);--border:var(--term-border);--accent:var(--term-accent);--shadow:var(--term-shadow);--font:'JetBrains Mono',monospace;--radius:4px;background:linear-gradient(180deg,#0d1117,#161b22)}
body.theme-terminal .card{border-left:2px solid #3fb950}body.theme-terminal .card-title::before{content:'> ';color:#3fb950}body.theme-terminal .column-title::before{content:'# ';color:var(--term-accent)}
body.theme-terminal-light{--bg:#fafbfc;--surface:#fff;--text:#24292f;--text-secondary:#57606a;--column-bg:#f6f8fa;--border:#d0d7de;--accent:#0969da;--shadow:0 1px 3px rgba(27,31,36,.12);--font:'JetBrains Mono',monospace;--radius:4px;background:linear-gradient(180deg,#fafbfc,#f0f3f6)}
body.theme-terminal-light .card{border-left:2px solid #1a7f37;background:#fff}body.theme-terminal-light .card:hover{background:#f6f8fa}
body.theme-terminal-light .card-title::before{content:'> ';color:#1a7f37}body.theme-terminal-light .column-title::before{content:'# ';color:#0969da}
body.theme-terminal-light .column{background:#f6f8fa;border:1px solid #d0d7de}
body.theme-dashboard{--bg:var(--dash-bg);--surface:var(--dash-surface);--text:var(--dash-text);--text-secondary:var(--dash-text-secondary);--column-bg:rgba(30,41,59,.7);--border:var(--dash-border);--accent:var(--dash-accent);--shadow:var(--dash-shadow);--radius:12px;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a)}
body.theme-dashboard .column{backdrop-filter:blur(12px);background:rgba(30,41,59,.6)}body.theme-dashboard .card{background:linear-gradient(145deg,var(--dash-surface),rgba(30,41,59,.9))}
body.theme-dashboard-light{--bg:#f0f4ff;--surface:#fff;--text:#1e293b;--text-secondary:#64748b;--column-bg:rgba(255,255,255,.7);--border:#e2e8f0;--accent:#3b82f6;--shadow:0 4px 20px rgba(0,0,0,.08);--radius:12px;background:linear-gradient(135deg,#f0f4ff,#e8ecf4,#f0f4ff)}
body.theme-dashboard-light .column{backdrop-filter:blur(12px);background:rgba(255,255,255,.6);border:1px solid #e2e8f0}
body.theme-dashboard-light .card{background:linear-gradient(145deg,#fff,rgba(248,250,252,.95));border:1px solid #e2e8f0}body.theme-dashboard-light .card:hover{border-color:#3b82f6}
body.theme-custom{--bg:#1a1a2e;--surface:rgba(26,26,46,.85);--text:#eaf0fb;--text-secondary:#94a3b8;--column-bg:rgba(26,26,46,.55);--border:rgba(255,255,255,.12);--accent:#3b82f6;--shadow:0 4px 24px rgba(0,0,0,.4);--radius:10px;background-size:cover;background-position:center;background-attachment:fixed}
body.theme-custom .header,body.theme-custom .stats-bar,body.theme-custom .project-bar{backdrop-filter:blur(16px)}
body.theme-custom .column{backdrop-filter:blur(14px);background:rgba(26,26,46,.5);border:1px solid rgba(255,255,255,.08)}
body.theme-custom .card{background:rgba(26,26,46,.75);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}
body.theme-custom .card:hover{background:rgba(26,26,46,.85)}

/* Theme toggle button */
.theme-toggle-btn{transition:transform .3s ease,opacity .3s ease;font-size:16px!important}
.theme-toggle-btn:hover{transform:rotate(30deg)}

/* Colorblind toggle button */
.colorblind-toggle-btn{transition:transform .3s ease;font-size:14px!important}
.colorblind-toggle-btn:hover{transform:scale(1.15)}
.colorblind-toggle-btn.active{box-shadow:0 0 0 2px var(--accent);background:var(--accent);color:#fff}

/* ===== COLORBLIND MODE ===== */
/* Palette: Wong (2011) colorblind-safe — blue #0072B2, orange #E69F00, vermillion #D55E00, sky #56B4E9, green #009E73, yellow #F0E442, pink #CC79A7 */

/* Priority bars — patterns + safe colors */
body.colorblind .card-priority.critical{background:repeating-linear-gradient(45deg,#D55E00,#D55E00 3px,#fff 3px,#fff 5px)}
body.colorblind .card-priority.high{background:repeating-linear-gradient(0deg,#E69F00,#E69F00 3px,#fff 3px,#fff 5px)}
body.colorblind .card-priority.medium{background:repeating-linear-gradient(90deg,#F0E442,#F0E442 3px,#fff 3px,#fff 5px)}
body.colorblind .card-priority.low{background:#009E73}

/* Priority labels — add text marker after card title */
body.colorblind .card-priority.critical::after{content:'!!!';position:absolute;top:3px;left:8px;font-size:7px;font-weight:900;color:#D55E00;letter-spacing:-.5px}
body.colorblind .card-priority.high::after{content:'!!';position:absolute;top:3px;left:8px;font-size:7px;font-weight:900;color:#E69F00}
body.colorblind .card-priority.medium::after{content:'!';position:absolute;top:3px;left:8px;font-size:7px;font-weight:900;color:#856d00}
body.colorblind .card-priority.low::after{content:'\2713';position:absolute;top:3px;left:7px;font-size:7px;font-weight:900;color:#009E73}

/* Deadline badges — safe colors + shapes */
body.colorblind .deadline-badge.warn{background:#FDF0D5;color:#856d00;border:1.5px solid #E69F00}
body.colorblind .deadline-badge.warn::before{content:'\25B2 ';font-size:7px}
body.colorblind .deadline-badge.crit{background:#FADBD8;color:#A31D00;border:1.5px solid #D55E00}
body.colorblind .deadline-badge.crit::before{content:'\25C6 ';font-size:7px}

/* Deadline card borders */
body.colorblind .card.deadline-warn{border-color:#E69F00;animation:none;border-width:2px;border-style:dashed}
body.colorblind .card.deadline-critical{border-color:#D55E00;animation:none;border-width:2px;border-style:solid}
body.colorblind .card.deadline-warn .card-date{color:#E69F00!important}
body.colorblind .card.deadline-critical .card-date{color:#D55E00!important}

/* Tags — distinct shapes before label + safe underlines */
body.colorblind .tag{border:1.5px solid currentColor;font-weight:700;position:relative}
body.colorblind .tag-plomberie{background:#d6eaf8;color:#0072B2;border-color:#0072B2}
body.colorblind .tag-plomberie::before{content:'\25CF '}
body.colorblind .tag-terrassement{background:#FDF0D5;color:#856d00;border-color:#E69F00}
body.colorblind .tag-terrassement::before{content:'\25A0 '}
body.colorblind .tag-inspection{background:#E8DAEF;color:#6C3483;border-color:#CC79A7}
body.colorblind .tag-inspection::before{content:'\25C6 '}
body.colorblind .tag-raccordement{background:#D5F5E3;color:#006B4F;border-color:#009E73}
body.colorblind .tag-raccordement::before{content:'\25B2 '}
body.colorblind .tag-pompage{background:#F9E0ED;color:#8E4470;border-color:#CC79A7}
body.colorblind .tag-pompage::before{content:'\25CB '}
body.colorblind .tag-voirie{background:#EAECEE;color:#374151;border-color:#666}
body.colorblind .tag-voirie::before{content:'\25A1 '}
body.colorblind .tag-urgence{background:#FADBD8;color:#A31D00;border-color:#D55E00}
body.colorblind .tag-urgence::before{content:'\2716 '}
body.colorblind .tag-admin{background:#D6DBEF;color:#2E3A87;border-color:#0072B2}
body.colorblind .tag-admin::before{content:'\2605 '}

/* Dashboard progress bars — patterns */
body.colorblind .dash-progress-fill.green{background:repeating-linear-gradient(90deg,#009E73 0,#009E73 6px,#00b386 6px,#00b386 8px)}
body.colorblind .dash-progress-fill.orange{background:repeating-linear-gradient(45deg,#E69F00 0,#E69F00 4px,#f5b800 4px,#f5b800 6px)}
body.colorblind .dash-progress-fill.red{background:repeating-linear-gradient(135deg,#D55E00 0,#D55E00 4px,#e87533 4px,#e87533 6px)}
body.colorblind .dash-progress-fill.blue{background:repeating-linear-gradient(0deg,#0072B2 0,#0072B2 4px,#56B4E9 4px,#56B4E9 6px)}

/* Calendar events — safe palette + border shapes */
body.colorblind .cal-event.priority-critical{background:#FADBD8;color:#A31D00;border-left:3px solid #D55E00}
body.colorblind .cal-event.priority-high{background:#FDF0D5;color:#856d00;border-left:3px solid #E69F00}
body.colorblind .cal-event.priority-medium{background:#FEF9D7;color:#655500;border-left:3px dashed #E69F00}
body.colorblind .cal-event.priority-low{background:#D5F5E3;color:#006B4F;border-left:3px dotted #009E73}

/* Actor workload legend — add patterns to segments */
body.colorblind .actor-wl-segment:nth-child(1){background:repeating-linear-gradient(90deg,#009E73 0,#009E73 4px,#00b386 4px,#00b386 6px)!important}
body.colorblind .actor-wl-segment:nth-child(2){background:repeating-linear-gradient(45deg,#E69F00 0,#E69F00 3px,#f5b800 3px,#f5b800 5px)!important}
body.colorblind .actor-wl-segment:nth-child(3){background:repeating-linear-gradient(0deg,#0072B2 0,#0072B2 3px,#56B4E9 3px,#56B4E9 5px)!important}
