@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-hyperlegible-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-hyperlegible-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/atkinson-hyperlegible-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-wght-normal.woff2) format('woff2')}
:root{
  /* Layout: one-screen app. Header and capture bar stay put, a single pane scrolls.
     Three views (Arbre, Carte, Maintenant) read the same tree. */
  --bg:#E9EDE4; --surface:#F7F9F3; --raised:#FFFFFF; --ink:#1A2721; --muted:#56645D; --line:#CBD4C6;
  --accent:#1E6B52; --on-accent:#FFFFFF; --now:#A15A06; --danger:#A23A2A; --late:#B0482F;
  --b1:#4A8437; --b2:#A9720B; --b3:#B4563C; --b4:#86508C; --b5:#3A6CA6;
  --font-display:'Bricolage Grotesque','Avenir Next','Segoe UI',system-ui,sans-serif;
  --font-body:'Atkinson Hyperlegible',Verdana,'Segoe UI',system-ui,sans-serif;
  --r:10px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#121815; --surface:#19211D; --raised:#222C27; --ink:#E4EBE3; --muted:#96A49B; --line:#2F3B35;
    --accent:#79C9A2; --on-accent:#0E1A14; --now:#E5A645; --danger:#E88571; --late:#EE9A82;
    --b1:#8CC474; --b2:#E0AC4A; --b3:#E08A6E; --b4:#C28ECB; --b5:#7FAEE6;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#121815; --surface:#19211D; --raised:#222C27; --ink:#E4EBE3; --muted:#96A49B; --line:#2F3B35;
  --accent:#79C9A2; --on-accent:#0E1A14; --now:#E5A645; --danger:#E88571; --late:#EE9A82;
  --b1:#8CC474; --b2:#E0AC4A; --b3:#E08A6E; --b4:#C28ECB; --b5:#7FAEE6;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--ink);font:17px/1.45 var(--font-body);-webkit-text-size-adjust:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.c0{--bc:var(--muted)} .c1{--bc:var(--b1)} .c2{--bc:var(--b2)} .c3{--bc:var(--b3)} .c4{--bc:var(--b4)} .c5{--bc:var(--b5)}

#app{height:100%;display:flex;flex-direction:column;max-width:1040px;margin:0 auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:14px 16px 8px}
.brand{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
h1{font:700 27px/1 var(--font-display);letter-spacing:-.025em;margin:0}
.status{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}
.status[data-s="live"]::before{background:var(--b1)}
.status[data-s="warn"]::before{background:var(--now)}
.tabs{display:flex;gap:2px;max-width:100%;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px}
.tabs button{display:inline-flex;align-items:center;white-space:nowrap;font-size:14.5px;padding:8px 11px;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg);font-weight:700}

.cap{display:flex;gap:8px;padding:6px 16px 10px;align-items:stretch}
.cap input{flex:1;min-width:0;font:inherit;padding:12px 14px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--raised);color:var(--ink)}
.cap input::placeholder{color:var(--muted);opacity:1}
.cap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}
.capkind{flex:none;width:48px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--raised);cursor:pointer;display:grid;place-items:center;color:var(--muted)}
.capkind .box{width:20px;height:20px;color:inherit;background:none;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center}
.capkind svg{opacity:0}
.capkind[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.capkind[aria-pressed="true"] svg{opacity:1}
.capgo{flex:none;background:var(--accent);color:var(--on-accent);border:0;border-radius:var(--r);padding:0 16px;font-weight:700;cursor:pointer}
body.ro .cap{display:none}

.crumbs{display:flex;align-items:center;gap:4px;padding:0 16px 8px;font-size:14px;color:var(--muted);flex-wrap:wrap;min-height:34px}
.crumbs .cb{border:0;background:none;padding:4px 6px;border-radius:6px;cursor:pointer;color:var(--muted);max-width:14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumbs .cb.cur{color:var(--ink);font-weight:700}
.crumbs .sep{opacity:.6}
.crumbs .sp{flex:1}
.tog{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;color:var(--muted)}
.tog[aria-pressed="true"]{color:var(--ink);border-color:var(--ink)}

#pane{flex:1;min-height:0;overflow:auto;padding:2px 8px 48px;-webkit-overflow-scrolling:touch}
.hint{color:var(--muted);padding:18px 12px;max-width:34em;margin:0}

/* Arbre */
.row{display:flex;align-items:flex-start;gap:0;padding-left:calc(var(--d,0)*20px);border-radius:8px;
  background:repeating-linear-gradient(to right,transparent 0 14px,var(--line) 14px 15px,transparent 15px 20px) no-repeat;
  background-size:calc(var(--d,0)*20px) 100%}
.tw,.mk,.more{flex:none;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:8px;padding:0}
.tw{width:26px;visibility:hidden}
.row.kids .tw{visibility:visible}
.tw svg{transition:transform .12s;transform:rotate(90deg)}
.row.coll .tw svg{transform:none}
.mk{width:32px}
.mk .dot{width:9px;height:9px;border-radius:50%;background:var(--bc)}
.row.coll .mk .dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--bc) 28%,transparent)}
.box{width:22px;height:22px;border:2px solid var(--muted);border-radius:50%;display:grid;place-items:center;color:var(--on-accent);background:conic-gradient(color-mix(in srgb,var(--accent) 62%,transparent) calc(var(--p,0)*1%),transparent 0)}
.box svg{opacity:0}
.mk .box{display:none}
.todo>.mk .box{display:grid;border-color:var(--bc)} .todo>.mk .dot{display:none}
.done>.mk .box{background:var(--accent);border-color:var(--accent)} .done>.mk .box svg{opacity:1}
.body{flex:1;min-width:0;padding:8px 6px;cursor:text}
.tx{white-space:pre-wrap;overflow-wrap:anywhere;min-height:24px;border-radius:4px}
.tx.empty{color:var(--muted);font-style:italic}
.row.done .tx{color:var(--muted);text-decoration:line-through}
.row.starred .tx{font-weight:700}
.sub{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-top:3px}
.nt{min-width:0;flex:1 1 8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt,.rm{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap;font-size:13px;color:var(--muted)}
.dt.today,.rm.due{border-color:var(--now);color:var(--now);font-weight:700}
.dt.late{border-color:var(--late);color:var(--late)}
.ed{display:block;width:calc(100% + 14px);margin:-3px -7px;padding:1px 5px;font:inherit;color:var(--ink);background:var(--raised);border:1.5px solid var(--accent);border-radius:6px;resize:none;overflow:hidden}
.ed:focus{outline:none}
.meta{flex:none;display:flex;align-items:center;gap:6px;height:40px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pg{padding:1px 7px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(to right,color-mix(in srgb,var(--accent) 26%,transparent) var(--f,0%),transparent var(--f,0%))}
.pg.full{color:var(--accent);border-color:var(--accent)}
.star{display:none;color:var(--now)}
.row.starred .star{display:inline}
.more{width:36px;font-size:20px;line-height:1}
.row.flash{animation:flash 1s ease-out}
@keyframes flash{from{background-color:color-mix(in srgb,var(--accent) 22%,transparent)}to{background-color:transparent}}

/* Maintenant */
#vNow{max-width:640px;padding:4px 8px}
#vNow h2{font:700 30px/1.1 var(--font-display);letter-spacing:-.02em;margin:10px 0 4px}
.tally{margin:0 0 14px;color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tally strong{color:var(--ink);font-variant-numeric:tabular-nums}
.pips{display:inline-flex;gap:4px}
.pips i{width:10px;height:10px;border-radius:3px;background:var(--accent)}
#vNow h3{font:700 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 6px}
#vNow h4{font:700 15px/1.2 var(--font-body);margin:14px 0 2px;display:flex;align-items:center;gap:8px}
#vNow h4::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bc)}
.nrow{display:block;border-radius:10px}
.nh{display:flex;align-items:flex-start;gap:2px}
.nrow.pin,.nrow.rem{background:var(--raised);border:1px solid var(--line);border-left:5px solid var(--bc);margin-bottom:8px;padding:4px 4px 8px 2px}
.nrow.rem{border-left-color:var(--now)}
.seg4{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:2px 8px 2px 42px}
.seg4 button{border:1.5px solid var(--line);background:var(--surface);border-radius:7px;padding:7px 0;font-size:13px;color:var(--muted);cursor:pointer;font-variant-numeric:tabular-nums}
.seg4 button.on{background:var(--bc);border-color:var(--bc);color:var(--raised);font-weight:700}
.qa{display:flex;gap:6px;flex-wrap:wrap;padding:2px 8px 4px 42px}
.when{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--now);font-weight:700;padding:0 8px 6px 42px}
.rest summary{cursor:pointer;font:700 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 6px;padding:6px 0}
.nrow .mk{height:44px;width:40px}
.nrow .mk .box{display:grid}
.ntx{flex:1;min-width:0;text-align:left;border:0;background:none;padding:10px 4px;cursor:pointer;border-radius:6px}
.ntx .l{display:block;overflow-wrap:anywhere}
.nrow.pin .ntx .l{font-size:19px;font-weight:700}
.ntx .p{display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:2px}
.st{flex:none;width:44px;height:44px;border:0;background:none;font-size:20px;color:var(--muted);cursor:pointer;border-radius:8px;opacity:.55}
.st[aria-pressed="true"]{color:var(--now);opacity:1}

/* Carte */
#map{position:relative;margin:6px 8px}
.links{position:absolute;left:0;top:0;pointer-events:none}
.links path{fill:none;stroke:var(--bc);stroke-width:2;opacity:.65}
.mn{position:absolute;display:flex;align-items:stretch;background:var(--raised);border:1px solid var(--line);border-left:5px solid var(--bc);border-radius:9px;overflow:hidden}
.mn.root{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.mt{flex:1;min-width:0;display:flex;gap:7px;align-items:center;padding:0 8px;border:0;background:none;font-size:15px;text-align:left;cursor:pointer}
.mt .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt .box{flex:none;width:16px;height:16px;border-width:2px;border-radius:50%}
.mt .box svg{width:10px;height:10px}
.mn.done .mt .box{background:var(--accent);border-color:var(--accent)} .mn.done .mt .box svg{opacity:1}
.mn.done .mt .l{color:var(--muted);text-decoration:line-through}
.mn.root .mt{font-weight:700}
.mb{flex:none;min-width:36px;border:0;border-left:1px solid var(--line);background:none;color:var(--muted);font-size:13px;cursor:pointer;font-variant-numeric:tabular-nums;display:grid;place-items:center}
.mb svg{transform:rotate(180deg)}

/* Rappels */
.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--now);color:var(--raised);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.alert{display:flex;align-items:center;gap:8px;margin:0 16px 8px;padding:9px 14px;border-radius:var(--r);border:1.5px solid var(--now);background:color-mix(in srgb,var(--now) 12%,var(--surface));color:var(--ink);cursor:pointer;text-align:left;font-weight:700}
.alert svg,.when svg{color:var(--now);flex:none}
.alert span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qa button,.quick button{border:1px solid var(--line);background:var(--raised);border-radius:999px;padding:7px 13px;font-size:14px;cursor:pointer}

/* Frise */
#vTime{width:max-content;min-width:100%}
.tl-tools{position:sticky;left:0;display:flex;gap:8px;align-items:center;justify-content:space-between;padding:2px 8px 10px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:3px;gap:2px}
.seg button{border:0;background:none;border-radius:999px;padding:7px 13px;font-size:14px;color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);font-weight:700}
.tl{position:relative;margin:0 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tl-head{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}
.tl-mo{position:relative;height:28px}
.mo{position:absolute;top:0;height:100%;border-left:1px solid var(--line);font:700 13px/28px var(--font-body);white-space:nowrap}
.mo:first-child{border-left:0}
.mo span{position:sticky;left:10px;padding:0 8px;display:inline-block;text-transform:capitalize}
.tl-dy{position:relative;height:38px}
.z1 .tl-dy{height:22px} .z2 .tl-dy{display:none}
.dy{position:absolute;top:0;width:var(--dw);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:var(--muted);line-height:1.15}
.dy i{font-style:normal;font-size:10.5px}
.dy b{font-weight:400;font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums;min-width:24px;text-align:center;border-radius:999px}
.dy.we b{color:var(--muted)}
.dy.td b{background:var(--now);color:var(--raised);font-weight:700}
.dy.wk{align-items:flex-start;padding-left:4px;width:auto;border-left:1px solid var(--line);font-variant-numeric:tabular-nums}
.dy.wk.td{color:var(--now);font-weight:700}
.tl-body{position:relative;padding:6px 0 12px;min-height:130px}
.z0 .tl-body,.z1 .tl-body{background:repeating-linear-gradient(to right,transparent 0 calc(var(--dw)*5),color-mix(in srgb,var(--line) 40%,transparent) calc(var(--dw)*5) calc(var(--dw)*7))}
.tl-today{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--now) 15%,transparent);border-left:2px solid var(--now);pointer-events:none}
.tl-ml{position:absolute;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}
.tg{position:relative;height:32px}
.tg span{position:sticky;left:10px;display:inline-block;font:700 12.5px/32px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--bc);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.tr{position:relative;height:54px}
.tw2{position:absolute;top:3px;height:24px;pointer-events:none}
.tlab{position:sticky;left:10px;pointer-events:auto;display:inline-flex;align-items:baseline;gap:8px;max-width:250px;border:0;background:none;padding:2px 0;cursor:pointer;font-size:15px;white-space:nowrap}
.tlab .l{overflow:hidden;text-overflow:ellipsis;font-weight:700}
.tlab .d{font-size:12.5px;color:var(--muted);flex:none}
.bar{position:absolute;top:29px;height:17px;border-radius:9px;border:1.5px solid var(--bc);background:color-mix(in srgb,var(--bc) 20%,var(--raised));padding:0;cursor:pointer;overflow:hidden}
.bar .fill{display:block;height:100%;background:var(--bc)}
.tr.ev .bar{background:color-mix(in srgb,var(--bc) 55%,var(--raised))}
.tr.done .bar{opacity:.5}
.tr.done .tlab .l{text-decoration:line-through;color:var(--muted);font-weight:400}
.tr.late .bar{border-color:var(--late)}
.slip{position:absolute;top:37px;height:0;border-top:2px dashed var(--late);pointer-events:none}
.tl-foot{position:sticky;left:0;margin-top:12px;padding:0 8px}
.tl-foot summary{cursor:pointer;color:var(--muted);padding:8px 4px}
.und{display:flex;flex-direction:column}
.und button{text-align:left;border:0;background:none;padding:9px 6px;border-radius:8px;cursor:pointer}

/* Fiche : blocs */
.blk{display:flex;flex-direction:column;gap:8px}
.blk>.lab{margin:0}
.seg5{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.seg5 button{border:1.5px solid var(--line);background:var(--raised);border-radius:9px;padding:10px 0;cursor:pointer;font-variant-numeric:tabular-nums;font-size:15px}
.seg5 button.on{background:color-mix(in srgb,var(--accent) 24%,var(--raised));border-color:var(--accent)}
.seg5 button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}
.seg5 button[data-v="0"][aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.drow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.drow label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--muted);min-width:0}
.sh input[type="date"],.sh input[type="datetime-local"]{width:100%;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--raised);border:1.5px solid var(--line);border-radius:var(--r);padding:9px 10px}
.quick{display:flex;gap:6px;flex-wrap:wrap}
.rnow{font-size:14.5px}
.rnow.due{color:var(--now);font-weight:700}
#shKids{display:flex;flex-direction:column}
.kid{display:flex;align-items:center;gap:2px}
.kid .mk{height:40px;width:36px}
.kid .mk .box{display:grid}
.kid .kl{flex:1;min-width:0;text-align:left;border:0;background:none;padding:9px 4px;cursor:pointer;border-radius:6px;overflow-wrap:anywhere}
.kid.done .kl{color:var(--muted);text-decoration:line-through}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.two button{border:1px solid var(--line);background:var(--raised);border-radius:var(--r);padding:12px 10px;cursor:pointer}
.org summary{cursor:pointer;color:var(--muted);padding:6px 2px}
.org .acts{margin-top:8px}

/* Fiche + déplacer */
dialog{border:0;padding:0;background:var(--surface);color:var(--ink);width:100%;max-width:min(560px,100%);max-height:90%;margin:auto auto 0;border-radius:18px 18px 0 0;box-shadow:0 -8px 40px rgba(10,20,15,.28)}
@media (min-width:640px){dialog{margin:auto;border-radius:18px}}
dialog::backdrop{background:rgba(10,20,15,.45)}
.sh{display:flex;flex-direction:column;gap:12px;padding:14px 16px 20px}
.shead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.shead .path{font-size:13px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:none;padding:6px 0;text-align:left}
.shead button.path{cursor:pointer}
.x{flex:none;border:1px solid var(--line);background:var(--raised);border-radius:999px;padding:6px 14px;font-size:14px;cursor:pointer}
.sh textarea,.sh input[type="search"]{width:100%;font:inherit;color:var(--ink);background:var(--raised);border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;resize:none}
.sh textarea:focus,.sh input[type="search"]:focus{outline:none;border-color:var(--accent)}
#shT{font:700 21px/1.25 var(--font-display);overflow:hidden}
.lab{font-size:13px;color:var(--muted);margin-bottom:-8px}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{border:1.5px solid var(--line);background:var(--raised);border-radius:999px;padding:9px 16px;cursor:pointer}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:700}
#shStar[aria-pressed="true"]{border-color:var(--now);background:var(--now);color:var(--raised)}
.sw{display:flex;gap:8px;align-items:center}
.sw button{width:34px;height:34px;border-radius:50%;border:2px solid var(--surface);background:var(--bc);cursor:pointer;box-shadow:0 0 0 1.5px var(--line)}
.sw button[aria-pressed="true"]{box-shadow:0 0 0 2.5px var(--ink)}
.acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.acts button{border:1px solid var(--line);background:var(--raised);border-radius:var(--r);padding:12px 10px;cursor:pointer;text-align:center}
.acts .wide{grid-column:1 / -1}
.acts .danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}
body.ro .sh .chips,body.ro .sh .sw,body.ro .sh .org,body.ro .sh .quick,body.ro .sh .seg5,body.ro .sh [data-a="child"],body.ro .sh #shR,body.ro .sh label[for="shR"]{display:none}
#mvList{display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow:auto}
.mvi{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;background:none;border-radius:8px;padding:9px 10px 9px calc(10px + var(--d,0)*18px);cursor:pointer}
.mvi:hover{background:var(--raised)}
.mvi:disabled{opacity:.5;cursor:default}
.mvt{overflow-wrap:anywhere}
.mvp{font-size:13px;color:var(--muted)}

#toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--ink);color:var(--bg);border-radius:999px;padding:10px 12px 10px 18px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);box-shadow:0 6px 24px rgba(10,20,15,.3);z-index:5;font-size:15px}
#toast button{border:0;background:var(--bg);color:var(--ink);border-radius:999px;padding:6px 14px;font-weight:700;cursor:pointer;flex:none}
@media (prefers-reduced-motion: reduce){.row.flash{animation:none}.tw svg{transition:none}}

/* ---------- version hébergée : outils d'en-tête, personnes, compte ---------- */
.tools{display:flex;align-items:center;gap:8px}
@media (min-width:860px){.tabs{order:2}.tools{order:3}}
.ib{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink);padding:0}
.ib.me{border:0;background:none}
.av{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--bc);color:var(--raised);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;font-style:normal}
.av.lg{width:38px;height:38px;font-size:14px}
.pres{display:inline-flex;padding-left:6px}
.pres .av{margin-left:-6px;box-shadow:0 0 0 2px var(--bg)}
.who{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px}
.who button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:14px;color:var(--muted);cursor:pointer}
.who button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:700}
.tl-who{position:sticky;left:0;padding:0 8px 8px}
.quick button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}
.by{margin:0;font-size:13px;color:var(--muted)}
#toast{inset:auto 16px 18px 16px;left:16px;margin:0 auto;border:0;transform:none;width:fit-content;max-width:min(520px,calc(100% - 32px));border-radius:16px}
.gate{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:var(--bg);overflow:auto}
.gatebox{display:flex;flex-direction:column;gap:8px;width:min(390px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.gatebox h1{margin-bottom:6px}
.gatebox p{margin:0 0 6px;color:var(--muted)}
.gatebox label{font-size:13px;color:var(--muted);margin-top:6px}
.gatebox input,.field{font:inherit;padding:12px 14px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--raised);color:var(--ink);width:100%;min-width:0}
.gatebox input:focus,.field:focus{outline:none;border-color:var(--accent)}
.gatebox .capgo{padding:13px;margin-top:12px}
.err{color:var(--danger)!important;font-weight:700;margin:0}
#find{margin:0 auto auto;border-radius:0 0 18px 18px}
@media (min-width:640px){#find{margin:8vh auto auto;border-radius:18px}}
#findList{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.sec{font:700 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 0}
.line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.line .grow{flex:1;min-width:0}
.line .field{width:auto}
.btn{display:inline-block;border:1px solid var(--line);background:var(--raised);border-radius:var(--r);padding:10px 14px;cursor:pointer;color:var(--ink);text-decoration:none;text-align:center}
.btn.pri{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}
.btn.sm{padding:6px 11px;font-size:13.5px;border-radius:999px}
.check{display:flex;align-items:center;gap:10px;padding:4px 0;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.note{font-size:13.5px;color:var(--muted);margin:0}
.on-dot,.off-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--line)}
.on-dot{background:var(--b1)}
.link{font-size:13px;word-break:break-all;background:var(--raised);border:1px dashed var(--line);border-radius:8px;padding:8px 10px;user-select:all}

/* ---------- découpage assisté ---------- */
#shSplit{border:1px solid var(--line);background:var(--raised);border-radius:var(--r);padding:12px 10px;cursor:pointer}
#shSplit:disabled{opacity:.6;cursor:default}
#shSplitBox{display:flex;flex-direction:column;gap:8px;border:1.5px dashed var(--accent);border-radius:var(--r);padding:12px}
.spl{display:flex;align-items:center;gap:10px}
.spl input[type="checkbox"]{width:20px;height:20px;accent-color:var(--accent);flex:none}
