/* ============================================================
   SHELL ÉDITORIAL — langage partagé (dérivé de la direction B)
   Masthead magazine, filets fins, pas d'ombres, violet en encre.
   Préfixe .ed — chaque module : <div class="brz ed">…</div>
   ============================================================ */

.ed { background:#FBFAF9; display:flex; flex-direction:column; color:var(--ink); min-height:100%; }
.ed-pad { padding: 0 44px; }

/* ---------- MASTHEAD ---------- */
.ed-mast { padding: 22px 44px 0; }
.ed-mast .row1 { display:flex; align-items:flex-end; gap:16px; padding-bottom:16px; }
.ed-wm { display:flex; align-items:baseline; gap:12px; }
.ed-wm h1 { font-size:24px; font-weight:700; letter-spacing:-.03em; }
.ed-wm h1 em { font-style:normal; color:var(--v-800); }
.ed-wm .tag { font-size:9.5px; font-weight:600; letter-spacing:.26em; color:var(--ink-3); text-transform:uppercase; padding-bottom:3px; }
.ed-mast .meta { margin-left:auto; display:flex; align-items:center; gap:22px; }
.ed-mast .meta .m { text-align:right; }
.ed-mast .meta .m b { font-size:12px; font-weight:600; letter-spacing:.04em; display:block; }
.ed-mast .meta .m span { font-size:10.5px; color:var(--ink-3); letter-spacing:.08em; text-transform:uppercase; }
.ed-rule2 { height:2px; background:var(--v-800); }
.ed-nav { display:flex; gap:28px; padding:13px 44px 0; flex-wrap:wrap; }
.ed-nav a { font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); text-decoration:none; padding-bottom:13px; position:relative; cursor:pointer; }
.ed-nav a.active { color:var(--v-800); }
.ed-nav a.active::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--v-800); }
.ed-navrule { height:1px; background:var(--line); }

/* ---------- PAGE HEAD ---------- */
.ed-phead { padding: 28px 44px 20px; display:flex; align-items:flex-end; gap:24px; }
.ed-phead .kick { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--on-air); display:flex; align-items:center; gap:9px; margin-bottom:11px; }
.ed-phead .kick .ln { width:26px; height:2px; background:var(--on-air); }
.ed-phead h2 { font-size:32px; font-weight:600; letter-spacing:-.025em; line-height:1; }
.ed-phead .sub { font-size:14px; color:var(--ink-2); margin-top:9px; }
.ed-phead .pactions { margin-left:auto; display:flex; align-items:center; gap:12px; flex:0 0 auto; }

/* ---------- BOUTONS ---------- */
.ed-btnA { height:44px; padding:0 22px; background:var(--v-800); color:#fff; font-size:13.5px; font-weight:600; border-radius:2px; display:inline-flex; align-items:center; gap:9px; white-space:nowrap; }
.ed-btnA:hover { background:var(--v-900); }
.ed-btnB { height:44px; padding:0 18px; color:var(--v-800); font-size:13.5px; font-weight:600; display:inline-flex; align-items:center; gap:9px; border:1px solid var(--line-2); border-radius:2px; background:#fff; }
.ed-btnB:hover { border-color:var(--v-700); }
.ed-link { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--v-700); display:inline-flex; align-items:center; gap:5px; cursor:pointer; }
.ed-btn-sm { height:32px; padding:0 13px; font-size:12px; font-weight:600; border-radius:2px; display:inline-flex; align-items:center; gap:7px; }
.ed-btn-sm.solid { background:var(--v-800); color:#fff; }
.ed-btn-sm.ghost { background:#fff; color:var(--ink); border:1px solid var(--line-2); }

/* ---------- TOOLBAR (filtres + vues) ---------- */
.ed-toolbar { display:flex; align-items:center; gap:10px; padding: 0 44px 18px; flex-wrap:wrap; }
.ed-fchip { height:34px; padding:0 14px; border-radius:2px; border:1px solid var(--line-2); background:#fff; font-size:12.5px; font-weight:500; color:var(--ink-2); display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
.ed-fchip.on { background:var(--v-800); color:#fff; border-color:var(--v-800); }
.ed-fchip .n { font-size:11px; opacity:.65; font-variant-numeric:tabular-nums; }
.ed-fchip.on .n { opacity:.8; }
.ed-vswitch { margin-left:auto; display:flex; border:1px solid var(--line-2); border-radius:2px; overflow:hidden; }
.ed-vswitch button { height:34px; padding:0 14px; font-size:12px; font-weight:600; color:var(--ink-3); background:#fff; border-right:1px solid var(--line); display:flex; align-items:center; gap:6px; }
.ed-vswitch button:last-child { border-right:none; }
.ed-vswitch button.on { background:var(--v-100); color:var(--v-800); }
.ed-srch { height:34px; padding:0 12px; border:1px solid var(--line-2); border-radius:2px; background:#fff; display:flex; align-items:center; gap:8px; color:var(--ink-3); font-size:12.5px; width:200px; }

/* ---------- SECTION HEAD ---------- */
.ed-sechead { display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.ed-sechead h3 { font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); white-space:nowrap; }
.ed-sechead .ln { flex:1; height:1px; background:var(--line-2); }
.ed-sechead .lk { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--v-700); white-space:nowrap; cursor:pointer; }

/* ---------- CONTENT WRAP ---------- */
.ed-body { padding: 4px 44px 36px; }
.ed-cols { display:grid; gap:34px; align-items:start; }

/* ---------- PANELS (filets, pas d'ombre) ---------- */
.ed-panel { border:1px solid var(--line); border-radius:3px; background:#fff; }
.ed-panel .ph { display:flex; align-items:center; gap:10px; padding:15px 18px; border-bottom:1px solid var(--line); }
.ed-panel .ph h4 { font-size:14px; font-weight:600; letter-spacing:-.01em; }
.ed-panel .ph .lk { margin-left:auto; }

/* ---------- TABLE ---------- */
.ed-table { width:100%; border-collapse:collapse; }
.ed-table thead th { font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); text-align:left; padding:13px 16px; border-bottom:1px solid var(--ink); }
.ed-table tbody td { padding:14px 16px; border-bottom:1px solid var(--line); font-size:13.5px; vertical-align:middle; }
.ed-table tbody tr:last-child td { border-bottom:none; }
.ed-table tbody tr:hover { background:var(--v-50); }
.ed-table .nm { font-weight:600; }
.ed-table .mut { color:var(--ink-2); }
.ed-table .r { text-align:right; }

/* ---------- TABS (sous-navigation) ---------- */
.ed-tabs { display:flex; gap:4px; padding: 0 44px; border-bottom:1px solid var(--line); }
.ed-tab { padding:12px 16px; font-size:13px; font-weight:600; color:var(--ink-3); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; display:flex; align-items:center; gap:8px; }
.ed-tab.on { color:var(--v-800); border-color:var(--v-800); }
.ed-tab .cnt { font-size:10.5px; font-weight:700; background:var(--v-100); color:var(--v-700); border-radius:9px; padding:1px 6px; }

/* ---------- PILLS ---------- */
.ed-pill { height:25px; padding:0 11px; border-radius:2px; display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:500; background:var(--v-100); color:var(--v-800); white-space:nowrap; }
.ed-pill.free { background:transparent; border:1px solid var(--line-2); color:var(--ink-3); letter-spacing:.06em; }
.ed-pill.dot::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }

/* ---------- STATUS TEXT (éditorial) ---------- */
.ed-stt { font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ed-stt.go{color:var(--go)} .ed-stt.air{color:var(--on-air)} .ed-stt.warn{color:var(--warn)}
.ed-stt.libre{color:var(--ink-3)} .ed-stt.urgent{color:var(--urgent)} .ed-stt.violet{color:var(--v-700)}

/* ---------- FORM ---------- */
.ed-field { margin-bottom:16px; }
.ed-field label { display:block; font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:7px; }
.ed-input { width:100%; height:42px; padding:0 13px; border:1px solid var(--line-2); border-radius:2px; background:#fff; font-family:var(--font); font-size:13.5px; color:var(--ink); }
.ed-input:focus { outline:none; border-color:var(--v-700); }
textarea.ed-input { height:auto; padding:11px 13px; resize:none; line-height:1.5; }
.ed-toggle { width:42px; height:24px; border-radius:999px; background:var(--line-2); position:relative; cursor:pointer; transition:background .15s; flex:0 0 auto; }
.ed-toggle::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:left .15s; box-shadow:0 1px 2px rgba(0,0,0,.2); }
.ed-toggle.on { background:var(--go); }
.ed-toggle.on::after { left:21px; }

/* ---------- AVATAR row helper ---------- */
.ed-av { width:34px; height:34px; border-radius:50%; background:var(--v-100); color:var(--v-800); display:inline-flex; align-items:center; justify-content:center; font-size:11.5px; font-weight:600; flex:0 0 auto; }
.ed-av.sm { width:28px; height:28px; font-size:10.5px; }
