[hidden]:not([hidden=until-found i]){display:none!important}
  :root{
    --bg:#F1F2F5; --surface:#FFFFFF; --surface-2:#F7F8FA; --border:#E1E4E9;
    --ink:#1A1D23; --muted:#6B7280; --accent:#4F5FCF; --accent-ink:#FFFFFF; --accent-soft:#EBEDFB;
    --red:#D93A3E; --red-soft:#FBE7E7; --amber:#B9791A; --amber-soft:#FBF0DC;
    --green:#2F9E64; --green-soft:#E5F5EC; --grey:#8A8F98; --grey-soft:#ECEDEF;
    --scrim:rgba(20,22,30,.38);
    --shadow:0 1px 2px rgba(20,20,30,.06), 0 6px 16px rgba(20,20,30,.06);
    --shadow-lg:0 12px 40px rgba(20,20,30,.18);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      color-scheme:dark;
      --bg:#14161B; --surface:#1C1F26; --surface-2:#20242C; --border:#2B2F3A;
      --ink:#E7E9EC; --muted:#9AA0AC; --accent:#8C97F2; --accent-ink:#14161B; --accent-soft:#242A45;
      --red:#F0716F; --red-soft:#3A2226; --amber:#E3AE55; --amber-soft:#3A2F1C;
      --green:#57C98A; --green-soft:#1E332B; --grey:#9AA0AC; --grey-soft:#262932;
      --scrim:rgba(0,0,0,.55);
      --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 20px rgba(0,0,0,.35);
      --shadow-lg:0 12px 40px rgba(0,0,0,.6);
    }
  }
  :root[data-theme="dark"]{
    color-scheme:dark;
    --bg:#14161B; --surface:#1C1F26; --surface-2:#20242C; --border:#2B2F3A;
    --ink:#E7E9EC; --muted:#9AA0AC; --accent:#8C97F2; --accent-ink:#14161B; --accent-soft:#242A45;
    --red:#F0716F; --red-soft:#3A2226; --amber:#E3AE55; --amber-soft:#3A2F1C;
    --green:#57C98A; --green-soft:#1E332B; --grey:#9AA0AC; --grey-soft:#262932;
    --scrim:rgba(0,0,0,.55);
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 20px rgba(0,0,0,.35);
    --shadow-lg:0 12px 40px rgba(0,0,0,.6);
  }

  *{box-sizing:border-box;}
  @media (prefers-reduced-motion: reduce){
    *{ transition-duration:.001ms !important; animation-duration:.001ms !important; scroll-behavior:auto !important; }
  }
  body{
    background:var(--bg); color:var(--ink);
    font-family:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;
    padding-inline:16px; padding-block:20px 40px;
  }
  .mono{ font-family:"IBM Plex Mono", ui-monospace, monospace; font-variant-numeric:tabular-nums; }
  button, input, select, textarea{ font-family:inherit; color:var(--ink); }
  :focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

  header, .view, .status-banner{ max-width:1600px; margin-inline:auto; }
  header{ margin-bottom:16px; }
  .head-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
  .eyebrow{ font-family:"IBM Plex Mono", monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin:0 0 4px; }
  h1{ font-size:22px; font-weight:650; margin:0 0 4px; letter-spacing:-.01em; text-wrap:balance; }
  .subline{ color:var(--muted); font-size:13.5px; margin:0 0 14px; }
  .build-line{ font-size:10.5px; color:var(--muted); opacity:.6; margin:-10px 0 14px; }

  .tabs{ display:flex; gap:4px; overflow-x:auto; border-bottom:1px solid var(--border); scrollbar-width:none; }
  .tab{
    border:none; background:none; padding:10px 13px 11px; font-size:13.5px; font-weight:500;
    color:var(--muted); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap;
    display:inline-flex; align-items:center; gap:7px; transition:color .15s, border-color .15s;
  }
  .tab-ic{ display:inline-flex; flex:none; opacity:.85; }
  .tab-ic svg{ width:15px; height:15px; display:block; }
  .tab[aria-selected="true"] .tab-ic{ opacity:1; }
  .tab:hover{ color:var(--ink); }
  .tab[aria-selected="true"]{ color:var(--ink); border-bottom-color:var(--accent); }
  .tab .n{ font-family:"IBM Plex Mono", monospace; font-size:11px; color:var(--muted); background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:0 6px; }

  .status-banner{ margin-bottom:14px; font-size:12.5px; color:var(--muted); background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:8px 12px; transition:background-color .15s, color .15s; }
  .status-banner.ok{ color:var(--green); background:var(--green-soft); border-color:transparent; }
  .status-banner.err{ color:var(--red); background:var(--red-soft); border-color:transparent; }

  .legend{ display:flex; flex-wrap:wrap; gap:14px; font-size:12.5px; color:var(--muted); margin:0 0 12px; }
  .legend span{ display:inline-flex; align-items:center; gap:6px; }
  .dot{ width:8px; height:8px; border-radius:50%; flex:none; display:inline-block; }
  .dot.red{ background:var(--red); } .dot.amber{ background:var(--amber); } .dot.green{ background:var(--green); } .dot.grey{ background:var(--grey); }

  /* ---------- tableau des tâches ---------- */
  .board{ display:flex; gap:14px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x proximate; }
  .col{ background:var(--surface-2); border:1px solid var(--border); border-radius:16px; min-width:270px; max-width:270px; flex:none; scroll-snap-align:start; display:flex; flex-direction:column; max-height:calc(100vh - 220px); }
  @media (max-width:640px){ .col{ min-width:80vw; max-width:80vw; } }
  @media (min-width:900px){
    .board{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); max-width:900px; overflow-x:visible; }
    .col{ min-width:0; max-width:none; max-height:none; }
    .col-body{ overflow-y:visible; }
  }
  .col-head{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:12px 14px 10px; border-bottom:1px solid var(--border); }
  .col-title{ font-size:13.5px; font-weight:650; }
  .col-count{ font-family:"IBM Plex Mono", monospace; font-size:11.5px; color:var(--muted); background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:1px 7px; flex:none; }
  .col-body{ flex:1; overflow-y:auto; padding:10px; display:flex; flex-direction:column; gap:8px; min-height:60px; }
  .col-body.dragover{ background:var(--accent-soft); border-radius:10px; }
  .empty-hint{ color:var(--muted); font-size:12.5px; text-align:center; padding:14px 4px; }

  .card{ background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:9px 10px 10px; box-shadow:var(--shadow); cursor:grab; position:relative; transition:box-shadow .15s; }
  .card:hover{ box-shadow:var(--shadow-lg); }
  .card.done{ opacity:.6; }
  .card-top{ display:flex; align-items:flex-start; gap:8px; }
  .check{ width:16px; height:16px; border-radius:50%; border:1.5px solid var(--border); background:var(--surface); flex:none; margin-top:2px; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
  .check.checked{ background:var(--accent); border-color:var(--accent); }
  .check svg{ display:none; width:9px; height:9px; }
  .check.checked svg{ display:block; }
  .card-title{ font-size:13px; line-height:1.35; flex:1; min-width:0; overflow-wrap:anywhere; }
  .card.done .card-title{ text-decoration:line-through; color:var(--muted); }
  .card-del{ border:none; background:none; color:var(--muted); line-height:1; cursor:pointer; padding:2px 3px; border-radius:5px; opacity:0; transition:opacity .12s; display:inline-flex; }
  .card-del svg{ width:14px; height:14px; }
  .card-del:hover{ color:var(--red); background:var(--red-soft); }
  .card:hover .card-del, .card-del:focus-visible{ opacity:1; }
  @media (hover:none){ .card-del{ opacity:.6; } }
  .card-meta{ display:flex; align-items:center; gap:6px; margin-top:6px; margin-left:24px; font-size:11.5px; color:var(--muted); flex-wrap:wrap; }
  .meta-view{ display:inline-flex; align-items:center; gap:6px; background:none; border:none; padding:0; font-size:11.5px; color:var(--muted); cursor:pointer; border-radius:5px; }
  .meta-view:hover{ color:var(--accent); text-decoration:underline; text-decoration-style:dotted; }
  .title-text{ cursor:pointer; }
  .title-text:hover{ background:var(--accent-soft); border-radius:4px; }
  .title-edit{ width:100%; font-size:13px; line-height:1.35; padding:4px 6px; border:1px solid var(--accent); border-radius:6px; background:var(--surface); resize:none; }
  .date-edit{ font-family:"IBM Plex Mono", monospace; font-size:11px; padding:2px 4px; border:1px solid var(--accent); border-radius:5px; background:var(--surface); }
  .date-clear{ font-size:10.5px; background:none; border:none; color:var(--muted); text-decoration:underline; cursor:pointer; padding:0; }
  .date-clear:hover{ color:var(--red); }
  .cat-tag{ margin-top:5px; margin-left:24px; display:inline-block; font-size:10.5px; color:var(--muted); background:var(--grey-soft); border-radius:6px; padding:1px 6px; }
  .link-chip{
    margin-top:6px; margin-left:24px; display:inline-flex; align-items:center; gap:5px; max-width:calc(100% - 24px);
    font-size:11px; color:var(--accent); background:var(--accent-soft); border:none; border-radius:6px; padding:2px 7px; cursor:pointer;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .link-chip .k{ font-family:"IBM Plex Mono", monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; opacity:.8; }

  .add-row{ border-top:1px solid var(--border); padding:8px; }
  .add-toggle{ width:100%; text-align:left; background:none; border:none; color:var(--muted); font-size:12.5px; padding:6px; cursor:pointer; border-radius:8px; }
  .add-toggle:hover{ background:var(--surface); color:var(--ink); }
  .add-form{ display:flex; flex-direction:column; gap:6px; }
  .add-form input[type="text"], .add-form select{ font-size:13px; padding:7px 8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); width:100%; }
  .add-form select{ font-size:12px; color:var(--muted); }
  .add-form-row{ display:flex; gap:6px; align-items:center; }
  .add-form input[type="date"]{ font-size:12px; padding:6px; border:1px solid var(--border); border-radius:8px; background:var(--surface); flex:1; min-width:0; }

  /* ---------- boutons ---------- */
  .btn{ font-size:12.5px; font-weight:600; border-radius:9px; padding:7px 12px; cursor:pointer; border:1px solid var(--border); background:var(--surface); white-space:nowrap; transition:border-color .15s, background-color .15s, color .15s, opacity .15s; }
  .btn:hover{ border-color:var(--accent); }
  .btn:disabled{ opacity:.55; cursor:default; }
  .btn.primary{ background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
  .btn.ghost{ background:none; border-color:transparent; color:var(--muted); font-weight:500; }
  .btn.ghost:hover{ color:var(--ink); }
  .btn.danger{ color:var(--red); }
  .btn.danger-solid{ background:var(--red); color:#fff; border-color:var(--red); }
  .btn.sm{ padding:4px 9px; font-size:12px; }
  .export-btn{ display:inline-flex; align-items:center; gap:6px; }

  /* ---------- listes de fiches ---------- */
  .toolbar{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
  .toolbar input[type="search"], .toolbar select{ font-size:13px; padding:7px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
  .toolbar input[type="search"]{ flex:1 1 220px; min-width:0; }
  .toolbar .spacer{ flex:1; }

  .rec-list{ display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
  .rec{
    display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,2fr) auto auto; gap:14px; align-items:center;
    padding:11px 14px; border:none; border-bottom:1px solid var(--border); background:none; text-align:left; cursor:pointer; width:100%;
  }
  .rec:last-child{ border-bottom:none; }
  .rec:hover{ background:var(--surface-2); }
  .rec-name{ font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .rec-sub{ font-size:12.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:2px; }
  .rec-mid{ font-size:12.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .rec-mid .muted{ color:var(--muted); }
  .rec-follow{ font-size:11.5px; color:var(--muted); display:inline-flex; gap:6px; align-items:center; white-space:nowrap; min-width:118px; }
  @media (max-width:720px){
    .rec{ grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; }
    .rec-mid{ grid-column:1 / -1; grid-row:2; }
    .rec-follow{ grid-column:1 / -1; min-width:0; }
  }
  .list-empty{ padding:28px 16px; text-align:center; color:var(--muted); font-size:13px; }

  .badge{ display:inline-flex; align-items:center; font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; white-space:nowrap; background:var(--grey-soft); color:var(--muted); }
  .badge.accent{ background:var(--accent-soft); color:var(--accent); }
  .badge.green{ background:var(--green-soft); color:var(--green); }
  .badge.amber{ background:var(--amber-soft); color:var(--amber); }
  .badge.red{ background:var(--red-soft); color:var(--red); }

  /* ---------- pipeline ---------- */
  .kpis{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; margin-bottom:14px; }
  @media (max-width:820px){ .kpis{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
  .kpi{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:12px 14px; }
  .kpi-l{ font-size:11.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-family:"IBM Plex Mono", monospace; }
  .kpi-v{ font-size:20px; font-weight:650; margin-top:4px; font-family:"IBM Plex Mono", monospace; font-variant-numeric:tabular-nums; }
  .kpi-s{ font-size:12px; color:var(--muted); margin-top:2px; }
  .pipe-section{ margin-bottom:30px; }
  .pipe-section:last-child{ margin-bottom:0; }
  .pipe-h{ font-size:15px; font-weight:650; margin:0 0 10px; letter-spacing:-.01em; text-wrap:balance; }
  .pipe{ display:flex; gap:12px; overflow-x:auto; padding-bottom:8px; }
  .pcol{ background:var(--surface-2); border:1px solid var(--border); border-radius:16px; min-width:240px; flex:1 0 240px; display:flex; flex-direction:column; }
  .pcol-head{ padding:11px 13px 9px; border-bottom:1px solid var(--border); }
  .pcol-title{ display:flex; justify-content:space-between; gap:8px; font-size:13.5px; font-weight:650; }
  .pcol-sum{ font-size:12px; color:var(--muted); margin-top:3px; }
  .pcol-body{ padding:9px; display:flex; flex-direction:column; gap:8px; min-height:70px; flex:1; }
  .pcol-body.dragover{ background:var(--accent-soft); border-radius:10px; }
  .pcard{ background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:9px 11px; box-shadow:var(--shadow); cursor:grab; text-align:left; width:100%; transition:box-shadow .15s; }
  .pcard:hover{ box-shadow:var(--shadow-lg); }
  .pcard-t{ font-size:13px; font-weight:600; line-height:1.3; }
  .pcard-s{ font-size:12px; color:var(--muted); margin-top:2px; }
  .pcard-n{ display:flex; justify-content:space-between; gap:8px; margin-top:7px; font-size:12px; }
  .pcard-n .c{ color:var(--green); font-weight:600; }

  /* ---------- tiroir de fiche ---------- */
  .scrim{ position:fixed; inset:0; background:var(--scrim); z-index:20; }
  .drawer{
    position:fixed; top:0; right:0; bottom:0; width:min(560px, 100%); z-index:21;
    background:var(--surface); box-shadow:var(--shadow-lg); display:flex; flex-direction:column;
    padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px);
  }
  .drawer-head{ display:flex; align-items:flex-start; gap:10px; padding:16px 18px 12px; border-bottom:1px solid var(--border); }
  .drawer-head .k{ font-family:"IBM Plex Mono", monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); }
  .drawer-head h2{ font-size:18px; font-weight:650; margin:2px 0 0; text-wrap:balance; overflow-wrap:anywhere; }
  .drawer-head .x{ margin-left:auto; border:none; background:none; font-size:22px; line-height:1; color:var(--muted); cursor:pointer; padding:2px 6px; }
  .drawer-body{ flex:1; overflow-y:auto; padding:16px 18px 24px; display:flex; flex-direction:column; gap:22px; }
  .drawer-foot{ display:flex; gap:8px; align-items:center; padding:12px 18px; border-top:1px solid var(--border); flex-wrap:wrap; }
  .drawer-foot .spacer{ flex:1; }
  .fgrid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 12px; }
  .fgrid .full{ grid-column:1 / -1; }
  @media (max-width:480px){ .fgrid{ grid-template-columns:minmax(0,1fr); } }
  .field label{ display:block; font-size:11.5px; color:var(--muted); margin-bottom:4px; }
  .field input, .field select, .field textarea{ width:100%; font-size:13.5px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:var(--surface-2); }
  .field textarea{ resize:vertical; min-height:70px; line-height:1.45; }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--accent); background:var(--surface); outline:none; }
  .hint{ font-size:11.5px; color:var(--muted); margin-top:4px; }
  .sec-h{ font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); margin:0 0 8px; display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
  .mini-list{ display:flex; flex-direction:column; gap:6px; }
  .mini{ display:flex; gap:8px; align-items:flex-start; font-size:13px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface-2); }
  .mini .grow{ flex:1; min-width:0; overflow-wrap:anywhere; }
  .mini .when{ font-size:11.5px; color:var(--muted); white-space:nowrap; }
  .mini.link{ cursor:pointer; text-align:left; width:100%; }
  .mini.link:hover{ border-color:var(--accent); }
  .inline-add{ display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
  .inline-add input, .inline-add select{ font-size:13px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
  .inline-add input[type="text"]{ flex:1 1 200px; min-width:0; }
  .confirm{ font-size:12.5px; color:var(--red); display:inline-flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .empty-mini{ font-size:12.5px; color:var(--muted); }
  /* ---------- corbeille et suppression ---------- */
  .row-del{
    border:none; background:none; color:var(--muted); cursor:pointer; padding:4px 6px; border-radius:6px;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  .row-del svg{ width:15px; height:15px; }
  .row-del:hover{ color:var(--red); background:var(--red-soft); }
  .rec{ grid-template-columns:minmax(0,2.2fr) minmax(0,2fr) auto auto auto; }
  @media (max-width:720px){
    .rec{ grid-template-columns:minmax(0,1fr) auto auto; }
    .rec-mid, .rec-follow{ grid-column:1 / -1; }
  }
  .pcard{ position:relative; padding-right:30px; }
  .pcard .row-del{ position:absolute; top:5px; right:4px; }
  .mini .row-del{ margin:-3px -4px -3px 0; }
  .trash-intro{ margin:0; font-size:13px; color:var(--muted); max-width:62ch; }
  .trash-group{ margin-bottom:18px; }
  .trash-group h3{ font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); margin:0 0 8px; }
  .trash-row{
    display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center;
    padding:10px 14px; border-bottom:1px solid var(--border);
  }
  .trash-row:last-child{ border-bottom:none; }
  .trash-t{ font-size:13.5px; font-weight:500; overflow-wrap:anywhere; }
  .trash-s{ font-size:12px; color:var(--muted); margin-top:2px; }
  .trash-act{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
  @media (max-width:560px){ .trash-row{ grid-template-columns:minmax(0,1fr); } .trash-act{ justify-content:flex-start; } }
  .open-link{ display:inline-block; margin-top:6px; font-size:12.5px; font-weight:600; color:var(--accent); text-decoration:none; }
  .open-link:hover{ text-decoration:underline; }
  .rec-od{ font-size:10px; font-family:"IBM Plex Mono", monospace; letter-spacing:.06em; color:var(--accent); margin-left:6px; }
  .commission-out{ font-size:12.5px; color:var(--green); font-weight:600; margin-top:4px; }

  /* ---------- idées (brainstorm) ---------- */
  .idea-add{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
  .idea-add input[type="text"]{ flex:1 1 320px; min-width:0; font-size:13.5px; padding:9px 11px; border:1px solid var(--border); border-radius:9px; background:var(--surface); }
  .idea-add select{ font-size:12.5px; padding:9px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--muted); }
  .idea-wall{ columns:4 220px; column-gap:12px; }
  @media (max-width:640px){ .idea-wall{ columns:1 220px; } }
  .idea-card{
    break-inside:avoid; margin-bottom:12px; background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--idea-c, var(--accent));
    border-radius:10px; padding:11px 12px 10px; box-shadow:var(--shadow); position:relative;
  }
  .idea-card .row-del{ position:absolute; top:5px; right:4px; }
  .idea-top{ display:flex; align-items:center; justify-content:space-between; gap:6px; padding-right:22px; }
  .idea-tag-sel{ font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; border:none; background:var(--idea-soft, var(--accent-soft)); color:var(--idea-c, var(--accent)); border-radius:20px; padding:2px 8px; cursor:pointer; }
  .idea-title{ font-size:13.5px; font-weight:600; line-height:1.35; margin-top:7px; overflow-wrap:anywhere; cursor:pointer; }
  .idea-title:hover{ background:var(--accent-soft); border-radius:4px; }
  .idea-note{ font-size:12.5px; color:var(--muted); line-height:1.4; margin-top:5px; overflow-wrap:anywhere; cursor:pointer; white-space:pre-wrap; }
  .idea-note:hover{ background:var(--accent-soft); border-radius:4px; }
  .idea-note.empty{ font-style:italic; opacity:.6; }
  .idea-when{ font-size:10.5px; color:var(--muted); margin-top:7px; font-family:"IBM Plex Mono", monospace; }
  .idea-card textarea{ width:100%; font-size:13px; line-height:1.4; padding:5px 6px; border:1px solid var(--accent); border-radius:6px; background:var(--surface); resize:vertical; font-family:inherit; }

  /* ---------- réseaux sociaux ---------- */
  .plat-badge{ display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:700; letter-spacing:.02em; padding:2px 7px; border-radius:20px; white-space:nowrap; }
  .plat-badge .dot2{ width:6px; height:6px; border-radius:50%; background:currentColor; }
  .fmt-tag{ font-size:10.5px; color:var(--muted); background:var(--grey-soft); border-radius:6px; padding:1px 6px; }
  .soc-card{ display:flex; flex-direction:column; gap:6px; }
  .soc-top{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
  .soc-title{ font-size:13px; font-weight:600; line-height:1.3; cursor:pointer; }
  .soc-title:hover{ background:var(--accent-soft); border-radius:4px; }
  .soc-brief{ font-size:12px; color:var(--muted); line-height:1.4; cursor:pointer; white-space:pre-wrap; overflow-wrap:anywhere; }
  .soc-brief:hover{ background:var(--accent-soft); border-radius:4px; }
  .soc-brief.empty{ font-style:italic; opacity:.6; }
  .soc-foot{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:11px; color:var(--muted); margin-top:2px; }
  .soc-link{ color:var(--accent); text-decoration:none; font-weight:600; }
  .soc-link:hover{ text-decoration:underline; }
  .soc-card textarea, .soc-card input{ width:100%; font-size:12.5px; padding:5px 6px; border:1px solid var(--accent); border-radius:6px; background:var(--surface); font-family:inherit; }
  .soc-add{ padding:9px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:6px; }
  .soc-add input, .soc-add select, .soc-add textarea{ font-size:12.5px; padding:6px 8px; border:1px solid var(--border); border-radius:7px; background:var(--surface); width:100%; }
  .soc-add-row{ display:flex; gap:6px; }
  .soc-add-row select{ flex:1; min-width:0; }
  .cr-link-row{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:2px; }
  .cr-link-sel{ font-size:11.5px; padding:4px 6px; border:1px solid var(--border); border-radius:7px; background:var(--surface); color:var(--muted); max-width:100%; }
  .cr-link-chip{ display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--accent); background:var(--accent-soft); border:none; border-radius:6px; padding:2px 7px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .cr-link-chip .k{ font-family:"IBM Plex Mono", monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; opacity:.8; }

  .whoami{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--muted); }
  .whoami-name{ white-space:nowrap; }
  .head-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
  a.whoami-name{ color:inherit; text-decoration:underline dotted; text-underline-offset:3px; }
  a.whoami-name:hover{ color:var(--accent); }
