/* Todo list + nouvelle page Aujourd'hui (tâches du jour, météo, actus). Tout est préfixé « td- » pour ne rien casser ailleurs. */
:root{--td-line:#E6E1D6;--td-line2:#EFEBE2;--td-soft:#6B6862;--td-faint:#9A968E;--td-ink:#1D1D1F;--td-card:#fff;--td-cream:#FCFBF8}
.td-off{display:none!important}
body[data-pg="todo"]{--acc:#3DDBA0;--acc-d:#047857} #side [data-nav="todo"]{--ic:#3DDBA0;--ic-d:#047857}
.td-card{background:var(--td-card);border:1px solid var(--td-line);border-radius:18px;padding:20px;min-width:0}
.td-lbl{display:flex!important;align-items:center;gap:8px}
.td-lbl i{width:7px;height:7px;border-radius:50%;background:var(--c);display:inline-block}
.td-empty{color:var(--td-soft);font-size:.92rem;padding:10px 0;list-style:none}
.td-chip{font-size:.72rem;font-weight:600;border-radius:999px;padding:1px 8px;background:var(--td-line2);color:var(--td-soft);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;line-height:1.6}
.td-chip i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.td-chip.late{background:#FDECEC;color:#C2373B}
.td-chip.today{background:#FFF6D1;color:#7A5D00}
.td-chip.prio{background:#FFE7DE;color:#C24E26}
.td-chip.ok{background:#DDF7EC;color:#167A52}

/* Liste de tâches */
.td-tl{list-style:none;margin:0;padding:0;display:grid}
.td-ti{display:flex;align-items:center;gap:12px;padding:11px 2px;border-top:1px solid var(--td-line2)}
.td-ti:first-child{border-top:0}
.td-chk{width:22px;height:22px;border-radius:7px;border:1.6px solid #CFC9BC;background:#fff;flex:none;display:grid;place-items:center;padding:0;cursor:pointer}
.td-chk svg{width:13px;height:13px;stroke:#fff;stroke-width:3;opacity:0}
.td-ti.done .td-chk{background:#3DDBA0;border-color:#3DDBA0}
.td-ti.done .td-chk svg{opacity:1}
.td-tt{flex:1;min-width:0}
.td-tt b{font-weight:500;display:block;overflow-wrap:anywhere;color:var(--td-ink)}
.td-ti.done .td-tt b{color:var(--td-faint);text-decoration:line-through}
.td-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.td-meta:empty{display:none}
.td-when{border:1px solid var(--td-line);border-radius:8px;padding:3px 6px;font-size:.78rem;background:#fff;color:var(--td-soft);max-width:140px}
.td-x{border:0;background:none;color:var(--td-faint);padding:4px 6px;border-radius:6px;opacity:0;cursor:pointer}
.td-ti:hover .td-x,.td-x:focus-visible{opacity:1}
@media (hover:none){.td-x{opacity:1}}
.td-qadd{display:flex;gap:8px;margin-top:12px;align-items:center;border:1px dashed #D8D2C4;border-radius:12px;padding:6px 6px 6px 12px}
.td-qadd input{flex:1;border:0;outline:0;background:transparent;min-width:0;padding:6px 0;font:inherit}
.td-qadd .btn{padding:6px 14px!important;font-size:.85rem!important}

/* ---------- Aujourd'hui ---------- */
section[data-view="app"] .td-today,section[data-view="app"] .td-news{margin-bottom:20px}

.td-today-h{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.td-today-h h2{font-size:1.35rem!important;letter-spacing:-.02em;font-weight:800;margin-top:6px;font-style:normal!important;font-family:inherit!important}
.td-prog{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--td-soft);font-variant-numeric:tabular-nums}
.td-ring{width:42px;height:42px}
.td-ring circle{fill:none;stroke-width:5;transition:stroke-dashoffset .4s}
.td-today-f{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:.88rem}
.td-today-f a{color:var(--td-ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--td-line)}

.td-wx{background:linear-gradient(160deg,#EAF1FF 0%,#FFFFFF 70%);margin-bottom:16px}
.td-wx-top{display:flex;align-items:center;gap:12px;margin-top:10px}
.td-wx-top svg{width:52px;height:52px;flex:none}
.td-deg{font-family:"Inter Tight",Inter,sans-serif;font-style:italic;font-weight:900;font-size:3rem;letter-spacing:-.05em;line-height:1}
.td-wx-top p{color:var(--td-soft);font-size:.86rem}
.td-wx-top p b{color:var(--td-ink);font-weight:600;display:block;font-size:1rem}
.td-wx-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.td-wx-row div{border-radius:10px;padding:8px 10px;background:var(--m);font-size:.78rem;color:var(--td-soft)}
.td-wx-row b{display:block;font-size:1.05rem;color:var(--td-ink);font-variant-numeric:tabular-nums}
.td-wx-tip{margin-top:12px;font-size:.86rem;border-top:1px solid var(--td-line);padding-top:12px}
.td-wx-tip a{font-weight:600;color:inherit}

.td-fil{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 14px}
.td-fil:empty{display:none}
.td-fil button{border:1px solid var(--td-line);background:#fff;border-radius:999px;padding:4px 11px;font-size:.8rem;font-weight:500;cursor:pointer}
.td-fil button[aria-pressed="true"]{background:var(--td-ink);color:#fff;border-color:var(--td-ink)}
.td-nl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.td-nl .td-empty{grid-column:1/-1}
.td-ni{border:1px solid var(--td-line);border-radius:12px;padding:14px;display:grid;gap:6px;align-content:start;text-decoration:none;color:inherit;background:var(--td-cream)}
.td-ni:hover{border-color:#CFC9BC}
.td-src{font-size:.74rem;color:var(--td-soft);display:flex;gap:6px;align-items:center}
.td-src i{width:8px;height:8px;border-radius:50%;background:var(--c);display:inline-block;flex:none}
.td-ni b{font-weight:600;line-height:1.35;color:var(--td-ink)}
.td-why{font-size:.72rem;font-weight:600;color:var(--td-soft);background:var(--td-line2);border-radius:6px;padding:2px 7px;justify-self:start}

/* ---------- Page Todo list ---------- */
.td{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.td-main{min-width:0;display:grid;gap:18px}
.td-lists{display:grid;gap:2px;position:sticky;top:16px}
.td-sg{font-size:.72rem;font-weight:600;color:var(--td-soft);padding:14px 10px 4px}
.td-lw{position:relative}
.td-li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:0;background:none;text-align:left;width:100%;font:inherit;font-weight:500;color:var(--td-ink);cursor:pointer}
.td-li>svg{width:16px;height:16px;flex:none}
.td-li:hover{background:var(--td-line2)}
.td-li[aria-pressed="true"]{background:#fff;box-shadow:0 0 0 1px var(--td-line);font-weight:600}
.td-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-n{margin-left:auto;font-size:.75rem;color:var(--td-soft);font-variant-numeric:tabular-nums}
.td-lw .td-n{margin-right:24px}
.td-lic{width:24px;height:24px;border-radius:7px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,#fff);color:color-mix(in srgb,var(--c) 72%,#000)}
.td-lic svg{width:14px;height:14px;stroke-width:2}
.td-lic.big{width:32px;height:32px;border-radius:9px}
.td-lic.big svg{width:18px;height:18px}
.td-li-ed{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;background:none;padding:0;border-radius:6px;color:var(--td-soft);display:grid;place-items:center;opacity:.45;cursor:pointer}
.td-li-ed svg{width:14px;height:14px}
.td-li-ed:hover{background:var(--td-line);color:var(--td-ink)}
.td-lw:hover .td-li-ed,.td-li-ed:focus-visible,.td-li[aria-pressed="true"]+.td-li-ed{opacity:1}
@media (hover:none){.td-li-ed{opacity:1}}
.td-newlist{padding:6px 4px}
.td-newlist input{width:100%;border:1px solid var(--td-line);border-radius:9px;padding:7px 10px;background:#fff;font:inherit;font-size:.88rem}

.td-paste{border:1.5px dashed #CFC9BC;border-radius:18px;background:#fff;padding:16px;display:grid;gap:12px}
.td-paste-h{display:flex;gap:4px 12px;align-items:baseline;flex-wrap:wrap}
.td-paste-h p{color:var(--td-soft);font-size:.86rem}
.td-paste textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--td-line);border-radius:12px;padding:12px;background:var(--td-cream);font:inherit;font-size:.9rem;line-height:1.55;outline:none}
.td-paste textarea:focus{border-color:#BDB6A6}
.td-prev{display:grid;gap:6px}
.td-prev-r{display:flex;gap:8px;align-items:center;font-size:.9rem;padding:6px 10px;border-radius:9px;background:var(--td-cream);border:1px solid var(--td-line2);flex-wrap:wrap}
.td-prev-r b{font-weight:500;flex:1;min-width:120px;overflow-wrap:anywhere}
.td-paste-f{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.td-hint{font-size:.8rem;color:var(--td-soft);margin-right:auto}
.td-paste-f .btn{padding:8px 16px!important}

.td-vbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.td-vbar h2{font-size:1.35rem!important;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;font-style:normal!important;font-family:inherit!important;min-width:0}
.td-tn{overflow-wrap:anywhere}
.td-edit-btn{border:1px solid var(--td-line);background:#fff;border-radius:8px;padding:5px 10px;font:inherit;font-size:.8rem;font-weight:600;display:inline-flex;gap:6px;align-items:center;letter-spacing:0;cursor:pointer}
.td-edit-btn svg{width:13px;height:13px}
.td-seg{margin-left:auto;display:flex;background:#ECE7DC;border-radius:10px;padding:3px}
.td-seg button{border:0;background:none;border-radius:8px;padding:6px 13px;font:inherit;font-weight:600;font-size:.86rem;color:var(--td-soft);display:flex;gap:6px;align-items:center;cursor:pointer}
.td-seg button svg{width:15px;height:15px}
.td-seg button[aria-pressed="true"]{background:#fff;color:var(--td-ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}

.td-pop{position:fixed;z-index:80;width:300px;max-width:calc(100vw - 16px);background:#fff;border:1px solid var(--td-line);border-radius:14px;padding:10px;display:grid;gap:10px;box-shadow:0 12px 32px rgba(29,29,31,.16)}
.td-pop input{width:100%;border:1px solid var(--td-line);border-radius:9px;padding:7px 10px;font:inherit;font-size:.92rem;font-weight:600;background:var(--td-cream);outline:none}
.td-pop input:focus{border-color:#BDB6A6}
.td-icg{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}
.td-icg button{height:32px;border-radius:8px;border:0;background:none;display:grid;place-items:center;color:var(--td-soft);cursor:pointer;padding:0}
.td-icg button:hover{background:var(--td-line2);color:var(--td-ink)}
.td-icg button svg{width:17px;height:17px;pointer-events:none}
.td-icg button[aria-pressed="true"]{background:color-mix(in srgb,var(--c) 20%,#fff);color:color-mix(in srgb,var(--c) 72%,#000)}
.td-cog{display:flex;gap:6px;justify-content:space-between;border-top:1px solid var(--td-line2);padding-top:10px}
.td-cog button{width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:var(--c);box-shadow:0 0 0 1px var(--td-line);cursor:pointer;padding:0}
.td-cog button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--td-ink)}
.td-pop .td-le-f{border-top:1px solid var(--td-line2);padding-top:8px}
.td-pop .td-hint{font-size:.75rem}
.td-pop .btn{padding:6px 14px;font-size:.85rem}
.td-le-f{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.td-del{border:0;background:none;color:#C2373B;font:inherit;font-weight:600;font-size:.86rem;padding:0;cursor:pointer}
.td-le-f .btn{margin-left:auto}

#td-board .td-card{padding:6px 16px}
#td-board .td-qadd{margin:8px 0 12px}
.td-donebar{margin:14px 0 8px;font-size:.85rem;color:var(--td-soft)}
.td-donebar button{border:0;background:none;font:inherit;font-weight:600;color:var(--td-ink);padding:0;border-bottom:1px solid var(--td-line);cursor:pointer}

.td-kan{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.td-kc{background:#EFEBE2;border-radius:16px;padding:12px;min-height:240px;display:flex;flex-direction:column;gap:8px}
.td-kc.over{outline:2px dashed var(--td-ink);outline-offset:-4px}
.td-kc-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;padding:2px 4px 6px}
.td-kc-h i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.td-kc-h span{color:var(--td-soft);font-weight:500;margin-left:auto;font-variant-numeric:tabular-nums}
.td-kk{background:#fff;border:1px solid var(--td-line);border-radius:12px;padding:11px 12px;cursor:grab;display:grid;gap:7px}
.td-kk:active{cursor:grabbing}
.td-kk.dragging{opacity:.4}
.td-kk b{font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.td-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.td-mv{margin-left:auto;display:flex;gap:4px}
.td-mv button{border:1px solid var(--td-line);background:#fff;border-radius:7px;width:26px;height:24px;padding:0;font-size:.8rem;color:var(--td-soft);cursor:pointer}
.td-kadd input{width:100%;border:0;background:transparent;font:inherit;font-size:.88rem;padding:6px 4px;outline:none;color:var(--td-ink)}
.td-kadd input::placeholder{color:var(--td-soft)}

.td-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px}
.td-strip div{background:#fff;border:1px solid var(--td-line);border-radius:12px;padding:8px;min-height:74px;font-size:.75rem;display:grid;align-content:start;gap:4px}
.td-strip div.on{border-color:var(--td-ink)}
.td-strip b{font-size:.78rem;color:var(--td-soft);font-weight:600}
.td-strip div.on b{color:var(--td-ink)}
.td-strip i{display:block;height:6px;border-radius:3px;background:var(--c)}
.td-strip small{color:var(--td-soft)}
.td-dl{display:grid;gap:18px}
.td-dl-g h3{font-size:.8rem!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--td-soft);display:flex;gap:8px;align-items:center;margin-bottom:6px;font-family:inherit!important;font-style:normal!important}
.td-dl-g h3 span{font-weight:500;letter-spacing:0;text-transform:none}
.td-dl-g.late h3{color:#C2373B}

@media (max-width:900px){
  .td{grid-template-columns:minmax(0,1fr)}
  .td-lists{position:static;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}
  .td-sg,.td-newlist{display:none}
  .td-lw{flex:none}
  .td-li{white-space:nowrap;width:auto;border:1px solid var(--td-line);background:#fff}
  .td-kan{grid-template-columns:repeat(3,minmax(240px,82%))}
}
@media (max-width:560px){
  .td-nl{grid-template-columns:minmax(0,1fr)}
  .td-strip{grid-template-columns:repeat(7,minmax(42px,1fr));overflow-x:auto}
  .td-seg{margin-left:0}
  .td-when{max-width:120px}
}

/* Modifier les listes et les tâches */
.td-tip{font-size:.72rem;color:var(--td-faint);margin:6px 10px 0;line-height:1.35}
.td-ren{cursor:text;border-radius:6px}
.td-ren:hover{background:var(--td-line2)}
.td-ren-in{width:100%;border:1px solid #BDB6A6;border-radius:8px;padding:4px 8px;font:inherit;font-weight:500;background:#fff;outline:none}
.td-mvl{border:1px solid var(--td-line);border-radius:8px;padding:3px 6px;font:inherit;font-size:.78rem;background:#fff;color:var(--td-soft);max-width:130px;cursor:pointer}
@media (max-width:700px){.td-tip{display:none}.td-mvl{max-width:96px}}
