/* RTM site 0.7 — only the few site-only pieces the hub doesn't have (sign-in card, load details, owner tools, test banner).
 * Everything else comes from hub.css, which is the Ops Hub 2.91's own CSS cut down to what the site uses. Colors use the hub's tokens. */
html, body { margin: 0; height: 100%; background: #0b0626; }
body.rtm { font-family: var(--ff, 'Inter', system-ui, sans-serif); }
.test-banner { position: fixed; top: 0; left: 50%; transform: translateX(-50%); z-index: 60; background: rgba(255, 181, 71, .18); color: #ffd27a; border: 1px solid rgba(255, 181, 71, .45); border-top: 0; border-radius: 0 0 10px 10px; font: 700 11px var(--ff, system-ui); letter-spacing: .06em; padding: 3px 12px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
#app272 [hidden] { display: none !important; }
#app272 .sign272 { max-width: 460px; margin: 60px auto; }
#app272 .sign272 p { margin: 4px 0 12px; color: var(--m); }
#app272 .live7 { color: var(--m); }
#app272 .live7.ok { color: var(--green); } #app272 .live7.warn { color: var(--af2); } #app272 .live7.bad { color: var(--rf2); }
#app272 .sub7 { display: block; color: var(--m); font-size: 11px; }
#app272 .is7, #app272 .st7 { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 1.6; white-space: nowrap; }
#app272 .is7.bad { background: var(--rb); color: var(--rf); } #app272 .is7.warn, #app272 .st7.warn { background: var(--ab); color: var(--af); }
#app272 .is7.good, #app272 .st7.good { background: var(--gb); color: var(--gf); } #app272 .st7.acc { background: var(--bb); color: var(--bf); }
#app272 .row7 { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
#app272 .row7 input, #app272 .row7 select { min-height: 30px; padding: 4px 10px; max-width: 240px; }
#app272 select { background: var(--tile); color: var(--t); border: 1px solid var(--line); border-radius: 10px; }
#app272 .v-loads, #app272 .t7 > .gp272 { margin-bottom: 12px; }
#app272 .t7 { display: grid; gap: 12px; }
#app272 .tw272 { overflow-x: auto; }
#app272 .ld7 td { white-space: nowrap; vertical-align: top; }
#app272 .ld7 tbody tr, #app272 tr.rw7 { cursor: pointer; }
#app272 .ld7 tbody tr:hover td, #app272 tr.rw7:hover td { background: var(--hover); }
#app272 .nd282 { min-height: 0; overflow-y: auto; }
#app272 .conf7 { color: var(--m); margin: 10px 2px 0; }
#app272 .rg282 { position: relative; }
#app272 .rn7 { position: absolute; left: 0; right: 0; bottom: 2px; text-align: center; font-size: 10.5px; color: var(--m); opacity: .8; }

#app272 .tl7 { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; width: 100%; text-align: left; padding: 6px 4px; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--t); cursor: pointer; font: inherit; }
#app272 .tl7 .tile { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; font-weight: 800; font-size: 11px; background: color-mix(in srgb, var(--nc) 28%, transparent); border: 1px solid var(--nc); }
#app272 .tl7:hover { background: var(--hover); }
/* load details: the hub's glass window look */
#app272 .scrim7 { position: fixed; inset: 0; background: rgba(5, 3, 15, .5); z-index: 90; }
#app272 .drw7 { position: fixed; top: 12px; right: 12px; bottom: 12px; width: min(470px, calc(100vw - 24px)); z-index: 91; overflow-y: auto; padding: 16px 18px; border-radius: 20px;
  -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .7); font-size: 13px; }
#app272 .dh7 { display: flex; align-items: center; gap: 10px; } #app272 .dh7 h2 { flex: 1; margin: 0; font-size: 18px; }
#app272 .stk7 { display: grid; gap: 8px; margin: 12px 0; }
#app272 .stop7 { border-left: 3px solid var(--acc); padding: 6px 10px; background: var(--tile); border-radius: 0 10px 10px 0; }
#app272 .stop7.del { border-left-color: var(--acc2); }
#app272 .kv7 { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 10px 0; }
#app272 .kv7 dt { color: var(--m); } #app272 .kv7 dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
#app272 .dp7 { margin-top: 12px; }
#app272 .dp7 input[type=text] { width: 100%; min-height: 32px; padding: 4px 10px; margin: 6px 0; }
#app272 .lg7 { padding: 6px 0; border-top: 1px solid var(--line); font-size: 12px; }
#app272 .nt7 { margin: 8px 0; padding: 8px 10px; border-radius: 10px; background: var(--selbg); border: 1px solid var(--line); }
#app272 .nt7.bad { background: var(--rb); color: var(--rf); } #app272 .nt7.warn { background: var(--ab); color: var(--af); }
#app272 .pod7 { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; border: 1px solid var(--line); cursor: zoom-in; }
#app272 .pod7.big { width: 100%; height: auto; }
#app272 a.sm { display: inline-flex; align-items: center; text-decoration: none; }
#app272 a { color: var(--acc); }
.toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(135deg, #22d3ee, #a78bfa); color: #0a0526; padding: 9px 16px; border-radius: 999px; z-index: 100; font: 700 13px var(--ff, system-ui); max-width: calc(100vw - 32px); box-shadow: 0 10px 30px -10px #000; }
#app272 #app { display: contents; }
/* staff views (no money): today's stops take the ring's place */
#app272 .sch7 { height: 100%; overflow-y: auto; }
@media (max-width: 760px) {
  #app272 .hide-sm { display: none; }
  html, body, body.rtm { overflow: auto; height: auto; }
  #app272 { position: relative; height: auto; min-height: 100vh; padding: 8px; overflow: visible; }
  #app272 .win272 { flex-direction: column; height: auto; overflow: visible; }
  #app272 .side272 { width: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 10px; overflow: visible; }
  #app272 .mw272 { padding: 12px 10px; }
  #app272 #main, #app272 #main.home272 { overflow: visible; }
  #app272 .o282, #app272 .o282.stf7 .orb282 { height: auto !important; display: flex; flex-direction: column; }
  #app272 .hd272, #app272 .pls272 { flex-wrap: wrap; }
  #app272 .rn7 { position: static; }
  #app272 .drw7 { top: 0; right: 0; bottom: 0; width: 100vw; border-radius: 0; }
}
/* carrier board (0.7) */
#app272 .f7 { display: grid; gap: 4px; margin: 0 0 10px; color: var(--m); font-size: 12px; }
#app272 .f7 input { min-height: 34px; padding: 4px 10px; font-size: 14px; }
#app272 .cards7 { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin: 10px 0; }
#app272 .lc7 .lane { font-weight: 800; font-size: 15px; }
#app272 #board > .lc7 { margin-top: 4px; }
#app272.cb7 #main { overflow: auto; }

/* 0.8: the planet ring fills the ring slot on Owners / Manager homes */
.o282.pr8 .rg282{display:flex;align-items:center;justify-content:center;min-width:0}
.o282.pr8 .rg282 svg.pring8{width:100%;height:100%;max-height:100%;display:block}
.vw8{display:inline-flex;align-items:center;gap:4px;margin-right:10px;font-size:12.5px;white-space:nowrap}
.hl8{gap:8px;align-items:center;flex-wrap:wrap}

/* 0.10 (Dave 2026-10-26): RTM loading spinner — the green RTM arrow travelling around a green ring; loading screens carry the logo. */
.rtmspin{--s:22px;--w:3px;position:relative;display:inline-block;width:var(--s);height:var(--s);flex:none;vertical-align:middle}
.rtmspin::before,.rtmspin i{content:"";position:absolute;inset:0;animation:rtmspin .95s linear infinite}
.rtmspin::before{border-radius:50%;background:conic-gradient(from 0turn,rgba(110,200,60,0) 0turn,rgba(110,200,60,.18) .45turn,#7fd34a .96turn,rgba(110,200,60,0) 1turn);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--w)),#000 calc(100% - var(--w) + .5px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--w)),#000 calc(100% - var(--w) + .5px))}
.rtmspin i::after{content:"";position:absolute;left:50%;top:calc(var(--w) / 2);width:calc(var(--s) * .46);height:calc(var(--s) * .46);transform:translate(-50%,-50%) rotate(90deg);
  background:url(/img/logo.webp) center/contain no-repeat;filter:drop-shadow(0 0 3px rgba(127,211,74,.75))}
.rtmspin.sm{--s:15px;--w:2px;margin-right:6px}
.rtmspin.lg{--s:84px;--w:5px}
.rtmspin.lg i::after{width:calc(var(--s) * .3);height:calc(var(--s) * .3)}
.rtmspin.lg b{position:absolute;inset:24%;background:url(/img/logo.webp) center/contain no-repeat;opacity:.92;animation:rtmpulse 1.9s ease-in-out infinite}
/* the hub's "effects off" switch stops every animation; the loading spinner keeps turning (it is how people know the page is working) */
body.fxm-off .rtmspin::before,body.fxm-off .rtmspin i{animation:rtmspin .95s linear infinite!important}
body.fxm-off .rtmspin.lg b{animation:rtmpulse 1.9s ease-in-out infinite!important}
@keyframes rtmspin{to{transform:rotate(1turn)}}
@keyframes rtmpulse{50%{opacity:.55;transform:scale(.93)}}
@media (prefers-reduced-motion:reduce){.rtmspin::before,.rtmspin i{animation-duration:2.4s}.rtmspin.lg b{animation:none}}
.rtmload{display:inline-flex;align-items:center;gap:9px;color:inherit;opacity:.9;font-size:13px}
.rtmload.blk{display:flex;justify-content:center;padding:14px 6px}
button.busy,a.busy{cursor:progress;opacity:.85}
.ringwait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3}
.boot10{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#060b16;color:#cfe3ff;font:600 14px Inter,system-ui,sans-serif;letter-spacing:.04em}
.boot10[hidden]{display:none!important}

/* 0.10 (Dave 2026-10-26, look C "Hex Track" from the Honeycomb Glass Controls mock): the orb's glass-covered honeycomb on the switches and buttons.
 * Each group of switches (window pills, panel switches, Loads filters, view switcher, My loads / Company) sits in a frosted honeycomb track;
 * the chosen option rises out of it as a clear crystal lens with an accent edge. Lone buttons get a light honeycomb glass. The color is
 * each person's appearance color (--acc). Static: nothing moves, so "effects off" keeps it as is. */
#app272{--hex10:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2210.39%22%20viewBox%3D%220%200%2018%2010.39%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.1%22%3E%3Cpolygon%20points%3D%225.64%2C0.00%202.82%2C4.88%20-2.82%2C4.88%20-5.64%2C0.00%20-2.82%2C-4.88%202.82%2C-4.88%22%2F%3E%3Cpolygon%20points%3D%2223.64%2C0.00%2020.82%2C4.88%2015.18%2C4.88%2012.36%2C0.00%2015.18%2C-4.88%2020.82%2C-4.88%22%2F%3E%3Cpolygon%20points%3D%225.64%2C10.39%202.82%2C15.28%20-2.82%2C15.28%20-5.64%2C10.39%20-2.82%2C5.51%202.82%2C5.51%22%2F%3E%3Cpolygon%20points%3D%2223.64%2C10.39%2020.82%2C15.28%2015.18%2C15.28%2012.36%2C10.39%2015.18%2C5.51%2020.82%2C5.51%22%2F%3E%3Cpolygon%20points%3D%2214.64%2C5.20%2011.82%2C10.08%206.18%2C10.08%203.36%2C5.20%206.18%2C0.31%2011.82%2C0.31%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
#app272 .pf272,#app272 .pls272,#app272 .vsw272,#app272 .sctl{position:relative;isolation:isolate;flex-wrap:wrap;gap:3px!important;padding:3px!important;width:fit-content;max-width:100%;
  border:0!important;border-radius:14px;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(255,255,255,.03))!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.55),inset 0 0 0 1px color-mix(in srgb,var(--acc) 26%,transparent)}
#app272 .pls272,#app272 .sctl{border-radius:999px}
#app272 .pf272:not([hidden]),#app272 .pls272:not([hidden]),#app272 .sctl:not([hidden]){display:inline-flex!important}
#app272 .vsw272:not([hidden]){display:grid!important;width:auto}
#app272 .pf272[hidden],#app272 .pls272[hidden],#app272 .vsw272[hidden],#app272 .sctl[hidden]{display:none!important}
#app272 .pf272::before,#app272 .pls272::before,#app272 .vsw272::before,#app272 .sctl::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:var(--acc);opacity:.32;pointer-events:none;
  -webkit-mask:var(--hex10) 0 0/12px 20.78px repeat;mask:var(--hex10) 0 0/12px 20.78px repeat}
#app272 .pf272 .pl272,#app272 .pls272 button,#app272 .sctl button,#app272 .vb272,#app272 .o282 .pf272 .pl272{position:relative;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--m,#a9b6d6)!important;
  border-radius:999px!important;padding:0 10px!important;height:24px;font-weight:700}
#app272 .vb272{border-radius:11px!important}
#app272 .pf272 .pl272:hover,#app272 .pls272 button:hover,#app272 .sctl button:hover,#app272 .vb272:hover{color:var(--t,#fff)!important;background:rgba(255,255,255,.06)!important}
#app272 .pf272 .pl272.on,#app272 .pls272 button.on,#app272 .sctl button.on,#app272 .vb272.on,#app272 .o282 .pf272 .pl272.on{color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.06) 46%,color-mix(in srgb,var(--acc) 26%,transparent))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 -2px 0 var(--acc),0 6px 14px rgba(0,0,0,.35),0 0 18px color-mix(in srgb,var(--acc) 40%,transparent)!important}
#app272 .o282 .pf272 .pl272.on::after{display:none}
/* lone buttons (Open load, Skip, load numbers, Make driver link, Add person …): light honeycomb glass */
#app272 button.sm,#app272 a.sm,#app272 button.sk,#app272 button.more,#app272 #drawer button.sm{position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 40%,transparent),inset 0 1px 0 rgba(255,255,255,.2)!important;border-color:transparent!important}
#app272 button.sm::before,#app272 a.sm::before,#app272 button.sk::before,#app272 button.more::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acc);opacity:.3;pointer-events:none;
  -webkit-mask:var(--hex10) 0 0/12px 20.78px repeat;mask:var(--hex10) 0 0/12px 20.78px repeat}
#app272 button.sm:hover,#app272 a.sm:hover,#app272 button.sk:hover,#app272 button.more:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 75%,transparent),inset 0 1px 0 rgba(255,255,255,.25),0 0 14px color-mix(in srgb,var(--acc) 35%,transparent)!important}
#app272 button.sm.on{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 -2px 0 var(--acc),0 0 16px color-mix(in srgb,var(--acc) 40%,transparent)!important}
/* left menu: the open screen is a crystal lens */
#app272 .ni272.on{background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 46%,color-mix(in srgb,var(--acc) 24%,transparent))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),inset 0 -2px 0 var(--acc),0 0 16px color-mix(in srgb,var(--acc) 35%,transparent)!important}

/* 0.11: CSR / Broker / AST homes — the task strip on top, the person's own ring (map-sized) above the map */
#app272 .o282.st11{grid-template-rows:auto auto minmax(0,1fr)}
#app272 .o282.st11 .tk11{grid-column:1/-1;grid-row:1}
#app272 .o282.st11 .orb282{grid-row:2}
#app272 .o282.st11 .side282{grid-row:2/4}
#app272 .o282.st11 .bot282{grid-row:3}
#app272 .o282.st11 #rpw-prog{order:-2;flex:0 0 auto}
@media (max-width:1150px){#app272 .o282.st11 .tk11,#app272 .o282.st11 .orb282,#app272 .o282.st11 .side282,#app272 .o282.st11 .bot282{grid-column:1;grid-row:auto}}
.tk11{position:relative;border-radius:16px;padding:12px 16px 14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad282,#ff8fa6) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.08)}
.tkh11{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tkh11 .t{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bad282,#ff8fa6)}
.tkh11 .c{font-size:12px;font-weight:700;opacity:.8}
.tkh11 .grow{flex:1}
.tkc11{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.tkm11{flex:1 1 360px;min-width:0}
.tkm11 .ln{font-size:22px;font-weight:800}
.tkm11 .is{font-size:13px;font-weight:700;margin-left:8px}
.tkm11 .is.bad{color:var(--bad282,#ff8fa6)}.tkm11 .is.warn{color:var(--warn282,#ffd27a)}
.tkm11 .sb{font-size:12.5px;opacity:.85;margin-top:2px}
.tka11{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tka11 button[disabled]{opacity:.35;cursor:default}
.tkd11{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}
.lgs11{display:grid;gap:6px}
.pg11 .pgr11{position:relative}
#app272 .o282 #rpw-prog .pb272{max-height:none!important;overflow:visible!important}
.pg11 svg.pring8.cmp11{width:100%;height:auto;display:block}
.lgd11{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin-top:6px}
.gl11{position:relative;display:flex;flex-direction:column;gap:1px;padding:6px 8px 8px;border-radius:10px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);min-width:0}
.gl11 .n{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8fd3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gl11.ok .n{color:#ffd36b}
.gl11 b{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.gl11 .s{font-size:10.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gl11 i{position:absolute;left:8px;right:8px;bottom:3px;height:2px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.gl11 i::after{content:"";position:absolute;inset:0;width:calc(var(--f) * 100%);background:var(--acc)}
.gl11.ok i::after{background:#ffd36b}
.pw11{background:rgba(0,0,0,.3);color:inherit;border:1px solid var(--line);border-radius:8px;font:600 11.5px Inter,system-ui,sans-serif;padding:2px 6px}
#app272 button.sm.on{color:#fff!important;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.05) 46%,color-mix(in srgb,var(--acc) 30%,transparent))!important}

/* 0.11 rev (Dave): Needs you now is one thin row; Expand is an overlay; ring + map share the right column so nothing is cut off */
.tk11{padding:7px 12px}
.tkr11{display:flex;align-items:center;gap:10px;min-width:0;min-height:30px}
.tkr11 .t{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bad282,#ff8fa6);white-space:nowrap}
.tkr11 .c{font-size:11.5px;font-weight:700;opacity:.8;white-space:nowrap}
.tkr11 .clr{font-weight:700;color:var(--good282,#6ff5b8)}
.tkr11 .sb{font-size:12px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tkr11 .grow{flex:1}
.tkr11 .tkm11{flex:1 1 auto;display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}
.tkr11 .tkm11 .ln{font-size:16px;font-weight:800;white-space:nowrap}
.tkr11 .tkm11 .is{margin:0;font-size:12px;white-space:nowrap}
.tkr11 .tka11{flex:none;flex-wrap:nowrap;gap:5px}
.tkr11 .tka11 button{height:24px;padding:0 10px}
.tko11{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;max-height:min(68vh,640px);overflow:auto;border-radius:16px;padding:12px 16px 16px;
  background:linear-gradient(180deg,rgb(22,30,62),rgb(10,15,34));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 0 0 1px color-mix(in srgb,var(--acc) 35%,transparent),inset 0 1px 0 rgba(255,255,255,.1)}
.tkoh11{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tkoh11 .grow{flex:1}
.tko11 .tkd11{margin-top:6px;padding-top:8px}
@media (max-width:700px){.tkr11{flex-wrap:wrap}.tkr11 .tkm11{flex-basis:100%;order:3}.tkr11 .tka11{order:4}}
/* right column: ring and map fit together */
#app272 .o282.st11 .side282{gap:10px;min-height:0}
#app272 .o282.st11 #rpw-prog .pgr11{display:flex;justify-content:center}
#app272 .o282.st11 #rpw-prog svg.pring8.cmp11{width:auto;max-width:100%;height:clamp(120px,19vh,210px)}
#app272 .o282.st11 .lgd11{gap:5px 6px;margin-top:2px}
#app272 .o282.st11 .gl11{padding:4px 7px 6px}
#app272 .o282.st11 .gl11 b{font-size:14px}
#app272 .o282.st11 .gl11 .s{font-size:10px}
#app272 .o282.st11 #rpw-hub{flex:1 1 auto;min-height:0;display:flex!important;flex-direction:column}
#app272 .o282.st11 #rpw-hub .pb272{flex:1 1 auto;min-height:0}
/* ---------- 0.12: the site's own Carriers panel (overlay; the page behind does not move) ---------- */
#cvHost .cv12bk{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(4,6,20,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#cvHost .cv12{width:min(1240px,100%);height:min(900px,calc(100vh - 32px));height:min(900px,calc(100dvh - 32px));display:flex;flex-direction:column;overflow:hidden;border-radius:18px;color:var(--ink,#f3eeff);
  background:linear-gradient(180deg,rgb(22,30,62),rgb(10,15,34));box-shadow:0 30px 80px rgba(0,0,0,.65),inset 0 0 0 1px color-mix(in srgb,var(--acc) 38%,transparent),inset 0 1px 0 rgba(255,255,255,.1)}
#cvHost .cv12h{flex:none;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid rgba(160,190,255,.14)}
#cvHost .cv12t{min-width:0}#cvHost .cv12t h2{margin:0;font-size:18px;line-height:1.3;text-wrap:balance}
#cvHost .cv12h>button{flex:none;white-space:nowrap}
#cvHost .cvm12{margin:8px 18px 0;padding:7px 10px;border-radius:10px;font-size:13px;flex:none}
#cvHost .cvm12.ok{background:color-mix(in srgb,var(--good282,#6ff5b8) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--good282,#6ff5b8) 45%,transparent)}
#cvHost .cvm12.bad{background:color-mix(in srgb,var(--bad282,#ff8fa6) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad282,#ff8fa6) 45%,transparent)}
#cvHost .cv12b{flex:1;min-height:0;display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr)}
#cvHost .cv12l,#cvHost .cv12r{min-height:0;overflow:auto;padding:12px 16px 18px;display:flex;flex-direction:column;gap:10px}
#cvHost .cv12l{border-right:1px solid rgba(160,190,255,.12)}
#cvHost .cvs12{border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(160,190,255,.12);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
#cvHost .cvs12 h3,#cvHost .cvh12{margin:0;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--acc2,#5fe0ff)}
#cvHost .cvh12{margin-top:2px}
#cvHost .cvs12.on12{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 45%,transparent)}
#cvHost .cvs12.cov12{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--good282,#6ff5b8) 50%,transparent)}
#cvHost .cvbig12{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
#cvHost .cvkv12{display:grid;grid-template-columns:auto auto;gap:0 8px;align-items:baseline}#cvHost .cvkv12 .sub{grid-column:1/-1}
#cvHost .cvkv12 b{font-variant-numeric:tabular-nums}
#cvHost .sub{color:var(--mute,#a497c7);font-size:12.5px}
#cvHost input,#cvHost textarea{width:100%;box-sizing:border-box;min-height:34px;border-radius:9px;border:1px solid rgba(160,190,255,.22);background:rgba(0,0,0,.25);color:inherit;padding:6px 9px;font:inherit}
#cvHost input[type=checkbox]{width:auto;min-height:0}
#cvHost .cvck12{display:flex;gap:7px;align-items:center;font-size:13px}
#cvHost .cvfl12{display:flex;flex-wrap:wrap;gap:5px}
#cvHost .cvman12{display:grid;gap:6px;width:100%}
#cvHost .cvst12{font-size:13px}
#cvHost .cvc12{border-radius:12px;padding:8px 10px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(160,190,255,.12);display:flex;flex-direction:column;gap:5px;min-width:0}
#cvHost .cvc12.fav{box-shadow:inset 3px 0 0 var(--warn282,#ffd27a),inset 0 0 0 1px rgba(255,210,122,.3)}
#cvHost .cvc12.no{opacity:.62}
#cvHost .cvc12a{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;min-width:0}
#cvHost .cvc12a .grow{flex:1 1 0}
#cvHost .cvn12{all:unset;cursor:pointer;font-weight:700;color:var(--ink,#fff);border-bottom:1px dashed rgba(255,255,255,.35)}#cvHost .cvn12:focus-visible{outline:2px solid var(--acc2)}
#cvHost .cvw12{font-size:12px;color:var(--acc2,#5fe0ff)}
#cvHost .cvc12b{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;font-variant-numeric:tabular-nums}
#cvHost .cvc12c,#cvHost .cvc12d{display:flex;flex-wrap:wrap;gap:5px}
#cvHost .cvph12{text-decoration:none}
#cvHost .cvr12{font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 8px;white-space:nowrap}
#cvHost .cvr12.good{color:var(--good282,#6ff5b8);box-shadow:inset 0 0 0 1px currentColor}#cvHost .cvr12.warn{color:var(--warn282,#ffd27a);box-shadow:inset 0 0 0 1px currentColor}#cvHost .cvr12.acc{color:var(--acc2,#5fe0ff);box-shadow:inset 0 0 0 1px currentColor}
#cvHost .cvli12.on{color:var(--warn282,#ffd27a)}
#cvHost .cvhi12{display:flex;gap:6px;align-items:center}#cvHost .cvhi12 input{max-width:200px}
#cvHost .cvpf12{display:flex;flex-direction:column;gap:9px}
#cvHost .cvf12{display:flex;flex-direction:column;gap:4px}#cvHost .cvf12>span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute,#a497c7)}
#cvHost .cvpr12{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center}
#cvHost .cvsts12{display:flex;flex-wrap:wrap;gap:4px}
#cvHost .cvsts12 label{font-size:11.5px;padding:2px 6px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(160,190,255,.2);cursor:pointer;display:flex;gap:3px;align-items:center}
#cvHost .cvsts12 label.on{box-shadow:inset 0 0 0 1px var(--acc2);background:color-mix(in srgb,var(--acc2) 16%,transparent)}
#cvHost .cvsts12 input{display:none}
#app272 .cvon12{display:block;font-size:11px;color:var(--acc2,#5fe0ff);margin-top:2px;white-space:normal}
#app272 button.cvb12.on{box-shadow:inset 0 0 0 1px var(--acc2)!important}
body.cv12open{overflow:hidden}
@media (max-width:860px){#cvHost .cv12bk{padding:8px}#cvHost .cv12{height:calc(100vh - 16px);height:calc(100dvh - 16px)}
  #cvHost .cv12b{display:block;overflow:auto}#cvHost .cv12l,#cvHost .cv12r{overflow:visible;border-right:0}#cvHost .cv12h{padding:12px 12px 8px}#cvHost .cv12l,#cvHost .cv12r{padding:10px 12px}}
/* 0.12 fixes after the screenshots: the preview strip steps aside while Carriers is open (the panel says what is saved where);
   smaller title on phones; Add phone stays button-sized */
body.cv12open .test-banner{display:none}
#cvHost .cv12t h2{letter-spacing:.06em}
#cvHost .cv12t .cvsv12{display:block;margin-top:3px;font-size:11.5px;color:var(--warn282,#ffd27a)}
#cvHost .cvf12>button,#cvHost .cvs12>button{align-self:flex-start}
@media (max-width:860px){#cvHost .cv12t h2{font-size:15px;letter-spacing:.03em}}
/* ---------- 0.13: Radar on the tools-hub map (NOAA / NWS) ---------- */
#app272 .usmap .usrdr{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
#app272 .usmap .usrdr image{image-rendering:auto}
#app272 button.rdbtn12.on{color:#fff;box-shadow:inset 0 0 0 1px #6fd2ff,0 0 12px rgba(80,190,255,.45)!important}
#app272 .rdb12{position:relative;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;padding:3px 2px 2px;font-size:11px;line-height:1.3;color:var(--ink,#eef);flex:none}
#app272 .rdb12 button.dch{min-width:26px;padding:0 6px;height:22px}
#app272 .rdb12 input[type=range]{flex:1 1 60px;min-width:50px;max-width:110px;accent-color:#6fd2ff;height:14px}
#app272 .rdb12 .rdt12{font-weight:700;white-space:nowrap}
#app272 .rdb12 .rdg12{display:flex;align-items:center;gap:3px 6px;flex-wrap:wrap}
#app272 .rdb12 .rdg12 i{display:inline-block;width:18px;height:7px;border-radius:4px}
#app272 .rdb12 .rdg12 i.rn{background:linear-gradient(90deg,#60d660,#28b43c,#fae23c,#ff9628,#eb3228)}
#app272 .rdb12 .rdg12 i.sn{background:linear-gradient(90deg,#a0cdff,#5fa0ff,#3269f5,#ebf0ff)}
#app272 .rdb12 .rdg12 i.ic{background:#ff6ec8;width:10px}
#app272 .rdb12 .rds12{opacity:.6;margin-left:auto;white-space:nowrap}
/* 0.26: radar time frame switch (Last 80 min / Next 12 h) and the forecast legend */
#app272 .rdm26{display:inline-flex;gap:2px}
#app272 .rdm26 button.dch{min-width:0;padding:0 6px}
#app272 .rdb12 .rdg12 i.fc26{width:34px;background:linear-gradient(90deg,#7fff00,#00cd00,#008b00,#104e8b,#1e90ff,#00b2ee,#8968cd,#912cee,#8b0000,#ff0000)}
#app272 .rdb12 .rde12{color:var(--warn282,#ffd27a)}
#app272 .rdb12 .rdl12{display:flex;align-items:center;gap:4px}
/* ---------- 0.14: weather on the route (small icon, not an alert) and Notify Carrier ---------- */
.wx14{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 3px;vertical-align:-4px;border-radius:6px;color:#8fd4ff;background:rgba(120,190,255,.12);box-shadow:inset 0 0 0 1px rgba(140,200,255,.28);flex:none}
.wx14 svg{width:13px;height:13px;display:block}
.wx14.s{color:#d6e6ff}.wx14.i{color:#ffa8dc;background:rgba(255,140,210,.1);box-shadow:inset 0 0 0 1px rgba(255,150,215,.3)}
.wxl14{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nts14{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:8px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.nts14.ok{color:var(--good282,#6ff5b8);box-shadow:inset 0 0 0 1px rgba(111,245,184,.35)}
.nts14.wait{color:var(--acc2,#5fe0ff);box-shadow:inset 0 0 0 1px rgba(95,224,255,.3)}
.nts14.bad{color:var(--warn282,#ffd27a);box-shadow:inset 0 0 0 1px rgba(255,210,122,.35);white-space:normal}
button.nt14{color:#bfe6ff!important;box-shadow:inset 0 0 0 1px rgba(120,200,255,.55)!important}
body.nt14open{overflow:hidden}
#ntHost .nts14scrim{position:fixed;inset:0;z-index:90;background:rgba(3,8,20,.62);backdrop-filter:blur(3px)}
#ntHost .ntd14{position:fixed;z-index:91;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;
  border-radius:18px;background:linear-gradient(180deg,#0d1a33,#091226);color:#e8f0ff;box-shadow:0 20px 60px rgba(0,0,0,.55),inset 0 0 0 1px rgba(140,190,255,.25)}
#ntHost .nth14{display:flex;align-items:center;gap:8px;padding:12px 16px 8px;font-size:15px;letter-spacing:.03em}
#ntHost .ntc14{padding:0 16px;overflow:auto;min-height:0}
#ntHost .nta14{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px solid rgba(140,190,255,.14)}
#ntHost .grow{flex:1}
#ntHost .ntw14{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0 8px}
#ntHost .ntk14{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 8px;font-size:12.5px}
#ntHost .ntk14 dt{color:#9fb4d8;font-weight:700}#ntHost .ntk14 dd{margin:0;min-width:0;overflow-wrap:anywhere}
#ntHost .ntt14{font-size:12px;font-weight:700;color:var(--warn282,#ffd27a);padding:6px 9px;border-radius:9px;background:rgba(255,210,122,.08);box-shadow:inset 0 0 0 1px rgba(255,210,122,.3);margin-bottom:8px}
#ntHost .ntb14{white-space:pre-wrap;font:12.5px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:rgba(255,255,255,.04);border-radius:10px;padding:10px 12px;margin:0 0 10px;box-shadow:inset 0 0 0 1px rgba(140,190,255,.14);overflow-wrap:anywhere}
#ntHost .sub{color:#9fb4d8;font-size:12px}
#ntHost button.sm.on{background:linear-gradient(180deg,#2a7bff,#1858d6);color:#fff}
body.nt14open .test-banner{display:none}
@media (max-width:560px){#ntHost .ntd14{top:auto;bottom:8px;transform:translateX(-50%);max-height:calc(100dvh - 16px)}#ntHost .ntk14{grid-template-columns:1fr}}
/* 0.14 (screenshots at 390 / 360 px): the task bar's buttons wrap onto their own lines on phones instead of running off the screen */
@media (max-width:700px){.tkr11 .tka11{flex-wrap:wrap;flex-basis:100%;min-width:0}.tkr11 .tkm11{flex-wrap:wrap;row-gap:2px}.tkr11 .tkm11 .is{white-space:normal}
  .tkr11 .tkm11 .sb{flex-basis:100%}#task11{max-width:100%;overflow:hidden}}
/* ---------- 0.15: the map zooms and moves; USA / CAN / MEX; trucks where tracking last saw them ---------- */
#app272 .usmap{touch-action:pan-x pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
#app272 .usmap.dg15{cursor:grabbing}
#app272 .usmap .usbase,#app272 .usmap .usdyn{overflow:hidden}
#app272 .usmap.mv15 .mpop{display:none}
#app272 .usbase .nab .nap{fill:rgba(130,170,255,.07);stroke:rgba(150,190,255,.38);stroke-width:.8;vector-effect:non-scaling-stroke}
#app272 .usbase .nab .nap.mx{fill:rgba(130,255,200,.05);stroke:rgba(140,230,200,.36)}
#app272 .usbase .nalab{font:700 10px system-ui,sans-serif;fill:rgba(200,220,255,.55);text-anchor:middle;letter-spacing:.06em;pointer-events:none}
#app272 .usbase path,#app272 .usdyn circle{vector-effect:non-scaling-stroke}
#app272 .mzb15{position:absolute;right:6px;bottom:6px;z-index:5;display:flex;flex-direction:column;gap:4px}
#app272 .mzb15 button.dch{width:26px;height:26px;min-width:0;padding:0;font-size:15px;line-height:1;border-radius:8px;background:rgba(10,20,45,.78)}
#app272 .mcs15{display:inline-flex;gap:3px;margin:0 2px}
#app272 .mcs15 button.dch b{font-size:10px;margin-left:3px;color:var(--warn282,#ffd27a)}
#app272 .usdyn .trk15{cursor:pointer}
#app272 .usdyn .trk15 .tkh{fill:rgba(255,200,80,.18)}
#app272 .usdyn .trk15 .tkb{fill:#ffc94d;stroke:#2a1a00;stroke-width:.6}
#app272 .usdyn .trk15 .tkg{fill:#2a1a00}
#app272 .usdyn .trk15.new .tkh{fill:rgba(255,200,80,.32)}
#app272 .usdyn .trk15.old{opacity:.45}
#app272 .tki15{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ffc94d;box-shadow:0 0 0 2px rgba(255,200,80,.25);margin:0 3px 0 6px;vertical-align:-1px}
/* ---------- 0.15: Ops Hub panels on Broker / CSR homes (Open loads, My loads, Open opportunities) ---------- */
#app272 .ol15{display:flex;flex-direction:column;gap:5px}
#app272 .olr15{border-radius:10px;padding:6px 9px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(160,190,255,.12);cursor:pointer;min-width:0}
#app272 .olr15.hot{background:color-mix(in srgb,var(--bad282,#ff8fa6) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad282,#ff8fa6) 28%,transparent)}
#app272 .olr15:hover{box-shadow:inset 0 0 0 1px rgba(160,200,255,.4)}
#app272 .olr15 .l1,#app272 .olr15 .l2{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
#app272 .olr15 .l1 .d{font-size:12px;opacity:.8}#app272 .olr15 .l1 .ln{color:#b7a3ff;font-size:14px}
#app272 .olr15 .l1 .lane{font-weight:700;font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}
#app272 .olr15 .l2{margin-top:2px;justify-content:space-between}#app272 .olr15 .sb{font-size:12px;opacity:.82;min-width:0}
#app272 .olr15 .grow{flex:1}
#app272 .tg15{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:7px;white-space:nowrap}
#app272 .tg15.bad{color:#ff9fb2;background:rgba(255,110,140,.14);box-shadow:inset 0 0 0 1px rgba(255,120,150,.4)}
#app272 .tg15.warn{color:#ffd27a;background:rgba(255,210,122,.12);box-shadow:inset 0 0 0 1px rgba(255,210,122,.4)}
#app272 .tg15.acc{color:#8fe3ff;background:rgba(95,224,255,.1);box-shadow:inset 0 0 0 1px rgba(95,224,255,.35)}
#app272 .mlt15{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:6px;margin-bottom:8px}
#app272 .mlc15{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(160,190,255,.16);color:inherit;text-align:left;cursor:pointer;min-width:0}
#app272 .mlc15 span{font-size:11px;opacity:.85;line-height:1.2}#app272 .mlc15 b{font-size:18px;line-height:1}
#app272 .mlc15.on{box-shadow:inset 0 0 0 1px var(--acc2,#5fe0ff),0 0 10px rgba(95,224,255,.25)}
#app272 .mlc15.bad b{color:var(--bad282,#ff8fa6)}#app272 .mlc15.warn b{color:var(--warn282,#ffd27a)}
#app272 .mll15 td{vertical-align:middle}
#app272 .usdyn .trk15{pointer-events:auto}
#app272 .usbase .uslab{font-size:calc(20px * var(--zk,1));stroke-width:calc(4px * var(--zk,1))}
#app272 .usbase .nalab{font-size:calc(16px * var(--zk,1))}
button.dlc15{margin-left:6px;color:#c9f2ff!important;box-shadow:inset 0 0 0 1px rgba(110,210,255,.5)!important;white-space:nowrap}
#app272 td button.dlc15{display:block;margin:3px 0 0}
/* 0.15 (Dave): Broker / CSR homes — no Open loads breakdown; Open loads (or Open opportunities) gets the whole bottom row, two columns of rows when there is room */
#app272 .o282.wd15 .bot282{grid-template-columns:minmax(0,1fr)}
#app272 .o282.wd15 #rpw-brk .ol15{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:6px}
/* 0.15 (Dave): Open loads = long one-line rows with the load details in the line; about 9 rows show, the rest scroll */
#app272 .o282.wd15 #rpw-brk .ol15.one,#app272 #rpw-brk .ol15.one{display:flex;flex-direction:column;gap:4px;max-height:calc(9.5 * 38px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
#app272 .olr15.one{display:flex;align-items:center;gap:10px;min-height:34px;padding:4px 10px;flex-wrap:nowrap}
#app272 .olr15.one .d{font-size:12px;opacity:.85;white-space:nowrap;flex:none;min-width:74px}
#app272 .olr15.one .ln{color:#b7a3ff;font-size:14px;flex:none}
#app272 .olr15.one .lane{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:120px;max-width:38%}
#app272 .olr15.one .dl{font-size:12px;opacity:.75;white-space:nowrap;flex:none}
#app272 .olr15.one .sb{font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 0;min-width:0}
#app272 .olr15.one .tgw{flex:none;display:flex}
#app272 .olr15.one .cvb12{flex:none}
#app272 .olr15.one .cvon12{display:none}
@media (max-width:760px){#app272 .olr15.one{flex-wrap:wrap;row-gap:2px}#app272 .olr15.one .lane{max-width:none;flex:1 1 60%}#app272 .olr15.one .sb{flex-basis:100%;white-space:normal}#app272 #rpw-brk .ol15.one{max-height:calc(8 * 64px)}}
/* 0.15: Broker / CSR homes — room for 7-10 Open loads lines: the readouts get tighter and My loads scrolls inside a shorter panel */
@media (min-width:1151px){#app272 .o282.st11.wd15 .ro282 .r{padding-block:2px}#app272 .o282.st11.wd15 .ro282 .v{font-size:30px;line-height:1.05}
  #app272 .o282.st11.wd15 .ro282 .s{font-size:11px}#app272 .o282.st11.wd15 #rg282 .sch7{max-height:250px}#app272 .o282.st11.wd15 .ro282{gap:4px;justify-content:flex-start}
  #app272 .o282.st11.wd15 #rpw-brk .ol15.one{max-height:calc(10 * 38px)}}
/* 0.15 (Dave): Open loads line = date · load · lane · rate · commodity · weight · tags · Carriers */
#app272 .olr15.one .rt{flex:none;font-weight:800;font-size:13px;color:var(--good282,#6ff5b8);min-width:72px;text-align:right;font-variant-numeric:tabular-nums}
#app272 .olr15.one .rt.tg{color:#9fe8ff;font-weight:700;font-size:12px}
#app272 .olr15.one .rt.sub{color:inherit;opacity:.55;font-weight:400}
#app272 .olr15.one .cm{flex:1 1 0;min-width:0;font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app272 .olr15.one .wt{flex:none;font-size:12px;opacity:.85;min-width:62px;text-align:right}
#app272 .olr15.one .tgw{margin-left:auto}
@media (max-width:760px){#app272 .olr15.one .cm{flex:1 1 40%}}
/* aligned columns on wide screens: date · load · lane · rate · commodity · weight · tags · Carriers */
@media (min-width:761px){#app272 .olr15.one{display:grid;grid-template-columns:104px 46px minmax(150px,1.7fr) 96px minmax(70px,1fr) 70px 128px auto;gap:10px}
  #app272 .olr15.one .lane{max-width:none}#app272 .olr15.one .rt{text-align:left;min-width:0}#app272 .olr15.one .tgw{margin-left:0}}
/* 0.15 (Dave): two money columns, All-in (customer) and Carrier (ours), Broker / Manager / Owner only; a small header over the lines */
@media (min-width:761px){#app272 .olr15.one,#app272 .olh15{display:grid;grid-template-columns:104px 46px minmax(150px,1.7fr) 78px 78px minmax(70px,1fr) 70px 128px auto;gap:10px}
  #app272 .olr15.one.nr,#app272 .ol15.nr .olr15.one,#app272 .olh15.nr{grid-template-columns:104px 46px minmax(150px,1.7fr) minmax(70px,1fr) 70px 128px auto}}
#app272 .olh15{padding:0 10px 2px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
@media (max-width:760px){#app272 .olh15{display:none}}
#app272 .olr15.one .rt.ai{color:var(--good282,#6ff5b8)}#app272 .olr15.one .rt.cr{color:#ffd27a}
/* tighter columns so the lane and the Carriers button always fit */
@media (min-width:761px){#app272 .olr15.one,#app272 .olh15{grid-template-columns:88px 38px minmax(140px,2fr) 64px 64px minmax(54px,.9fr) 62px max-content max-content;gap:8px}
  #app272 .olr15.one.nr,#app272 .ol15.nr .olr15.one,#app272 .olh15.nr{grid-template-columns:88px 38px minmax(140px,2fr) minmax(54px,1fr) 62px max-content max-content}
  #app272 .olr15.one .d{min-width:0;font-size:11.5px}#app272 .olr15.one .rt{min-width:0;font-size:12.5px}#app272 .olr15.one .wt{min-width:0}
  #app272 .olr15.one .tg15{font-size:9.5px;padding:2px 5px;letter-spacing:.04em}}
@media (min-width:761px){#app272 .olr15.one,#app272 .olh15{grid-template-columns:84px 36px minmax(170px,2.6fr) 62px 62px minmax(48px,.8fr) 60px 112px 66px}
  #app272 .olr15.one.nr,#app272 .ol15.nr .olr15.one,#app272 .olh15.nr{grid-template-columns:84px 36px minmax(170px,2.6fr) minmax(48px,1fr) 60px 112px 66px}
  #app272 .olr15.one .tgw{justify-content:flex-start;overflow:hidden}#app272 .olr15.one .cvb12{justify-self:end}#app272 .olh15 span:nth-child(7),#app272 .olr15.one .wt{text-align:right}}
#app272 .olh15 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app272 .mlc15 span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* 0.15: when the Open loads panel is narrow (CSR home shares the row), each load wraps onto two lines instead of running off the edge */
#app272 #rpw-brk{container-type:inline-size}
@container (max-width:800px){#app272 .olr15.one{display:flex;flex-wrap:wrap;row-gap:2px;column-gap:8px}#app272 .olh15{display:none}
  #app272 .olr15.one .lane{flex:1 1 55%;max-width:none}#app272 .olr15.one .cm{flex:1 1 30%}#app272 .olr15.one .tgw{margin-left:auto}
  #app272 .olr15.one .rt{min-width:0}#app272 .olr15.one .rt.ai::before{content:'All-in ';font-weight:400;opacity:.7}#app272 .olr15.one .rt.cr::before{content:'Carrier ';font-weight:400;opacity:.7}}
/* ===== 0.16 (Dave 2026-10-27): load targets — Tgt column after Carrier, set / change dialog ===== */
@media (min-width:761px){#app272 .ol15.tg .olr15.one,#app272 .olh15.tg{grid-template-columns:84px 42px minmax(140px,2.6fr) 58px 58px 60px minmax(50px,.7fr) 50px 78px 66px}}
@container (max-width:800px){#app272 .olr15.one .tgt16::before{content:'Tgt ';font-weight:400;opacity:.7}}
#app272 .olr15.one .tgt16{color:#9fe8ff}
#app272 .olr15.one .tgt16.sug{opacity:.72;font-weight:600}
#app272 .olr15.one .tgt16.none{opacity:.5;font-weight:400}
.tgb16{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;border-radius:6px;white-space:nowrap}
.tgb16:hover,.tgb16:focus-visible{text-decoration:underline;outline:none;box-shadow:0 0 0 2px rgba(159,232,255,.35)}
.tgadd16{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:999px;color:#0b1430;background:#9fe8ff;opacity:1}
.cvkv12.tg16 b{color:#9fe8ff}.cvkv12.tg16 button{margin-left:auto}
#tgHost .tgs16{position:fixed;inset:0;z-index:92;background:rgba(3,8,20,.62);backdrop-filter:blur(3px)}
#tgHost .tgd16{position:fixed;z-index:93;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;
  border-radius:18px;background:linear-gradient(180deg,#0d1a33,#091226);color:#e8f0ff;box-shadow:0 20px 60px rgba(0,0,0,.55),inset 0 0 0 1px rgba(140,190,255,.25)}
#tgHost .tgh16{display:flex;align-items:center;gap:8px;padding:12px 16px 8px;font-size:15px;letter-spacing:.03em}
#tgHost .tgc16{padding:0 16px;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:8px}
#tgHost .tga16{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px solid rgba(140,190,255,.14)}
#tgHost .grow{flex:1}#tgHost .sub{color:#9fb4d8;font-size:12px}#tgHost p.sub{margin:0}
#tgHost .tgl16{display:flex;flex-direction:column;gap:2px}
#tgHost .tgk16{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:13px}
#tgHost .tgk16 dt{color:#9fb4d8;font-weight:700}#tgHost .tgk16 dd{margin:0;min-width:0;overflow-wrap:anywhere}
#tgHost .tgf16{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#9fb4d8;font-weight:700}
#tgHost .tgf16 input{font:600 15px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;padding:8px 10px;border-radius:10px;border:0;background:rgba(255,255,255,.06);color:#e8f0ff;box-shadow:inset 0 0 0 1px rgba(140,190,255,.3);min-width:0}
#tgHost .tgf16 input:focus{outline:none;box-shadow:inset 0 0 0 2px #2a7bff}
#tgHost button.sm.on{background:linear-gradient(180deg,#2a7bff,#1858d6);color:#fff}
@media (max-width:560px){#tgHost .tgd16{top:auto;bottom:8px;transform:translateX(-50%)}#tgHost .tgk16{grid-template-columns:1fr}}
#app272 .olr15.one .wt{white-space:nowrap}
@media (max-width:1150px){#app272 .o282.o282{grid-template-columns:minmax(0,1fr)}#app272 .o282.o282 > *{grid-column:1}}   /* 0.16: every home stacks into ONE full-width column at 1150 px and below (a later hub.css rule kept an empty second column) */
/* 0.18 (U204): insurance check in Carriers */
#cvHost .cvs12 .cvm12{margin:6px 0}
#cvHost .cvm12.warn{background:color-mix(in srgb,var(--warn282,#ffd27a) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn282,#ffd27a) 45%,transparent)}
#cvHost .cvins18{font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 8px;white-space:nowrap;box-shadow:inset 0 0 0 1px currentColor}
#cvHost .cvins18.bad{color:var(--bad282,#ff8fa6)}#cvHost .cvins18.warn{color:var(--warn282,#ffd27a)}
/* 0.19 (2026-10-29): rate con form in the Carriers panel (rcon.js) */
#cvHost .rc19{display:flex;flex-direction:column;gap:12px;min-width:0}
#cvHost .rc19g{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
#cvHost .rc19 select{width:100%;box-sizing:border-box;min-height:34px;border-radius:9px;border:1px solid rgba(160,190,255,.22);background:rgba(0,0,0,.25);color:inherit;padding:6px 9px;font:inherit}
#cvHost .rc19 select option{color:#111;background:#fff}
#cvHost .rc19h{display:flex;flex-direction:column;gap:6px}
#cvHost .rc19r{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid rgba(160,190,255,.14);min-width:0}
#cvHost .rc19r.blocked,#cvHost .rc19r.failed{border-color:color-mix(in srgb,var(--bad282,#ff8fa6) 45%,transparent)}
#cvHost .rc19r.sent,#cvHost .rc19r.ready,#cvHost .rc19r.test{border-color:color-mix(in srgb,var(--good282,#7ef0b0) 40%,transparent)}
#cvHost .rc19s{font-weight:600}
#cvHost .rc19w{flex-basis:100%;font-size:12px;color:var(--bad282,#ff8fa6)}#cvHost .rc19w.warn{color:var(--warn282,#ffd27a)}
#cvHost .rc19sw{padding:2px 0}
/* 0.19 (Dave 2026-10-29): "the honey comb affect behind the actual buttons only as they are but not in the background space in between the
 * buttons" — the switch tracks keep their frosted trough but lose the honeycomb; each button in a track carries its own honeycomb. */
#app272 .pf272::before,#app272 .pls272::before,#app272 .vsw272::before,#app272 .sctl::before{content:none!important;display:none!important}
#app272 .pf272 .pl272,#app272 .pls272 button,#app272 .sctl button,#app272 .vb272{isolation:isolate}
#app272 .pf272 .pl272::before,#app272 .pls272 button::before,#app272 .sctl button::before,#app272 .vb272::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:var(--acc);opacity:.32;pointer-events:none;
  -webkit-mask:var(--hex10) 0 0/12px 20.78px repeat;mask:var(--hex10) 0 0/12px 20.78px repeat}
/* 0.20 (2026-10-29): one Target on the Open loads line (Carrier rate moved into the target's history) */
@media (min-width:761px){#app272 .ol15.tg .olr15.one,#app272 .olh15.tg{grid-template-columns:84px 42px minmax(140px,2.6fr) 58px 64px minmax(50px,.7fr) 50px 78px 66px}}
#tgHost .tgo20{margin-top:2px}
/* 0.20: Load details in the load window */
#app272 .ld20 .ldsts20,.ld20 .ldsts20{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.ld20 .ldst20{padding:6px 8px;border-left:3px solid var(--good282,#6ff5b8);border-radius:6px;background:rgba(255,255,255,.03);overflow-wrap:anywhere}
.ld20 .ldst20.del{border-left-color:var(--acc,#7aa2ff)}

/* 0.20 wave 0: Hub data in the site (owner) */
.fd20{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:12px;line-height:1.45}
.fd20 li{min-width:0;overflow-wrap:anywhere;color:var(--sub,inherit)}
.fd20 b{font-weight:600;margin-right:4px;color:var(--fg,inherit)}

/* 0.21 load editor, change log, signed rate con clock */
/* 0.23: the pop-up form (#leHost) is gone — the editor opens in place inside the drawer's Load details panel */
.lei23 .lebd21{overflow:visible;padding:0}
.lei23 .lef21{padding:10px 0 0;margin-top:12px}
.leh21,.lef21{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line,rgba(255,255,255,.12))}
.lef21{border-bottom:0;border-top:1px solid var(--line,rgba(255,255,255,.12));flex-wrap:wrap}
.lebd21{overflow:auto;padding:12px 14px;display:grid;gap:12px;min-height:0}
.leg21{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 10px;align-items:end}
.leg21 label{display:grid;gap:3px;min-width:0;font-size:12px}
.leg21 label span{opacity:.75;letter-spacing:.02em}
.leg21 .w2{grid-column:span 2}.leg21 .w3{grid-column:1/-1}
.leg21 input,.leg21 select,#leReqQ{width:100%;min-width:0;box-sizing:border-box}
.les21{border:1px solid var(--line,rgba(255,255,255,.12));border-radius:10px;padding:10px;display:grid;gap:8px;min-width:0}
.les21 legend{font-weight:600;padding:0 4px}
.ler21{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 10px;max-height:180px;overflow:auto;font-size:12px}
.lerq21{display:flex;gap:6px;align-items:center;min-width:0;overflow-wrap:anywhere}
.ch21{margin:6px 0 0;padding-left:18px;font-size:12px}
.le21b{align-items:center}
@media (max-width:640px){.leg21 .w2{grid-column:1/-1}}

/* 0.22 Work this load */
.wk22f{display:grid;gap:8px;margin-top:8px;min-width:0}
.wk22f textarea,.wk22f input,.wk22f select{width:100%;box-sizing:border-box;min-width:0}
.wk22f label{display:grid;gap:3px;font-size:12px}
.wk22os,.wk22is{align-items:center;flex-wrap:wrap}

/* 0.23 All hands on deck bar (every page) and the CSR New loads window, in the site's own look */
#app272 .ahod23{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:6px 12px;border-radius:14px;min-height:34px;flex-shrink:0;color:var(--t);
  background:color-mix(in srgb,var(--bad282,#ff8fa6) 16%,var(--gpbg,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad282,#ff8fa6) 50%,transparent)}
#app272 .ahod23 b{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--bad282,#ff8fa6)}
.nl23{position:fixed;inset:0;z-index:85;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(4,8,16,.55)}
.nl23>section{width:min(720px,100%);max-height:100%;overflow:auto}
.nl23r{align-items:center;flex-wrap:wrap;gap:8px;padding:6px 0;border-top:1px solid var(--line,rgba(255,255,255,.12));font-size:12.5px;min-width:0}
.nl23r span{min-width:0;overflow-wrap:anywhere}

/* 0.24 Sales wave: Search lane, pricing standard, opportunities (list + window), quick pairs. Same panels, pills and tables as the rest of the site. */
.sf24{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 10px;align-items:end;margin:8px 0}
.sf24 label{display:grid;gap:3px;min-width:0;font-size:12px}.sf24 label span{opacity:.75}
.sf24 input,.sf24 select{width:100%;min-width:0;box-sizing:border-box}
.sf24 .w3,.sf24 details{grid-column:1/-1}.sf24 .w2{grid-column:span 2}
@media (max-width:640px){.sf24 .w2{grid-column:1/-1}}
.ck24{display:inline-flex;gap:6px;align-items:center;font-size:12px;margin-right:10px}
.kt24{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:8px 0}
.kc24{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--acc2,#5fe0ff) 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc2,#5fe0ff) 22%,transparent);min-width:0}
.kc24 span{font-size:11px;opacity:.78}.kc24 b{font-size:17px;font-variant-numeric:tabular-nums}.kc24 small{font-size:11px;opacity:.75;font-weight:600}
.sd24{display:grid;gap:4px;padding:10px 12px;margin:8px 0;border-radius:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc,#7c9cff) 35%,transparent)}
.nl24{margin:4px 0;padding-left:18px;font-size:12px}
.lr24{display:grid;gap:4px;min-width:0}
.ch24 svg{width:100%;max-width:560px;height:auto;display:block}
.ch24 text{font-size:10px;fill:currentColor;opacity:.6}
.ch24 polyline{fill:none;stroke-width:2}.ch24 circle{stroke:none}
.ch24 .cu24{stroke:var(--acc2,#5fe0ff);fill:var(--acc2,#5fe0ff)}.ch24 .ca24{stroke:var(--warn282,#ffd27a);fill:var(--warn282,#ffd27a)}
.lg24{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin:0 4px 0 8px}
.lg24.cu24{background:var(--acc2,#5fe0ff)}.lg24.ca24{background:var(--warn282,#ffd27a)}
.fl24{flex-wrap:wrap;gap:8px;align-items:center}.pg24{justify-content:center;align-items:center;gap:10px;margin-top:8px}
.op24 td{vertical-align:top}.op24 tr.rw7{cursor:pointer}
.ow24>section{width:min(980px,100%)}
.ow24s{margin-top:12px;padding-top:10px;border-top:1px solid var(--line,rgba(255,255,255,.12));min-width:0}
.ow24s h4{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--acc2,#5fe0ff)}
.ow24e{padding:10px;border-radius:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc,#7c9cff) 35%,transparent)}
.pq24{display:flex;gap:6px;align-items:center;margin:0 0 6px;min-width:0}.pq24 input{flex:1;min-width:0}
/* 0.24: the opportunity / pairs window and the New loads window use the drawer's solid panel, so the page behind doesn't show through */
.nl23>section.gp272,#app272 .nl23>section.gp272{background:linear-gradient(180deg,hsl(255 27% 15%),hsl(255 27% 11%))!important;backdrop-filter:none!important;box-shadow:0 18px 50px rgba(0,0,0,.6)}
.nl23.ow24,#app272 .nl23.ow24{background:rgba(4,3,14,.78)}

/* 0.26: Customers / My customers / Account watch */
#app272 .cs26i{margin:0 0 8px;max-width:90ch}
#app272 .cs26s{gap:10px;align-items:center;margin:0 0 8px;flex-wrap:wrap}
#app272 .cs26s input[type=search]{flex:1 1 260px;max-width:420px;min-width:0}
#app272 .cs26s select{min-width:160px}
#app272 .cs26t td{vertical-align:top}
#app272 .cs26t td .tg15{margin:1px 0;display:inline-block}
#app272 h4.cs26h{margin:14px 0 6px;font-size:13px;letter-spacing:.04em}

/* 0.27: CRM station */
#app272 .crm27t tr.crm27r{cursor:pointer}
#app272 .crm27t tr.crm27r.on td{background:rgba(120,160,255,.08)}
#app272 .crm27t tr.crm27d>td{padding:8px 6px 14px}
#app272 .crm27g{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 18px}
#app272 .crm27g>div{min-width:0}
#app272 ul.crm27l{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto}
#app272 ul.crm27l li{overflow-wrap:anywhere}

/* 0.29 Tour */
.tour29{display:inline-flex;gap:6px;align-items:center}.tour29 select{font:inherit;font-size:12px;padding:3px 6px;border-radius:8px;background:var(--panelA,#fff);color:inherit;border:1px solid var(--line,rgba(0,0,0,.15))}
.tr29c{position:fixed;right:20px;bottom:20px;z-index:9000;width:min(380px,calc(100vw - 40px));padding:14px 16px;border-radius:14px;background:var(--panelA,#fff);color:var(--ink,#1d1d1f);border:1px solid var(--line,rgba(0,0,0,.15));box-shadow:0 12px 36px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:8px}
.tr29c h4{margin:0;font-size:15px}.tr29c .row7{display:flex;gap:6px;align-items:center}
.tr29on{outline:2px solid var(--acc,#2f7cf6)!important;outline-offset:2px;border-radius:8px}
/* 0.29 assignment changes */
.asg29f{display:flex;flex-direction:column;gap:8px;padding:10px 4px}.asg29b{display:flex;flex-wrap:wrap;gap:4px 12px;max-height:140px;overflow:auto;padding:4px 0}
.asg29b label{display:inline-flex;gap:4px;align-items:center;font-size:12.5px}.asg29e td{background:var(--panelB,rgba(0,0,0,.03))}
.crm29f{display:flex;flex-direction:column;gap:6px;margin:6px 0}.crm29f textarea,.crm29f input,.crm29f select{font:inherit;padding:5px 7px;border-radius:8px;border:1px solid var(--line,rgba(0,0,0,.15));background:var(--panelA,#fff);color:inherit}
/* 0.29 standby */
.sb29bar{background:#c62828;color:#fff;font-weight:700;padding:8px 16px;font-size:13px;letter-spacing:.02em}.sb29bar.prac{background:#8a5a00}
.sb29f{display:flex;flex-direction:column;gap:8px}.sb29stop{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border:1px solid var(--line,rgba(0,0,0,.12));border-radius:10px}
.sb29stop input,.sb29stop select,.sb29f input,.sb29f select{font:inherit;padding:5px 7px;border-radius:8px;border:1px solid var(--line,rgba(0,0,0,.15));background:var(--panelA,#fff);color:inherit;min-width:0}
.sb29stop input[maxlength="2"]{width:46px}.sb29stop input[maxlength="5"]{width:70px}
.rc29l{display:flex;flex-direction:column;gap:4px;margin:8px 0;padding:8px 10px;border:1px solid var(--line,rgba(0,0,0,.12));border-radius:10px}
/* 0.29.3: the open Inbox row */
.sb29inrow td { background: var(--glass, transparent); }
.sb29in { display: grid; gap: 6px; padding: 6px 2px; font-size: 13px; line-height: 1.45; }
.sb29inst { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.bad7 { color: var(--badC, #d64545); }
/* 0.30: AST To do (test) — the AST Hub's To do card, side by side with what the email said / the PDF */
.td30{display:flex;flex-direction:column;gap:10px;min-width:0}
.td30top{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:space-between}
.td30h{margin:0;font-size:18px}.td30test{font-size:11px;letter-spacing:.08em;padding:2px 6px;border-radius:6px;background:var(--ab,#fff3bf);color:var(--af,#5c3c00);vertical-align:middle}
.td30sub{max-width:70ch}.td30q{font:inherit;min-width:240px;flex:1 1 240px;max-width:420px;padding:7px 10px;border-radius:10px;border:1px solid var(--line);background:var(--tile,transparent);color:inherit}
.td30tabs{display:flex;flex-wrap:wrap;gap:6px}.td30tab{font:inherit;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}
.td30tab.on{background:var(--selbg,var(--tile));border-color:var(--acc)}.td30tab b{font-variant-numeric:tabular-nums;margin-left:4px}
.td30pad{padding:18px 4px}.td30foot{margin-top:4px}
.td30wrap{overflow-x:auto;min-width:0}.td30t{width:100%;border-collapse:collapse;font-size:13px}
.td30t th{text-align:left;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--m)}
.td30t td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.td30row{cursor:pointer}.td30row:hover td,.td30row.on td{background:var(--hover,var(--tile))}.td30row:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.td30cardrow>td{padding:0;background:transparent}
.td30st{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--tile);border:1px solid var(--line)}
.td30st.rd{color:var(--okC);border-color:var(--okC)}.td30st.nr,.td30st.pr{color:var(--warnC);border-color:var(--warnC)}.td30st.cs{color:var(--badC);border-color:var(--badC)}.td30st.ho{color:var(--m)}.td30st.bt{color:var(--acc2)}
.td30pill{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;border:1px solid var(--line);background:var(--tile);color:inherit;text-decoration:none;white-space:nowrap}.td30pill.warn{color:var(--warnC);border-color:var(--warnC)}
.td30ok{color:var(--okC)}.td30bad{color:var(--badC)}.td30warn{color:var(--warnC)}.td30info{color:var(--m)}
.td30evt{padding:8px 10px;border-radius:10px;border:1px solid var(--badC);font-size:13px;display:grid;gap:3px}
.td30card{margin:6px 0 12px;padding:12px;border-radius:14px;border:1px solid var(--acc);background:var(--panelA,transparent);display:flex;flex-direction:column;gap:10px}
.td30head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.td30head h3{margin:0;font-size:16px;flex:1 1 auto;min-width:0}.td30hub{flex:1 1 100%}
.td30split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:14px;align-items:start}.td30split.one{grid-template-columns:minmax(0,1fr)}
.td30read{position:sticky;top:calc(env(safe-area-inset-top,0px) + 8px);max-height:calc(100vh - 40px);overflow:auto;min-width:0;border:1px solid var(--line);border-radius:12px;padding:8px}
.td30split.one .td30read{display:none}
.td30tabs2{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.td30body{min-width:0}.td30body canvas{display:block;max-width:100%;margin:0 auto 8px;background:#fff;border-radius:4px}
.td30img{display:block;max-width:100%;margin:6px 0;border:1px solid var(--line);border-radius:6px;background:#fff}
.td30money{background:var(--ab,#fff3bf);color:var(--af,#5c3c00);padding:0 3px;border-radius:3px}
.td30said{border-color:var(--warnC)}.td30msg{margin:4px 0 10px}.td30pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
.td30form{display:flex;flex-direction:column;gap:10px;min-width:0}
.td30form fieldset,.td30said{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:0;min-width:0}
.td30form legend,.td30said legend{font-weight:600;padding:0 4px}
.td30issues{display:grid;gap:3px;font-size:13px}
.td30flag{padding:6px 8px;border-radius:8px;border:1px solid var(--warnC);margin:2px 0}.td30flag.info{border-color:var(--acc2)}.td30flag select{min-width:240px;max-width:100%;margin:4px 0}
.td30grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.td30grid label,.td30form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--m);min-width:0}
.td30grid .td30wide{grid-column:span 2}.td30grid .td30chk{flex-direction:row;align-items:center;gap:6px;grid-column:span 2}
.td30form input,.td30form select{font:inherit;font-size:13px;color:var(--t,inherit);padding:5px 7px;border-radius:8px;border:1px solid var(--line);background:var(--tile,transparent);min-width:0;width:100%;box-sizing:border-box}
.td30form input[type=checkbox]{width:auto}.td30form input:disabled,.td30form select:disabled{opacity:.65}
.td30stop{border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}
.td30stoptop,.td30line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.td30stoptop select{width:auto}.td30grow{flex:1 1 160px;min-width:0}
.td30line{margin-bottom:6px}.td30line select{width:auto;flex:0 1 180px}.td30line input[type=number]{width:110px;flex:0 0 auto}.td30line .td30n{width:70px}.td30line .td30w{width:100px}
.td30reqs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.td30req{padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:12px;background:var(--tile)}.td30req a{color:var(--badC);text-decoration:none}
.td30note{margin-top:6px;font-size:13px}.td30hist{display:grid;gap:3px;font-size:12px;max-height:220px;overflow:auto}
.td30doc{margin:4px 0;font-size:13px}
.td30foot2{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:sticky;bottom:0;padding:8px 0 2px;background:var(--panelA,transparent);border-top:1px solid var(--line)}.td30save{min-width:110px}
.td30ask{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;border-radius:10px;border:1px solid var(--acc);font-size:13px}.td30ask input{font:inherit;width:110px;padding:5px 7px;border-radius:8px;border:1px solid var(--line);background:var(--tile);color:inherit}
#app272 .td30 .td30x{color:var(--badC)}
@media (max-width:900px){.td30split{grid-template-columns:minmax(0,1fr)}.td30read{position:static;max-height:60vh}}
@media (max-width:480px){.td30grid .td30wide,.td30grid .td30chk{grid-column:auto}.td30q{min-width:0}}

/* 0.31: counts on the load lists */
#app272 #stPills .pc31{margin-left:5px;font-variant-numeric:tabular-nums;opacity:.85}#app272 #stPills .pn31{margin-left:4px;color:var(--badC);font-variant-numeric:tabular-nums}

/* 0.35 Issues page (the AST Hub's Issues queue) */
#app272 a.sm{font:600 .86rem var(--fb),sans-serif;padding:5px 12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.05);color:var(--ink);text-decoration:none;display:inline-block}
#app272 a.sm.on{border-color:var(--acc);color:var(--acc)}
#app272 .iq35t{margin:6px 0 10px}
#app272 .iq35r{margin:0;padding-left:18px}#app272 .iq35r li{color:var(--rf2,#ff8fa6);font-size:12.5px}
#app272 .iq35l tr.p0 td:first-child{box-shadow:inset 3px 0 0 var(--bad282,#ff8fa6)}
#app272 .iq35c{max-width:920px;display:flex;flex-direction:column;gap:6px}#app272 .iq35c h3{margin:4px 0 0}
#app272 .warn35{color:var(--af2,#ffd27a)}

/* 0.36 Address book (Wilatek address book, duplicates) */
#app272 .ab36w{overflow-x:auto;max-width:100%}#app272 .ab36t td{vertical-align:top}#app272 .ab36n{max-width:340px;white-space:normal}
#app272 .ab36g{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:10px 0}#app272 .ab36gh{font-weight:700;margin:0 0 6px}
#app272 .ab36h{margin:6px 0}#app272 .ab36s{margin:4px 0 6px;line-height:1.5}#app272 .ab36s a{margin-left:6px}
