/* =============================================================================
   Jetsy — Routes card + sheets (routes v1 · 28 Sep 2026)
   Loaded after board.css and look2.css. Uses only app.css tokens. Everything is
   scoped under .rt / .rt-* so it cannot restyle another card.
   Rules kept: 44px taps, 375px wide, no sideways scroll, orange only for the
   main action (Done, Save) and for what is due (the counts).
   ========================================================================== */

.rt .bc-hd .sub.due{color:var(--or-lt);font-weight:600}
.rt *{min-width:0}
.rt .b{min-height:44px}
.rt .b[disabled],.rt-ov .b[disabled]{opacity:.45;pointer-events:none}
.rt-bt{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}
.rt-bt>.b{flex:1 1 auto}
.rt-toast{margin:.2rem 0 .7rem;padding:.65rem .8rem;border-radius:12px;font-size:.84rem;line-height:1.45;
  background:rgba(62,213,152,.1);box-shadow:inset 0 0 0 1px rgba(62,213,152,.35);color:var(--ink)}
.rt-toast.crit{background:rgba(255,107,94,.1);box-shadow:inset 0 0 0 1px rgba(255,107,94,.4)}
.rt-toast:empty{display:none}

/* this month: four tiles */
.rt-mo{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.1rem 0 .3rem}
.rt-tl{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .5rem .5rem;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px var(--line);
  font-size:.68rem;color:var(--muted);line-height:1.2}
.rt-tl b{font-size:1.2rem;line-height:1.05;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rt-tl.bill b{font-size:1.02rem;color:var(--ok)}
.rt-mo-n{font-size:.74rem;color:var(--muted);margin:0 0 .2rem .2rem}

/* week strip */
.rt-wk{display:flex;align-items:center;gap:.4rem;margin:.7rem 0 .4rem}
.rt-wl{flex:1;text-align:center;font-size:.8rem;color:var(--ink2);font-weight:500}
.rt-arr{width:44px;height:44px;flex:none;border:0;border-radius:999px;background:rgba(255,255,255,.05);color:var(--ink);
  font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:var(--hair)}
.rt-arr:active{background:rgba(255,106,26,.14)}
.rt-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}
.rt-dc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;min-height:60px;padding:.3rem 0;
  border:0;border-radius:12px;background:rgba(255,255,255,.04);color:var(--ink2);cursor:pointer;box-shadow:var(--hair);font-family:inherit}
.rt-dc span{font-size:.62rem;font-weight:500;line-height:1.1;color:var(--muted);text-transform:none}
.rt-dc b{font-size:1.02rem;line-height:1.15;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.rt-dc i{font-style:normal;font-size:.68rem;line-height:1.1;color:var(--muted);font-variant-numeric:tabular-nums;min-height:.75rem}
.rt-dc i.has{color:var(--or-lt);font-weight:700}
.rt-dc.tod span{color:var(--or-lt);font-weight:600}
.rt-dc.on{background:var(--panel3);box-shadow:inset 0 0 0 2px var(--ink2)}
.rt-dc.on span{color:var(--ink)}

/* the day */
.rt-dh{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;margin:.9rem 0 .1rem}
.rt-dh>b{font-size:1.05rem;letter-spacing:-.01em}
.rt-dd{font-size:.82rem;color:var(--muted)}
.rt-dn{margin-left:auto;font-size:.78rem;color:var(--ink2);font-weight:600}
.rt-empty{font-size:.86rem;line-height:1.55;color:var(--muted);padding:.8rem .1rem}
.rt-jf{margin-top:.55rem}
.rt-jf label{display:block;font-size:.72rem;color:var(--muted);margin-bottom:.22rem;font-weight:500}
.rt-in{display:block;width:100%;min-height:44px;background:var(--deep);color:var(--ink);border:0;box-shadow:var(--hair);
  border-radius:12px;padding:.55rem .7rem;font:inherit;font-size:16px;line-height:1.3;color-scheme:dark;-webkit-appearance:none;appearance:none}
textarea.rt-in{min-height:76px;resize:vertical;line-height:1.45}
select.rt-in{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2rem}
.rt-in:focus{outline:0;box-shadow:inset 0 0 0 1px var(--or),0 0 0 3px rgba(255,106,26,.18)}
.rt-in::placeholder{color:var(--muted)}
.rt-top{margin-top:.6rem}
.rt-why{margin:.5rem 0 0;font-size:.8rem;line-height:1.5;color:var(--ink2)}
.rt-why.ok{color:var(--ok)}
.rt-lk{background:none;border:0;padding:0 .1rem;min-height:44px;color:var(--or-lt);font:inherit;font-size:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.rt-why .rt-lk{min-height:0;padding:.35rem 0}
.rt-legs{display:flex;flex-direction:column;gap:.4rem;margin-top:.55rem}
.rt-lg-t{font-size:.72rem;color:var(--muted);font-weight:500}
.rt-leg{justify-content:space-between;gap:.6rem;flex-wrap:nowrap}
.rt-leg b{font-weight:600}
.rt-leg span{font-size:.74rem;color:var(--muted);font-weight:500}

/* stops */
.rt-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.7rem}
.rt-st{padding:.75rem .75rem .7rem;border-radius:16px;background:var(--panel2);box-shadow:var(--hair)}
.rt-st.rs-done{background:linear-gradient(180deg,rgba(62,213,152,.07),transparent 70%),var(--panel2);box-shadow:inset 0 0 0 1px rgba(62,213,152,.3)}
.rt-st.rs-skipped{opacity:.7}
.rt-st.rs-nothome{box-shadow:inset 0 0 0 1px rgba(255,194,77,.4)}
.rt-st-t{display:flex;gap:.6rem;align-items:flex-start}
.rt-n{flex:none;width:30px;height:30px;border-radius:999px;display:grid;place-content:center;background:var(--panel3);box-shadow:var(--hair);
  font-size:.82rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.rt-st-m{flex:1;min-width:0}
.rt-nm{display:block;font-size:1rem;line-height:1.25;overflow-wrap:anywhere}
.rt-sv{font-size:.84rem;color:var(--ink2);line-height:1.35}
.rt-ad{font-size:.8rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.rt-nl{color:var(--warn);font-weight:600;white-space:nowrap}
.rt-gate{margin-top:.5rem;padding:.4rem .6rem;border-radius:10px;background:rgba(255,194,77,.09);font-size:.82rem;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.rt-gate b{color:var(--warn);font-weight:600;margin-right:.3rem}
.rt-nt{margin-top:.4rem;font-size:.8rem;line-height:1.45;color:var(--ink2);overflow-wrap:anywhere}
.rt-vn{font-style:italic}
.rt-us{margin-top:.35rem;font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}
.rt-pill{flex:none;align-self:flex-start;font-size:.68rem;font-weight:600;padding:.25rem .55rem;border-radius:999px;white-space:nowrap;background:rgba(255,255,255,.06);color:var(--muted)}
.rt-pill.ok{color:var(--ok);background:rgba(62,213,152,.12)}
.rt-pill.warn{color:var(--warn);background:rgba(255,194,77,.12)}
.rt-mn .b{color:var(--ink2);font-weight:500}
.rt-st .rt-bt .b{padding-left:.5rem;padding-right:.5rem}
.rt-foot{margin-top:1rem}
.rt-st-t .rt-pill{max-width:9rem;white-space:normal;text-align:center}

/* sheets */
body.rt-lock{overflow:hidden}
.rt-ov{position:fixed;inset:0;z-index:2000;background:rgba(2,6,12,.72);display:flex;align-items:flex-end;justify-content:center;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain}
.rt-sh{width:100%;max-width:44rem;max-height:94vh;max-height:94dvh;display:flex;flex-direction:column;background:var(--console-dk,#0C1826);
  border-radius:22px 22px 0 0;box-shadow:inset 0 0 0 1px var(--line),0 -20px 40px -20px rgba(0,0,0,.9);color:var(--ink)}
.rt-sh-hd{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .6rem .5rem 1.1rem;border-bottom:1px solid var(--line2)}
.rt-sh-hd b{font-size:1.05rem;overflow-wrap:anywhere;line-height:1.25}
.rt-x{flex:none;width:44px;height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.06);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer}
.rt-sh-bd{padding:.4rem 1.1rem 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;overscroll-behavior:contain}
.rt-sh-ft{display:flex;gap:.5rem;padding:.65rem 1.1rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--line2);background:var(--console-dk,#0C1826)}
.rt-sh-ft .b{flex:1;min-height:48px;font-size:.92rem}
.rt-sh-ft .b.pri{flex:1.6}
.rt-2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.rt-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}
.rt-chip{min-height:44px;padding:0 .8rem;border:0;border-radius:999px;background:rgba(255,255,255,.06);color:var(--ink2);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;box-shadow:var(--hair)}
.rt-chip:active,.rt-chip.on{background:rgba(255,106,26,.14);color:var(--or-lt)}
.rt-chip.on{box-shadow:inset 0 0 0 1px var(--or)}
.rt-sub{font-size:.86rem;color:var(--ink2);margin:.5rem 0 .2rem}
.rt-hint{font-size:.8rem;color:var(--muted);margin:.4rem 0 .2rem;line-height:1.45}
.rt-mr{margin-top:.7rem;padding:.2rem .75rem .6rem;border-radius:14px;background:var(--panel2);box-shadow:var(--hair)}
.rt-mr+.b,.rt-sh-bd>.b{margin-top:.7rem}
.rt-nx{margin-top:1rem;padding:.7rem .8rem;border-radius:14px;background:var(--panel2);box-shadow:var(--hair)}
.rt-nx-t{font-size:.72rem;color:var(--muted);font-weight:500}
.rt-nx-d{font-size:1rem;font-weight:600;margin-top:.1rem}
.rt-nx-d.mut{color:var(--muted);font-weight:500;font-size:.9rem}
.rt-cr{display:flex;align-items:center;gap:.6rem;width:100%;min-height:56px;margin-top:.45rem;padding:.6rem .8rem;border:0;text-align:left;
  border-radius:14px;background:var(--panel2);box-shadow:var(--hair);color:var(--ink);font:inherit;cursor:pointer}
.rt-cr.off{opacity:.55}
.rt-cr-m{flex:1;display:flex;flex-direction:column;min-width:0}
.rt-cr-m b{font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}
.rt-cr-m i{font-style:normal;font-size:.76rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.rt-cr-r{flex:none;font-size:.74rem;color:var(--ink2);font-weight:500;text-align:right}

@media (min-width:600px){
  .rt-ov{align-items:center}
  .rt-sh{border-radius:22px;max-height:88vh}
}

/* routes v2: Add from my customers */
.rt-pkb{width:100%;min-height:48px;margin:0 0 .7rem}
.rt-pk-list{max-height:38vh;max-height:38dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 0 .5rem;padding-bottom:.1rem}
.rt-pk{position:relative}
.rt-pk.sel{box-shadow:inset 0 0 0 2px var(--or);background:rgba(255,106,26,.1)}
.rt-ck{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;box-shadow:inset 0 0 0 2px var(--line2,#3a4a60);color:#1a1206;font-weight:800;font-size:.95rem;line-height:1}
.rt-pk.sel .rt-ck{background:var(--or);box-shadow:none}
.rt-sh-ft{flex-wrap:wrap}
/* a visit that comes from Routes, in the calendar and on Today */
.rt-vt{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .4rem;border-radius:6px;background:rgba(255,106,26,.16);color:var(--or-lt,#FFB259);vertical-align:.05rem}
