/* m-today.css — Today day-planner. Tokens only. Phone = one column (needs, schedule, new, team, no-plan); >=900px = two columns. */
.td{display:grid;gap:12px;align-content:start;max-width:1180px;margin-inline:auto}
.td *{min-width:0}
.td-i{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.td button,.td a{font-family:var(--font-body)}

/* ---- hero ---- */
.td-hero{padding:14px;border-radius:20px;background:linear-gradient(135deg,var(--c-starlight-dark),var(--c-starlight));color:var(--c-white);box-shadow:0 8px 24px rgba(var(--c-starlight-rgb),.18)}
.td-hd{display:flex;align-items:center;gap:12px;justify-content:space-between}
.td-eyebrow{display:block;font:700 10px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-sand)}
.td-hd h2{margin:3px 0 2px;font:700 22px/1.15 var(--font-head);color:var(--c-white);letter-spacing:-.01em}
.td-hd p{margin:0;font-size:12.5px;color:rgba(var(--c-white-rgb),.78)}
.td-ring{--p:0;position:relative;flex:none;display:grid;place-items:center;align-content:center;width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--c-sand) calc(var(--p)*1%),rgba(var(--c-white-rgb),.16) 0)}
.td-ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--c-starlight)}
.td-ring b,.td-ring span{position:relative;line-height:1}
.td-ring b{font:700 18px var(--font-head)}.td-ring span{margin-top:2px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--c-white-rgb),.7)}
.td-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}
.td-chip{display:grid;justify-items:center;gap:1px;padding:8px 2px;border:1px solid rgba(var(--c-white-rgb),.16);border-radius:14px;background:rgba(var(--c-white-rgb),.07);color:var(--c-white);cursor:pointer}
.td-chip b{font:700 20px/1 var(--font-head)}.td-chip span{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:rgba(var(--c-white-rgb),.74);text-align:center}
.td-chip.red:not(.zero) b{color:var(--c-danger-soft)}.td-chip.blue:not(.zero) b{color:var(--c-blue-soft)}.td-chip.sand:not(.zero) b{color:var(--c-sand)}
.td-chip.zero{opacity:.55}.td-chip:active{transform:scale(.97)}

/* ---- sections ---- */
.td-grid{display:flex;flex-direction:column;gap:12px}
.td-col{display:contents}
.td-sec{scroll-margin-top:calc(var(--shell-h,56px) + 12px);padding:12px;border-radius:18px;background:var(--c-white);border:1px solid rgba(var(--c-starlight-rgb),.1);box-shadow:0 1px 2px rgba(var(--c-starlight-rgb),.04)}
.td-sec.needs{order:1}.td-sec.sched{order:2}.td-sec.fresh{order:3}.td-sec.team{order:4}.td-sec.plan{order:5}
.td-sec>header{margin:0 0 10px;padding-inline-start:10px;border-inline-start:3px solid var(--c-sand)}
.td-sec.needs>header{border-color:var(--c-danger)}.td-sec.fresh>header{border-color:var(--c-x-3457a6)}.td-sec.sched>header{border-color:var(--c-starlight)}.td-sec.plan>header{border-color:var(--c-n300)}
.td-sec h3{display:flex;align-items:center;gap:8px;margin:0;font:700 15px/1.2 var(--font-head);color:var(--c-starlight)}
.td-sec h3 b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--c-starlight);color:var(--c-white);font:700 11px var(--font-body)}
.td-sec.needs h3 b{background:var(--c-danger)}
.td-sec>header small{display:block;margin-top:2px;font-size:11.5px;color:var(--c-n600)}
.td-list{display:grid;gap:8px}
.td-none{margin:6px 2px;font-size:12.5px;color:var(--c-n600)}
.td-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;height:36px;border:1px dashed rgba(var(--c-starlight-rgb),.25);border-radius:12px;background:none;color:var(--c-starlight);font:600 12px var(--font-body);cursor:pointer}

/* ---- lead card ---- */
.td-c{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:10px;border-radius:14px;border:1px solid rgba(var(--c-starlight-rgb),.1);background:var(--c-n50);border-inline-start:3px solid var(--c-n300)}
.td-c.outcome,.td-c.late{border-inline-start-color:var(--c-danger);background:rgba(var(--c-danger-rgb),.04)}
.td-c.fresh{border-inline-start-color:var(--c-x-3457a6);background:rgba(var(--c-x-3457a6-rgb),.05)}
.td-c.meeting,.td-c.follow{border-inline-start-color:var(--c-sand);background:var(--c-white)}
.td-c.meeting{border-inline-start-color:var(--c-starlight)}
.td-c.next{box-shadow:0 0 0 2px rgba(var(--c-sand-rgb),.7);background:var(--c-sand-wash,var(--c-white))}
.td-c.done{opacity:.62}
.td-c-main{display:grid;gap:3px;justify-items:start;text-align:start;padding:0;border:0;background:none;color:var(--c-starlight);cursor:pointer;min-height:44px;align-content:center}
.td-c-main b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 15px/1.2 var(--font-body)}
.td-tag{display:inline-flex;align-items:center;gap:5px;font:700 10px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--c-n600)}
.td-tag.outcome,.td-tag.late{color:var(--c-danger)}.td-tag.fresh{color:var(--c-x-3457a6)}.td-tag.meeting{color:var(--c-starlight)}.td-tag.follow{color:var(--c-sand-dark)}
.td-meta{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:11.5px;color:var(--c-n600)}
.td-meta em{font-style:normal;font-weight:600;padding:0 6px;border-radius:999px;background:var(--c-n100);color:var(--c-starlight);font-size:10.5px}
.td-meta em.hot{background:rgba(var(--c-warning-rgb),.18);color:var(--c-x-7a5600)}
.td-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.td-st{display:inline-block;padding:1px 8px;border-radius:999px;font:600 10.5px var(--font-body)}
.td-ag{font-size:10.5px;color:var(--c-n600)}
.td-act{display:flex;gap:6px}
.td-ib{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(var(--c-starlight-rgb),.14);background:var(--c-white);color:var(--c-starlight);cursor:pointer;text-decoration:none}
.td-ib .td-i{width:16px;height:16px}
.td-ib.call{background:var(--c-starlight);border-color:var(--c-starlight);color:var(--c-white)}
.td-ib.plain{border-color:transparent;background:none}
.td-q{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.td-q button{height:28px;padding:0 11px;border-radius:999px;border:1px solid rgba(var(--c-starlight-rgb),.18);background:var(--c-white);color:var(--c-starlight);font:600 11.5px var(--font-body);cursor:pointer}
.td-q button.ghost{border-style:dashed;color:var(--c-n600)}

/* ---- week strip + timeline ---- */
.td-wk{margin:0 -4px 10px;overflow-x:auto;scrollbar-width:none}.td-wk::-webkit-scrollbar{display:none}
.td-week{display:grid;grid-template-columns:repeat(7,minmax(46px,1fr));gap:4px;padding:0 4px}
.td-d{display:grid;justify-items:center;gap:1px;padding:6px 0 5px;border:1px solid rgba(var(--c-starlight-rgb),.1);border-radius:12px;background:var(--c-n50);color:var(--c-starlight);cursor:pointer}
.td-d span{font:700 9px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--c-n600)}
.td-d b{font:700 17px/1.1 var(--font-head)}
.td-d i{display:flex;gap:3px;height:6px}.td-d u{width:6px;height:6px;border-radius:50%;background:var(--c-starlight)}.td-d u.f{background:var(--c-sand)}
.td-d em{font:700 9.5px var(--font-body);font-style:normal;color:var(--c-n600);min-height:11px}
.td-d.now:not(.on){border-color:var(--c-sand)}
.td-d.on{background:var(--c-starlight);border-color:var(--c-starlight);color:var(--c-white)}
.td-d.on span,.td-d.on em{color:rgba(var(--c-white-rgb),.82)}.td-d.on u{background:var(--c-white)}.td-d.on u.f{background:var(--c-sand)}
.td-tl{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:8px}
.td-ev{display:grid;grid-template-columns:62px 10px minmax(0,1fr);gap:8px;align-items:start}
.td-ev time{padding-top:12px;text-align:end;font:700 12px/1.1 var(--font-body);color:var(--c-starlight)}
.td-ev time small{display:block;margin-top:3px;font-size:10px;font-weight:600;color:var(--c-sand-dark)}
.td-ev.next time small{color:var(--c-danger)}
.td-rail{position:relative;align-self:stretch;width:2px;margin-inline:auto;background:rgba(var(--c-starlight-rgb),.14)}
.td-rail::before{content:"";position:absolute;top:15px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--c-white);border:2px solid var(--c-starlight)}
.td-ev.next .td-rail::before{background:var(--c-sand);border-color:var(--c-sand-dark)}
.td-ev.done .td-rail::before{background:var(--c-n300);border-color:var(--c-n300)}
.td-grp{margin-top:12px}
.td-grp h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font:700 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--c-n600)}
.td-grp h4 b{margin-inline-start:auto;font-size:11px;color:var(--c-starlight)}

/* ---- team ---- */
.td-ppl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.td-p{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:14px;border:1px solid rgba(var(--c-starlight-rgb),.1);background:var(--c-n50);color:var(--c-starlight);cursor:pointer;text-align:start}
.td-p.warn{background:rgba(var(--c-warning-rgb),.12);border-color:rgba(var(--c-warning-rgb),.4)}
.td-av{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--c-starlight);color:var(--c-white);font:700 13px var(--font-head)}
.td-p.warn .td-av{background:var(--c-warning)}
.td-pn{flex:1;display:grid;gap:1px;overflow:hidden}.td-pn b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-pn small{font-size:11px;color:var(--c-n600)}
.td-pc{display:flex;gap:4px}
.td-pc i,.td-key i{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 5px;border-radius:8px;font:700 11px var(--font-body);font-style:normal;color:var(--c-white)}
.td-pc i.red,.td-key i.red{background:var(--c-danger)}.td-pc i.blue,.td-key i.blue{background:var(--c-x-3457a6)}.td-pc i.navy,.td-key i.navy{background:var(--c-starlight)}.td-pc i.sand,.td-key i.sand{background:var(--c-sand);color:var(--c-starlight)}
.td-pc i.zero{background:var(--c-n100);color:var(--c-n500)}
.td-key{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:10px 0 0;font-size:10.5px;color:var(--c-n600)}.td-key i{min-width:10px;width:10px;height:10px;padding:0;border-radius:50%}
.td-clear{display:grid;justify-items:center;gap:4px;padding:22px 16px;border-radius:18px;background:var(--c-white);border:1px dashed rgba(var(--c-starlight-rgb),.25);text-align:center;color:var(--c-n600)}
.td-clear .td-i{width:26px;height:26px;color:var(--c-success)}.td-clear b{font:700 16px var(--font-head);color:var(--c-starlight)}

@media(min-width:900px){
  .td{gap:14px}
  .td-hero{padding:18px 22px}
  .td-hd h2{font-size:26px}.td-ring{width:74px;height:74px}.td-ring b{font-size:22px}
  .td-chips{max-width:640px}
  .td-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:14px;align-items:start}
  .td-col{display:flex;flex-direction:column;gap:14px}
  .td-sec{padding:16px}
  .td-sec.needs,.td-sec.sched,.td-sec.fresh,.td-sec.team,.td-sec.plan{order:0}
  .td-c-main b{font-size:15.5px}
}
@media(prefers-reduced-motion:no-preference){.td-chip,.td-d,.td-ib{transition:transform .15s,background .15s}}
