/* Thème « doux » : fond gris clair, grandes cartes blanches très arrondies,
   navigation et boutons en pilules, titres en casse normale. Chargé APRÈS le
   <style> de chaque page : il ne fait que redéfinir des règles existantes. */
:root{
  --ground:#e9eaee; --surface:#fff; --s2:#f4f5f7; --s3:#eceef2;
  --ink:#14161b; --ink2:#5b6170; --ink3:#9ba0ab;
  --line:#e3e5ea; --line2:#eef0f3;
  --accent:#2457f5; --accent-ink:#1b45d6; --accent-bg:#eaf0ff;
  --good:#1fb573; --good-bg:#e3f6ec; --good-ink:#11774a;
  --warn:#e3a008; --warn-bg:#fff3d4; --warn-ink:#865c00;
  --crit:#e5484d; --crit-bg:#fdecec; --crit-ink:#b42329;
  --violet:#9a7cf2; --violet-bg:#f1edfe; --violet-ink:#5b3fc4;
  --sun:#f8d34a; --sun-ink:#4a3a00;
  --sh:0 1px 2px rgba(16,20,30,.04);
  --sh2:0 24px 60px rgba(16,20,30,.16),0 4px 14px rgba(16,20,30,.06);
  --r:24px; --r2:12px;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --disp:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{font-family:var(--sans);font-size:14px;background:var(--ground)}
::selection{background:#d6e1ff}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- contrôles ---------- */
.btn{border-radius:999px;border:1px solid transparent;background:var(--s2);padding:8px 16px;font-weight:500;color:var(--ink)}
.btn:hover{background:var(--s3)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(36,87,245,.22)}
.btn.primary:hover{background:var(--accent-ink)}
.btn.danger{background:var(--crit-bg);border-color:transparent;color:var(--crit-ink)}
.btn.sm{padding:5px 12px;font-size:12.5px}
.btn.ghost{background:transparent}
.btn.ghost:hover{background:var(--s2)}
input,select,textarea{border-radius:12px;background:var(--s2);border:1px solid transparent;padding:8px 11px}
input:hover,select:hover,textarea:hover{border-color:var(--line)}
input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}
.chip{border-radius:999px;padding:5px 13px;border:1px solid var(--line);background:#fff}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tag{border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:500;background:var(--s3);color:var(--ink2)}
/* Une pastille d'état porte un point de sa couleur, comme « • En ligne ». */
.tag.good,.tag.warn,.tag.crit,.tag.acc{display:inline-flex;align-items:center;gap:5px}
.tag.good::before,.tag.warn::before,.tag.crit::before,.tag.acc::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.tag.good{background:var(--good-bg);color:var(--good-ink)} .tag.warn{background:var(--warn-bg);color:var(--warn-ink)}
.tag.crit{background:var(--crit-bg);color:var(--crit-ink)} .tag.acc{background:var(--accent-bg);color:var(--accent-ink)}
.muted,.c-meta{color:var(--ink3)}
a{color:var(--accent-ink)}

/* ---------- barre du haut : trois capsules sur le fond gris ---------- */
:root{--top:72px}
header.top{height:var(--top);background:var(--ground);border-bottom:0;padding:0 16px;gap:10px}
.brand{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 18px 8px 8px;font-family:var(--disp);font-weight:600;font-size:15.5px;letter-spacing:-.01em}
.brand::before{content:'';width:32px;height:32px;border-radius:50%;background:var(--accent-bg) url('/favicon.svg') center/18px no-repeat}
.nav{background:#fff;border-radius:999px;padding:5px;gap:2px}
.nav a{border-radius:999px;padding:8px 16px;font-weight:500;color:var(--ink)}
.nav a:hover{background:var(--s2)}
.nav a.on{background:var(--accent);color:#fff}
.nav a.on .nbadge{background:#fff;color:var(--accent)}
.nav .sep{margin:9px 4px;background:var(--line)}
.gs input{background:#fff;border-radius:999px;padding:11px 40px 11px 38px;border:1px solid transparent}
.gs .ic{left:15px}
.gs kbd{right:12px;background:var(--s2);border-radius:6px}
.pal{border-radius:20px;border:0}
.who{background:#fff;border-radius:999px;padding:6px 6px 6px 16px;font-size:12.5px;color:var(--ink2)}

/* ---------- disposition ---------- */
.wrap{gap:16px;padding:0 16px 16px}
aside{background:#fff;border:0;border-radius:var(--r);height:calc(100vh - var(--top) - 16px);top:var(--top)}
.lhead{background:#fff;border-bottom:1px solid var(--line2);padding:16px 16px 12px;border-radius:var(--r) var(--r) 0 0}
.lhead input{border-radius:999px}
.item{margin:4px 8px;border-radius:16px;border-bottom:0;padding:11px 14px}
.item.on{background:var(--accent-bg);box-shadow:none}
.item b{font-size:14px}
main{padding:0}
.sbody{padding:0}

/* ---------- fiche ---------- */
.shead{top:var(--top);background:#fff;border:0;border-radius:var(--r);padding:24px 28px 0;margin-bottom:16px}
.shead h1{font-size:30px;font-weight:600;letter-spacing:-.025em}
.shead .meta{margin:8px 0 14px;gap:10px}
.shead .meta .link{background:var(--s2);border-radius:999px;padding:4px 12px;text-decoration:none;color:var(--ink)}
.shead .acts{padding-bottom:16px}
.tabs{gap:4px}
.tabs button{border:0;border-radius:999px;padding:8px 15px;margin:0 0 14px;color:var(--ink2)}
.tabs button:hover{background:var(--s2);color:var(--ink)}
.tabs button.on{background:var(--ink);color:#fff}
.tabs button.on .n{background:rgba(255,255,255,.2);color:#fff}
.card{border:0;border-radius:var(--r);box-shadow:none;padding:24px 26px;margin-bottom:16px}
.card h2{font-family:var(--disp);font-size:20px;font-weight:600;letter-spacing:-.015em;text-transform:none;color:var(--ink);margin:0 0 16px}
.card h2 .sp{font-size:12.5px;color:var(--ink3)}
.card h2 input{font-size:13px}
.card summary{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}
.two,.three{gap:16px}
.kv{gap:9px 16px;font-size:13.5px}
.kv dt{color:var(--ink2)}
.note{border-radius:16px}
table th{font-weight:500;color:var(--ink3);text-transform:none;letter-spacing:0}
.comment{border-radius:14px}

/* ---------- tuiles : chiffre, libellé, rond d'icône ---------- */
.tiles{gap:12px}
.tile{border:0;border-radius:20px;background:var(--s2);padding:16px 18px;display:flex;flex-direction:column;gap:2px;position:relative}
.dash .tile{background:#fff}
.tile:hover{box-shadow:0 8px 24px rgba(16,20,30,.07)}
.tile .n{font-size:30px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.tile .l{font-size:13px;color:var(--ink2)}
.tile.crit .n{color:var(--crit)} .tile.warn .n{color:#c78900} .tile.acc .n{color:var(--accent)}
.tile .ico{position:absolute;right:14px;top:14px}
.tiles.compact .tile{background:var(--s2)}
.ico{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent-bg);color:var(--accent);flex:none}
.ico svg{width:18px;height:18px}
.ico.crit{background:var(--crit-bg);color:var(--crit)} .ico.warn{background:var(--warn-bg);color:#c78900}
.ico.good{background:var(--good-bg);color:var(--good)} .ico.violet{background:var(--violet-bg);color:var(--violet)}

/* ---------- tableau de bord ---------- */
.dash{padding:0 16px 16px}
.dash-hero{background:#fff;border-radius:var(--r);padding:28px 30px;margin-bottom:16px;display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.dash-hero h1{font-family:var(--disp);font-size:40px;font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:0}
.dash-hero p{margin:8px 0 0;color:var(--ink2);font-size:14.5px}
.dash-hero .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.dofirst{background:var(--sun);color:var(--sun-ink);border-radius:20px;padding:18px 20px;display:block;text-decoration:none;margin-bottom:12px}
.dofirst .top1{display:flex;align-items:center;gap:10px}
.dofirst b{font-size:17px;font-weight:600;color:#1d1700}
.dofirst .badge{margin-left:auto;background:#fff;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.dofirst .badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}
.dofirst p{margin:6px 0 12px;color:#5c4a00;font-size:13.5px}
.dofirst .pills{display:flex;gap:8px;flex-wrap:wrap}
.dofirst .pills span{background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;color:var(--ink)}
.dofirst.calm{background:var(--good-bg);color:var(--good-ink)} .dofirst.calm b{color:var(--good-ink)}
.nextlist .nx{display:block;border:1px solid var(--line2);border-radius:18px;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:inherit}
.nextlist .nx:hover{background:var(--s2)}
.nextlist .nx b{display:block;font-weight:600}
.nextlist .nx span{color:var(--ink2);font-size:13px}

/* ---------- planning : blocs colorés arrondis, indisponibilités hachurées ---------- */
.sc{padding:0 16px 16px}
.sc-bar,.sc-filters,.sc-stats{border:0}
.sc-filters,.sc-stats,.sc-date{background:#fff;border-radius:999px}
.sc-filters{border-radius:20px;padding:10px 12px}
.sc-stat{border-right:1px solid var(--line2);padding:10px 18px}
.sc-stat b{font-size:20px;font-weight:600;letter-spacing:-.02em}
.sc-stat span{text-transform:none;letter-spacing:0;font-size:12px}
.sc-unal{border:0;background:var(--sun);border-radius:20px;padding:14px 16px}
.sc-unal h3{color:var(--sun-ink);text-transform:none;letter-spacing:0;font-size:15px;font-weight:600}
.sc-ucard{border:0;border-radius:14px;padding:9px 12px}
.sc-ucard:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.sc-grid{border:0;border-radius:var(--r);background:#fff}
.sc-row{min-height:58px;border-bottom:1px solid var(--line2)}
.sc-head{border-bottom:0;background:#fff}
.sc-name{border-right:0;padding:10px 14px}
.sc-name b{font-size:14px;font-weight:600}
.sc-row:hover .sc-name{background:transparent}
.sc-hours{height:auto;padding:10px 0 8px;gap:4px}
.sc-hours i{border:0;background:var(--s2);border-radius:10px;text-align:center;padding:5px 0;margin:0 2px;font-size:11.5px;color:var(--ink2)}
.sc-lane .tick{background:transparent}
.sc-lane .tick.h4{background:transparent}
.sc-now{width:0;background:none;border-left:2px dashed var(--accent);opacity:1}
.sc-head .sc-now::before{background:var(--accent);width:10px;height:10px;left:-6px}
.sc-off{top:6px;bottom:6px;border-radius:12px;background:repeating-linear-gradient(135deg,#e6e8ed 0 6px,#f3f4f7 6px 12px);border:0}
.sc-job{top:6px;bottom:6px;border-radius:14px;border:0;padding:6px 10px;color:#fff;box-shadow:0 6px 16px rgba(16,20,30,.10);background:linear-gradient(135deg,#7fb2f8,#4f8ef3)}
.sc-job b{color:#fff;font-weight:600}
.sc-job small{color:rgba(255,255,255,.85)}
.sc-job.book{background:linear-gradient(135deg,#7fb2f8,#4f8ef3)}
.sc-job.done{background:linear-gradient(135deg,#46d394,#1fb573)}
.sc-job.other{background:linear-gradient(135deg,#b9a3f7,#9a7cf2)}
.sc-job.cancel{background:#f1f2f5;color:var(--ink3);box-shadow:none}
.sc-job.cancel b,.sc-job.cancel small{color:var(--ink3)}
.sc-job:hover{filter:brightness(1.04);transform:translateY(-1px)}
.sc-job.sel{outline:3px solid #fff;box-shadow:0 0 0 5px var(--accent)}
.sc-note{border-top:0;border-radius:0 0 14px 14px}
.sc-side{border-radius:var(--r) 0 0 var(--r);border-left:0}
.aweek{border-radius:18px;background:#fff}

/* ---------- barres de journée (fiches, remplaçants) ---------- */
.tl,.cbar,.wbar{border-radius:10px;background:var(--s2)}
.tl .job,.cbar i.job,.wbar i.job{background:linear-gradient(135deg,#7fb2f8,#4f8ef3);border-radius:8px;color:#fff}
.tl .off,.cbar i.off,.wbar i.off{background:repeating-linear-gradient(135deg,#e2e5ea 0 5px,#f1f2f5 5px 10px);border-radius:8px}
.candlist{border:0;border-radius:20px;background:#fff}
.candhead{background:transparent}
.candrow{border-bottom:1px solid var(--line2)}
.candrow:hover{background:var(--s2)}

/* ---------- calendrier client ---------- */
.ccal{border:0;border-radius:18px}
.ccal-h span{background:transparent;text-transform:none;letter-spacing:0;font-size:12px}
.ccal-d{border-color:var(--line2)}
.ccal-b{border-radius:8px;color:#fff;background:linear-gradient(135deg,#7fb2f8,#4f8ef3)}
.ccal-b.done{background:linear-gradient(135deg,#46d394,#1fb573)}
.ccal-b.noagent{background:var(--sun);color:var(--sun-ink)}
.ccal-b.cancel{background:#f1f2f5;color:var(--ink3)}

/* ---------- fenêtre d'action ---------- */
.act-md{border-radius:26px;padding:26px 28px}
.act-md h3{font-size:22px;font-weight:600;letter-spacing:-.02em}
.act-note{border-radius:14px;border:0}

/* ================= cockpit (index.html) ================= */
.top .pill{background:var(--accent-bg);border-radius:999px}
.top > .tabs{background:#fff;border-radius:999px;padding:5px}
.tb{border-radius:999px;padding:8px 16px;font-family:var(--sans);font-weight:500;color:var(--ink)}
.tb:hover{background:var(--s2)}
.tb.on{background:var(--accent);color:#fff;box-shadow:none}
.top input[type=date],.top input[type=search]{background:#fff;border:0;border-radius:999px;padding:9px 14px}
.sess{background:#fff;border-radius:999px;padding:8px 14px}
body:not(.embed) header.top{height:auto;padding:12px 16px}
body.embed header.top{height:auto;padding:12px 16px 4px}
.wrap > .card{border:0;border-radius:var(--r)}
.qsec{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:600;color:var(--ink);padding:14px 14px 6px}
.qsec .n{color:var(--ink3)}
.qi{border-radius:16px;padding:11px 12px}
.qi .b{width:4px;border-radius:4px}
.qi.on{background:var(--accent-bg);border-color:transparent}
.qi .m b{font-size:14px}
.dh{padding:24px 26px 16px;border-bottom:0}
.dh h2{font-size:28px;font-weight:600;letter-spacing:-.025em}
.body{padding:0 26px 26px;gap:16px}
.blk{border:0;border-radius:20px;background:var(--s2)}
.blk>.h{background:transparent;border:0;font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px;font-weight:600;color:var(--ink);padding:16px 18px 4px}
.blk>.c{padding:10px 18px 18px}
.act{border-radius:999px;border:1px solid transparent;background:#fff;padding:9px 16px}
.act.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.act.ghost{background:transparent}
.panel{border:0;border-radius:var(--r)}
.panel > .ph{background:transparent;border:0;font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}
.callcard{border-radius:20px}
.key{border-radius:18px;border:0;background:var(--s2)}
.dialnum{border:0;border-radius:18px}
.ctrl button{border-radius:999px}
.taskbtn{border-radius:16px}
.lbox{border:0;border-radius:26px;padding:30px 28px}
.lfield input{border:0;border-radius:12px}
#drawer{border-radius:var(--r) 0 0 var(--r)}

@media (max-width:1000px){
  header.top{height:auto;flex-wrap:wrap;padding:10px 12px}
  .dash-hero h1{font-size:30px}
}
@media (prefers-reduced-motion:reduce){.sc-job:hover{transform:none}}

/* Nom d'agent du planning : pastille aux initiales, comme une carte */
.sc-name-av{flex-direction:row!important;align-items:center;gap:10px}
.sc-name-av>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.av2{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:12px;font-weight:600;flex:none;letter-spacing:.02em}
.sc-hours i{font-family:var(--sans)}

/* ---------- retouches du 27.09 ---------- */
/* Le nom de marque sans capsule blanche : juste le rond et le mot. */
.brand{background:transparent;padding-left:0}
/* Compte en haut à droite : un bouton, et son menu (son, relecture, déconnexion). */
.who{position:relative;padding:0;background:transparent}
.acct{display:inline-flex;align-items:center;gap:8px;border:0;background:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.acct:hover{background:var(--s2)}
.acct .caret{font-size:10px;color:var(--ink3)}
.acct.armed::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--good)}
.acctmenu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;background:#fff;border-radius:18px;box-shadow:var(--sh2);padding:6px;min-width:290px;display:flex;flex-direction:column}
.acctmenu button{border:0;background:none;text-align:left;padding:10px 12px;border-radius:12px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
.acctmenu button:hover{background:var(--s2)}
/* La file du jour occupe tout l'écran, sans barre de défilement de page. */
#cockpit{height:calc(100vh - var(--top) - 16px)!important;border-radius:var(--r)}
/* Cockpit : plus de date, de filtre ni de pastille de session. */
#date,#qsearch,.sess{display:none!important}
.wrap{max-width:none}
body.embed header.top{display:none}
body.embed{overflow:hidden}
body.embed .wrap{height:100vh;padding:0;gap:16px;grid-template-rows:100%;align-items:stretch}
body.embed #queue,body.embed #detail{height:100%;overflow:auto;margin:0}
body.embed .qlist{max-height:none;overflow:visible}

/* Listes de tâches : une ligne de contexte, la description sur deux lignes au plus */
.trows .tmeta{font-size:12.5px;color:var(--ink2);margin-bottom:2px}
.trows .tmeta b{color:var(--ink);font-weight:600}
.trows .tdesc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}

/* ---------- retouches du 27.09 (2) ---------- */
/* Tuiles qui ouvrent un onglet : un vrai bouton ; les autres ne font plus semblant d'être cliquables. */
button.tile{font:inherit;text-align:left;cursor:pointer;width:100%}
div.tile{cursor:default}
div.tile:hover{box-shadow:none}
/* Date et zoom rangés dans la barre de filtres du planning */
.sc-filters .sc-date{background:var(--s2);border:0}
.sc-filters .sc-date input{background:transparent}
/* Avis « boîte e-mail en travaux » */
.notice-ov{position:fixed;inset:0;z-index:400;background:rgba(20,22,27,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.notice{background:#fff;border-radius:26px;max-width:520px;width:100%;padding:28px 30px;border-top:8px solid var(--crit);box-shadow:var(--sh2)}
.notice h3{margin:0 0 12px;font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--crit-ink)}
.notice p{margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--ink)}
/* Agents proposés : les étiquettes longues passent à la ligne au lieu de déborder */
.cwho{min-width:0}
.cwho .tag,.ctags .tag{white-space:normal;max-width:100%;line-height:1.35}
.candrow>div{min-width:0}
.cinfo{row-gap:4px}

/* ---------- simplification ---------- */
/* Onglets d'usage rare sous « Plus » */
.tmore{position:relative;display:inline-block}
.tmore-btn{border:0;border-radius:999px;padding:8px 15px;margin:0 0 14px;background:transparent;color:var(--ink2);font:inherit;font-weight:500;cursor:pointer}
.tmore-btn:hover{background:var(--s2);color:var(--ink)}
.tmore-btn.on{background:var(--ink);color:#fff}
.tmore-list{position:absolute;left:0;top:calc(100% - 8px);z-index:60;background:#fff;border-radius:18px;box-shadow:var(--sh2);padding:6px;display:flex;flex-direction:column;min-width:220px}
.tmore-list button{margin:0!important;text-align:left;border-radius:12px!important}
.tmore-list button.on{background:var(--s2)!important;color:var(--ink)!important}
/* Explications repliées derrière un « i » */
.help{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:0;background:var(--s2);color:var(--ink3);font:600 11px/1 var(--sans);cursor:pointer;margin-left:-4px}
.help:hover{background:var(--accent-bg);color:var(--accent)}
.card .c-meta[data-tidy]:not([hidden]){background:var(--s2);border-radius:12px;padding:10px 12px;color:var(--ink2)}
/* Cockpit : créneau cherché et filtres repliés */
details.sq>summary,details.flt>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px}
details.sq>summary::-webkit-details-marker,details.flt>summary::-webkit-details-marker{display:none}
details.flt{margin-bottom:10px}
details.flt>summary::after{content:'▾';color:var(--ink3);font-size:10px}
/* Onglets pas encore prêts : grisés, non cliquables, la raison au survol */
.nav a.off{color:var(--ink3);cursor:not-allowed;position:relative}
.nav a.off:hover{background:transparent}
.nav a.off::after{content:attr(data-tip);position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:260px;white-space:normal;background:var(--ink);color:#fff;font-size:12.5px;line-height:1.45;padding:10px 12px;border-radius:12px;box-shadow:var(--sh2);opacity:0;pointer-events:none;transition:opacity 120ms ease;z-index:90}
.nav a.off:hover::after,.nav a.off:focus-visible::after{opacity:1}

/* ================= refonte : une fiche, des sections ================= */
/* En-tête de fiche : l'identité à gauche, les gestes à droite, sur une ligne */
.shead{padding:22px 28px}
.shead-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.shead-id{flex:1;min-width:260px}
.shead .meta{margin:6px 0 0}
.shead .acts{padding-bottom:0}
.shead h1 .tsub{font-size:18px;font-weight:500;color:var(--ink3);letter-spacing:-.01em;margin-left:4px}
/* Sections repliées sous l'essentiel */
.secs{display:flex;flex-direction:column;gap:10px;margin-top:4px}
details.sec{background:#fff;border-radius:20px}
details.sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:16px 22px;font-size:15px;font-weight:600;border-radius:20px}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary:hover{background:var(--s2)}
details.sec>summary .n{background:var(--s3);color:var(--ink2);font-size:12px;font-weight:500;padding:1px 8px;border-radius:999px}
details.sec>summary .ss{color:var(--ink3);font-weight:400;font-size:13px}
details.sec>summary .chev{margin-left:auto;color:var(--ink3);font-size:18px;transition:transform 160ms var(--ease-out)}
details.sec[open]>summary .chev{transform:rotate(90deg)}
details.sec[open]>summary{border-bottom:1px solid var(--line2);border-radius:20px 20px 0 0}
details.sec .sec-body{padding:6px 6px 0}
details.sec .sec-body>.card,details.sec .sec-body>.two>.card,details.sec .sec-body>div>.card{box-shadow:none;margin-bottom:6px}
@media (prefers-reduced-motion:reduce){details.sec>summary .chev{transition:none}}

/* Fiche ménage : les faits à gauche, les agents à droite */
.bk2{display:grid;grid-template-columns:minmax(340px,1fr) minmax(520px,1.7fr);gap:16px;align-items:start}
@media (max-width:1300px){.bk2{grid-template-columns:1fr}}
.facts{display:flex;flex-direction:column;gap:0;padding:10px 26px}
.fact{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line2);align-items:baseline}
.fact:last-child{border-bottom:0}
.fk{color:var(--ink3);font-size:13px}
.fact b{font-weight:600}
.fact .sub{color:var(--ink2);font-size:13px;line-height:1.5;margin-top:2px}

/* Listes courtes cliquables (prochains ménages, tâches) */
.rows{display:flex;flex-direction:column;margin:0 -10px}
.rowlink{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;padding:11px 10px;border-radius:14px;text-decoration:none;color:var(--ink)}
.rowlink:hover{background:var(--s2)}
.rowlink span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats{margin-top:18px;padding-top:14px;border-top:1px solid var(--line2);color:var(--ink3);font-size:13px}

/* ================= répertoire plein écran ================= */
.wrap.dir{grid-template-columns:1fr}
.wrap.dir main#sheet{display:none}
.wrap.dir aside{position:static;height:auto;min-height:calc(100vh - var(--top) - 16px);background:transparent;overflow:visible}
.wrap.dir .lhead{position:static;background:#fff;border-radius:var(--r);border:0;padding:24px 28px 18px;margin-bottom:16px}
.lhead-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.lhead-top h1{margin:0;font-size:30px;font-weight:600;letter-spacing:-.025em;flex:1}
.wrap.dir .lhead input#q{font-size:18px;padding:14px 22px;border-radius:999px;background:var(--s2)}
.wrap.dir .lhead .chips{margin-top:12px}
.wrap.dir #list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.wrap.dir .item{margin:0;background:#fff;border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px}
.wrap.dir .item:hover{box-shadow:0 8px 24px rgba(16,20,30,.07);background:#fff}
.wrap.dir .item .it{flex:1;min-width:0}
.wrap.dir .item .it small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrap.dir .item .tag{float:none;flex:none;align-self:flex-start}
.wrap.dir .item>b,.wrap.dir .item>small{display:block}

/* À surveiller, en tête de la fiche client */
.alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.alert{display:block;border-radius:14px;padding:11px 14px;text-decoration:none;font-size:13.5px}
.alert.crit{background:var(--crit-bg);color:var(--crit-ink)}
.alert.warn{background:var(--warn-bg);color:var(--warn-ink)}
.alert b{font-weight:600}

/* Accueil : une liste « À faire », l'équipe et les e-mails à côté */
.todo-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px;align-items:start}
@media (max-width:1100px){.todo-grid{grid-template-columns:1fr}}
.todo{display:flex;flex-direction:column;margin:0 -10px}
.todo-i{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:16px;text-decoration:none;color:var(--ink)}
.todo-i:hover{background:var(--s2)}
.todo-i .tt{flex:1;min-width:0;display:flex;flex-direction:column}
.todo-i .tt b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo-i .tt small{color:var(--ink2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo-i>.tag{flex:none}
.todo-i>.btn{flex:none}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpis a{background:var(--s2);border-radius:16px;padding:14px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.kpis a:hover{background:var(--s3)}
.kpis b{font-size:26px;font-weight:600;letter-spacing:-.02em}
.kpis b.crit{color:var(--crit)}
.kpis span{font-size:12.5px;color:var(--ink2)}
.rowlink.rl2{grid-template-columns:1fr;gap:0}

/* « Trouver un agent » : la carte des agents s'éclaire un instant */
#agentblock.flash{animation:flash 1.2s var(--ease-out)}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(36,87,245,.55)}30%{box-shadow:0 0 0 6px rgba(36,87,245,.35)}100%{box-shadow:0 0 0 0 rgba(36,87,245,0)}}
@media (prefers-reduced-motion:reduce){#agentblock.flash{animation:none;outline:3px solid var(--accent)}}
.bk2>div>.card{margin-bottom:16px}

/* Agents proposés : un nom, une ligne de texte, deux signaux au plus */
.candrow.clash{background:none;opacity:.72}
.candrow.clash:hover{opacity:1}
.cname{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cname a{color:var(--ink);font-weight:600;font-size:14.5px;text-decoration:none}
.cname a:hover{text-decoration:underline}
.cknown{font-size:12px;font-weight:500;color:var(--good-ink);background:var(--good-bg);border-radius:999px;padding:1px 8px}
.cline{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline;margin-top:3px;font-size:13px;color:var(--ink2)}
.cline>span+span::before{content:'·';margin-right:6px;color:var(--ink3)}
.cline .km{font-weight:600;color:var(--ink)}
.cline .km.near{color:var(--good-ink)} .cline .km.mid{color:#a86b00} .cline .km.far{color:var(--crit-ink)}
.cline .rt.low{color:var(--crit-ink)}
.cwarn{margin-top:4px;font-size:12.5px;color:var(--crit-ink)}
.cwarn::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--crit);margin-right:6px;vertical-align:middle}

/* En-tête de fiche : de l'air entre l'identité et les onglets */
.shead{padding:24px 28px 0}
.shead .meta{margin:8px 0 0}
.shead .bar{margin-top:18px}
.shead.solo .bar .tabs{display:none}
.shead.solo .bar{margin-top:12px;justify-content:flex-end}
.shead.solo .bar:has(.acts:empty){display:none}
.shead.solo{padding-bottom:18px}

/* Tri de la file et des tâches */
.qsort{display:flex;gap:4px;margin:10px 12px 0;background:var(--s2);border-radius:999px;padding:3px}
.qsort button{flex:1;border:0;background:transparent;border-radius:999px;padding:6px 8px;font:inherit;font-size:12.5px;color:var(--ink2);cursor:pointer}
.qsort button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(16,20,30,.08)}
.qid{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.tsort{border-radius:999px;padding:4px 10px;font-size:12px;background:#fff;border:1px solid var(--line)}

/* Qui est sur cette tâche */
.lockbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent-bg);color:var(--accent-ink);border-radius:16px;padding:12px 16px;margin:0 0 14px}
.lockbar.warn{background:var(--warn-bg);color:var(--warn-ink)}
.lockbar b{font-weight:600}
.lockbar span{flex:1;min-width:200px}
.lockchg{flex-basis:100%;font-size:12.5px}
#detail .lockbar{margin:0 26px 14px}
.body.tlocked .acts,.body.tlocked #panel,.body.tlocked #tnote,.body.tlocked #tnoteadd{opacity:.45;pointer-events:none}
.qwho{font-weight:600;color:var(--ink2)} .qwho.me{color:var(--accent-ink)} .qfree{color:var(--warn-ink)}

/* Résumé de la demande dans les listes de tâches : 2 lignes, puis la dernière note */
.qi{align-items:start}
.qi .b{align-self:stretch;height:auto;min-height:30px}
.qi .m .qsum,.item .tsum{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink);font-size:12.5px;line-height:1.4}
.qi .m .qlast,.item .tlast{color:var(--accent-ink);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qi .m .qmeta{font-size:11px;color:var(--ink3)}

/* Agents : proposés par ServiceOS / tous, et choix du jour */
.candmode{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.candmode .seg{display:inline-flex;background:var(--s2);border-radius:999px;padding:3px;gap:2px}
.candmode .seg button{border:0;background:none;padding:7px 14px;border-radius:999px;font:inherit;font-size:13px;color:var(--ink2);cursor:pointer}
.candmode .seg button.on{background:var(--s1,#fff);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.candwhy{margin:0 0 12px;font-size:13px;color:var(--ink2)}
.cprop{margin-left:8px;font-size:11px;font-weight:600;color:var(--good-ink,var(--accent-ink));background:var(--good-bg,var(--accent-bg));border-radius:999px;padding:2px 8px}

/* Check-up UI (29.09) : rien de collé */
.shead .bar .acts{padding-bottom:14px}
.fact .agents{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.fact .agentline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tag + .tag,.tag + .btn,.btn.sm + .btn.sm,.link + .link{margin-left:6px}
.link + .btn,.btn + .link{margin-left:6px}
.tplitem + .tplitem{margin-top:6px}
#scprev{margin-right:6px} #scnext{margin-left:6px}
.qi .m .qmeta b,.qi .m .qmeta i{font-size:inherit;font-weight:600}
.qi .m .qwho{color:var(--ink2)} .qi .m .qwho.me{color:var(--accent-ink)}
