/* agenda.css — Agenda / relances view. All selectors scoped under #agenda,
   classes prefixed .ag- to avoid clashing with the portail's base style.css. */
#agenda{
  --ag-cyan:#00f0ff; --ag-purple:#a855f7; --ag-green:#06ffa5; --ag-orange:#ff6b35;
  --ag-red:#f7365e; --ag-card:rgba(20,22,38,.55); --ag-line:rgba(0,240,255,.14);
  --ag-muted:#8a90b8;
}

/* KPI widgets */
#agenda .ag-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
#agenda .ag-kpi{position:relative;padding:16px;border-radius:16px;overflow:hidden;
  background:var(--ag-card);border:1px solid var(--ag-line);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#agenda .ag-kpi .ag-cap{font-size:12px;color:var(--ag-muted)}
#agenda .ag-kpi .ag-val{font-size:30px;font-weight:800;letter-spacing:-.03em;margin:6px 0 8px}
#agenda .ag-kpi .ag-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
#agenda .ag-kpi .ag-bar i{display:block;height:100%;border-radius:6px}
#agenda .ag-kpi.c1 .ag-val{color:var(--ag-cyan);text-shadow:0 0 16px rgba(0,240,255,.55)}
#agenda .ag-kpi.c1 .ag-bar i{background:var(--ag-cyan)}
#agenda .ag-kpi.c2 .ag-val{color:var(--ag-purple);text-shadow:0 0 16px rgba(168,85,247,.55)}
#agenda .ag-kpi.c2 .ag-bar i{background:var(--ag-purple)}
#agenda .ag-kpi.c3 .ag-val{color:var(--ag-green);text-shadow:0 0 16px rgba(6,255,165,.5)}
#agenda .ag-kpi.c3 .ag-bar i{background:var(--ag-green)}
#agenda .ag-kpi.c4 .ag-val{color:var(--ag-orange);text-shadow:0 0 16px rgba(255,107,53,.5)}
#agenda .ag-kpi.c4 .ag-bar i{background:var(--ag-orange)}
#agenda .ag-kpi .ag-corner{position:absolute;top:8px;right:8px;width:14px;height:14px;
  border:2px solid rgba(0,240,255,.4);border-left:0;border-bottom:0;border-radius:0 6px 0 0}

/* layout */
#agenda .ag-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
#agenda .ag-panel{background:var(--ag-card);border:1px solid var(--ag-line);border-radius:18px;
  padding:18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#agenda .ag-panel h3{margin:0 0 14px;font-size:15px;display:flex;align-items:center;gap:8px}
#agenda .ag-panel h3 .ag-dot{width:8px;height:8px;border-radius:50%;background:var(--ag-cyan);
  box-shadow:0 0 10px var(--ag-cyan)}

/* calendar */
#agenda .ag-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#agenda .ag-mo{font-size:15px;font-weight:700}
#agenda .ag-nav{display:flex;gap:6px}
#agenda .ag-nav button{width:30px;height:30px;border-radius:9px;border:1px solid var(--ag-line);
  background:rgba(255,255,255,.03);color:#e8ecff;cursor:pointer;font-size:15px;transition:.2s}
#agenda .ag-nav button:hover{border-color:rgba(0,240,255,.4);color:var(--ag-cyan)}
#agenda .ag-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
#agenda .ag-dow span{text-align:center;font-size:11px;color:var(--ag-muted);text-transform:uppercase;letter-spacing:.05em}
#agenda .ag-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
#agenda .ag-day{aspect-ratio:1/.92;border-radius:11px;border:1px solid rgba(255,255,255,.05);
  padding:6px 7px;background:rgba(255,255,255,.015);font-size:12.5px;position:relative;cursor:pointer;transition:.15s}
#agenda .ag-day:hover{border-color:rgba(0,240,255,.35);background:rgba(0,240,255,.04)}
#agenda .ag-day.out{opacity:.28}
#agenda .ag-day.today{border-color:var(--ag-cyan);box-shadow:0 0 0 1px var(--ag-cyan),0 0 16px rgba(0,240,255,.25) inset}
#agenda .ag-day .ag-n{font-weight:600;color:var(--ag-muted)}
#agenda .ag-day.today .ag-n{color:var(--ag-cyan)}
#agenda .ag-pills{position:absolute;left:6px;right:6px;bottom:6px;display:flex;flex-direction:column;gap:3px}
#agenda .ag-pill{font-size:10.5px;line-height:1.35;padding:2px 6px;border-radius:6px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}
/* calendar pills coloured by prospect statut */
#agenda .ag-pill.sac{background:rgba(138,144,184,.16);color:#c3c8e6;border-color:rgba(138,144,184,.35)}
#agenda .ag-pill.sco{background:rgba(0,240,255,.14);color:#8fe9ff;border-color:rgba(0,240,255,.35)}
#agenda .ag-pill.sin{background:rgba(6,255,165,.14);color:#7dffcf;border-color:rgba(6,255,165,.35)}
#agenda .ag-pill.ssi{background:rgba(255,209,102,.16);color:#ffe0a0;border-color:rgba(255,209,102,.4)}
#agenda .ag-pill.ssu{background:rgba(247,54,94,.16);color:#ff8fa6;border-color:rgba(247,54,94,.35)}
#agenda .ag-more{font-size:10px;color:var(--ag-muted)}
#agenda .ag-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:11.5px;color:var(--ag-muted)}
#agenda .ag-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:middle}

/* relance / actions lists */
#agenda .ag-list{display:flex;flex-direction:column;gap:10px}
#agenda .ag-item{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:12px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05)}
#agenda .ag-tag{flex:none;min-width:44px;text-align:center;font-size:10px;font-weight:700;
  padding:5px 6px;border-radius:8px;text-transform:uppercase}
#agenda .ag-tag.late{background:rgba(247,54,94,.16);color:#ff8fa6}
#agenda .ag-tag.due{background:rgba(255,107,53,.16);color:#ffb590}
#agenda .ag-tag.soon{background:rgba(0,240,255,.12);color:#8fe9ff}
#agenda .ag-who{font-weight:600;font-size:13.5px}
#agenda .ag-meta{font-size:11.5px;color:var(--ag-muted);margin-top:2px}
#agenda .ag-go{margin-left:auto;align-self:center;font-size:11px;color:var(--ag-cyan);
  border:1px solid rgba(0,240,255,.3);padding:5px 10px;border-radius:8px;cursor:pointer;
  background:rgba(0,240,255,.05);white-space:nowrap}
#agenda .ag-go:hover{background:rgba(0,240,255,.12)}
#agenda .ag-empty{color:var(--ag-muted);font-size:13px;padding:8px 2px}

@media(max-width:860px){
  #agenda .ag-kpis{grid-template-columns:repeat(2,1fr)}
  #agenda .ag-grid{grid-template-columns:1fr}
}

/* ---- prospect cards : left accent coloured by statut ---- */
.p-card{border-left:3px solid transparent}
.p-card.sac{border-left-color:#8a90b8}
.p-card.sco{border-left-color:#00f0ff}
.p-card.sin{border-left-color:#06ffa5}
.p-card.ssi{border-left-color:#ffd166}
.p-card.ssu{border-left-color:#f7365e}

/* ---- Login screen ---- */
#loginOverlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;
  background:radial-gradient(900px 500px at 50% -10%,rgba(168,85,247,.18),transparent 60%),#05050a}
#loginOverlay .login-box{width:100%;max-width:340px;text-align:center;padding:34px 30px;border-radius:20px;
  background:rgba(20,22,38,.7);border:1px solid rgba(0,240,255,.18);backdrop-filter:blur(12px);
  box-shadow:0 0 50px rgba(0,240,255,.12)}
#loginOverlay .login-logo{width:56px;height:56px;margin:0 auto 14px;border-radius:15px;display:grid;place-items:center;
  font-weight:800;font-size:26px;color:#06121f;background:linear-gradient(135deg,#00f0ff,#a855f7);box-shadow:0 0 26px rgba(0,240,255,.5)}
#loginOverlay h2{margin:0 0 4px;font-size:19px;color:#e8ecff}
#loginOverlay .login-sub{margin:0 0 20px;font-size:13px;color:#8a90b8}
#loginOverlay input{width:100%;padding:11px 13px;margin-bottom:11px;border-radius:10px;border:1px solid rgba(0,240,255,.2);
  background:rgba(11,14,20,.8);color:#e8ecff;font-size:14.5px}
#loginOverlay input:focus{outline:none;border-color:rgba(0,240,255,.55);box-shadow:0 0 14px rgba(0,240,255,.2)}
#loginOverlay .login-err{color:#ff8fa6;font-size:12.5px;min-height:16px;margin-bottom:8px}
#loginOverlay #loginBtn{width:100%;padding:12px;border:none;border-radius:10px;cursor:pointer;font-weight:700;font-size:15px;
  color:#06121f;background:linear-gradient(135deg,#00f0ff,#a855f7);box-shadow:0 0 20px rgba(0,240,255,.4)}
#loginOverlay #loginBtn:hover{box-shadow:0 0 28px rgba(0,240,255,.6)}
#loginOverlay #loginBtn:disabled{opacity:.6;cursor:default}

/* ---- Avatar + account menu (top-right) ---- */
.avatar-wrap{position:relative;margin-left:10px}
.avatar-btn{width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;font-weight:800;font-size:15px;
  color:#06121f;background:linear-gradient(135deg,#00f0ff,#a855f7);box-shadow:0 0 16px rgba(0,240,255,.4)}
.avatar-btn:hover{box-shadow:0 0 22px rgba(0,240,255,.6)}
.avatar-menu{position:absolute;top:46px;right:0;min-width:220px;z-index:1000;display:none;flex-direction:column;
  background:rgba(20,22,38,.95);border:1px solid rgba(0,240,255,.2);border-radius:14px;padding:8px;
  backdrop-filter:blur(12px);box-shadow:0 10px 40px rgba(0,0,0,.5)}
.avatar-menu.open{display:flex}
.avatar-menu .avatar-head{padding:8px 10px 10px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:6px}
.avatar-menu .avatar-head strong{display:block;color:#e8ecff;font-size:14px}
.avatar-menu .avatar-head span{color:#8a90b8;font-size:11.5px}
.avatar-menu button{text-align:left;background:transparent;border:none;color:#c3c8e6;padding:9px 10px;border-radius:8px;
  cursor:pointer;font-size:13.5px}
.avatar-menu button:hover{background:rgba(0,240,255,.08);color:#fff}

/* delete button in accounts list */
.acct-del{flex:none !important;width:26px;height:26px;border-radius:7px;border:1px solid rgba(247,54,94,.3);
  background:rgba(247,54,94,.08);color:#ff8fa6;cursor:pointer;font-size:12px}
.acct-del:hover:not([disabled]){background:rgba(247,54,94,.2)}
.acct-del[disabled]{opacity:.3;cursor:default}

/* ---- Account management modals ---- */
.acct-overlay{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:20px;background:rgba(5,5,8,.8)}
.acct-box{width:100%;max-width:440px;background:rgba(20,22,38,.85);border:1px solid rgba(0,240,255,.2);
  border-radius:18px;padding:24px 26px;backdrop-filter:blur(12px);box-shadow:0 0 44px rgba(0,240,255,.1)}
.acct-box h3{margin:0 0 16px;color:#e8ecff;font-size:16px}
.acct-box input,.acct-box select{width:100%;padding:10px 12px;margin-bottom:10px;border-radius:9px;
  border:1px solid rgba(0,240,255,.2);background:rgba(11,14,20,.8);color:#e8ecff;font-size:14px}
.acct-box input:focus,.acct-box select:focus{outline:none;border-color:rgba(0,240,255,.55)}
.acct-add{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;align-items:start}
.acct-add #uAdd{grid-column:1/-1}
.acct-err{color:#ff8fa6;font-size:12.5px;min-height:16px;margin-bottom:6px}
.acct-list{max-height:220px;overflow:auto;margin:6px 0 14px;display:flex;flex-direction:column;gap:6px}
.acct-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:9px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:13px;color:#c3c8e6}
.acct-row b{color:#e8ecff;flex:0 0 110px} .acct-row span{flex:1}
.acct-role{flex:none !important;font-size:11px;color:#8a90b8;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1px 9px}
.acct-role.is-admin{color:#ffd166;border-color:rgba(255,209,102,.4)}
.acct-empty{color:#8a90b8;font-size:12.5px;padding:6px 2px}
.acct-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
@media(max-width:520px){.acct-add{grid-template-columns:1fr}}

/* ---- "← Accueil" pill in the top nav ---- */
.home-tab{display:inline-flex;align-items:center;text-decoration:none}
.home-tab:hover{color:#00f0ff}

/* ---- "Mon suivi" dashboard : objectives, charts, feed ---- */
#suivi .dash-card{background:rgba(20,22,38,.55);border:1px solid rgba(0,240,255,.14);border-radius:16px;
  padding:16px 18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-bottom:16px}
#suivi .dash-card h3{margin:0 0 14px;font-size:14.5px;display:flex;align-items:center;gap:8px;color:#e8ecff}
#suivi .dash-card h3 .dash-dot{width:8px;height:8px;border-radius:50%;background:#00f0ff;box-shadow:0 0 10px #00f0ff}
#suivi .dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#suivi .dash-grid .dash-card{margin-bottom:0}
#suivi .dash-card-wide{grid-column:1/-1}
#suivi .dash-hint{color:#8a90b8;font-size:11.5px;margin:10px 0 0}

/* objectives */
#suivi .obj-row{margin-bottom:13px}
#suivi .obj-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px;color:#e8ecff}
#suivi .obj-num{color:#8a90b8;font-size:12px}
#suivi .obj-inp{width:38px;background:rgba(11,14,20,.7);border:1px solid rgba(0,240,255,.25);color:#e8ecff;
  border-radius:6px;text-align:center;font-size:12px;padding:1px 3px}
#suivi .obj-bar{height:8px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden}
#suivi .obj-bar i{display:block;height:100%;border-radius:8px;transition:width .4s}

/* donut */
#suivi .dash-donut-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
#suivi .dash-legend2{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#c3c8e6}
#suivi .dash-legend2 i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:middle}
#suivi .dash-legend2 b{color:#fff}

/* horizontal bars */
#suivi .dash-bars{display:flex;flex-direction:column;gap:9px}
#suivi .dash-bar-row{display:flex;align-items:center;gap:10px;font-size:12.5px}
#suivi .dash-bar-row .dbl{flex:0 0 92px;color:#c3c8e6}
#suivi .dash-bar-row .dbt{flex:1;height:9px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
#suivi .dash-bar-row .dbt i{display:block;height:100%;border-radius:6px;transition:width .4s}
#suivi .dash-bar-row .dbv{flex:0 0 26px;text-align:right;color:#fff;font-weight:600}

/* sparkline */
#suivi .dash-spark{display:flex;align-items:flex-end;gap:5px;height:80px;padding:4px 0}
#suivi .dash-spark .dsp-col{flex:1;display:flex;align-items:flex-end;height:100%}
#suivi .dash-spark .dsp-col i{display:block;width:100%;border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#06ffa5,rgba(6,255,165,.25))}
#suivi .dash-spark-x{display:flex;justify-content:space-between;font-size:10.5px;color:#8a90b8;margin-top:4px}

/* activity feed */
#suivi .feed{display:flex;flex-direction:column;gap:7px}
#suivi .feed-item{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:9px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);font-size:12.5px}
#suivi .feed-ic{flex:none}
#suivi .feed-who{font-weight:600;color:#e8ecff;flex:0 0 150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#suivi .feed-det{color:#c3c8e6;flex:1}
#suivi .feed-date{color:#8a90b8;font-size:11px;white-space:nowrap}

/* conversion funnel */
#suivi .funnel{display:flex;flex-direction:column;gap:9px;margin-bottom:12px}
#suivi .fn-row{display:flex;align-items:center;gap:10px;font-size:12.5px}
#suivi .fn-l{flex:0 0 78px;color:#c3c8e6}
#suivi .fn-bar{flex:1;height:12px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
#suivi .fn-bar i{display:block;height:100%;border-radius:6px;transition:width .4s}
#suivi .fn-v{flex:0 0 26px;text-align:right;color:#fff;font-weight:700}
#suivi .conv-rates{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:#8a90b8;
  border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
#suivi .conv-rates b{color:#00f0ff}

/* overdue relances */
#suivi .badge-late{background:rgba(247,54,94,.2);color:#ff8fa6;border-radius:20px;padding:1px 9px;font-size:12px;margin-left:auto}
#suivi .late-list{display:flex;flex-direction:column;gap:7px}
#suivi .late-item{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:9px;
  background:rgba(247,54,94,.07);border:1px solid rgba(247,54,94,.22);font-size:12.5px}
#suivi .late-who{font-weight:600;color:#ffb6c6}
#suivi .late-meta{color:#8a90b8;font-size:11.5px} #suivi .late-meta b{color:#ff8fa6}
#suivi .late-item .ag-go{margin-left:auto;color:#ff8fa6;border-color:rgba(247,54,94,.35);background:rgba(247,54,94,.08)}

/* team performance */
#suivi .team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
#suivi .team-card{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06)}
#suivi .team-card strong{display:block;margin-bottom:8px;color:#e8ecff}
#suivi .team-stats{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#c3c8e6}

@media(max-width:760px){#suivi .dash-grid{grid-template-columns:1fr}#suivi .feed-who{flex-basis:100px}}

/* ---- Fiche prospect : contact fields, event buttons, timeline ---- */
.fiche-contact{display:grid;grid-template-columns:1.3fr 1.3fr .7fr;gap:10px;margin:14px 0}
.fiche-contact input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(0,240,255,.2);
  background:rgba(11,14,20,.7);color:#e2e8f0;font-size:13.5px}
.fiche-contact input:focus{outline:none;border-color:rgba(0,240,255,.55)}
.fiche-events{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px}
.fiche-events .ev-sel,.fiche-events .ev-btn,.fiche-events .ev-date{
  padding:7px 10px;border-radius:8px;border:1px solid rgba(168,85,247,.35);
  background:rgba(20,22,38,.6);color:#e2e8f0;font-size:12.5px;cursor:pointer;transition:.15s}
.fiche-events .ev-btn:hover,.fiche-events .ev-sel:hover{border-color:rgba(168,85,247,.7);box-shadow:0 0 12px rgba(168,85,247,.25)}
.fiche-events .ev-date{cursor:text}
.fiche-timeline{margin:8px 0 4px;display:flex;flex-direction:column;gap:6px;max-height:170px;overflow:auto}
.fiche-timeline .tl-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:9px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:12.5px}
.fiche-timeline .tl-ic{flex:none}
.fiche-timeline .tl-txt{color:#e8ecff}
.fiche-timeline .tl-date{margin-left:auto;color:#8a90b8;font-size:11px;white-space:nowrap}
.fiche-timeline .tl-empty{color:#8a90b8;font-size:12.5px;padding:4px 2px}
.fiche-save-row{margin:12px 0 2px;text-align:right}
#ficheSave{background:linear-gradient(135deg,#00f0ff,#a855f7);color:#06121f;border:none;
  padding:10px 20px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;
  box-shadow:0 0 18px rgba(0,240,255,.35)}
#ficheSave:hover{box-shadow:0 0 26px rgba(0,240,255,.55)}
@media(max-width:560px){.fiche-contact{grid-template-columns:1fr 1fr}}

/* ---- Ajouter un client (bouton + modale) ---- */
.filters .add-prospect { white-space: nowrap; }
.custom-badge {
  font-size: .62rem; font-weight: 700; vertical-align: middle;
  padding: 2px 7px; border-radius: 999px; margin-left: 6px;
  background: linear-gradient(90deg, var(--acc, #7c5cff), var(--acc2, #22d3ee));
  color: #06070d; letter-spacing: .02em;
}
.pa-sub { color: var(--mut, #8b93a7); font-size: .82rem; margin: -2px 0 12px; }
.pa-row { display: flex; gap: 10px; }
.pa-row > * { flex: 1; min-width: 0; }

/* ===================== CONTACTS (répertoire interactif) ===================== */
.ct-top { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:14px; }
.ct-title { display:flex; align-items:baseline; gap:10px; }
.ct-title h2 { margin:0; }
.ct-cnt { color:var(--mut,#8b93a7); font-size:.85rem; }
.ct-search {
  flex:1; min-width:220px; padding:11px 15px; border-radius:12px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); color:#fff; font-size:.95rem;
}
.ct-search:focus { outline:none; border-color:var(--acc,#7c5cff); }
.ct-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.ct-chip {
  padding:6px 13px; border-radius:999px; cursor:pointer; font-size:.82rem; font-weight:600;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); color:#c9cfdd; transition:.15s;
}
.ct-chip:hover { border-color:var(--acc,#7c5cff); color:#fff; }
.ct-chip.on { background:linear-gradient(90deg,var(--acc,#7c5cff),var(--acc2,#22d3ee)); color:#06070d; border-color:transparent; }
.ct-chip-n { opacity:.6; font-size:.72rem; }
.ct-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr)); gap:14px; }
.ct-card {
  background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09);
  border-radius:16px; padding:15px; display:flex; flex-direction:column; gap:9px; transition:.15s;
}
.ct-card:hover { border-color:rgba(124,92,255,.5); transform:translateY(-2px); }
.ct-head { display:flex; align-items:center; gap:11px; }
.ct-av {
  width:42px; height:42px; flex:0 0 42px; border-radius:50%; display:grid; place-items:center;
  font-weight:800; font-size:.95rem; color:#06070d;
  background:linear-gradient(135deg,var(--acc,#7c5cff),var(--acc2,#22d3ee));
}
.ct-id { display:flex; flex-direction:column; min-width:0; }
.ct-id strong { font-size:.98rem; line-height:1.2; }
.ct-sub { font-size:.78rem; color:var(--mut,#8b93a7); }
.ct-tags { display:flex; flex-wrap:wrap; gap:5px; }
.ct-tag { font-size:.68rem; font-weight:700; padding:2px 8px; border-radius:999px;
  background:rgba(124,92,255,.16); color:#c3b6ff; border:1px solid rgba(124,92,255,.3); }
.ct-tel { display:flex; align-items:center; gap:8px; font-size:.9rem; }
.ct-tel a { color:#fff; text-decoration:none; font-variant-numeric:tabular-nums; }
.ct-tel a:hover { color:var(--acc2,#22d3ee); }
.ct-flag { font-size:.78rem; color:var(--mut,#8b93a7); white-space:nowrap; }
.ct-tel2, .ct-note { font-size:.78rem; color:var(--mut,#8b93a7); }
.ct-mail a { color:var(--acc2,#22d3ee); font-size:.82rem; text-decoration:none; word-break:break-all; }
.ct-actions { display:flex; gap:7px; margin-top:2px; }
.ct-btn {
  flex:1; text-align:center; padding:8px 6px; border-radius:10px; font-size:.8rem; font-weight:700;
  text-decoration:none; cursor:pointer; border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05); color:#fff; transition:.15s;
}
.ct-btn.copy { flex:0 0 42px; }
.ct-btn.call:hover { background:rgba(52,211,153,.2); border-color:#34d399; }
.ct-btn.wa:hover { background:rgba(37,211,102,.2); border-color:#25d366; }
.ct-btn:hover { border-color:var(--acc,#7c5cff); }
.ct-empty { color:var(--mut,#8b93a7); grid-column:1/-1; }

/* ---- Contacts : édition de fiche ---- */
.ct-head { position:relative; }
.ct-edit {
  margin-left:auto; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:9px; padding:5px 8px; cursor:pointer; font-size:.8rem; line-height:1; color:#fff; transition:.15s;
}
.ct-edit:hover { border-color:var(--acc,#7c5cff); background:rgba(124,92,255,.18); }
.ct-lbl { display:block; font-size:.74rem; color:var(--mut,#8b93a7); margin:8px 0 3px; font-weight:600; }
.acct-box input[list], .acct-box textarea { width:100%; }
