/* Relais — feuille de style */

/* Layout: app shell — sidebar of grouped sections + work area; agent space rendered as a phone */
:root{
  --bg:#F4F8F5;--panel:#FFFFFF;--sunk:#EEF4F0;--line:#DEE8E1;--line-2:#C4D4C9;
  --ink:#1A2B22;--ink-2:#4F6357;--ink-3:#80938A;
  --accent:#2E8B57;--accent-2:#1F6E43;--on-accent:#FFFFFF;--accent-soft:#E2F2E8;
  --ok:#1B7748;--ok-soft:#DCF1E4;--warn:#955700;--warn-soft:#FBEDD4;--err:#B0261E;--err-soft:#FAE2E0;
  --g0b:#DDF3EA;--g0f:#0B4F3F;--g0s:#1D9E75;
  --g1b:#E3EEFB;--g1f:#0C447C;--g1s:#378ADD;
  --g2b:#FAE6EE;--g2f:#72243E;--g2s:#D4537E;
  --g3b:#FBEBD3;--g3f:#633806;--g3s:#C98118;
  --g4b:#ECEAFD;--g4f:#3C3489;--g4s:#7F77DD;
  --g5b:#E7F2DA;--g5f:#27500A;--g5s:#639922;
  --shadow:0 1px 2px rgba(18,37,40,.06),0 8px 24px rgba(18,37,40,.07);
  --font-d:ui-rounded,"SF Pro Rounded","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;--font-b:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --soft:0 1px 2px rgba(18,37,40,.04),0 6px 20px rgba(18,37,40,.06);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1712;--panel:#16211A;--sunk:#111B15;--line:#25352B;--line-2:#36493D;
  --ink:#E5EFE8;--ink-2:#A6BAAD;--ink-3:#768A7D;
  --accent:#5FC48A;--accent-2:#8BD7AB;--on-accent:#08250F;--accent-soft:#183A26;
  --ok:#5ECB8F;--ok-soft:#163626;--warn:#F0B35A;--warn-soft:#3B2B10;--err:#F2897F;--err-soft:#41201C;
  --g0b:#0E3F33;--g0f:#C8F0E1;--g0s:#3CC495;--g1b:#12385F;--g1f:#D4E6FA;--g1s:#5DA5EC;
  --g2b:#5A1F35;--g2f:#F8D6E3;--g2s:#E57AA0;--g3b:#4E3108;--g3f:#F8DDB5;--g3s:#E3A24A;
  --g4b:#302A6E;--g4f:#DCD8FB;--g4s:#A39DEB;--g5b:#24420D;--g5f:#D6EBBE;--g5s:#8CC152;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.3);--soft:0 1px 2px rgba(0,0,0,.25),0 6px 20px rgba(0,0,0,.25);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1712;--panel:#16211A;--sunk:#111B15;--line:#25352B;--line-2:#36493D;
  --ink:#E5EFE8;--ink-2:#A6BAAD;--ink-3:#768A7D;
  --accent:#5FC48A;--accent-2:#8BD7AB;--on-accent:#08250F;--accent-soft:#183A26;
  --ok:#5ECB8F;--ok-soft:#163626;--warn:#F0B35A;--warn-soft:#3B2B10;--err:#F2897F;--err-soft:#41201C;
  --g0b:#0E3F33;--g0f:#C8F0E1;--g0s:#3CC495;--g1b:#12385F;--g1f:#D4E6FA;--g1s:#5DA5EC;
  --g2b:#5A1F35;--g2f:#F8D6E3;--g2s:#E57AA0;--g3b:#4E3108;--g3f:#F8DDB5;--g3s:#E3A24A;
  --g4b:#302A6E;--g4f:#DCD8FB;--g4s:#A39DEB;--g5b:#24420D;--g5f:#D6EBBE;--g5s:#8CC152;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.3);--soft:0 1px 2px rgba(0,0,0,.25),0 6px 20px rgba(0,0,0,.25);color-scheme:dark}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font-b);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--font-d);font-weight:700;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:22px}h2{font-size:17px}h3{font-size:15px;font-weight:500}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* shell */
.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100%}
.side{background:var(--panel);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px}
.logo{width:34px;height:34px;border-radius:10px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-family:var(--font-d);font-weight:700;font-size:18px}
.brand b{font-family:var(--font-d);font-size:19px}
.brand small{display:block;font-size:11px;color:var(--ink-3);line-height:1}
.sec{display:grid;gap:2px}
.sec-t{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:4px 10px;font-weight:600}
.nv{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;border:0;background:none;cursor:pointer;color:var(--ink-2);text-align:left;width:100%;font-size:13.5px}
.nv:hover{background:var(--sunk);color:var(--ink)}
.nv.on{background:var(--accent-soft);color:var(--accent-2);font-weight:600}
.nv svg{flex:none}
.nv .cnt{margin-left:auto;font-size:11px;font-weight:600;background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:0 7px}
.main{min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}

.top h1{flex:1;min-width:140px}
.seg{display:inline-flex;background:var(--sunk);border-radius:10px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:6px 11px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center}
.seg button.on{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}
.seg-l{font-size:11.5px;color:var(--ink-3)}
.bell{position:relative;border:1px solid var(--line);background:var(--panel);width:38px;height:38px;border-radius:10px;display:grid;place-items:center;cursor:pointer}
.bell i{position:absolute;top:-5px;right:-5px;background:var(--err);color:#fff;font-style:normal;font-size:10.5px;font-weight:600;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.content{padding-block:22px 48px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));display:grid;gap:18px;align-content:start;max-width:1240px;width:100%}
.mobnav{display:none}

/* common */
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;min-width:0}
.card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.card-h h2,.card-h h3{flex:1}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;text-align:left;display:grid;gap:4px}
.tile:hover{border-color:var(--line-2)}
.tile b{font-family:var(--font-d);font-size:28px;line-height:1.1}
.tile span{font-size:12.5px;color:var(--ink-2)}
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);background:var(--panel);border-radius:10px;padding:7px 13px;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap}
.btn:hover{background:var(--sunk)}
.btn.pri{background:var(--accent);color:var(--on-accent);border-color:transparent}
.btn.pri:hover{background:var(--accent-2)}
.btn.sm{padding:5px 10px;font-size:12px;border-radius:8px}
.btn.ok{color:var(--ok)}.btn.no{color:var(--err)}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);background:var(--panel);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:12.5px;white-space:nowrap}
.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2);font-weight:600}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}
.t-ok{background:var(--ok-soft);color:var(--ok)}.t-warn{background:var(--warn-soft);color:var(--warn)}.t-err{background:var(--err-soft);color:var(--err)}.t-ac{background:var(--accent-soft);color:var(--accent-2)}.t-n{background:var(--sunk);color:var(--ink-2)}
.list{display:grid}
.li{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);min-width:0}
.li:last-child{border-bottom:0}
.li .grow{flex:1;min-width:0}
.li .t{font-weight:600;font-size:13.5px}
.li .s{font-size:12.5px;color:var(--ink-2)}
.av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}
.ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--sunk);color:var(--ink-2)}
.empty{padding:22px;text-align:center;color:var(--ink-2);font-size:13px}
.banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-radius:12px;padding:12px 14px;font-size:13px}
.b-warn{background:var(--warn-soft);color:var(--warn)}.b-ac{background:var(--accent-soft);color:var(--accent-2)}.b-err{background:var(--err-soft);color:var(--err)}.b-ok{background:var(--ok-soft);color:var(--ok)}
.banner .grow{flex:1;min-width:180px}
.fld{display:grid;gap:5px}
.fld label,.lbl{font-size:12px;color:var(--ink-2);font-weight:500}
.inp{border:1px solid var(--line-2);background:var(--panel);border-radius:9px;padding:8px 10px;font-size:13px;width:100%}
textarea.inp{min-height:70px;resize:vertical}
.form{display:grid;gap:14px}
.form2{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.scroll{overflow-x:auto}
table.tb{border-collapse:collapse;width:100%;font-size:13px}
table.tb th{text-align:left;font-size:11.5px;font-weight:600;color:var(--ink-2);padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}
table.tb td{padding:8px;border-bottom:1px solid var(--line)}
table.tb td.r,table.tb th.r{text-align:right}
table.tb input{width:72px;text-align:right;border:1px solid var(--line-2);border-radius:7px;padding:5px 7px;background:var(--panel)}
.hint{font-size:12.5px;color:var(--ink-2)}
.note-legal{font-size:12px;color:var(--ink-2);border-left:3px solid var(--line-2);padding:2px 0 2px 10px}

/* planning */
.pl{border-collapse:separate;border-spacing:0;width:100%;min-width:860px;font-size:12.5px}
.pl th{font-weight:600;text-align:left;padding:8px 6px;font-size:12px;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0}
.pl th .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--err);margin-left:5px;vertical-align:1px}
.pl td{border-bottom:1px solid var(--line);padding:5px;vertical-align:top}
.pl td.nm{position:sticky;left:0;background:var(--panel);z-index:1;width:190px;border-right:1px solid var(--line)}
.pl tr.tm td{background:var(--sunk);font-size:11.5px;font-weight:600;color:var(--ink-2);padding:6px 10px}
.pl tr.tm td span{font-weight:400}
.who{display:flex;gap:9px;align-items:center}
.who .nmx{font-weight:600;font-size:13px;line-height:1.2}
.who .hr{font-size:11.5px}
.cmt{border:0;background:none;cursor:pointer;color:var(--ink-3);padding:2px;display:inline-grid}
.cmt.has{color:var(--accent)}
.wn{font-size:11.5px;color:var(--ink-2);font-style:italic;margin-top:4px;line-height:1.3}
.cell{min-height:52px;border-radius:9px;cursor:pointer;display:grid}
.cell:hover .add{opacity:1}
.add{opacity:0;border:1.5px dashed var(--line-2);border-radius:9px;display:grid;place-items:center;color:var(--ink-3);font-size:18px;min-height:50px}
.sh{border-radius:9px;padding:6px 8px;line-height:1.3;position:relative}
.sh b{font-weight:600;font-size:12.5px;display:block}
.sh small{font-size:11px;opacity:.9;display:block}
.sh .gp{position:absolute;top:5px;right:6px;font-size:10.5px;font-weight:700;opacity:.85}
.sh.bad{box-shadow:inset 0 0 0 2px var(--err)}
.sh .nt{position:absolute;bottom:5px;right:6px}
.lv{border-radius:9px;padding:6px 8px;font-size:11.5px;color:var(--ink-2);border:1px dashed var(--line-2);background:repeating-linear-gradient(135deg,var(--sunk) 0 6px,transparent 6px 12px);min-height:50px;display:grid;align-content:center}
.lv b{color:var(--ink);font-weight:600}
.g0{background:var(--g0b);color:var(--g0f)}.g1{background:var(--g1b);color:var(--g1f)}.g2{background:var(--g2b);color:var(--g2f)}.g3{background:var(--g3b);color:var(--g3f)}.g4{background:var(--g4b);color:var(--g4f)}.g5{background:var(--g5b);color:var(--g5f)}
.gd0{background:var(--g0s)}.gd1{background:var(--g1s)}.gd2{background:var(--g2s)}.gd3{background:var(--g3s)}.gd4{background:var(--g4s)}.gd5{background:var(--g5s)}
.gdot{width:9px;height:9px;border-radius:50%;display:inline-block}
.al{display:grid;gap:6px}
.al .a{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;padding:8px 10px;border-radius:9px}
.al .a.err{background:var(--err-soft);color:var(--err)}.al .a.warn{background:var(--warn-soft);color:var(--warn)}

/* calendar congés */
.cal{border-collapse:collapse;font-size:11.5px;min-width:900px;width:100%}
.cal th{font-weight:600;color:var(--ink-3);padding:4px 0;text-align:center;font-size:10.5px}
.cal th.we,.cal td.we{background:var(--sunk)}
.cal td{border:1px solid var(--line);height:28px;padding:0}
.cal td.n{padding:0 10px;white-space:nowrap;font-weight:600;font-size:12px;border-left:0;min-width:120px;background:var(--panel)}
.cal td.c-cp{background:var(--g0s)}.cal td.c-cnp{background:var(--g3s)}.cal td.c-css{background:var(--g4s)}.cal td.c-aj{background:var(--g1s)}.cal td.c-mal{background:var(--g2s)}
.cal td.pend{background:repeating-linear-gradient(135deg,var(--g3s) 0 4px,transparent 4px 8px)}
.cal tr.tot td{font-weight:600;text-align:center;color:var(--ink-2);border:0;padding-top:4px}
.lg{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-2)}
.lg i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* kanban */
.kb{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;min-width:1000px}
.kcol{background:var(--sunk);border-radius:12px;padding:10px;display:grid;gap:8px;align-content:start}
.kcol h3{font-size:13px;display:flex;justify-content:space-between}
.kc{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 11px;display:grid;gap:4px;font-size:12.5px}
.kc b{font-size:13px}

/* chat */
.chat{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:18px}
.thr{cursor:pointer;border-radius:10px;padding:10px;display:grid;gap:3px;border:1px solid transparent}
.thr:hover{background:var(--sunk)}
.thr.on{background:var(--accent-soft);border-color:var(--accent)}
.bub{max-width:80%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.45}
.bub.them{background:var(--sunk);justify-self:start;border-bottom-left-radius:4px}
.bub.me{background:var(--accent);color:var(--on-accent);justify-self:end;border-bottom-right-radius:4px}
.bub small{display:block;font-size:10.5px;opacity:.75;margin-bottom:2px}
.conv{display:grid;gap:8px;align-content:start;min-height:220px}

/* agenda */
.ag{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;min-width:640px}
.agd{display:grid;gap:7px;align-content:start}
.agd h3{font-size:13px}
.slot{border-radius:9px;padding:8px 10px;font-size:12.5px;cursor:pointer;border:1px solid var(--line);background:var(--panel);text-align:left}
.slot.open{border:1.5px dashed var(--accent);color:var(--accent-2)}
.slot.book{background:var(--accent-soft);border-color:transparent;color:var(--accent-2)}
.slot.off{color:var(--ink-3);background:var(--sunk)}

/* bars */
.bars{display:grid;grid-template-columns:110px minmax(0,1fr) 70px;gap:8px 12px;align-items:center;font-size:12.5px}
.bar{height:10px;border-radius:5px;background:var(--accent)}
.bar.alt{background:var(--g2s)}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:2px}
.kpi span{font-size:12px;color:var(--ink-2)}
.kpi b{font-family:var(--font-d);font-size:24px}
.kpi small{font-size:11.5px}

/* phone (agent) */
.phone-stage{display:flex;justify-content:center;padding:24px 16px 60px}
.phone{width:390px;max-width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:38px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;height:780px;max-height:calc(100vh - 140px);min-height:560px}
.ph-top{padding:18px 18px 10px;display:flex;align-items:center;gap:10px;background:var(--panel);border-bottom:1px solid var(--line)}
.ph-top h2{flex:1}
.ph-body{flex:1;overflow:auto;padding:16px;display:grid;gap:14px;align-content:start}
.ph-tab{display:flex;border-top:1px solid var(--line);background:var(--panel);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
.ph-tab button{flex:1;border:0;background:none;display:grid;justify-items:center;gap:2px;font-size:10.5px;color:var(--ink-3);cursor:pointer;padding:4px 0;position:relative}
.ph-tab button.on{color:var(--accent)}
.ph-tab button i{position:absolute;top:0;right:calc(50% - 18px);background:var(--err);color:#fff;font-style:normal;font-size:9.5px;border-radius:999px;min-width:15px;height:15px;display:grid;place-items:center;font-weight:600}
.hero{background:var(--accent);color:var(--on-accent);border-radius:18px;padding:16px 18px}
.hero .k{font-size:12px;opacity:.85}
.hero .v{font-family:var(--font-d);font-size:30px;font-weight:700;line-height:1.15}
.big-act{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.big-act button{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 10px;display:grid;justify-items:center;gap:6px;cursor:pointer;font-size:12.5px;font-weight:600;text-align:center}
.big-act button span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-2)}
.dayrow{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.dayrow .d{width:46px;font-size:11.5px;color:var(--ink-2);line-height:1.2}
.dayrow .d b{display:block;font-size:16px;color:var(--ink);font-family:var(--font-d)}
.ev{border-radius:14px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);display:grid;gap:6px}

/* modal + toast + popover */
.ovl{position:fixed;inset:0;background:rgba(10,24,27,.45);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;z-index:50;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.mdl{background:var(--panel);border-radius:18px;width:min(560px,100%);min-width:0;max-height:calc(100vh - 32px);overflow:auto;padding:20px 22px;display:grid;gap:16px;box-shadow:var(--shadow)}
.mdl-h{display:flex;gap:10px;align-items:flex-start}
.mdl-h div{flex:1}
.x{border:0;background:var(--sunk);width:32px;height:32px;border-radius:9px;cursor:pointer;display:grid;place-items:center}
.mdl-f{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:13px;font-weight:500;z-index:60;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center;max-width:calc(100% - 32px)}
.pop{position:fixed;top:calc(66px + env(safe-area-inset-top,0px));right:max(20px,env(safe-area-inset-right,0px));width:360px;max-width:calc(100% - 32px);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:40;padding:12px 14px;max-height:70vh;overflow:auto}
.doc{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.doc .ico{background:var(--accent-soft);color:var(--accent-2)}
.reader{background:var(--sunk);border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.6;max-height:260px;overflow:auto}
.reader h3{margin:10px 0 4px}
.prog{height:8px;border-radius:5px;background:var(--sunk);overflow:hidden}
.prog i{display:block;height:100%;background:var(--accent)}

.cal th.fer,.cal td.fer{background:repeating-linear-gradient(90deg,var(--line-2) 0 2px,transparent 2px 6px)}
.wm{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.08;background-repeat:repeat}
body[data-secure="1"] .content,body[data-secure="1"] .ph-body{-webkit-user-select:none;user-select:none}
body[data-secure="1"] input,body[data-secure="1"] textarea{-webkit-user-select:text;user-select:text}
.ptbtn{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ptbtn button{border-radius:14px;padding:14px 8px;font-weight:600;font-size:13px;cursor:pointer;border:1px solid var(--line-2);background:var(--panel)}
.ptbtn button.go{background:var(--ok);color:#fff;border-color:transparent}
.ptbtn button.ps{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.ptbtn button.end{background:var(--err-soft);color:var(--err);border-color:transparent}
.vbars{display:flex;gap:8px;align-items:flex-end;height:160px;padding-top:18px}
.vbars div{flex:1;display:grid;gap:4px;justify-items:center;align-self:end}
.vbars i{display:block;width:100%;border-radius:6px 6px 0 0;background:var(--accent)}
.vbars span{font-size:11px;color:var(--ink-3)}
.vbars b{font-size:11px;font-weight:600}
.code6{display:flex;gap:8px;justify-content:center}
.code6 span{width:42px;height:50px;border:1px solid var(--line-2);border-radius:10px;display:grid;place-items:center;font-family:var(--font-d);font-size:22px;font-weight:700}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{display:none}
  .mobnav{display:flex;gap:6px;overflow-x:auto;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:var(--panel);border-bottom:1px solid var(--line)}
  .mobnav .nv{width:auto;white-space:nowrap;border:1px solid var(--line)}
  .top{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .content{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .chat{grid-template-columns:1fr}
  .grid2{grid-template-columns:minmax(0,1fr)!important}
  .phone-stage{padding:0}
  .phone{border-radius:0;border:0;height:auto;max-height:none;min-height:calc(100vh - 70px);width:100%;box-shadow:none}
  .seg-l{display:none}
}
@media (prefers-reduced-motion:no-preference){.toast{animation:up .2s ease-out}@keyframes up{from{opacity:0;transform:translate(-50%,8px)}}}

/* refresh: soft, rounded, airy */
body{font-size:14.5px;letter-spacing:.005em}
h1{font-size:25px;font-weight:700;letter-spacing:-.015em}h2{font-size:18px;font-weight:600}h3{font-family:var(--font-d);font-size:15.5px;font-weight:600}
.side{padding:20px 14px;gap:16px;border-right:0;box-shadow:var(--soft)}
.logo{border-radius:14px;font-family:var(--font-d)}
.brand b{font-family:var(--font-d);font-size:21px;font-weight:700}
.sec-t{text-transform:none;letter-spacing:0;font-size:12px;font-weight:700;color:var(--ink-3);padding:6px 12px 2px}
.nv{border-radius:999px;padding:5px 12px 5px 5px;gap:11px;font-weight:600;font-size:14px}
.nv svg{box-sizing:content-box;width:16px;height:16px;padding:7px;border-radius:50%;background:var(--sunk);color:var(--ink-2);transition:background .15s}
.nv:hover svg{background:var(--accent-soft);color:var(--accent-2)}
.nv.on{background:var(--accent-soft);color:var(--accent-2)}
.nv.on svg{background:var(--accent);color:var(--on-accent)}
.nv .cnt{background:var(--err);color:#fff;font-weight:700;min-width:22px;text-align:center}
.top{border-bottom:0;box-shadow:var(--soft)}
.seg{border-radius:999px;padding:4px}.seg button{border-radius:999px;padding:7px 14px;font-weight:600}
.bell{border-radius:50%;width:42px;height:42px;border:0;background:var(--sunk)}
.content{gap:22px}
.card{border-radius:22px;border-color:transparent;box-shadow:var(--soft);padding:20px 22px}
.tile{border-radius:22px;border-color:transparent;box-shadow:var(--soft);padding:16px 18px;gap:6px;position:relative;overflow:hidden}
.tile::after{content:"";position:absolute;right:-18px;top:-18px;width:74px;height:74px;border-radius:50%;background:var(--accent-soft);opacity:.7}
.tile b{font-family:var(--font-d);font-size:30px;font-weight:700;position:relative;z-index:1}.tile span{position:relative;z-index:1;font-weight:600}
.kpi{border-radius:20px;border-color:transparent;box-shadow:var(--soft);padding:16px 18px}
.kpi b{font-family:var(--font-d);font-weight:700}
.btn{border-radius:999px;padding:8px 16px;font-weight:700}.btn.sm{border-radius:999px;padding:6px 13px}
.chip{border-radius:999px;padding:7px 15px;font-weight:600;border-color:var(--line)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tag{padding:3px 10px;font-weight:700}
.ico{border-radius:50%;width:38px;height:38px}
.av{font-family:var(--font-d);font-weight:600;overflow:hidden;box-shadow:0 0 0 2px var(--panel)}
.av img{width:100%;height:100%;object-fit:cover;display:block}
.av.emo{background:var(--sunk);font-size:1.05em}
.li{padding:12px 6px;border-radius:14px;border-bottom-color:transparent;transition:background .15s}
.list .li:hover{background:var(--sunk)}
.list{gap:2px}
.banner{border-radius:18px;padding:14px 16px}
.inp{border-radius:14px;border-color:var(--line);padding:10px 12px;background:var(--panel)}
.mdl{border-radius:26px;padding:24px}
.x{border-radius:50%}
.sh{border-radius:14px;padding:8px 10px}.sh b{font-family:var(--font-d);font-weight:600;font-size:13px}
.lv{border-radius:14px}
.add{border-radius:14px}
.cell{border-radius:14px}
.pl td{border-bottom-color:var(--sunk)}
.pl tr.tm td{background:transparent;font-family:var(--font-d);font-size:13px;color:var(--accent-2);padding:14px 10px 6px}
.kcol{border-radius:20px}.kc{border-radius:16px;border-color:transparent;box-shadow:var(--soft)}
.slot{border-radius:999px;text-align:center}
.doc{border-radius:18px;border-color:transparent;box-shadow:var(--soft)}
.hero{border-radius:26px;padding:20px 22px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-30px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.hero .v{font-family:var(--font-d);font-weight:700}
.phone{border-radius:42px;border:0;box-shadow:0 20px 60px rgba(18,37,40,.18)}
.ph-top{border-bottom:0}
.ph-tab{border-top:0;box-shadow:0 -4px 16px rgba(18,37,40,.05)}
.ph-tab button svg{box-sizing:content-box;padding:4px 14px;border-radius:999px}
.ph-tab button.on svg{background:var(--accent-soft)}
.big-act button{border-radius:24px;border-color:transparent;box-shadow:var(--soft)}
.big-act button span{border-radius:50%;width:48px;height:48px}
.dayrow{border-radius:18px;border-color:transparent;box-shadow:var(--soft)}
.ev{border-radius:20px;border-color:transparent;box-shadow:var(--soft)}
.ptbtn button{border-radius:999px;padding:15px 10px;font-size:14px;font-family:var(--font-d)}
.toast{border-radius:999px;padding:11px 18px}
.pop{border-radius:22px}
.thr{border-radius:16px}
.bub{border-radius:18px}
table.tb th{font-weight:700}
.reader{border-radius:18px}
.avpick{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.avpick button{aspect-ratio:1;border-radius:50%;border:1px solid var(--line);background:var(--panel);font-size:22px;cursor:pointer;max-width:100%}
.avpick button.on{border:2px solid var(--accent);background:var(--accent-soft)}
.avedit{position:relative;border:0;background:none;padding:0;cursor:pointer;border-radius:50%}
.avedit i{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-style:normal;box-shadow:0 0 0 2px var(--panel)}
@media (max-width:860px){.avpick{grid-template-columns:repeat(6,1fr)}}

/* habillage inspiré de la référence : vert frais, cartes pastel */
.leaf{flex:none}
.tiles:has(> .tile:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.tiles:has(> .tile:nth-child(6):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.tiles:has(> .tile){grid-template-columns:minmax(0,1fr)!important}}
.brand{gap:10px}.brand b{color:var(--ink)}
.side{background:var(--panel)}
.nv{padding:9px 14px;gap:12px;border-radius:14px;font-weight:600;color:var(--ink-2)}
.nv svg{box-sizing:border-box;width:20px;height:20px;padding:0;background:none!important;color:inherit!important;border-radius:0}
.nv:hover{background:var(--sunk)}
.nv.on{background:var(--accent-soft);color:var(--accent-2)}
.nv .cnt{border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px}
.sec-t{color:var(--ink-3);font-weight:700}
.top{background:var(--panel)}
.top h1{font-family:var(--font-d);font-size:26px}
.hello{font-family:var(--font-d);font-size:24px;font-weight:700;color:var(--ink)}
.banner.b-ac:has(.hello){background:transparent;padding:4px 2px;color:var(--ink-2)}
.tile{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:2px;align-items:center;padding:18px 20px}
.tile::after{display:none}
.tile .mico{grid-row:1/3}
.tile b{font-size:26px;line-height:1.1}
.mico{width:54px;height:54px;border-radius:50%;display:grid;place-items:center}
.mc0{background:var(--g0b);color:var(--g0s)}.mc1{background:var(--g1b);color:var(--g1s)}.mc2{background:var(--err-soft);color:var(--err)}.mc3{background:var(--g3b);color:var(--g3s)}.mc4{background:var(--g4b);color:var(--g4s)}.mc5{background:var(--g5b);color:var(--g5s)}
.btn.pri,.chip.on{box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 28%,transparent)}
.pl th.dh{text-align:center;color:var(--ink);font-family:var(--font-d);font-size:13.5px;font-weight:600;line-height:1.25}
.pl th.dh small{display:block;font-family:var(--font-b);font-weight:600;font-size:11.5px;color:var(--ink-3)}
.pl td{padding:5px 4px}
.sh{text-align:center;padding:9px 8px;border-radius:12px}
.sh b{font-size:13px}.sh small{font-size:10.5px}
.sh .gp{top:4px;right:6px;font-size:9.5px;opacity:.7}
.add{opacity:1;border:0;background:var(--sunk);min-height:50px;color:var(--ink-3);font-size:12px;font-weight:600}
.add .pls{display:none;font-size:18px}
.cell:hover .add{background:var(--accent-soft);color:var(--accent-2)}
.cell:hover .add .rp{display:none}.cell:hover .add .pls{display:inline}
.lv{text-align:center}
/* téléphone */
.ph-top{padding:20px 18px 12px;background:var(--bg)}
.ph-top h2{font-family:var(--font-d);font-size:21px}
.ph-body{background:var(--bg)}
.hero{background:var(--panel);color:var(--ink);box-shadow:var(--soft)}
.hero::after{display:none}
.hero .k{color:var(--ink-2);opacity:1}
.hero .v{color:var(--accent-2)}
.ph-tab{padding-top:8px;align-items:end}
.ph-tab button:nth-child(3){color:var(--accent-2)}
.ph-tab button:nth-child(3) svg{width:24px;height:24px;padding:13px;border-radius:50%;background:var(--accent)!important;color:#fff;margin-top:-26px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent)}
.big-act button{text-align:left;grid-template-columns:auto 1fr;justify-items:start;align-items:center;padding:14px;font-size:13.5px}
.big-act button:nth-child(7n+1){background:var(--g0b)}.big-act button:nth-child(7n+1) span{background:var(--panel);color:var(--g0s)}
.big-act button:nth-child(7n+2){background:var(--g4b)}.big-act button:nth-child(7n+2) span{background:var(--panel);color:var(--g4s)}
.big-act button:nth-child(7n+3){background:var(--g1b)}.big-act button:nth-child(7n+3) span{background:var(--panel);color:var(--g1s)}
.big-act button:nth-child(7n+4){background:var(--g3b)}.big-act button:nth-child(7n+4) span{background:var(--panel);color:var(--g3s)}
.big-act button:nth-child(7n+5){background:var(--g2b)}.big-act button:nth-child(7n+5) span{background:var(--panel);color:var(--g2s)}
.big-act button:nth-child(7n+6){background:var(--g5b)}.big-act button:nth-child(7n+6) span{background:var(--panel);color:var(--g5s)}
.big-act button:nth-child(7n+7){background:var(--err-soft)}.big-act button:nth-child(7n+7) span{background:var(--panel);color:var(--err)}
.big-act button{color:var(--ink)}
.dayrow .d b{color:var(--accent-2)}

/* habillage fidèle : menu vert, carte du jour, lignes colorées */
:root{--side:#E4F1E8;--side-on:#CFE6D7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--side:#132A1C;--side-on:#1C3D29}}
:root[data-theme="dark"]{--side:#132A1C;--side-on:#1C3D29}
.side{background:var(--side);box-shadow:none}
.nv{color:var(--ink)}
.nv:hover{background:color-mix(in srgb,var(--side-on) 60%,transparent)}
.nv.on{background:var(--side-on);color:var(--accent-2)}
.sec-t{color:var(--accent-2);opacity:.75}
.profcard{margin-top:auto;display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--panel);border-radius:18px;box-shadow:var(--soft);color:var(--ink-2)}
.top h1.hello{font-size:28px;white-space:nowrap}
@media (max-width:1400px){.seg-l{display:none}}
@media (max-width:1180px){.weekpill{display:none}}
.weekpill{display:inline-flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--ink-2)}
.weekpill b{color:var(--ink);font-family:var(--font-d);font-weight:600;font-size:14px}
.mobnav{background:var(--side)}
.mobnav .nv{background:var(--panel);border-color:transparent}
.mobnav .nv.on{background:var(--side-on)}
.today{background:var(--panel);border-radius:24px;box-shadow:var(--soft);padding:16px 18px;display:grid;gap:8px}
.today-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.today-h b{font-family:var(--font-d);font-size:16px}.today-h span{font-size:12px;color:var(--ink-3)}
.today-t{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.today-t .num{font-family:var(--font-d);font-size:32px;font-weight:700;letter-spacing:-.02em}
.today-l{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--ink-2)}
.arows{display:grid;gap:10px}
.arow .grow{flex:1;min-width:0}
.arow{display:flex;gap:12px;align-items:center;border:0;border-radius:20px;padding:12px 14px;cursor:pointer;text-align:left;color:var(--ink)}
.arow b{display:block;font-family:var(--font-d);font-size:14.5px;font-weight:600}.arow small{display:block;font-size:12px;color:var(--ink-2)}
.arico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--panel);flex:none}
.ar1{background:var(--g1b)}.ar1 .arico{color:var(--g1s)}
.ar0{background:var(--g0b)}.ar0 .arico{color:var(--g3s)}
.ar2{background:var(--err-soft)}.ar2 .arico{color:var(--err)}
.ar4{background:var(--g4b)}.ar4 .arico{color:var(--g4s)}
.ar9{background:var(--panel);box-shadow:var(--soft)}.ar9 .arico{background:var(--sunk);color:var(--ink-2)}
.mc3 svg,.big-act button:nth-child(7n+1) span svg{color:var(--g3s)}

/* tableau de bord façon référence */
.rolesel{display:inline-flex;gap:8px;align-items:center;background:var(--sunk);border-radius:999px;padding:6px 8px 6px 14px;color:var(--accent-2)}
.rolesel select{border:0;background:var(--panel);border-radius:999px;padding:7px 12px;font-weight:700;font-family:var(--font-b);color:var(--ink);cursor:pointer}
.rolesel .seg-l{color:var(--ink-2);font-size:12.5px}
.dcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dcard{display:flex;gap:16px;align-items:center;text-align:left;background:var(--panel);border:0;border-radius:22px;box-shadow:var(--soft);padding:18px 20px;cursor:pointer;color:var(--ink);transition:transform .15s,box-shadow .15s}
.dcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(18,37,40,.10)}
.dcard .mico{width:60px;height:60px;flex:none}
.dtx b{display:flex;align-items:center;gap:8px;font-family:var(--font-d);font-size:18px;font-weight:600}
.dtx b i{font-style:normal;background:var(--err);color:#fff;border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:12px;font-weight:700;padding:0 7px;font-family:var(--font-b)}
.dtx small{display:block;color:var(--ink-2);font-size:13px;line-height:1.35;margin-top:3px}
.bigh{font-family:var(--font-d);font-size:22px;font-weight:700}
.plansec .card-h{margin-bottom:10px}
.plansec .pl{min-width:900px}
.coverf{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:12px 14px;background:var(--sunk);border-radius:18px}
.cv-al{display:flex;gap:10px;align-items:flex-start;flex:1;min-width:240px;color:var(--err)}
.cv-al b{font-weight:700}.cv-al small{color:var(--ink-2)}
.cv-n{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.cv-n span{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;color:var(--accent-2)}
.cv-n span b{font-family:var(--font-d);font-size:18px;color:var(--ink)}
.cv-n span small{grid-column:2;font-size:11.5px;color:var(--ink-3)}
@media (max-width:1100px){.dcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.dcards{grid-template-columns:minmax(0,1fr)}.dcard{padding:14px 16px}.dcard .mico{width:50px;height:50px}}

.qgrid{display:grid;grid-template-columns:120px minmax(0,1fr) 36px;gap:10px 12px;align-items:center;font-size:13px}
.qgrid b{text-align:right}
.qbar{height:10px;border-radius:6px;background:var(--sunk);overflow:hidden}.qbar i{display:block;height:100%;border-radius:6px}
.ecard{border-radius:20px;background:var(--sunk);padding:14px 16px;display:grid;gap:10px}
.ecard-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ecard-h>div{flex:1;min-width:200px}
.echips{display:flex;gap:6px;flex-wrap:wrap}
.e3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.e3>div{background:var(--panel);border-radius:14px;padding:10px 12px}.e3 p{margin:4px 0 0;font-size:13px}

.tline{display:flex;height:26px;border-radius:999px;overflow:hidden;background:var(--sunk);gap:2px}
.tline i{display:block;height:100%}
.tl-ax{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:4px}

.spaces{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--panel);border-radius:14px;padding:4px}
.spaces button{border:0;background:none;border-radius:10px;padding:8px 6px;font-weight:700;font-size:12.5px;color:var(--ink-2);cursor:pointer;display:flex;gap:6px;align-items:center;justify-content:center}
.spaces button.on{background:var(--accent);color:var(--on-accent)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.fcard{display:grid;text-align:left;border:0;background:var(--panel);border-radius:20px;overflow:hidden;box-shadow:var(--soft);cursor:pointer;padding:0;color:var(--ink)}
.fcover{height:86px;display:grid;place-items:center;color:#fff}
.fbody{display:grid;gap:6px;padding:12px 14px 14px}.fbody b{font-family:var(--font-d);font-size:15px}.fbody small{color:var(--ink-2);font-size:12px}
.fbtn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--sunk);color:var(--ink-3);cursor:pointer;display:inline-grid;place-items:center}
.fbtn.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.freader{position:relative;min-height:220px;border-radius:18px;background:var(--sunk);display:grid;place-items:center;align-content:center;gap:10px;padding:24px;text-align:center;overflow:hidden;-webkit-user-select:none;user-select:none}
.fwm{position:absolute;inset:auto 0 12px;text-align:center;font-size:12px;color:var(--ink-3);opacity:.7;transform:rotate(-4deg)}

.spt{border:2px solid var(--accent-soft)}
.sptgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.sptb{display:grid;justify-items:center;gap:6px;border:2px solid transparent;background:var(--sunk);border-radius:20px;padding:14px 10px;cursor:pointer;color:var(--ink);text-align:center}
.sptb b{font-family:var(--font-d);font-size:14px;font-weight:600}.sptb small{color:var(--accent-2);font-weight:700}
.sptb.on{border-color:var(--accent);background:var(--accent-soft)}

.steps{display:flex;gap:8px;align-items:center;margin-bottom:8px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.steps b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:12px;margin-right:6px}
.sptb small{color:var(--ink-3);font-weight:600;font-size:11.5px}.sptb.on small{color:var(--accent-2)}
.sptb:hover{border-color:var(--accent-soft)}

.nowbox{display:flex;gap:14px;align-items:center;background:var(--accent-soft);border-radius:20px;padding:14px 16px}
.nowbox small{display:block;font-size:12px;color:var(--accent-2);font-weight:700}
.nowbox b{display:block;font-family:var(--font-d);font-size:22px;color:var(--ink)}
.nowbox .hint{display:block}
.ptbtn button svg{vertical-align:-3px;margin-right:4px}

.urgbar{display:flex;gap:16px;align-items:center;width:100%;text-align:left;border:0;border-radius:22px;padding:16px 20px;cursor:pointer;background:var(--err-soft);color:var(--err);box-shadow:var(--soft)}
.urgbar b{display:block;font-family:var(--font-d);font-size:20px}.urgbar small{display:block;color:var(--ink-2);font-size:13px}
.urgbar .mico{width:54px;height:54px}
.urgbar .grow{flex:1;min-width:0}
.urgbar.calm{background:var(--ok-soft);color:var(--ok)}.urgbar.calm .mico{color:var(--ok)!important}

.osbubble{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:340px;max-width:calc(100% - 32px);background:var(--panel);color:var(--ink);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:12px 14px;display:grid;gap:4px;z-index:70;font-size:13px;border:1px solid var(--line)}
.osbubble>span{color:var(--ink-2)}
.osb-h{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-3)}.osb-h b{color:var(--ink);flex:1}
.osbubble.urg{border:2px solid var(--err)}.osbubble.urg .leafmini{background:var(--err)}
.leafmini{width:22px;height:22px;border-radius:6px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}
@media (prefers-reduced-motion:no-preference){.osbubble{animation:slidein .3s ease-out}@keyframes slidein{from{transform:translateX(30px);opacity:0}}}

.inp.thin{padding:6px 10px;font-weight:700;font-size:13px}
.nv.addtab{color:var(--accent-2);border:1.5px dashed var(--accent);margin-top:6px}
.fbtn[disabled]{opacity:.5;cursor:not-allowed}

.nagpill{display:inline-flex;gap:6px;align-items:center;border:0;border-radius:999px;padding:9px 14px;background:var(--warn-soft);color:var(--warn);font-weight:800;cursor:pointer}
@media (prefers-reduced-motion:no-preference){.nagpill{animation:nag 2.4s ease-in-out infinite}@keyframes nag{0%,85%,100%{transform:none}90%{transform:rotate(-3deg)}95%{transform:rotate(3deg)}}}
.ckbtn{width:30px;height:30px;border-radius:50%;border:2px solid var(--line-2);background:var(--panel);color:transparent;cursor:pointer;display:grid;place-items:center;flex:none}
.ckbtn:hover{border-color:var(--ok);color:var(--ok)}
.bigcheck{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:4px}

.custgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.custrow{display:flex;gap:8px;align-items:center;background:var(--sunk);border-radius:14px;padding:6px 8px}
.custrow .inp{flex:1;min-width:0}
.custrow.off{opacity:.55}

.urgacts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}

/* ---- ajouts application ---- */
a{color:var(--accent-2)}
.wide{width:100%;justify-content:center}.center{text-align:center;display:block}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-left,0px))}
.authcard{width:420px;max-width:100%;background:var(--panel);border-radius:26px;box-shadow:var(--soft);padding:28px;display:grid;gap:16px}
.authcard h1{font-size:22px}
.inp.code{font-size:26px;letter-spacing:.3em;text-align:center;font-family:var(--font-d)}
.flash{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;gap:8px;max-width:calc(100% - 32px)}
.flash div{background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:999px;font-weight:600;box-shadow:var(--shadow)}
.flash .err{background:var(--err);color:#fff}
form.inline{display:inline}
.tb select,.tb input[type=text]{border:1px solid var(--line-2);border-radius:8px;padding:5px 7px;background:var(--panel)}
.pl .cell form{display:contents}
details.ed{border-radius:14px}
details.ed summary{list-style:none;cursor:pointer}
details.ed summary::-webkit-details-marker{display:none}
.edbox{position:absolute;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:14px;width:320px;max-width:calc(100vw - 32px);display:grid;gap:10px}
.cellwrap{position:relative}
.grid-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.muted-row td{color:var(--ink-3)}
.badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--err);margin-left:6px}
@media (max-width:860px){.side{display:none}}

/* ===== Application réelle : compléments ===== */
dialog.mdl{border:0;padding:0;color:var(--ink);max-width:calc(100vw - 24px)}
dialog.mdl:not([open]){display:none}
dialog.mdl::backdrop{background:rgba(10,24,27,.45)}
dialog.mdl>form{padding:22px;display:grid;gap:14px}
.form{display:grid;gap:12px}
.seg a{border:0;background:none;padding:7px 14px;border-radius:999px;font-size:12.5px;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center;font-weight:600;text-decoration:none}
.seg a.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
.seg .cnt{font-size:11px;background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:0 7px}
details.card>summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary::after{content:"▾";margin-left:auto;color:var(--ink-3)}
details.card[open]>summary::after{content:"▴"}
a.kpi{text-decoration:none;color:inherit}
.kpi{grid-template-columns:auto 1fr;align-items:center;gap:12px}
.kpi .ico{background:var(--accent-soft);color:var(--accent-2)}
.kpi .v{font-family:var(--font-d);font-size:24px;font-weight:700;line-height:1.1}
.kpi .k{font-size:12.5px;color:var(--ink-2)}
.kpi.warn .ico{background:var(--warn-soft);color:var(--warn)}.kpi.warn .v{color:var(--warn)}
.kpi.err .ico{background:var(--err-soft);color:var(--err)}.kpi.err .v{color:var(--err)}
.tiles+.tiles,.tiles{margin-bottom:4px}
.content{display:grid;gap:16px;align-content:start}
.bigbtn{padding:14px 22px!important;font-size:15px!important;border-radius:999px}
.today .today-t{font-family:var(--font-d);font-size:26px;font-weight:700;color:var(--accent-2);display:block}
a.today{text-decoration:none;color:inherit}
.req.urg{box-shadow:inset 4px 0 0 var(--err),var(--soft)}
.bub{background:var(--sunk);justify-self:start;max-width:86%}
.bub.me{background:var(--accent-soft);color:var(--ink);justify-self:end}
.bub .hint{font-size:11px;margin-bottom:3px}
.chat{display:grid;gap:12px;align-content:start}
.msgs{grid-template-columns:minmax(260px,360px) minmax(0,1fr)}
.thr{display:flex;text-decoration:none;color:inherit}
.lm{display:block;height:100%;min-height:26px;width:100%}
.chip .lm{display:inline-block;width:12px;height:12px;min-height:0;border-radius:4px}
.lm.c-cp{background:var(--g0s)}.lm.c-cnp{background:var(--g3s)}.lm.c-css{background:var(--g4s)}.lm.c-aj{background:var(--g1s)}.lm.c-mal{background:var(--g2s)}
.lm.pend{opacity:.45;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.7) 0 3px,transparent 3px 6px)}
.cal td.nm{padding:0 10px;white-space:nowrap;min-width:130px;background:var(--panel);position:sticky;left:0;z-index:1}
.cal th.nm{position:sticky;left:0;background:var(--panel);z-index:1;text-align:left;padding-left:10px}
.pl.mini{min-width:720px}.pl.mini .sh{padding:6px}.pl.mini .add{min-height:34px}.pl.mini th.dh.on{color:var(--accent-2)}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;letter-spacing:6px;text-align:center}
ol.steps{display:grid;gap:8px;padding-left:20px;font-weight:400;font-size:13.5px;color:var(--ink)}
.toasts{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:grid;gap:8px;z-index:80;max-width:min(360px,calc(100vw - 32px))}
.toasts a{display:flex;gap:10px;align-items:flex-start;background:var(--panel);color:var(--ink);border-radius:18px;padding:12px 14px;box-shadow:var(--shadow);text-decoration:none;font-size:13.5px;border-left:4px solid var(--accent)}
.toasts a.urg{border-left-color:var(--err)}
.flash{position:fixed;left:50%;transform:translateX(-50%);top:14px;z-index:90;display:grid;gap:6px;pointer-events:none}
.flash div{background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:13.5px;box-shadow:var(--shadow);animation:fl 5s forwards}
.flash div.err{background:var(--err);color:#fff}
@keyframes fl{0%,85%{opacity:1}100%{opacity:0;visibility:hidden}}
body[data-secure="1"] .content{-webkit-user-select:none;user-select:none}
body[data-secure="1"] .content input,body[data-secure="1"] .content textarea{-webkit-user-select:text;user-select:text}
body.blurred .content{filter:blur(14px)}
@media print{body[data-secure="1"] .content{display:none}}
.wm{position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.07}
.auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg)}
@media (max-width:860px){.msgs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.li{flex-wrap:wrap}.li .grow{min-width:60%}}
a{color:inherit;text-decoration:none}
.hint a,p a,a.hint,.steps a{color:var(--accent-2);text-decoration:underline}
.chips.radios label.chip{position:relative}
.chips.radios label.chip input{position:absolute;opacity:0;pointer-events:none}
.chips.radios label.chip:has(input:checked){background:var(--accent);color:var(--on-accent);border-color:transparent}
.chips.radios label.chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:1180px){.top .weekpill{display:inline-flex}}
@media (max-width:600px){.top{flex-wrap:wrap}.top .weekpill{order:3;width:100%;justify-content:space-between}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:12px}.kpi .v{font-size:20px}}
.kpi.act .v{font-size:15px;font-family:var(--font-b)}
/* Périodes indisponibles */
.bo-sw{display:inline-block;width:14px;height:14px;border-radius:4px;flex:none;background:repeating-linear-gradient(135deg,var(--ink-3) 0 2px,var(--line-2) 2px 5px)}
.cal td.bo{background:repeating-linear-gradient(135deg,var(--line-2) 0 3px,var(--sunk) 3px 7px)}
.dotabs{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.yr{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.ym>b{display:block;font-family:var(--font-d);margin-bottom:6px;color:var(--accent-2)}
.yg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:11.5px;text-align:center}
.yg em{font-style:normal;color:var(--ink-3);font-size:10.5px;font-weight:600}
.yg span{position:relative;padding:4px 0;border-radius:7px;color:var(--ink-2)}
.yg span.we{color:var(--ink-3)}
.yg span.bo{background:repeating-linear-gradient(135deg,var(--line-2) 0 3px,var(--sunk) 3px 7px);color:var(--ink);font-weight:700}
.yg span.td{outline:2px solid var(--accent);outline-offset:-2px}
.yg span i{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}
.flash{bottom:auto;align-content:start}
.content>.weekpill{justify-self:start}
.yg span.fe{color:var(--accent-2);font-weight:700;background:var(--accent-soft)}
.fe-sw{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:5px;background:var(--accent-soft);color:var(--accent-2);font-size:10px;font-weight:700}
.pl th.dh.fer{background:var(--accent-soft)}
.add.wish-ok{background:var(--ok-soft);color:var(--ok)}.add.wish-am,.add.wish-pm{background:var(--accent-soft);color:var(--accent-2)}.add.wish-no{background:var(--err-soft);color:var(--err)}
.ill{display:block;width:140px;height:auto;margin:0 auto 10px}
.brandlogo{width:40px;height:40px;object-fit:contain;border-radius:10px;flex:none}
a.brand{color:inherit;text-decoration:none}
.logo-prev{width:74px;height:74px;border-radius:20px;background:var(--sunk);display:grid;place-items:center;overflow:hidden;flex:none}.logo-prev img{width:100%;height:100%;object-fit:contain}
.spaces{display:flex;gap:4px;background:var(--panel);border-radius:16px;padding:4px;margin:0 0 12px}
.spaces a{flex:1;display:flex;gap:6px;align-items:center;justify-content:center;padding:8px 6px;border-radius:12px;font-size:12.5px;font-weight:700;color:var(--ink-2);text-align:center}
.spaces a.on{background:var(--accent);color:var(--on-accent)}
body.in-perso .side{background:color-mix(in srgb,var(--g1b) 55%,var(--side))}
body.in-perso .spaces a.on{background:var(--g1s);color:#fff}
.mobsep{border-left:1px solid var(--line-2);margin:0 2px}
.avpick{display:flex;flex-wrap:wrap;gap:6px}.avpick .emo{font-size:24px;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:var(--panel);cursor:pointer}.avpick .emo.on{outline:2px solid var(--accent)}
.mico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none}
.mc0{background:var(--g0b);color:var(--g0s)}.mc1{background:var(--g1b);color:var(--g1s)}.mc2{background:var(--g2b);color:var(--g2s)}.mc3{background:var(--g3b);color:var(--g3s)}.mc4{background:var(--g4b);color:var(--g4s)}.mc5{background:var(--g5b);color:var(--g5s)}
/* modules v2 */
.vbars{display:flex;gap:8px;align-items:stretch;height:170px;padding-top:6px}
.vb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}
.vb i{display:block;width:100%;max-width:38px;border-radius:8px 8px 3px 3px;background:var(--accent)}
.vb small{font-size:10.5px;color:var(--ink-3);white-space:nowrap}.vb b{font-size:11px;font-weight:700;order:-1}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px}
.kcol-h{display:flex;justify-content:space-between;align-items:center;padding:2px 4px}
a.kc{color:inherit;text-decoration:none}.kc .chips{gap:4px}
a.fcard{padding:0;gap:0;display:grid;justify-items:stretch;transition:transform .15s}
.stepn{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.ckbtn.on{background:var(--ok);border-color:var(--ok);color:#fff}
a.ckbtn{text-decoration:none}
.prog{margin:4px 0 8px}
table.reg td,table.reg th{white-space:nowrap;font-size:12px}
.center{text-align:center}
.note-legal{font-size:12px;color:var(--ink-2);background:var(--sunk);border-radius:12px;padding:8px 12px;margin:0}
@media (max-width:600px){.kanban{grid-auto-columns:minmax(200px,80%)}}
.form2>*{min-width:0}
.chip{max-width:100%}
@media (max-width:600px){.chip{white-space:normal;text-align:left}}
/* gestion mots de passe */
.vrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.vrow .hint{min-width:96px}
.vrow code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--sunk);border-radius:10px;padding:5px 10px;font-size:13.5px;word-break:break-all}
.vitem{display:grid;gap:4px;align-content:start}
.vedit[open]{width:100%}.vedit>summary{list-style:none}.vedit>summary::-webkit-details-marker{display:none}
.vcat{margin:10px 0 0}
.reccode{font-family:ui-monospace,Menlo,monospace;font-size:22px;letter-spacing:2px;background:var(--sunk);padding:14px;border-radius:14px;text-align:center;word-break:break-all;margin:10px 0}
.pwmeter{height:6px;border-radius:4px;background:var(--sunk);overflow:hidden;margin-top:6px}.pwmeter i{display:block;height:100%;width:0;transition:width .2s}
/* bulles de rappel qui clignotent */
.toasts a{position:relative;padding-right:34px;transition:opacity .4s,transform .4s}
.toasts a.out{opacity:0;transform:translateX(30px)}
.toasts a .tx{position:absolute;top:6px;right:8px;border:0;background:none;font-size:18px;line-height:1;color:var(--ink-3);cursor:pointer}
.toasts a.rem{border-left-color:var(--warn);background:var(--warn-soft);color:var(--ink);font-weight:600;animation:blink 1.2s ease-in-out 0s 6}
@keyframes blink{0%,100%{box-shadow:var(--shadow);transform:scale(1)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--warn) 35%,transparent),var(--shadow);transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){.toasts a.rem{animation:none}}
/* saisie rapide, tableau d’animation */
.bigplus{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bigplus form{display:grid;gap:8px}
.plusbtn{display:grid;justify-items:center;gap:8px;padding:22px 10px;border:0;border-radius:22px;background:var(--accent-soft);color:var(--accent-2);cursor:pointer;font-size:18px;box-shadow:var(--soft);width:100%}
.plusbtn:active{transform:scale(.97);background:var(--accent);color:var(--on-accent)}
.plusbtn b{font-family:var(--font-d)}
table.anim td,table.anim th{padding:6px 4px}
.hcell{width:46px;text-align:center;border:1px solid var(--line);border-radius:9px;padding:6px 2px;background:var(--panel);font-variant-numeric:tabular-nums;font-size:14px}
.hcell[data-future]{background:var(--sunk);opacity:.6}
.hcell:focus{outline:2px solid var(--accent);opacity:1}
th.nowh{color:var(--accent-2);background:var(--accent-soft);border-radius:8px}
.anim .big{font-family:var(--font-d);font-size:18px}
.prog.mini{height:5px;margin:4px 0 0}
.medal{font-size:16px}
tr.tot td{border-top:2px solid var(--line-2);background:var(--sunk)}
.vtab td.vcell{font-size:11px;line-height:1.15;padding:4px 3px;min-width:26px}.vtab td.vcell span{color:var(--ink-3)}
.vtab th.we,.vtab td.we{background:var(--sunk)}
@media (max-width:600px){.plusbtn{padding:18px 6px}}
td.center,th.center{display:table-cell}
table.anim .hcell{width:40px}
table.anim td.tcol{min-width:110px;background:var(--accent-soft)}
table.anim th.nm,table.anim td.nm{white-space:nowrap}

/* v2.6 : espace Formation */
.spaces.s3 a{flex-direction:column;gap:2px;font-size:11.5px;padding:7px 4px}
.navadd summary{list-style:none;border:1.5px dashed var(--accent);color:var(--accent-2);border-radius:14px;margin-top:8px;cursor:pointer}
.navadd summary::-webkit-details-marker{display:none}
.navaddf{display:grid;gap:6px;padding:8px 2px 4px}
.fcover.c0{background:var(--g0s)}.fcover.c1{background:var(--g1s)}.fcover.c2{background:var(--g2s)}.fcover.c3{background:var(--g3s)}.fcover.c4{background:var(--g4s)}.fcover.c5{background:var(--g5s)}
.fbar{height:6px;border-radius:99px;background:var(--sunk);overflow:hidden}.fbar i{display:block;height:100%;background:var(--accent);border-radius:99px}
a.fcard:hover{transform:translateY(-2px)}
.fstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:900px){.fstats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fstat{background:var(--panel);border-radius:20px;box-shadow:var(--soft);padding:16px 18px;display:grid;gap:2px}
.fstat span{font-size:12.5px;color:var(--ink-2)}.fstat b{font-family:var(--font-d);font-size:26px;font-weight:700}.fstat small{font-size:12px;color:var(--ink-3)}
.ftabbar{display:none}@media (max-width:860px){.ftabbar{display:flex}}
.grid2.fcat{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start}
@media (max-width:980px){.grid2.fcat{grid-template-columns:minmax(0,1fr)}}
.freader.ftext{display:block;text-align:left;place-items:initial;padding:22px 24px 40px}
.ftxt{font-size:15px;line-height:1.65;color:var(--ink)}
.freader.fpdf{display:block;padding:0;min-height:70vh}.freader.fpdf iframe{width:100%;height:70vh;border:0;display:block}
.fwm{pointer-events:none}
.qz{border:0;padding:12px 0;margin:0;border-top:1px solid var(--line)}.qz legend{padding:0 0 8px;line-height:1.5}
.chip.qok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.chip.qko{background:var(--err-soft);border-color:var(--err);color:var(--err)}
.addsup[open]{flex-basis:100%}
.facc .fbtn{width:36px;height:36px}
.teamgrid{grid-template-columns:minmax(0,330px) minmax(0,1fr)}@media (max-width:980px){.teamgrid{grid-template-columns:minmax(0,1fr)}}
.crg{display:grid;gap:8px}.crg>div{background:var(--sunk);border-radius:12px;padding:8px 12px}
.chip.urgchip{background:var(--err-soft);color:var(--err);border-color:transparent}
.agrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media (max-width:700px){.agrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.agday{display:grid;gap:6px;align-content:start}.agday>b{font-size:13px;color:var(--ink-2)}
.agday form{display:block}
.agc{display:block;width:100%;border:0;border-radius:12px;padding:9px 8px;font-size:12.5px;font-weight:600;text-align:center;cursor:pointer;font-family:inherit}
.agc.free{background:var(--ok-soft);color:var(--ok)}.agc.res{background:var(--accent);color:var(--on-accent)}.agc.shut{background:var(--sunk);color:var(--ink-3)}
span.agc{display:inline-block;width:auto;padding:6px 12px}.agday span.agc{display:block;width:100%}
.latebox summary{list-style:none}.latebox summary::-webkit-details-marker{display:none}.latebox[open]{flex-basis:100%}
.evos{display:flex;gap:18px;align-items:flex-end}.evo{display:grid;justify-items:center;gap:4px}.evob{width:34px;border-radius:8px 8px 4px 4px;background:var(--accent)}.evo small{color:var(--ink-3);font-size:11.5px}
tr.tot td{background:var(--sunk);border-top:2px solid var(--line-2)}
.stars{color:var(--g3s);letter-spacing:1px;font-size:13px}.stars span{color:var(--line-2)}
.htit{display:grid;gap:2px;min-width:0}.htit h1{margin:0}.hsub{margin:0;color:var(--ink-2);font-size:14px}
a.weekpill{color:var(--ink);text-decoration:none;gap:8px}
.actbar{position:relative;height:30px;border-radius:10px;background:var(--sunk);overflow:hidden;margin-top:12px}
.actbar i{position:absolute;top:0;bottom:0;border-radius:4px}
.ab0{background:var(--g0s)}.ab1{background:var(--g1s)}.ab2{background:var(--g2s)}.ab3{background:var(--g3s)}.ab4{background:var(--g4s)}.ab5{background:var(--g5s)}
i.dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.actticks{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:3px}
.actgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.actgrid a{display:flex;gap:12px;align-items:center;background:var(--panel);border-radius:18px;box-shadow:var(--soft);padding:12px 14px;color:var(--ink);text-decoration:none}
.actgrid .mico{width:44px;height:44px;flex:none}
.actgrid b{display:block;font-size:14px}.actgrid small{display:block;color:var(--ink-2);font-size:12px;margin-top:2px}
@media (max-width:560px){.actgrid{grid-template-columns:1fr 1fr}.actgrid a{flex-direction:column;align-items:flex-start;padding:12px}.actgrid small{display:none}}
.phtab{display:none}
@media (max-width:860px){
  .phtab{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06);padding:6px max(6px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px))}
  .phtab a{flex:1;display:grid;justify-items:center;gap:2px;padding:6px 2px;border-radius:12px;color:var(--ink-3);font-size:11px;font-weight:600;position:relative;text-decoration:none}
  .phtab a.on{color:var(--accent-2);background:var(--accent-soft)}
  .phtab a i{position:absolute;top:2px;right:calc(50% - 22px);background:var(--err);color:#fff;border-radius:999px;min-width:17px;height:17px;font-size:10.5px;font-style:normal;display:grid;place-items:center;padding:0 4px}
  .content.withtab{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .mobnav.persomob .nv[href="?p=home"],.mobnav.persomob .nv[href="?p=me"],.mobnav.persomob .nv[href="?p=myrequests"],.mobnav.persomob .nv[href="?p=messages"],.mobnav.persomob .nv[href="?p=dossier"]{display:none}
  .flash{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:860px){body:has(.phtab) .osbubble,body:has(.phtab) .toasts{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
.brand{position:relative}.brandedit{margin-left:auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--accent-2);box-shadow:var(--soft);flex:none}
.pwwrap{position:relative;display:block}.pwwrap .inp{padding-right:44px;width:100%}.pweye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;color:var(--ink-3);border-radius:50%;cursor:pointer;display:grid;place-items:center}.pweye:hover{background:var(--sunk);color:var(--ink)}
/* Agenda façon Calendly */
.calhead{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.calday{padding:4px 0 10px}.calday+.calday{border-top:1px solid var(--line);padding-top:12px}
.caldh{display:flex;gap:8px;align-items:center;margin-bottom:8px;font-size:14px}
.calev{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;padding:10px 12px;border-radius:14px;background:var(--sunk);border-left:4px solid var(--c);margin-bottom:8px}
.calev>.grow{min-width:180px}
.calt{display:grid;min-width:52px;font-variant-numeric:tabular-nums}
.rdvdot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.rdvtype{border-top:5px solid var(--c)}.rdvtype.off{opacity:.6}
.cdot{position:relative;cursor:pointer}.cdot input{position:absolute;opacity:0}.cdot span{display:block;width:24px;height:24px;border-radius:50%;background:var(--c);border:3px solid transparent}.cdot input:checked+span{border-color:var(--ink);box-shadow:0 0 0 2px var(--card)}
.dispor{display:grid;grid-template-columns:140px 1fr;gap:8px;align-items:center}
@media (max-width:600px){.dispor{grid-template-columns:1fr}}
.agc.blk{background:repeating-linear-gradient(45deg,var(--sunk),var(--sunk) 6px,var(--line) 6px,var(--line) 12px);color:var(--ink-2)}
.agc.res{color:#fff}.agc.cont{padding:3px;opacity:.55}
.calx{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:0;padding:0;overflow:hidden}
.calx-info{padding:22px;border-right:1px solid var(--line)}
.calx>h2,.calx>p{display:none}
.calx-types,.calx-pick{padding:22px;display:grid;gap:10px;align-content:start}
.calx-type{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:14px;color:inherit;text-decoration:none;background:var(--card)}
.calx-type:hover{border-color:var(--c)}.calx-type .hint{display:block;margin-top:2px}
.calx-cols{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px}
.calm-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.calm-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.calm-w{font-size:11px;color:var(--ink-3);font-weight:700}
.calm-d{display:grid;place-items:center;aspect-ratio:1;max-width:46px;margin:auto;width:100%;border-radius:50%;font-size:14px;color:var(--ink-3)}
.calm-d.ok{background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);font-weight:700;text-decoration:none}
.calm-d.ok:hover{background:color-mix(in srgb,var(--c) 26%,transparent)}
.calm-d.sel{background:var(--c);color:#fff}.calm-d.today{box-shadow:inset 0 0 0 1px var(--line)}
.calts{display:grid;gap:8px;align-content:start;max-height:420px;overflow:auto}
.calt-b{display:block;text-align:center;padding:11px;border:1.5px solid color-mix(in srgb,var(--c) 55%,transparent);border-radius:10px;color:var(--c);font-weight:700;text-decoration:none}
.calt-b:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,transparent)}
.calt-sel{display:grid;grid-template-columns:1fr 1fr;gap:6px}.calt-sel .btn{justify-content:center}.calt-sel .pri{background:var(--c);border-color:var(--c)}
.calsum{display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:var(--sunk);border-left:4px solid var(--c)}
.calsum div{display:flex;gap:8px;align-items:center;color:var(--ink-2)}
#confirm .pri{background:var(--c);border-color:var(--c)}
.calok{text-align:center;display:grid;gap:10px;justify-items:center;padding:30px 20px}
.calok .calsum{text-align:left;min-width:260px}
.okic{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--c);color:#fff}
@media (max-width:820px){.calx{grid-template-columns:1fr}.calx-info{border-right:0;border-bottom:1px solid var(--line)}.calx-cols{grid-template-columns:1fr}}
.agc.past{opacity:.45}
/* Espaces : 4 boutons */
.spaces.s4{display:grid;grid-template-columns:1fr 1fr}.spaces.s4 a{font-size:11.5px;padding:7px 4px}
/* Consignes */
.kbhero{background:linear-gradient(135deg,var(--accent-soft),var(--card) 70%)}
.kbask-row{display:flex;gap:8px;align-items:center}.kbask-row .inp{flex:1;min-width:0}
.kbbot{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent);color:var(--on-accent);flex:none}
@media (max-width:600px){.kbask-row{flex-wrap:wrap}.kbask-row .btn{width:100%;justify-content:center}.kbbot{display:none}}
.kbsearch{display:flex;gap:8px}.kbsearch .inp{flex:1;min-width:0}
.kbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.kbc{display:grid;gap:6px;align-content:start;padding:16px;border-radius:18px;background:var(--card);box-shadow:var(--soft);border-top:5px solid var(--c);color:inherit;text-decoration:none;min-height:130px}
.kbc:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.08)}
.kbc-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.kbc-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--c);color:#fff;font-weight:800;margin-right:auto}
.kbc-ic.big{width:52px;height:52px;border-radius:14px;font-size:22px;margin:0}
.kbc-memo{font-size:12.5px;color:var(--ink-2);background:var(--warn-soft);border-radius:8px;padding:6px 8px}
.kbmine{display:grid;gap:10px}.kbrow{display:grid;gap:6px}.kbrow>b{font-size:13px;display:flex;gap:6px;align-items:center}
.kbhead{display:grid;gap:12px;border-top:5px solid var(--c)}.kbhead-t{display:flex;gap:14px;align-items:center}
.kbmemo{display:flex;gap:10px;padding:14px 16px;border-radius:16px;background:var(--warn-soft);color:var(--ink)}.kbmemo>svg{color:var(--warn);flex:none}
.kbmemo p{margin:4px 0}
.kbtoc{display:flex;gap:6px;flex-wrap:wrap;position:sticky;top:0;z-index:2;background:var(--bg);padding:6px 0}
.kbtoc a{padding:6px 12px;border-radius:999px;background:var(--card);box-shadow:var(--soft);font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none}
.kbsecs{display:grid;gap:14px}
.kbsec{scroll-margin-top:60px}.kbsec h3{margin:0 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kbtxt p{margin:0 0 6px;line-height:1.55}.kbtxt ul{margin:4px 0 8px;padding-left:20px;line-height:1.6}.kbsp{height:6px}
.kbwarn{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:10px;background:var(--err-soft,#fde8e8);color:var(--err);font-weight:600;margin:6px 0}
.kbsay{display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--accent-soft);margin:6px 0;font-style:italic}
.kbsay .btn{font-style:normal}
.kbif{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr);gap:8px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--sunk);margin:6px 0}
.kbif-c{font-weight:700}.kbif-a{color:var(--accent)}
@media (max-width:600px){.kbif{grid-template-columns:1fr}.kbif-a{display:none}}
.kbsec-h{display:flex;gap:8px;align-items:center}.kbsec-title{font-weight:700;font-size:15px}
.kbta{font-family:inherit;line-height:1.5}
.kbhist summary{list-style:none}.kbhv-l{display:grid;gap:8px;margin-top:8px}
.kbhv{padding:10px;border-radius:10px;background:var(--sunk);display:grid;gap:6px}.kbhv-b{font-size:13px;max-height:160px;overflow:auto}
.kbhits{display:grid;gap:8px;margin-top:8px}
.kbhit{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:var(--card);border-left:4px solid var(--c);color:inherit;text-decoration:none;box-shadow:var(--soft)}
.kbhit mark{background:#ffe58a;border-radius:3px;padding:0 2px}
.kbchat{display:grid;gap:10px;margin-bottom:12px}.kbchat .bub{max-width:none}
.bub.bot{background:var(--sunk)}
.kbai{font-size:15px;line-height:1.55;padding:10px 12px;border-radius:10px;background:var(--card);border-left:4px solid var(--accent)}
.kbprio{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kbprio label{cursor:pointer}.kbprio input{position:absolute;opacity:0}
.kbprio span{display:grid;gap:4px;padding:12px 14px;border-radius:14px;border:2px solid var(--line);height:100%}
.kbprio small{color:var(--ink-3);font-size:12.5px;line-height:1.4}
.kbprio input:checked+span{border-color:var(--accent);background:var(--accent-soft)}
@media (max-width:600px){.kbprio{grid-template-columns:1fr}}
.kbfab{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;gap:8px;align-items:center;padding:12px 16px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.kbfab.up{bottom:84px}
@media (max-width:700px){.kbfab{right:12px;padding:12px}.kbfab span{display:none}}
@media (min-width:701px){.kbfab.up{bottom:18px}}
@media print{.side,.top,.kbfab,.chips,.kbtoc,.kbsugg,.flash,.mobnav,.phtab{display:none!important}.kbsec{box-shadow:none;border:1px solid #ddd}}
/* Charte */
.charte{max-width:820px}.chartetxt p{margin:0 0 8px;line-height:1.6}.chartetxt ul{line-height:1.7}
.charteok{border-top:1px solid var(--line);padding-top:14px;margin-top:10px}
.chip.big{padding:12px 14px;font-size:14px}
/* Micro-pauses et temps de travail par jour */
.mprows{display:grid;gap:6px}.mprow{display:flex;gap:8px}.mprow .inp{width:auto;flex:1}
.sh small.mpl{opacity:.85}.sh small.wk{font-weight:700;opacity:.9}
/* Consignes du jour */
@keyframes kblink{0%,100%{opacity:1}50%{opacity:.45}}
.blink{animation:kblink 1.2s ease-in-out infinite}
.daybar{display:flex;gap:10px;align-items:center;padding:10px 14px;margin:0 0 12px;border-radius:14px;background:var(--err);color:#fff;text-decoration:none;animation:kblink 1.6s ease-in-out infinite}
.daybar .grow{min-width:0;opacity:.95;overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.blink,.daybar,.kday.urg .kday-b{animation:none}}
.kday{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--warn-soft);margin-bottom:8px}
.kday.urg{background:var(--err-soft);border:2px solid var(--err)}
.kday-b{flex:none;font-size:11px;font-weight:800;letter-spacing:.03em;padding:4px 8px;border-radius:8px;background:var(--err);color:#fff}
.kday.urg .kday-b{animation:kblink 1.2s ease-in-out infinite}
.kday-b.n{background:var(--warn);color:#fff}
.kday-c{font-size:13px;margin-bottom:2px}.kday-c a{color:inherit;font-weight:700;text-decoration:none}
.kday-t p{margin:0 0 4px}
.kdaycard{border-top:5px solid var(--warn)}.kdaycard.urg{border-top-color:var(--err)}
.kday-urgbox{border:2px solid var(--err)}
.kbperm{display:flex;gap:8px;align-items:center;margin:6px 0 0;font-size:15px;color:var(--ink-2)}
.kbhid{opacity:.6}.kbhid .kbsec-title{text-decoration:line-through}
.btn.warn{background:var(--warn-soft);color:var(--warn)}
.kchats{align-items:start}
.kconv{max-height:340px;overflow:auto;display:grid;gap:8px;padding:4px 2px}
.kchat-f{display:flex;gap:8px;margin-top:8px}.kchat-f textarea{flex:1;min-height:42px;resize:vertical}
.bubact{display:flex;gap:10px;margin-top:4px}
.lnk{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--ink-3);cursor:pointer;text-decoration:underline}
.pl tr.mine td{background:var(--accent-soft)}
/* Support technique */
.supcats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.supcats label{cursor:pointer}.supcats input{position:absolute;opacity:0}
.supcats span{display:flex;gap:10px;align-items:center;padding:12px;border:2px solid var(--line);border-radius:14px;height:100%;font-size:13.5px}
.supcats span svg{flex:none;color:var(--accent)}
.supcats input:checked+span{border-color:var(--accent);background:var(--accent-soft)}
.supcats input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.errlog{white-space:pre-wrap;font-size:12px;background:var(--sunk);padding:10px;border-radius:10px;max-height:220px;overflow:auto}
/* Pièces jointes dans les messages et discussions */
.attach{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:12px;border:1px dashed var(--line);color:var(--ink-2);font-size:13px;cursor:pointer;justify-self:start;max-width:100%}
.attach input{position:absolute;width:1px;height:1px;opacity:0}
.attach.on{border-style:solid;border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft)}
.attach span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.attach:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.attimg{display:block;margin-top:6px}.attimg img{max-width:min(320px,100%);max-height:240px;border-radius:10px;border:1px solid var(--line);display:block}
.kchat-f{flex-wrap:wrap;align-items:flex-end}.kchat-f textarea{min-width:160px}
.kconv.big{max-height:60vh;min-height:280px}
.kbgrp{gap:4px}.kbgrp .gp{position:static;font-size:11px;padding:2px 7px;border-radius:6px}
/* Menu de gauche : sections bien séparées et repliables */
.side .sec.hassec{border-top:1px solid var(--line);padding-top:10px;margin-top:8px}
.side .sec-t{display:flex;gap:8px;align-items:center;width:100%;border:0;background:none;cursor:pointer;text-align:left;font:inherit;font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:0;text-transform:none;padding:6px 10px;border-radius:10px}
.side .sec-t svg{color:var(--accent);flex:none}
.side .sec-t span{flex:1}
.side .sec-t .chev{font-style:normal;font-size:11px;color:var(--ink-3);transition:transform .15s}
.side .sec-t:hover{background:var(--sunk)}
.side .sec.closed .sec-t .chev{transform:rotate(-90deg)}
.side .sec.closed > .nv{display:none}
.side .sec.hassec > .nv{margin-left:6px}
.nbtab th.nbh{font-size:11.5px;min-width:86px;white-space:normal;line-height:1.2}
.nbt{width:38px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--ink-3);font-weight:800;cursor:pointer}
.nbt.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.side .sec-t{opacity:1;color:var(--ink);font-size:14.5px;background:var(--panel);margin-bottom:2px}
.side .sec-t svg{width:17px;height:17px}
.nbtab td.nm{min-width:150px}
/* Boutons : une couleur par type d’action, pour comprendre d’un coup d’œil */
.btn:not(.pri):has(> svg.i-plus),.btn:not(.pri):has(> svg.i-uplus){background:var(--accent-soft);color:var(--accent-2);border-color:transparent}
.btn:not(.pri):has(> svg.i-trash),.btn.no{background:var(--err-soft);color:var(--err);border-color:transparent}
:root{--edit-bg:#E6EEFB;--edit-fg:#2A5DB0;--view-bg:#F0EBFB;--view-fg:#5B3FB0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--edit-bg:#1D2B44;--edit-fg:#9DBBEA;--view-bg:#2A2240;--view-fg:#C3B2F0}}
:root[data-theme="dark"]{--edit-bg:#1D2B44;--edit-fg:#9DBBEA;--view-bg:#2A2240;--view-fg:#C3B2F0}
.btn:not(.pri):has(> svg.i-note),.btn:not(.pri):has(> svg.i-set){background:var(--edit-bg);color:var(--edit-fg);border-color:transparent}
.btn:not(.pri):has(> svg.i-check){color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.btn:not(.pri):has(> svg.i-send),.btn:not(.pri):has(> svg.i-msg){color:var(--accent-2);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.btn:not(.pri):has(> svg.i-eye){background:var(--view-bg);color:var(--view-fg);border-color:transparent}
.btn:not(.pri):has(> svg.i-pdf),.btn:not(.pri):has(> svg.i-copy),.btn:not(.pri):has(> svg.i-upload){background:var(--sunk)}
.btn:hover{filter:brightness(.97)}
/* Titres des cartes : l’icône en couleur */
.card-h h2 > svg{color:var(--accent);vertical-align:-3px}
/* « + Ajouter… » repliables : bien visibles */
details > summary b > svg.i-plus,details > summary b > svg.i-uplus{color:var(--accent);background:var(--accent-soft);border-radius:8px;padding:3px;width:22px;height:22px;vertical-align:-6px;margin-right:2px}
details.card > summary{cursor:pointer}
details.card > summary:hover b{color:var(--accent-2)}
/* Formulaires longs (réglages) : chaque partie bien séparée */
.form > h3{font-size:16px;color:var(--ink);margin:18px 0 4px;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}
.form > h3::before{content:"";width:6px;height:18px;border-radius:3px;background:var(--accent);flex:none}
.form > h3:first-child,.form > input[type=hidden] + h3{border-top:0;padding-top:0;margin-top:0}
#pushbox{gap:8px}

/* Voir comme… */
.asw{display:inline-flex;align-items:center;gap:6px;background:var(--view-bg,#f1ecfb);color:var(--view-fg,#6b4bb5);border-radius:999px;padding:0 4px 0 12px;height:38px;cursor:pointer;margin-left:8px}
.asw select{border:0;background:transparent;color:inherit;font:inherit;font-weight:600;font-size:14px;padding:6px 4px;cursor:pointer;max-width:190px;outline:none}
.asw.on{background:#fff4dc;color:#8a5a00;box-shadow:0 0 0 2px #f0c060 inset}
.btn.backme{background:#d9480f;border-color:#d9480f;color:#fff;font-weight:700;margin-left:8px}
.btn.backme:hover{filter:brightness(1.08)}
.previewbar{position:sticky;top:8px;z-index:60;box-shadow:0 6px 18px rgba(0,0,0,.12)}
@media (max-width:760px){.asw{height:34px;padding-left:10px;margin-left:4px}.asw select{max-width:120px;font-size:13px}.top .backme span{display:none}}

.pushst{display:block;margin-top:6px;font-weight:600}.pushst:empty{display:none}.pushst.ok{color:var(--accent)}.pushst.ko{color:var(--err)}

/* Flèche « revenir en arrière » */
.backbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--panel);color:var(--ink);flex:none;margin-right:10px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.backbtn svg{transform:rotate(180deg)}.backbtn:hover{background:var(--accent-soft);color:var(--accent)}
@media (max-width:760px){.backbtn{width:34px;height:34px;margin-right:6px}}

/* Consignes du jour par groupe */
.gp.gall{background:var(--ink-2);color:#fff;border-radius:8px}.gp.sm{font-size:11px;padding:1px 6px}
.kgfilter{margin:0 0 10px}.kgfilter .chip.on{outline:2px solid var(--ink);outline-offset:1px}
.chip.gchip{font-weight:800}
.kdsearch{display:flex;gap:10px;align-items:center;margin:0 0 10px}.kdsearch .inp{flex:1}
.kgsec{margin:0 0 14px}.kgsec-h{display:flex;gap:8px;align-items:center;margin:0 0 8px;padding:6px 0;border-bottom:1px solid var(--line)}
.kday{flex-wrap:wrap}.kday-side{display:flex;flex-direction:column;gap:6px;align-items:flex-start;flex:none;min-width:58px}
.kday.news{background:var(--accent-soft)}.kday-b.news{background:var(--accent);color:#fff}
.kday.seen{opacity:.75}.kday.seen .kday-b{animation:none}
.kday-f{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.kday-f .hint{margin-right:auto}
.kquick{margin:0 0 6px}.kquick .chip{font-size:12px}
.daybar.pulse{animation:kpulse .6s ease-in-out 0s 10}
@keyframes kpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.02);box-shadow:0 0 0 6px color-mix(in srgb,var(--err) 40%,transparent)}}
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 12px}
.kgtile{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:var(--panel);color:var(--ink);text-decoration:none;border:2px solid transparent;position:relative}
.kgtile.on{border-color:var(--ink)}.kgtile:hover{background:var(--accent-soft)}
.kgtile .gp{font-size:18px;padding:4px 12px;align-self:flex-start}.kgtile b{font-size:14px}.kgtile .hint{font-size:12px}
.kgtile .kgurg{position:absolute;top:8px;right:8px}
@media (max-width:760px){.kgrid{grid-template-columns:repeat(3,1fr);gap:8px}.kgtile{padding:10px}.kgtile .gp{font-size:15px}}
.kday-side .gp,.daybar .gp,.kgsec-h .gp,.kgtile .gp{position:static;display:inline-block;font-size:12px;font-weight:800;padding:2px 8px;border-radius:8px;min-width:28px;text-align:center}
.kgsec-h .gp{font-size:12px}.daybar .gp{background:#fff;color:var(--err)}
.yg span[data-yday]{cursor:pointer}.yg span[data-yday]:hover{background:var(--accent-soft);color:var(--accent)}
.yg span.sel{background:var(--accent);color:#fff;font-weight:700}

.daybar.soft{background:var(--warn);color:#1b1b1b}.daybar.soft .gp{background:#fff;color:var(--warn)}
.daybar.qbar{background:#7a1fa2}

/* Support technique */
.sticket .st-h{display:flex;gap:10px;align-items:flex-start}.sticket .st-b{margin-top:8px;white-space:pre-wrap}
.sticket .st-act{margin-top:10px;gap:8px}.sticket.done{opacity:.8}
@media (max-width:760px){.daybar{padding:8px 12px;font-size:13px}.daybar .grow{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* Présence : « Je suis… » dans l’en-tête, et « Qui fait quoi » */
.pstw{position:relative}.pstw summary{list-style:none;display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:38px;border-radius:999px;background:var(--panel);cursor:pointer;font-size:13.5px;white-space:nowrap}.pstw summary::-webkit-details-marker{display:none}
.pstw[open] summary{background:var(--accent-soft)}
.pstf{position:absolute;right:0;top:44px;z-index:80;background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:12px;width:min(420px,calc(100vw - 32px));display:grid;gap:8px}
.pst{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}
.pstgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px}
.pstp{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:12px;background:var(--sunk)}.pstp.me{outline:2px solid var(--accent)}
@media (max-width:760px){.pstw summary b{display:none}.pstw summary{padding:0 10px;height:34px}}

.dmtc{width:64px}.dmtc.over{background:var(--err-soft);border-color:var(--err)}

.callbtn{display:flex;justify-content:center;gap:8px;font-size:16px;padding:14px;margin:0 0 12px;border-radius:16px}
@media (min-width:761px){.callbtn{display:none}}

/* Rétro-planning */
.tb.retro td.rc{min-width:150px;vertical-align:top;border-left:5px solid var(--c);padding:6px}.tb.retro td.rc .inp.sm{width:100%;margin:2px 0;font-size:13px;padding:6px 8px}
.tb.retro th.nm{white-space:nowrap}

.rcodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.rcodes code{font-size:17px;font-weight:700;letter-spacing:.06em;background:#fff;color:#111;border-radius:8px;padding:6px 10px;text-align:center}
.chip.on .hint{color:inherit;opacity:.85}
.btn.pstok{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}
.callbtn{white-space:normal;text-align:center}

.khelp{border:2px solid #7a1fa2;border-radius:14px;padding:10px 12px;margin:0 0 8px;background:color-mix(in srgb,#7a1fa2 7%,var(--panel))}.khq{margin:4px 0 8px;font-weight:600}
.khf{display:flex;gap:6px}.khf .inp{flex:1}

.kquickbar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.kquickbar .btn{justify-content:center;padding:12px 8px;font-size:14px;white-space:normal;text-align:center}

/* Consignes complémentaires (recherche façon Google) */
.kfhero{max-width:820px;margin:8px auto 14px;text-align:center}.kfhero h2{margin:0 0 4px;font-size:24px;display:flex;gap:8px;align-items:center;justify-content:center}
.kfbox{display:flex;gap:8px;align-items:center;background:var(--panel);border:2px solid var(--line-2);border-radius:999px;padding:6px 6px 6px 18px;margin:12px 0 10px;box-shadow:var(--shadow)}.kfbox:focus-within{border-color:var(--accent)}
.kfbox input{flex:1;border:0;outline:none;background:transparent;font-size:18px;padding:8px 4px;min-width:0;color:var(--ink)}.kfbox svg{color:var(--ink-3);flex:none}
.kfg{justify-content:center}
.kfres{max-width:820px;margin:0 auto 14px}.kfr{display:block;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.kfr:last-child{border-bottom:0}
.kfr-u{display:block;font-size:12.5px;color:var(--accent-2,var(--accent));margin-bottom:2px}.kfr b{display:block;font-size:17px;color:var(--accent)}.kfr-s{display:block;font-size:14.5px;color:var(--ink-2)}.kfr.top b{font-size:18px}
.kfr:hover b{text-decoration:underline}.kfr mark{background:color-mix(in srgb,var(--warn) 35%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.kfaz{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.kfaz>b{font-size:18px;color:var(--accent)}.kfaz>div{display:flex;flex-wrap:wrap;gap:6px 14px}.kfaz a{display:inline-flex;gap:6px;align-items:center;text-decoration:none;color:var(--ink);font-weight:600}
@media (max-width:760px){.kfbox button{display:none}.kfhero h2{font-size:20px}}

.khelp.done{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.khr{background:var(--sunk);border-radius:10px;padding:6px 10px;margin:0 0 6px;font-size:14px}.khr.me{background:var(--accent-soft)}
.khask{display:flex;gap:6px;margin:0 0 10px}.khask .inp{flex:1}.khf{flex-wrap:wrap}

/* Réactions et lu / non lu */
.rx{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin:6px 0 0}.rx>button{border:1px solid var(--line-2);background:var(--panel);border-radius:999px;padding:1px 8px;font-size:13px;cursor:pointer;color:var(--ink)}.rx>button.on{background:var(--accent-soft);border-color:var(--accent)}
.rxadd{position:relative}.rxadd summary{list-style:none;cursor:pointer;font-size:12px;color:var(--ink-3);border:1px dashed var(--line-2);border-radius:999px;padding:1px 8px}.rxadd summary::-webkit-details-marker{display:none}
.rxadd>div{position:absolute;bottom:26px;left:0;z-index:20;display:flex;gap:2px;background:var(--panel);border-radius:999px;box-shadow:var(--shadow);padding:4px 6px}.rxadd>div button{border:0;background:none;font-size:20px;cursor:pointer;padding:2px 4px;border-radius:8px}.rxadd>div button:hover{background:var(--sunk);transform:scale(1.15)}
.bub.me .rxadd>div{left:auto;right:0}
.seen{display:block;font-size:11.5px;color:var(--ink-3);margin-top:4px;text-align:right}.seen.ok{color:var(--accent)}

.mfahelp{margin-top:12px;font-size:13.5px}.mfahelp summary{cursor:pointer;color:var(--accent);font-weight:700;text-align:center}.mfahelp ul{margin:8px 0 0;padding-left:18px;line-height:1.5;color:var(--ink-2)}
.authcard .btn{white-space:normal;text-align:center;height:auto;min-height:38px}.authcard{max-width:100%;box-sizing:border-box}.authcard form,.authcard .fld,.authcard .inp{min-width:0}
.auth{grid-template-columns:minmax(0,1fr)}.authcard{width:min(420px,100%);justify-self:center}
/* ---- Consignes reçues par mail ---- */
.daybar.mailbar{background:#1d5fa8;color:#fff}.daybar.mailbar.soft{background:#2f7fd8;color:#fff;animation:none}.daybar.mailbar.sup{background:var(--err)}
.mlt{margin:0 0 12px;flex-wrap:wrap}
.mlf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px}.mlf .inp{flex:1 1 160px;min-width:0;width:auto}
.mlday{font-size:12px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:16px 4px 6px}
.mli{padding:0;margin:0 0 8px;overflow:hidden}.mli>summary{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}
.mli>summary::-webkit-details-marker{display:none}.mli.isnew{border-left:4px solid #2f7fd8}.mli.urg{border-left:4px solid var(--err)}
.mli .mls{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.mli .mlw{flex:1 1 100%;font-size:12px}
.mlin{padding:0 14px 14px;border-top:1px solid var(--line)}.mlmeta{margin:10px 0;overflow-wrap:anywhere}
.mlbody{background:var(--bg,#f6f7f9);border-radius:10px;padding:10px 12px;overflow-wrap:anywhere}.mlbody p{margin:0 0 4px}
.mlfull{margin:6px 0}.mlfull summary{cursor:pointer;font-size:12.5px;color:var(--ink-2)}.mlfull pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12.5px/1.45 inherit;max-height:360px;overflow:auto;background:var(--bg,#f6f7f9);padding:10px;border-radius:8px}
.mlatt{margin:8px 0}.chip.off{opacity:.65}
.mlnew{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--warn-soft);color:var(--warn);margin:6px 0;font-weight:600}
.mlnote{margin:8px 0;padding:8px 12px;border-radius:10px;background:var(--accent-soft);font-size:13px}
.mlq{margin:10px 0 6px}
.mlact{border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:0 12px}.mlact>summary{cursor:pointer;font-weight:700;padding:10px 0}.mlact[open]>summary{border-bottom:1px solid var(--line);margin-bottom:10px}
.mlact .form{padding-bottom:12px}.mldel{margin-top:8px;text-align:right}
.mlhow{margin:0 0 12px;padding-left:20px;line-height:1.6}
.mlacc{overflow-x:auto}.mlacc table.tb input{width:auto}
.mli>summary{position:relative;padding-right:34px}.mli>summary::after{position:absolute;right:14px;top:14px}
@media (max-width:900px){.msgs.focus>:last-child{order:-1}}
@media (max-width:900px){html{scroll-padding-bottom:96px;scroll-padding-top:80px}}

/* Statut sur téléphone : une fenêtre en bas de l’écran, bien lisible, au-dessus de la barre d’onglets */
.psth{display:flex;align-items:center;justify-content:space-between;gap:8px}.psth b{font-size:15px}.psth .x{border:0;background:var(--accent-soft);border-radius:999px;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:inherit}
@media (max-width:760px){
 .pstf{position:fixed;left:10px;right:10px;top:auto;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100vh - 120px);overflow:auto;z-index:300;box-shadow:0 12px 40px rgba(0,0,0,.35);padding:14px}
 .pstw[open]::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:290}
 .pstf .chips.radios{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .pstf .chips.radios .chip{white-space:normal;justify-content:flex-start;min-height:42px;font-size:13.5px}
 .pstf .pstok{flex:1 1 auto;min-height:44px;font-size:15px}
}
.pstf .btn.pstok{color:#fff!important}.pstf .btn.pstok svg{color:#fff}body:has(.pstw[open]) .kbfab{display:none}
.tag{max-width:100%}div.tag{white-space:normal;align-items:flex-start}
.form,.fld{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.btn{white-space:normal;max-width:100%;text-align:center;height:auto;min-height:36px}}
@media (max-width:760px){.pstw summary b{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:13px}.pstw summary{border:1px solid var(--line-2)}}
/* ---- Espace d’un groupe d’appels ---- */
.kghead{display:grid;gap:12px}.kghead-t{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kghead-t h2{margin:0;font-size:22px}.kghead-t .gp{width:46px;height:46px;font-size:18px;display:grid;place-items:center;border-radius:14px}
.kghead-a{margin-left:auto}
.kgsw{display:flex;flex-wrap:wrap;gap:6px}.kgsw .gp{position:relative;min-width:40px;height:36px;display:grid;place-items:center;border-radius:10px;text-decoration:none;font-weight:800;opacity:.55;padding:0 8px}
.kgsw .gp.mine{opacity:.85;box-shadow:0 0 0 2px var(--line-2) inset}.kgsw .gp.on{opacity:1;box-shadow:0 0 0 3px var(--ink-1,#1b1b1b)}
.kgdot{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:var(--err);border:2px solid var(--panel)}
.kgfind h2{font-size:17px;margin:0 0 8px}
.mlshare{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;display:grid;gap:8px;background:var(--accent-soft)}
.mlshare-f{display:flex;flex-wrap:wrap;gap:8px}.mlshare-f .inp{flex:1 1 200px;min-width:0;width:auto}
@media (max-width:760px){.kghead-a{margin-left:0}}
.kfhero.kgfind{max-width:none;margin:0 0 14px;text-align:left;min-width:0}.kgfind h2{justify-content:flex-start;flex-wrap:wrap}.kgfind .kfbox{margin:6px 0 0}
.cell .lvp{display:block;margin-top:3px;font-size:10.5px;font-weight:700;color:var(--warn);background:var(--warn-soft);border-radius:6px;padding:1px 5px;white-space:normal}.cell .lv small{display:block;font-size:10.5px;opacity:.8}
/* ---- Réglages : qui a accès à quoi ---- */
.rt-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin-top:6px}
table.rt{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;min-width:640px}
table.rt-ag{min-width:0}
.rt th,.rt td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.rt th{background:var(--panel);font-size:12px;position:sticky;top:0;z-index:1}.rt th b{display:block;font-size:12.5px}
.rt .rt-f{text-align:left;position:sticky;left:0;background:var(--panel);z-index:2;min-width:190px;max-width:260px;font-weight:500}
.rt tr.rt-g td{background:var(--accent-soft);text-align:left;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-2);position:sticky;left:0}
.rt tbody tr:not(.rt-g):hover td{background:var(--bg,#f6f7f9)}
.rt-see{display:inline-flex;gap:3px;align-items:center;font-size:11px;font-weight:600;margin-top:3px;white-space:nowrap}
.rt-note{font-size:11px;color:var(--ink-2);background:var(--bg,#f2f4f3);border-radius:6px;padding:2px 6px;white-space:nowrap}
.rt-ck{display:inline-grid;place-items:center;cursor:pointer}.rt-ck input{position:absolute;opacity:0;width:1px;height:1px}
.rt-ck span{width:26px;height:26px;border-radius:8px;border:2px solid var(--line-2);display:grid;place-items:center;transition:.15s}
.rt-ck input:checked+span{background:var(--accent);border-color:var(--accent)}.rt-ck input:checked+span::after{content:"✓";color:#fff;font-weight:900;font-size:15px}
.rt-ck input:focus-visible+span{outline:3px solid var(--accent-soft)}
.rt-roles{margin:0;padding-left:18px;line-height:1.6;font-size:13.5px}.rt-more summary{cursor:pointer;font-weight:700}
.rt-ck{position:relative}.rt-ck input{left:0;top:0}
/* ---- Ma journée (gérante) : pensé d’abord pour le téléphone ---- */
.gseg{flex-wrap:nowrap;overflow-x:auto;margin:0 0 12px;scrollbar-width:none}.gseg::-webkit-scrollbar{display:none}.gseg a{white-space:nowrap;flex:none}
.ghello{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 12px}.ghello h2{margin:0;font-size:22px}
.ghello .chips form{display:inline}
.ggauge{background:var(--panel);border-radius:16px;padding:12px 14px;margin:0 0 12px;box-shadow:var(--shadow)}.ggauge-h{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;margin-bottom:8px}
.ggauge-b{height:12px;border-radius:99px;background:var(--line);display:flex;overflow:hidden}.ggauge-b span{background:var(--accent)}.ggauge-b i{background:var(--accent-soft);border-left:2px solid var(--panel)}
.gquick{background:var(--panel);border-radius:18px;padding:10px;box-shadow:var(--shadow);margin:0 0 14px;border:2px solid var(--accent-soft)}
.gquick-r{display:flex;gap:8px;align-items:center}.gquick-r .inp{flex:1;min-width:0;font-size:16px;border:0;background:transparent;padding:10px 4px}.gq-ic{font-size:22px}
.gq-more summary{cursor:pointer;font-size:12.5px;color:var(--ink-2);padding:4px 6px}.gq-o{display:grid;gap:8px;padding:6px}
.ggrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.gside{display:grid;gap:16px}
.gwin{font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--bg,#f4f6f5);border-radius:10px;padding:6px 10px;margin-bottom:10px}.gwin.off{background:var(--warn-soft);color:var(--warn)}
.gline{display:grid;gap:8px}
.gt,.gb{display:flex;gap:10px;align-items:stretch;border-radius:14px;background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--c);padding:10px 12px}
.gb{background:color-mix(in srgb,var(--c) 9%,var(--panel))}
.gt-t{min-width:48px;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.gt-t b{font-size:15px}.gt-t small{color:var(--ink-3);font-size:11.5px}
.gt-b{flex:1;min-width:0}.gt-h{font-size:14.5px;overflow-wrap:anywhere}.gt-m{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px;color:var(--ink-2);margin-top:3px;align-items:center}
.gt-a{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.gt-a .btn{min-height:38px}
.gt.done{opacity:.55}.gt.done .gt-h b{text-decoration:line-through}.gt.late{border-color:var(--err-soft)}.gt-late{color:var(--err);font-weight:700}.gt-rep{color:var(--warn);font-weight:700}
.gt.stuck{background:var(--err-soft)}.gt.hl{box-shadow:0 0 0 3px var(--accent)}.gt.mini{padding:8px 10px}
.gcat{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border-radius:999px;padding:1px 8px}
.gtrep{position:relative}.gtrep>summary{list-style:none}.gtrep>summary::-webkit-details-marker{display:none}
.gtrep-b{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:10px;border-radius:12px;background:var(--bg,#f4f6f5);width:100%}.gtrep[open]{flex-basis:100%}
.gtrep-d{display:flex;gap:6px;flex-wrap:wrap}.gtrep-d .inp{width:auto}
.gfree{border:2px dashed var(--line-2);border-radius:14px;padding:8px 12px;color:var(--ink-3);font-size:13px}.gfree span{font-weight:700;color:var(--ink-2);margin-right:6px}
.gwarn{color:var(--warn);font-weight:600;font-size:13px;margin:8px 0 0}
.glate{border:2px solid var(--err-soft)}
.gdl-d{display:grid;place-items:center;min-width:46px;background:var(--accent-soft);border-radius:10px;padding:4px;font-size:11px;line-height:1.1}.gdl-d b{font-size:18px}
.ghab{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.ghab-d{letter-spacing:2px;color:var(--accent)}
.grit{border:2px solid var(--accent);background:var(--accent-soft)}.grit ol{line-height:1.7;padding-left:20px}
.ghead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.ghead form.chips{align-items:center}
.gwk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.gwk{display:flex;min-width:820px}.gwk-hrs{position:sticky;left:0;z-index:3;width:44px;flex:none;background:var(--panel);margin-top:38px}.gwk-hrs span{position:absolute;right:6px;font-size:10.5px;color:var(--ink-3);transform:translateY(-6px)}
.gwk-c{flex:1;min-width:110px;border-left:1px solid var(--line);scroll-snap-align:start}.gwk-c.today{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.gwk-h{height:38px;display:flex;flex-wrap:wrap;gap:2px 4px;align-items:center;justify-content:center;font-size:12.5px;border-bottom:1px solid var(--line)}.gwk-h .tag{font-size:9.5px;padding:0 5px}
.gwk-z{position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 53px,var(--line) 53px,var(--line) 54px)}
.gwk-work{position:absolute;left:0;right:0;background:color-mix(in srgb,#2f7fd8 5%,transparent)}
.gwk-i{position:absolute;left:3px;right:3px;border-radius:7px;padding:2px 5px;font-size:11px;line-height:1.25;overflow:hidden;background:color-mix(in srgb,var(--c) 16%,var(--panel));border-left:3px solid var(--c);color:var(--ink);text-decoration:none}
.gwk-i.blk{background:color-mix(in srgb,var(--c) 22%,var(--panel))}.gwk-i.off{background:repeating-linear-gradient(45deg,#e7e9ec,#e7e9ec 8px,#f3f4f6 8px,#f3f4f6 16px);color:#555;left:0;right:0}.gwk-i.done{opacity:.5;text-decoration:line-through}
.gleg{margin-top:8px}
.gmo{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.gmo-h{font-size:11.5px;font-weight:700;text-align:center;color:var(--ink-2)}
.gmo-d{min-height:84px;border:1px solid var(--line);border-radius:10px;padding:4px;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);font-size:10.5px;overflow:hidden}
.gmo-d.out{opacity:.4}.gmo-d.today{border:2px solid var(--accent)}.gmo-d.off{background:repeating-linear-gradient(45deg,#eef0f2,#eef0f2 6px,transparent 6px,transparent 12px)}
.gmo-d span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gmo-dl{color:var(--err);font-weight:700}.gmo-ev{color:#6d5ef5}.gmo-n{color:var(--ink-3);margin-top:auto}
.gdl.off{opacity:.55}.gdl-st{margin:4px 0 10px;padding-left:20px;line-height:1.7;font-size:13.5px}.gdl-rule .chip{gap:6px}
.gtip{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.gtip span{font-size:22px}.gtip p{margin:0;line-height:1.5}
.gends{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.ghabrow{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px}.ghabrow>div{display:flex}
.gfocus{max-width:560px;margin:4vh auto;text-align:center;display:grid;gap:14px}.gfocus h1{margin:0;font-size:24px}.gf-time{font-size:72px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent)}
.gf-tips{list-style:none;padding:0;margin:0;text-align:left;display:grid;gap:6px;background:var(--panel);border-radius:14px;padding:14px}
@media (max-width:900px){.ggrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
 .ghello h2{font-size:20px}.ghello .chips{width:100%}.ghello .chips .btn,.ghello .chips form{flex:1 1 auto}.ghello .chips form .btn{width:100%}

 .gt-a .btn{flex:1 1 auto;justify-content:center}.gt-a .gtrep{flex:1 1 100%}.gt-a .gtrep>summary{width:100%;justify-content:center}
 .gtrep-b .btn,.gtrep-b form{flex:1 1 100%}.gtrep-b form .btn{width:100%}
 .gwk{min-width:0}.gwk-c{min-width:78vw}
 .gmo-d{min-height:56px}.gmo-d span:not(.gmo-dl){display:none}.gmo-d .gmo-n{display:block}
 .ghead{flex-direction:column;align-items:stretch}
 .gf-time{font-size:60px}
}
.authcard:has(.frsw){width:min(780px,100%)}.frsw h3{margin:18px 0 6px;font-size:15px;color:var(--accent-2)}.frscard{border:1px solid var(--line)}
.emlist{display:grid;gap:6px}.emrow{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.emrow .inp{flex:1 1 220px;min-width:0;width:auto}
.kbprio.sup3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.hlock{text-align:center;display:grid;gap:10px}.hlock-ic{font-size:48px}.hlock h2{margin:0;font-size:20px}.hlock form{text-align:left}.hreq{display:grid;gap:8px;border:1px solid var(--line)}
.kit{line-height:1.6;overflow-wrap:anywhere}.kit h2{font-size:22px;margin:0 0 10px}.kit h3{font-size:17px;margin:20px 0 6px;color:var(--accent-2)}.kit h4{margin:14px 0 4px}
.kit code{background:var(--bg,#f2f4f3);border-radius:5px;padding:1px 5px;font-size:12.5px}.kit-q{border-left:4px solid var(--accent);background:var(--accent-soft);padding:6px 12px;margin:2px 0}
.kit-tw{overflow-x:auto;margin:8px 0}.kit-tw table{min-width:520px}.kit hr{border:0;border-top:1px solid var(--line);margin:16px 0}
.kit-steps{line-height:2;padding-left:20px}.kit-steps .btn{margin-left:6px}
