/* Ad Pack — DLD UI (2026-10-09). The look of the pacing board v2, which Mike
   approved for every Don't Look Down surface. Tokens and shared components come
   from dld-ui.css; the rules after them are this app's own, rewritten onto those
   tokens. Markup and app.js are unchanged except the top bar wordmark.

   Colour carries state only: green = settled / confirmed / on plan, amber =
   submitted / waiting / flagged, red = over plan / disputed / settling soon,
   blue = what a partner reads and money logged so far, grey = open / inactive.
   The lanes (digital, broadcast, DOOH, arena) are categories, not states, so they
   no longer carry a colour each. */

/* ===================================================== dld-ui: tokens */
:root{
  color-scheme:dark;
  --bg:#0b0b0d; --raise:#131316; --raise2:#1a1a1e; --line:#25252b; --line2:#303037;
  --ink:#f2f2f4; --ink2:#b4b4bd; --ink3:#8a8a95;
  --accent:#f5a623;
  --good:#3ccf7a;  --good-bg:rgba(60,207,122,.12);
  --watch:#f0b43c; --watch-bg:rgba(240,180,60,.13);
  --help:#ff6b6b;  --help-bg:rgba(255,107,107,.13);
  --live:#6aa8ff;  --live-bg:rgba(106,168,255,.14);
  --done-bg:rgba(140,140,150,.10);
  --track:#24242a;
  --shadow:0 10px 30px -12px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.35);
  /* names this app's markup and app.js use, mapped onto the tokens */
  --mono:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --mut:var(--ink2); --dim:var(--ink3);
  --panel:var(--raise); --panel2:var(--raise2); --panel3:#212126; --line-hi:var(--line2);
  --orange:var(--accent); --orange2:#f7b443; --amber:var(--watch);
  --green:var(--good); --red:var(--help); --teal:var(--live); --violet:var(--ink2);
}

/* ===================================================== dld-ui: base */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.mono,.num{font-variant-numeric:tabular-nums}

/* ===================================================== dld-ui: top bar */
.top{position:sticky;top:0;z-index:40;background:rgba(11,11,13,.92);backdrop-filter:saturate(1.4) blur(10px);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top-in{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:16px}
.mark{font-family:Anton,Impact,sans-serif;font-size:21px;letter-spacing:.4px;line-height:1;white-space:nowrap;text-decoration:none}
.mark b{color:var(--accent);font-weight:400}
.top .spacer{flex:1}
.top .who{font-size:13px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.top .who b{color:var(--ink2);font-weight:500}
.row .who{min-width:0}

.wrap{max-width:1180px;margin:0 auto;padding:22px 16px 90px}

/* ===================================================== buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line2);background:var(--raise2);
  color:var(--ink);border-radius:9px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;
  transition:background .18s var(--ease),border-color .18s var(--ease)}
.btn:hover{border-color:#44444c;background:var(--panel3)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#120d02}
.btn.pri:hover{background:var(--orange2);border-color:var(--orange2)}
.btn.ghost{background:transparent;border-color:var(--line)}
.btn.ghost:hover{background:var(--raise)}
.btn.sm{padding:6px 11px;font-size:13px;border-radius:8px}
.btn.danger:hover{border-color:var(--help);color:var(--help)}
.btn svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ===================================================== sign in */
.gate{max-width:420px;margin:min(14vh,110px) auto;padding:0 16px}
.gate .mark{display:block;font-size:26px;margin-bottom:22px}
.gate h1{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}
.gate p{color:var(--ink2);font-size:14.5px;margin:0 0 22px}
.field{display:block;margin-bottom:14px}
.field .lb{display:block;font-size:12.5px;font-weight:600;color:var(--ink3);margin-bottom:6px}
.inp{width:100%;background:var(--raise);border:1px solid var(--line2);border-radius:9px;padding:10px 12px;font-size:15px;
  transition:border-color .18s var(--ease)}
.inp:focus{border-color:var(--accent);outline:none}
.inp::placeholder{color:var(--ink3)}
.inp.code{font-size:24px;letter-spacing:8px;text-align:center;font-weight:600}
.msg{font-size:13.5px;margin-top:12px;min-height:19px}
.msg.err{color:var(--help)} .msg.ok{color:var(--good)}

/* ===================================================== money vs plan (rollup) */
.rollup{border:1px solid var(--line);border-radius:14px;background:var(--raise);padding:16px 18px 4px;margin-bottom:22px}
.rollup h2{font-size:13px;font-weight:600;color:var(--ink3);margin:0 0 14px}
.lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px 22px}
.lane{padding-bottom:14px}
.lane .lh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.lane .ln{font-size:13px;font-weight:600;color:var(--ink2)}
.lane .lv{font-size:12.5px;color:var(--ink3)}
.lane .big{font-size:22px;font-weight:700;line-height:1.1;letter-spacing:-.02em}
.track{position:relative;height:8px;border-radius:5px;background:var(--track);overflow:hidden;margin-top:10px}
.track i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--live);transition:width .4s var(--ease)}
.track i.full{background:var(--good)}
.track i.over{background:var(--help)!important}
.lane .sub{font-size:12.5px;color:var(--ink3);margin-top:7px;line-height:1.45}

/* ===================================================== toolbar */
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.search{flex:1;min-width:180px;max-width:340px;position:relative}
.search .inp{padding:8px 12px 8px 34px;font-size:14px}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--ink3);fill:none;stroke-width:1.8}
.seg{display:flex;gap:2px;background:var(--raise);border:1px solid var(--line);border-radius:9px;padding:3px;flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:6px 11px;border-radius:6px;font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer;
  transition:background .18s,color .18s}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--raise2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}

/* ===================================================== venue rows */
.rows{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--raise)}
.rowhead,.row{display:grid;grid-template-columns:118px minmax(0,1fr) 100px 100px 190px 140px;gap:14px;align-items:center;padding:13px 18px}
.rowhead{font-size:12px;font-weight:600;color:var(--ink3);border-bottom:1px solid var(--line);padding-top:10px;padding-bottom:10px}
.row{border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;background:transparent;border-left:0;border-right:0;border-top:0;
  transition:background .15s var(--ease)}
.row:last-child{border-bottom:0}
.row:hover{background:var(--raise2)}
.row .date{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.3}
.row .date small{display:block;color:var(--ink3);font-size:12.5px;font-weight:500}
.row .city{font-weight:600;font-size:15px}
.row .venue{color:var(--ink3);font-size:12.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .money{font-size:14.5px;font-weight:600;text-align:right}
.row .money small{display:block;font-size:11.5px;color:var(--ink3);font-weight:500;text-transform:lowercase}
.row .money.dimmed{color:var(--ink3);font-weight:500}
.prog{position:relative;height:6px;border-radius:4px;background:var(--track);overflow:hidden}
.prog i{position:absolute;inset:0 auto 0 0;background:var(--live);border-radius:4px}
.prog i.full{background:var(--good)} .prog i.over{background:var(--help)}
.progl{font-size:12px;color:var(--ink3);margin-top:6px;display:flex;justify-content:space-between;gap:6px}
.progl span:first-child{color:var(--ink2);font-weight:600}

/* status: the five-state pill. open = grey, submitted = amber, settled = green,
   settling soon = red, flagged = amber. */
.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px 3px 8px;border-radius:999px;white-space:nowrap;
  line-height:1.3;border:0;text-transform:capitalize;letter-spacing:0}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.tag:has(svg)::before{display:none}
.tag.open{color:var(--ink3);background:var(--done-bg)}
.tag.submitted{color:var(--watch);background:var(--watch-bg)}
.tag.settled{color:var(--good);background:var(--good-bg)}
.tag.soon{color:var(--help);background:var(--help-bg);text-transform:none}
.tag.flag{color:var(--watch);background:var(--watch-bg);text-transform:none}
.row .status{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.invrow>svg{flex:none;stroke:var(--ink3);fill:none;stroke-width:1.6;stroke-linejoin:round}
.hint svg,.tag svg{stroke:currentColor;fill:none;stroke-width:2;flex:none}
.empty{padding:40px 20px;text-align:center;color:var(--ink3)}
.empty h3{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px}
.skel{height:56px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#121215 25%,#18181c 50%,#121215 75%);
  background-size:280% 100%;animation:sweep 1.3s linear infinite}
@keyframes sweep{to{background-position:-280% 0}}

/* ===================================================== one pack */
.crumbbar{position:sticky;top:var(--topH,57px);z-index:30;margin:-6px -4px 16px;padding:8px 4px;
  background:linear-gradient(180deg,var(--bg) 62%,rgba(11,11,13,0))}
.crumb{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink);background:var(--raise2);
  border:1px solid var(--line2);border-radius:9px;padding:8px 14px 8px 11px;cursor:pointer;transition:border-color .18s,background .18s}
.crumb:hover{background:var(--panel3);border-color:#44444c}
.crumb svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.1}
.crumb .ct{color:var(--ink3);font-size:12.5px;font-weight:500;padding-left:8px;border-left:1px solid var(--line2);margin-left:2px}

.phead{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:22px}
.phead h1{font-size:30px;font-weight:700;line-height:1.12;letter-spacing:-.025em;margin:0}
.phead .sub{color:var(--ink3);font-size:14px;margin-top:6px}
.phead .dates{font-size:14px;color:var(--ink2);margin-top:8px;font-weight:500}
.phead .acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.flags{margin-bottom:22px;display:grid;gap:9px}
.flagline{display:flex;gap:11px;padding:12px 14px;border-radius:10px;background:var(--watch-bg);font-size:14px;line-height:1.55;color:var(--ink)}
.flagline svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--watch);fill:none;stroke-width:1.8}

/* a lane section: one panel, heading row, line rows. No coloured rule per lane. */
.sect{border:1px solid var(--line);border-radius:14px;margin-bottom:16px;background:var(--raise);overflow:hidden}
.shead{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}
.shead h2{font-size:13px;font-weight:700;margin:0;letter-spacing:.04em}
.shead .st{margin-left:auto;font-size:15px;font-weight:700}
.shead .stl{font-size:12.5px;color:var(--ink3);margin-right:-4px}

.lhead,.line{display:grid;grid-template-columns:minmax(0,1.5fr) 150px minmax(0,1.6fr) 118px 108px 70px;gap:12px;align-items:start;padding:12px 18px}
.lhead{font-size:12px;font-weight:600;color:var(--ink3);border-bottom:1px solid var(--line);padding-top:9px;padding-bottom:9px}
.line{border-bottom:1px solid var(--line)}
.line:last-of-type{border-bottom:0}
.line .outlet{font-weight:600;font-size:14.5px;word-break:break-word}
.line .vend{font-size:12.5px;color:var(--ink3);margin-top:3px;font-weight:500}
.line .flight{font-size:13px;color:var(--ink2);line-height:1.6}
.line .flight .promo{color:var(--ink2)}
.line .flight .k{color:var(--ink3);font-size:11.5px;font-weight:600;margin-right:3px}
.line .notes{font-size:13px;color:var(--ink2);line-height:1.5;word-break:break-word}
.line .price{font-size:14.5px;font-weight:700;text-align:right}
.line .payer{font-size:13px;color:var(--ink2)}
.line .rowacts{display:flex;gap:4px;justify-content:flex-end}
.iconbtn{background:transparent;border:1px solid transparent;border-radius:7px;padding:5px;cursor:pointer;color:var(--ink3);
  transition:color .15s,border-color .15s,background .15s}
.iconbtn:hover{color:var(--ink);background:var(--raise2);border-color:var(--line2)}
.iconbtn svg{width:15px;height:15px;display:block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.confirm{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;padding:8px 12px;border-radius:9px;font-size:13px;line-height:1.5}
.confirm.wait{background:var(--watch-bg);color:#f3d79b}
.confirm.ok{background:var(--good-bg);color:#a9e9c4}
.confirm.bad{background:var(--help-bg);color:#ffc2c2}
.confirm svg{stroke:currentColor;fill:none;stroke-width:2.2;flex:none}
.confirm .btn{margin-left:auto}
.confirm .btn+.btn{margin-left:0}
.invchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--live);background:var(--live-bg);border:0;
  border-radius:6px;padding:3px 8px;margin-top:6px;cursor:pointer}
.invchip:hover{filter:brightness(1.15)}
.invchip svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}

/* planned but not yet logged */
.exp{display:grid;grid-template-columns:minmax(0,1.5fr) 150px minmax(0,1.6fr) 118px 142px;gap:12px;align-items:center;padding:11px 18px;
  border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}
.exp:last-of-type{border-bottom:0}
.exp .outlet{color:var(--ink2);font-size:14px;font-weight:500}
.exp .planned{font-size:13.5px;color:var(--ink3);text-align:right;font-weight:600}
.exp .planned small{display:block;font-size:11.5px;font-weight:500;text-transform:lowercase}
.exp .planned .est{display:block;margin-top:6px;font-size:12px;line-height:1.4;color:var(--live);font-weight:500}
.exp .flight{font-size:12.5px;color:var(--ink3)}
.exp .notes{font-size:12.5px;color:var(--ink3);line-height:1.45}
.exp .src{font-size:11.5px;color:var(--ink3);display:block;margin-top:3px;word-break:break-all;opacity:.85}
.exp.done{opacity:.5}
.exp.hot{background:var(--watch-bg)}
.exp.hot .outlet{color:var(--ink);font-weight:600}
.exp.hot .planned{color:var(--watch)}
.exp.gone{background:none;opacity:.62}
.exp.gone .outlet s{color:var(--ink3);text-decoration-color:var(--line2)}
.exp .act{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.gonebar{padding:9px 18px;border-bottom:1px solid var(--line);background:var(--bg)}
.gonebar button{background:none;border:0;padding:0;cursor:pointer;font-size:12.5px;color:var(--ink3);text-align:left}
.gonebar button:hover{color:var(--ink2);text-decoration:underline}
.sfoot{padding:11px 18px;border-top:1px solid var(--line);display:flex;gap:9px;flex-wrap:wrap}

/* inline editor */
.editor{padding:16px 18px;background:var(--raise2);border-bottom:1px solid var(--line)}
.egrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px}
.egrid .field{margin:0}
.egrid .wide{grid-column:1/-1}
.eacts{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap;align-items:center}
.hint{font-size:12.5px;color:var(--ink3);display:inline-flex;align-items:center;gap:6px}

/* drop zone */
.drop{border:1.5px dashed var(--line2);border-radius:12px;padding:24px 18px;text-align:center;background:var(--bg);
  transition:border-color .18s var(--ease),background .18s var(--ease)}
.drop.hot{border-color:var(--accent);background:rgba(245,166,35,.06)}
.drop h3{font-size:16px;font-weight:700;margin:0 0 5px}
.drop p{color:var(--ink2);font-size:14px;margin:0 0 14px}
.drop .fine{font-size:12.5px;color:var(--ink3);margin-top:11px}

/* invoices */
.invlist{display:grid;gap:8px}
.invrow{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.invrow .nm{font-size:14px;font-weight:600;word-break:break-all}
.invrow .meta{font-size:12.5px;color:var(--ink3);margin-top:2px}
.invrow .sp{flex:1}

/* dialog (invoice read-back) */
dialog{border:1px solid var(--line2);border-radius:16px;background:var(--raise);color:var(--ink);padding:0;max-width:min(760px,94vw);width:100%;
  max-height:88vh;overflow:auto;box-shadow:var(--shadow)}
dialog::backdrop{background:rgba(0,0,0,.6)}
.dhead{position:sticky;top:0;background:var(--raise);border-bottom:1px solid var(--line);padding:15px 18px;display:flex;align-items:center;gap:12px;z-index:2}
.dhead h2{font-size:17px;font-weight:700;margin:0}
.dbody{padding:18px}
.dfoot{position:sticky;bottom:0;background:var(--raise);border-top:1px solid var(--line);padding:13px 18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.draftline{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:11px;background:var(--raise2)}
.draftline.off{opacity:.42}
.draftline .dt{display:flex;align-items:flex-start;gap:11px}
.draftline .dt input[type=checkbox]{width:17px;height:17px;margin-top:3px;accent-color:var(--accent);flex:none}
.evidence{font-size:12.5px;color:var(--ink2);background:var(--bg);border:1px solid var(--line);padding:9px 11px;border-radius:8px;margin-top:10px;
  line-height:1.55;word-break:break-word}
.evidence b{color:var(--ink3);font-weight:600;display:block;font-size:12px;margin-bottom:4px}
.warn{background:var(--help-bg);border-radius:10px;padding:11px 14px;font-size:14px;color:#ffc2c2;margin-bottom:12px;line-height:1.5}
.warn b{color:var(--ink)}

.note{width:100%;min-height:92px;resize:vertical;background:var(--bg);border:1px solid var(--line2);border-radius:10px;padding:12px;font-size:14.5px;line-height:1.5}
.note:focus{border-color:var(--accent);outline:none}
.hist{font-size:13px;color:var(--ink3);line-height:1.8}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(14px);background:var(--raise2);border:1px solid var(--line2);
  border-radius:10px;padding:11px 16px;font-size:14px;z-index:90;opacity:0;pointer-events:none;box-shadow:var(--shadow);
  transition:opacity .2s var(--ease),transform .2s var(--ease);max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.bad{color:#ffc2c2;background:#2a1517;border-color:#4a2326}

.pos{color:var(--good)} .neg{color:var(--help)} .warncol{color:var(--watch)}

/* ===================================================== national (Live Nation) */
.natstrip{margin-top:6px;margin-bottom:14px;border-top:1px solid var(--line);padding:14px 0 0}
.natstrip .nh{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:11px}
.natstrip .nt{font-weight:600;font-size:14px;color:var(--ink)}
.natstrip .nn{font-size:12.5px;color:var(--ink3)}
.natstrip .nrow{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.natstrip .nl{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:2px}
.natstrip .nv{font-size:18px;font-weight:700;color:var(--ink)}
.natstrip .nv.open{color:var(--watch)}
.row.national .date{color:var(--ink);font-size:13px;letter-spacing:.02em}
.row.national{background:rgba(255,255,255,.015)}
.row.national:hover{background:var(--raise2)}

/* ===================================================== flags by audience
   What a partner reads is blue (the "they see this" colour); our working notes are amber. */
.flaggroup{margin-bottom:12px}
.flaggroup:last-child{margin-bottom:0}
.fgh{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;margin-bottom:7px}
.flaggroup.partner .fgh{color:var(--live)}
.flaggroup.internal .fgh{color:var(--ink3)}
.fgh svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9}
.flagline.partner{background:var(--live-bg)}
.flagline.partner svg{stroke:var(--live)}
.aspartner{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px dashed var(--line2);color:var(--ink2);border-radius:9px;
  padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}
.aspartner:hover{border-color:var(--live);color:var(--live)}
.aspartner[aria-pressed="true"]{border-style:solid;border-color:var(--live);color:var(--live);background:var(--live-bg)}
.aspartner svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.previewbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--live-bg);border-radius:10px;padding:11px 14px;margin-bottom:16px;font-size:14px}
.previewbar b{color:var(--live)}
.previewbar svg{stroke:var(--live);fill:none;stroke-width:1.8}

/* ===================================================== phone */
@media (max-width:860px){
  .rowhead{display:none}
  .row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 16px}
  .row .date{grid-column:1/-1;display:flex;gap:8px;align-items:baseline}
  .row .date small{display:inline}
  .row .who{grid-column:1}
  .row .money{text-align:left}
  .row .money.plan{grid-column:1}
  .row .money.logged{grid-column:2;text-align:right}
  .row .progwrap{grid-column:1/-1}
  .row .status{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}
  .lhead{display:none}
  .line{grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px}
  .line .outlet{grid-column:1}
  .line .rowacts{grid-column:2;grid-row:1}
  .line .flight,.line .notes,.line .payer{grid-column:1/-1}
  .line .price{grid-column:1/-1;text-align:left;font-size:16px}
  .line .price::before{content:"Price ";font-size:12px;color:var(--ink3);font-weight:500}
  .line .payer::before{content:"Billed to ";font-size:12px;color:var(--ink3)}
  .exp{grid-template-columns:1fr auto;gap:6px 12px}
  .exp .outlet{grid-column:1} .exp .planned{grid-column:2}
  .exp .flight,.exp .notes,.exp .act{grid-column:1/-1}
  .phead .acts{margin-left:0;width:100%}
  .phead .acts .btn{flex:1}
}
@media (max-width:560px){
  .top{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
  .top-in{flex-wrap:wrap;row-gap:8px;gap:10px;padding:10px 16px}
  .top .spacer{display:none}
  .mark{flex:1 1 100%;font-size:19px}
  .top .who{flex:1}
  .crumb{width:100%;justify-content:center}
  .phead h1{font-size:25px}
  .search{max-width:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ---- Live Nation on the market sheets (Mike, 2026-10-21) ----------------
   Our buy is ringed in the tour orange, Live Nation's in blue, so a settlement
   reader can tell whose money a line is without reading the label. */
:root{--lnblue:#4f8dff;--lnblue-bg:rgba(79,141,255,.10);--lnblue-line:rgba(79,141,255,.45)}
.tag.ln{color:#cfe0ff;background:var(--lnblue-bg);border:1px solid var(--lnblue-line)}
.lnstrip{margin-top:6px;margin-bottom:14px;border:1px solid var(--lnblue-line);background:var(--lnblue-bg);border-radius:12px;padding:14px 16px}
.lnstrip .nh{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:11px}
.lnstrip .nt{font-weight:700;font-size:14px;color:var(--lnblue)}
.lnstrip .nn{font-size:12.5px;color:var(--ink3)}
.lnstrip .nrow{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.lnstrip .nl{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:2px}
.lnstrip .nv{font-size:18px;font-weight:700;color:var(--ink)}
.settlestrip{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:18px}
.settlestrip .ss{border-radius:12px;padding:14px 16px;border:1px solid var(--line);background:var(--raise)}
.settlestrip .ss.ours{border-color:rgba(245,166,35,.5);background:rgba(245,166,35,.08)}
.settlestrip .ss.ln{border-color:var(--lnblue-line);background:var(--lnblue-bg)}
.settlestrip .sl{display:block;font-size:12.5px;font-weight:600;color:var(--ink2)}
.settlestrip .ss.ours .sl{color:var(--accent)}
.settlestrip .ss.ln .sl{color:var(--lnblue)}
.settlestrip .sv{display:block;font-size:22px;font-weight:700;color:var(--ink);margin:3px 0 2px}
.settlestrip .sn{font-size:12px;color:var(--ink3)}
.band{border-radius:16px;padding:12px 12px 2px;margin:0 0 18px;border:1px solid var(--line)}
.band.ours{border-color:rgba(245,166,35,.45);background:rgba(245,166,35,.035)}
.band.ln{border-color:var(--lnblue-line);background:var(--lnblue-bg)}
.bandhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:4px 6px 12px}
.bandhead .bt{font-family:Anton,Impact,sans-serif;font-size:17px;letter-spacing:.04em}
.band.ours .bt{color:var(--accent)}
.band.ln .bt{color:var(--lnblue)}
.bandhead .bs{font-size:12.5px;color:var(--ink3);flex:1 1 260px}
.bandhead .bv{font-size:18px;font-weight:700;margin-left:auto}
.lnph{border:1px solid var(--lnblue-line);border-radius:14px;background:var(--raise);overflow:hidden;margin-bottom:12px}
.lnphh{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:12px 18px;border-bottom:1px solid var(--line);border-left:3px solid var(--lnblue)}
.lnphh b{font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.lnphh span{font-size:12.5px;color:var(--ink3)}
.lnphh .num{margin-left:auto;font-size:15px;font-weight:700;color:var(--ink)}
.lnhead,.lnrow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,2fr) 118px;gap:12px;align-items:start;padding:11px 18px}
.lnhead{font-size:12px;font-weight:600;color:var(--ink3);border-bottom:1px solid var(--line);padding-top:8px;padding-bottom:8px}
.lnrow{border-bottom:1px solid var(--line);font-size:14px}
.lnrow:last-child{border-bottom:0}
.lnrow .outlet{font-weight:600}
.lnrow .ch{color:var(--ink2)}
.lnrow .notes{color:var(--ink2);font-size:13px}
.lnrow .notes .src{display:block;margin-top:3px;font-size:12px;color:var(--ink3)}
.lnrow .price{text-align:right;font-weight:600}
@media (max-width:720px){
  .band{padding:10px 8px 2px}
  .lnhead{display:none}
  .lnrow{grid-template-columns:1fr auto;gap:4px 12px;padding:12px 14px}
  .lnrow .ch{grid-column:1;grid-row:2;font-size:13px}
  .lnrow .notes{grid-column:1 / -1}
  .lnrow .price{grid-column:2;grid-row:1}
  .lnphh{padding:11px 14px}
}
