/* Shared shell/foundation styles extracted from index.html (v291) */
:root{
  color-scheme:dark;
  --color-bg:#0b0f16;
  --color-bg-alt:#070a10;
  --color-surface:rgba(255,255,255,.045);
  --color-surface-alt:rgba(255,255,255,.028);
  --color-line:rgba(255,255,255,.10);
  --color-border:rgba(255,255,255,.12);
  --color-border-strong:rgba(255,255,255,.16);
  --color-text:#e8eefc;
  --color-muted:rgba(232,238,252,.76);
  --color-primary:#2f6df6;
  --color-primary-press:#1f6feb;
  --color-header-bg:rgba(47,109,246,.18);
  --color-header-text:#5d92ff;
  --surface-card-top:rgba(255,255,255,.07);
  --surface-card-bottom:rgba(255,255,255,.03);
  --surface-control:rgba(255,255,255,.075);
  --surface-control-strong:rgba(255,255,255,.12);
  --surface-chip-top:rgba(255,255,255,.12);
  --surface-chip-bottom:rgba(255,255,255,.05);
  --text-muted-strong:rgba(232,238,252,.82);
  --bg:var(--color-bg);
  --bg2:var(--color-bg-alt);
  --glass:var(--color-surface);
  --glass2:var(--color-surface-alt);
  --line:var(--color-line);
  --border:var(--color-border);
  --border2:var(--color-border);
  --text:var(--color-text);
  --muted:var(--color-muted);
  --accent:var(--color-primary);
  --lbsBlue:#5d92ff;
  --good:#2EA043;
  --pplYellow:#ffd54a;
  --bad:#ff4d4f;
  --neutral:#aeb8cd;
  --analytics-accent:rgba(47,109,246,.18);
  --analytics-surface-top:rgba(255,255,255,.075);
  --analytics-surface-bottom:rgba(255,255,255,.03);
  --money:var(--good);
  --lbs:var(--lbsBlue);
  --ppl:var(--pplYellow);
  --trips:#f2f5ff;
  --warn-border:rgba(255,77,79,.40);
  --warn-bg:rgba(255,77,79,.14);
  --ppl-bg:rgba(255,210,63,.08);
  --r:20px;
  --r-card:14px;
  --r-btn:12px;
  --r-pill:999px;
  --pad:16px;
  --cardpad:14px;
  --sh:0 18px 50px rgba(0,0,0,.55);
  --shadow:0 18px 50px rgba(0,0,0,.55);
  --tabbar-h:46px;
  --tabbar-top-pad:8px;
  --safeTop:env(safe-area-inset-top);
  --safeBottom:env(safe-area-inset-bottom);
  --tabbar-safe:max(0px, var(--safeBottom));
  --tabbar-total-h:calc(var(--tabbar-h) + var(--tabbar-safe) + var(--tabbar-top-pad));
  --bottom-overlay-h:0px;
  --bottom-overlay-gap:10px;
  --shell-top-stack-gap:10px;
  --shell-intro-gap:6px;
  --section-gap:16px;
  --section-gap-tight:13px;
  --card-stack-gap:16px;
  --card-pad-y:14px;
  --card-pad-x:14px;
  --card-title-gap:8px;
  --card-body-gap:10px;
  --card-action-gap:10px;
  --affordance-pad-x:12px;
  --affordance-pad-y:9px;
  --divider-color:rgba(255,255,255,.14);
  --motion-ease-standard:cubic-bezier(.22,.61,.36,1);
  --motion-ease-soft:ease;
  --motion-duration-screen:180ms;
  --motion-duration-overlay:240ms;
  --motion-duration-surface:280ms;
  --motion-duration-press:180ms;
}
:root[data-theme="dark"]{
  color-scheme:dark;
}


/* Semantic metric colors */
.trips,
.tripsMetric{color:var(--trips)!important}
.lbsBlue{color:var(--lbs)!important}
.money{color:var(--money)!important}
.ppl,
.rate.ppl{color:var(--ppl)!important}
.tone-up{color:var(--good)!important}
.tone-positive{color:var(--good)!important}
.tone-down{color:var(--bad)!important}
.tone-negative{color:var(--bad)!important}
.tone-neutral,
.tone-steady{color:var(--neutral)!important}

.safeBottom{ padding-bottom: max(10px, var(--safeBottom)); }
.safeTop{ padding-top: max(10px, var(--safeTop)); }

*{box-sizing:border-box}
html{-webkit-tap-highlight-color:transparent;width:100%;max-width:100%;overflow-x:clip}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid #ffd54a;
  outline-offset:2px;
}
html,body{height:100%;width:100%;max-width:100%;background:var(--bg);overflow-x:clip}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:radial-gradient(1200px 600px at 50% 8%, rgba(47,109,246,.25) 0%, rgba(47,109,246,0) 55%),var(--bg);padding:16px 12px 16px;display:flex;justify-content:center;overflow-x:hidden}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  pointer-events:none!important;
}
.phone{width:430px;max-width:100%;min-width:0;border-radius:30px;background:linear-gradient(180deg, var(--glass) 0%, var(--glass2) 100%);border:1px solid var(--border2);box-shadow:var(--sh);overflow:hidden;overflow-x:clip;isolation:isolate}
header h1{margin:0;font-size:18px;letter-spacing:.2px}
header p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.boot{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px;color:var(--muted);vertical-align:middle}
.boot.err{border-color:var(--warn-border);color:var(--bad);background:var(--warn-bg)}
main{padding:14px 14px 18px}
.card{background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);border:1px solid var(--line);border-radius:var(--r);padding:var(--card-pad-y) var(--card-pad-x);margin-bottom:var(--card-stack-gap)}
.row{display:flex;gap:10px;flex-wrap:wrap}
.btn{appearance:none;border:1px solid var(--line);background:rgba(15,23,42,.55);color:var(--text);border-radius:16px;padding:12px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;min-height:48px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .08s ease,filter .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease,color .12s ease}
.btn.primary{background:linear-gradient(180deg, rgba(47,109,246,.92) 0%, rgba(31,111,235,.92) 100%);border-color:rgba(47,109,246,.9);box-shadow:0 10px 26px rgba(31,111,235,.20)}
.btn.good{background:linear-gradient(180deg, rgba(46,160,67,.90) 0%, rgba(33,120,49,.92) 100%);border-color:rgba(46,160,67,.95)}
.btn.bad{background:linear-gradient(180deg, rgba(255,77,79,.92) 0%, rgba(220,38,38,.92) 100%);border-color:rgba(255,77,79,.95)}
.btn.ghost,
.btn.btn-ghost{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.16);color:var(--text-muted-strong);box-shadow:none}
.btn:active{transform:translateY(1px);filter:brightness(.97)}
.btn[disabled]{opacity:.55;filter:saturate(.8);box-shadow:none;cursor:not-allowed}
.input,.select,.textarea{width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--border);background:var(--glass2);color:var(--text);font-weight:700}
.textarea{min-height:110px;resize:vertical;font-weight:600}
.phone{display:flex;flex-direction:column}
main#app{flex:1;min-height:0;min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--tabbar-total-h) + var(--bottom-overlay-h) + var(--bottom-overlay-gap))}
main#app.screenTransitionActive{will-change:opacity,transform;backface-visibility:hidden}
main#app.screenTransitionOut{opacity:0;transform:translate3d(0,8px,0) scale(.992);transition:opacity calc(var(--motion-duration-screen) * .52) ease-out,transform calc(var(--motion-duration-screen) * .52) ease-out}
main#app.screenTransitionIn{opacity:1;transform:translate3d(0,0,0) scale(1);animation:screenTransitionIn var(--motion-duration-screen) var(--motion-ease-standard)}
@keyframes screenTransitionIn{
  from{opacity:0;transform:translate3d(0,10px,0) scale(.992)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@media (prefers-reduced-motion: reduce){
  main#app.screenTransitionActive,
  main#app.screenTransitionOut,
  main#app.screenTransitionIn,
  #toast,
  #toast .toastAction,
  .celebrationRoot,
  .celebrationPanel,
  .celebrationAction,
  .modalOverlay,
  .modalCard,
  .modalRoot,
  .modalSheet{animation:none;transition:none;opacity:1;transform:none;will-change:auto}
}

/* Toast + tab shell */
#toast{position:fixed;left:50%;bottom:calc(var(--tabbar-total-h) + 12px);transform:translateX(-50%) translateY(26px) scale(.985);transform-origin:center bottom;opacity:0;pointer-events:none;width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);background:linear-gradient(180deg, rgba(22,31,50,.95) 0%, rgba(11,18,33,.94) 100%);border:1px solid rgba(255,255,255,.16);color:var(--text);padding:11px 13px;border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.34), 0 8px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);font-weight:800;font-size:13px;line-height:1.35;z-index:9999;transition:opacity var(--motion-duration-overlay) var(--motion-ease-standard), transform var(--motion-duration-surface) var(--motion-ease-standard), box-shadow var(--motion-duration-overlay) var(--motion-ease-soft), border-color var(--motion-duration-overlay) var(--motion-ease-soft);display:flex;align-items:center;gap:10px;overflow:hidden}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0) scale(1);box-shadow:0 22px 44px rgba(0,0,0,.38), 0 10px 24px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.1)}
#toast .toastText{flex:1;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
#toast .toastAction{appearance:none;border:1px solid rgba(255,255,255,.24);background:linear-gradient(180deg, rgba(68,128,255,.30) 0%, rgba(47,109,246,.24) 100%);color:var(--text);border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;line-height:1;cursor:pointer;pointer-events:auto;min-height:30px;max-width:100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform var(--motion-duration-press) var(--motion-ease-soft), filter var(--motion-duration-press) var(--motion-ease-soft), background var(--motion-duration-press) var(--motion-ease-soft), border-color var(--motion-duration-press) var(--motion-ease-soft)}
#toast .toastAction:active{transform:translateY(1px);filter:brightness(.98)}

.celebrationRoot{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;padding-bottom:calc(16px + var(--safeBottom));background:rgba(3,8,18,.40);-webkit-backdrop-filter:blur(10px) saturate(1.02);backdrop-filter:blur(10px) saturate(1.02);opacity:0;pointer-events:none;transition:opacity var(--motion-duration-overlay) var(--motion-ease-soft)}
.celebrationRoot.hidden{display:none}
.celebrationRoot.show{opacity:1;pointer-events:auto}
.celebrationPanel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);transform-origin:center center;width:min(420px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:min(360px,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--tabbar-total-h) - 28px));box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px max(15px,calc(15px + env(safe-area-inset-bottom,0px)));border-radius:22px;display:flex;flex-direction:column;gap:12px;background:radial-gradient(120% 140% at 50% 0%, rgba(104,165,255,.18) 0%, rgba(104,165,255,0) 46%), linear-gradient(180deg, rgba(11,18,33,.985) 0%, rgba(7,12,24,.975) 100%);border:1px solid rgba(126,200,255,.45);box-shadow:0 26px 58px rgba(0,0,0,.46), 0 14px 32px rgba(8,14,30,.34), inset 0 1px 0 rgba(255,255,255,.08);transition:transform var(--motion-duration-surface) var(--motion-ease-standard)}
.celebrationRoot.show .celebrationPanel{transform:translate(-50%,-50%) scale(1)}
.celebrationPanel::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 38%);opacity:.8;pointer-events:none}
.celebrationContent{display:flex;flex-direction:column;gap:7px;text-align:center;min-width:0;max-width:100%;position:relative;z-index:1}
.celebrationTitle{font-size:20px;line-height:1.2;font-weight:900;letter-spacing:.01em;overflow-wrap:anywhere;word-break:break-word}
.celebrationDetail{font-size:14px;line-height:1.4;opacity:.95;overflow-wrap:anywhere;word-break:break-word}
.celebrationAction{appearance:none;border:1px solid rgba(255,255,255,.24);background:linear-gradient(180deg, rgba(81,140,255,.42) 0%, rgba(47,109,246,.30) 100%);color:var(--text);border-radius:999px;padding:9px 14px;font-weight:800;font-size:13px;line-height:1;cursor:pointer;pointer-events:auto;align-self:center;min-width:96px;max-width:100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform var(--motion-duration-press) var(--motion-ease-soft), filter var(--motion-duration-press) var(--motion-ease-soft), background var(--motion-duration-press) var(--motion-ease-soft), border-color var(--motion-duration-press) var(--motion-ease-soft);position:relative;z-index:1;white-space:normal}
.celebrationAction:active{transform:translateY(1px);filter:brightness(.98)}

#tabbar{position:fixed;left:0;right:0;bottom:0;z-index:9998;width:100%;max-width:100vw;height:var(--tabbar-total-h);padding:var(--tabbar-top-pad) 10px var(--tabbar-safe);background:linear-gradient(180deg, var(--glass) 0%, var(--bg) 100%);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);display:flex;justify-content:space-around;align-items:flex-end;gap:6px;overflow-x:hidden;box-shadow:0 -10px 30px rgba(0,0,0,.18)}
#tabbar::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, transparent 0%, var(--line) 14%, var(--line) 86%, transparent 100%);opacity:.95}
.tabbtn{position:relative;flex:1;min-width:0;appearance:none;border:0;background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.02) 100%);color:var(--muted);padding:7px 6px 6px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:800;font-size:12px;line-height:1;min-height:46px;box-shadow:inset 0 1px 0 rgba(255,255,255,0);transition:transform .16s ease,color .18s ease,background .18s ease,opacity .18s ease,filter .18s ease,box-shadow .18s ease}
.tabbtn::after{content:"";position:absolute;left:50%;bottom:2px;width:26px;height:3px;border-radius:999px;background:currentColor;opacity:0;transform:translateX(-50%) scaleX(.45);transition:transform .18s ease,opacity .18s ease,background .18s ease}
.tabbtn svg{width:22px;height:22px;display:block;opacity:.9;transform:translateY(0) scale(1);transform-origin:center;transition:transform .18s ease,opacity .18s ease,stroke .18s ease,filter .18s ease}
.tabbtn span{position:relative;opacity:.92;transform:translateY(0);transition:transform .18s ease,opacity .18s ease,letter-spacing .18s ease}
.tabbtn.active,
.tabbtn[aria-current="page"]{color:var(--text);background:linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.03) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.10), 0 8px 18px rgba(0,0,0,.14)}
.tabbtn.active svg,
.tabbtn[aria-current="page"] svg{stroke:var(--accent);opacity:1;transform:translateY(-1px) scale(1.04);filter:drop-shadow(0 4px 10px rgba(47,109,246,.18))}
.tabbtn.active span,
.tabbtn[aria-current="page"] span{opacity:1;transform:translateY(-1px);letter-spacing:.01em}
.tabbtn.active::after,
.tabbtn[aria-current="page"]::after{opacity:.95;transform:translateX(-50%) scaleX(1);background:var(--accent)}
.tabbtn:active{transform:scale(.97);filter:brightness(1.03)}
.tabbtn:active svg{transform:translateY(0) scale(.98)}
.tabbtn.plus{flex:0 0 64px;min-width:64px;max-width:64px;padding:0;margin-bottom:2px;color:#fff;background:linear-gradient(180deg, rgba(93,146,255,.98) 0%, rgba(47,109,246,.98) 100%);border-radius:999px;border:0;height:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.18);transform:translateY(-5px)}
.tabbtn.plus::after{display:none}
.tabbtn.plus svg{width:26px;height:26px;stroke:#fff;opacity:1;filter:none;transform:none}
.tabbtn.plus span{display:none}
.tabbtn.plus.active,
.tabbtn.plus[aria-current="page"]{background:linear-gradient(180deg, rgba(116,163,255,1) 0%, rgba(47,109,246,1) 100%);box-shadow:0 16px 34px rgba(31,111,235,.28), 0 10px 24px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.24)}
.tabbtn.plus:active{transform:translateY(-4px) scale(.98);filter:brightness(.98)}

/* Modal shell */
body.scrollLock{overflow:hidden;overscroll-behavior:none}
.modalOverlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(3,8,18,.12);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);z-index:9999;pointer-events:auto;opacity:0;transition:opacity var(--motion-duration-overlay) var(--motion-ease-soft), background var(--motion-duration-surface) var(--motion-ease-soft), backdrop-filter var(--motion-duration-surface) var(--motion-ease-soft), -webkit-backdrop-filter var(--motion-duration-surface) var(--motion-ease-soft)}
.modalOverlay.is-visible{opacity:1;background:rgba(3,8,18,.58);backdrop-filter:blur(12px) saturate(1.02);-webkit-backdrop-filter:blur(12px) saturate(1.02)}
.modalOverlay.is-closing{opacity:0;background:rgba(3,8,18,.16);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}
.modalCard{width:min(420px,100%);transform:translateY(20px) scale(.985);transform-origin:center;opacity:0;transition:transform var(--motion-duration-surface) var(--motion-ease-standard), opacity var(--motion-duration-overlay) var(--motion-ease-soft), box-shadow var(--motion-duration-overlay) var(--motion-ease-soft)}
.modalOverlay.is-visible .modalCard{transform:translateY(0) scale(1);opacity:1;box-shadow:0 24px 60px rgba(0,0,0,.38)}
.modalOverlay.is-closing .modalCard{transform:translateY(14px) scale(.992);opacity:0}
.modalRoot{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:calc(16px + var(--safeBottom));background:rgba(3,8,18,.14);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);pointer-events:auto;overflow-x:hidden;opacity:0;transition:opacity var(--motion-duration-overlay) var(--motion-ease-soft), background var(--motion-duration-surface) var(--motion-ease-soft), backdrop-filter var(--motion-duration-surface) var(--motion-ease-soft), -webkit-backdrop-filter var(--motion-duration-surface) var(--motion-ease-soft)}
.modalRoot.is-visible{opacity:1;background:rgba(3,8,18,.48);-webkit-backdrop-filter:blur(10px) saturate(1.02);backdrop-filter:blur(10px) saturate(1.02)}
.modalRoot.is-closing{opacity:0;background:rgba(3,8,18,.18);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}


.tripsFiltersCard{padding:var(--card-pad-y) var(--card-pad-x)}
.tripsFiltersGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;align-items:end}
.tripsFilterField{min-width:0}
.tripsFilterField--disabled{opacity:.72}
.tripsFilterActions{margin-top:var(--card-body-gap);padding-top:var(--card-body-gap);border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}
.tripsFilterActionExport{flex:1;min-width:0}
.tripsFilterActionExport .btn{width:100%}
.cardHeaderRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 var(--card-title-gap)}
.cardBodyStack{display:grid;gap:var(--card-body-gap)}
.cardActionRow{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--card-action-gap);margin-top:var(--card-body-gap)}
.cardActionRow .btn{min-width:132px}
.affordanceBtn{min-height:40px;padding:var(--affordance-pad-y) var(--affordance-pad-x);border-radius:12px;font-size:13px;font-weight:760;letter-spacing:.01em}
.tripsCustomRangeWrap{margin-top:var(--card-title-gap);padding-top:var(--card-title-gap);border-top:1px dashed var(--line)}
.tripsCustomRangeRow{gap:10px;flex-wrap:wrap}
.tripsFilterSummary{padding-top:2px;line-height:1.35}

.tripsBrowseFiltersCard{padding:var(--card-pad-y) var(--card-pad-x)}
.tripsFiltersEyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted-strong)}
.tripsFiltersTitle{font-size:17px;font-weight:860;line-height:1.2;margin-top:2px}
.tripsBrowseList{display:grid;gap:var(--card-stack-gap)}
.tripsBrowseList .trip + .trip{margin-top:0}
.screenFirstCard{
  margin-top:var(--section-gap-tight);
}
.tripCardStandard{
  margin:0;
  padding:16px 16px;
  border:1px solid var(--border);
  border-radius:19px;
  background:linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.035) 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  text-align:left;
}
.tripCardStandard.tripCardReadOnly{pointer-events:none}
.tripCardStandard .tripCardGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,fit-content(46%));
  gap:15px;
  align-items:start;
}
.tripCardStandard .tripCardLeftStack{display:grid;gap:4px;align-content:start}
.tripCardStandard .tripCardTextRow{margin:0}
.tripCardStandard .tripCardDate{font-size:11px;line-height:1.3;font-weight:760;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted-strong)}
.tripCardStandard .tripCardArea{font-size:18px;line-height:1.18;font-weight:870;color:var(--text)}
.tripCardStandard .tripCardDealer{font-size:14px;line-height:1.3;font-weight:650;color:var(--text-muted-strong)}
.tripCardStandard .tripCardSpecies{font-size:13px;line-height:1.3;font-weight:610;color:var(--text-muted-strong)}
.tripCardStandard .tripCardIdentityPrimary{white-space:normal}
.tripCardStandard .tripCardAreaUnknown{display:flex;align-items:flex-start}
.tripCardStandard .tripCardUnknownBadge{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.05) 100%);
  color:var(--text-muted-strong);
  font-size:12px;
  line-height:1.2;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-weight:790;
}
.tripCardStandard .tripCardIdentitySecondary{white-space:normal}
.tripCardStandard .tripCardNotes{margin-top:2px;font-size:12px;line-height:1.4;font-weight:520;color:var(--muted)}
.tripCardStandard .tripCardMetricsCol{
  display:grid;
  justify-items:end;
  justify-self:end;
  align-content:start;
  gap:5px;
  text-align:right;
  min-width:0;
  width:auto;
  max-width:100%;
}
.tripCardStandard .tripCardMetricChip{
  display:block;
  padding:0;
  font-size:12px;
  line-height:1.25;
  letter-spacing:.01em;
  font-weight:660;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.tripCardStandard .tripCardMetricChip .metricValue{
  display:inline-block;
  font-size:15px;
  line-height:1.2;
  font-weight:860;
}
.tripCardStandard.tripCardVariantTripsBrowse .tripCardMetricChip{
  font-size:13px;
  line-height:1.26;
}
.tripCardStandard.tripCardVariantTripsBrowse .tripCardMetricChip .metricValue{
  font-size:15px;
}
.tripCardStandard.tripCardVariantTripsBrowse .tripCardMetricChip.tripCardMetricEmphasis{
  font-size:14px;
  font-weight:760;
}
.tripCardStandard.tripCardVariantTripsBrowse .tripCardMetricChip.tripCardMetricEmphasis .metricValue{
  font-size:17px;
  line-height:1.16;
  font-weight:900;
}
.tripCardStandard .tripCardSettlementSubtle{
  margin-top:4px;
  font-size:10px;
  line-height:1.42;
  color:var(--muted);
  text-align:right;
  max-width:196px;
  opacity:.92;
}
@media (max-width:390px){
  .tripCardStandard{
    padding:14px 13px;
  }
  .tripCardStandard .tripCardGrid{
    gap:10px;
  }
  .tripCardStandard .tripCardArea{
    font-size:17px;
  }
  .tripCardStandard .tripCardDealer{
    font-size:13px;
  }
  .tripCardStandard .tripCardSpecies{
    font-size:12px;
  }
  .tripCardStandard .tripCardMetricsCol{
    max-width:100%;
  }
  .tripCardStandard .tripCardMetricChip{
    font-size:11px;
  }
  .tripCardStandard .tripCardMetricChip .metricValue{
    font-size:14px;
  }
  .tripCardStandard .tripCardMetricChip.tripCardMetricEmphasis{
    font-size:12px;
  }
  .tripCardStandard .tripCardMetricChip.tripCardMetricEmphasis .metricValue{
    font-size:16px;
  }
}
.tripsEmptyState{padding:15px 14px}

.emptyState{
  margin-top:12px;
  padding:15px;
  border:1px dashed var(--border-strong);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.025) 100%);
  display:grid;
  gap:9px;
}
.emptyStateTitle{font-size:15px;font-weight:840;line-height:1.2}
.emptyStateBody{font-size:13px;line-height:1.5;color:var(--text-muted-strong)}
.emptyStateAction{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.emptyStateAction .btn{flex:1;min-width:132px}
.emptyState.compact{margin-top:8px;padding:12px;gap:7px}
.emptyState.compact .emptyStateTitle{font-size:14px}
.emptyState.compact .emptyStateBody{font-size:12px}

.helpHubNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.helpHubNav .chip{width:100%;justify-content:center}
.helpSectionTitle{font-size:1.03rem;font-weight:840;letter-spacing:.01em}
.helpSectionLead{line-height:1.5;font-size:.95rem}

@media (max-width:380px){
  .helpHubNav{grid-template-columns:1fr}
  .emptyStateAction .btn{min-width:0}
}

@media (max-width:380px){
  .tripsFiltersGrid{grid-template-columns:1fr}
}
.modalRoot.hidden{ display:none; }
.modalSheet{width:min(560px,100%);max-width:100%;min-width:0;background: linear-gradient(180deg, var(--glass) 0%, var(--glass2) 100%);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.55);overflow:hidden;transform:translateY(26px) scale(.985);transform-origin:center bottom;opacity:0;transition:transform var(--motion-duration-surface) var(--motion-ease-standard), opacity var(--motion-duration-overlay) var(--motion-ease-soft), box-shadow var(--motion-duration-overlay) var(--motion-ease-soft)}
.modalRoot.is-visible .modalSheet{transform:translateY(0) scale(1);opacity:1;box-shadow:0 24px 66px rgba(0,0,0,.42)}
.modalRoot.is-closing .modalSheet{transform:translateY(18px) scale(.992);opacity:0}
.modalSheet--center{transform:translate(-50%,-50%) translateY(18px) scale(.985);transform-origin:center center}
.modalRoot.is-visible .modalSheet--center{transform:translate(-50%,-50%) translateY(0) scale(1)}
.modalRoot.is-closing .modalSheet--center{transform:translate(-50%,-50%) translateY(12px) scale(.992)}
.modalHdr{padding:14px 16px 10px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.modalTitle{ font-weight:800; letter-spacing:.04em; text-transform:uppercase; font-size:12px; opacity:.9; }
.modalBody{ padding:14px 16px 16px 16px; }
.modalActions{display:flex;gap:10px;justify-content:flex-end;padding:0 16px 16px 16px}
.modalErr{margin-top:10px;font-size:12px;opacity:.9;color: var(--danger, #ff6b6b)}

/* Settings grouped-list polish (P3) */
.settingsGroupBlock{margin-bottom:var(--card-stack-gap)}
.settingsJumpNavCard{margin-top:var(--section-gap-tight);margin-bottom:var(--section-gap-tight);padding:10px 11px}
.settingsJumpNavRow{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.settingsJumpNavRow::-webkit-scrollbar{display:none}
.settingsJumpChip{white-space:nowrap;flex:0 0 auto}
.settingsGroupLabel{font-size:11px;font-weight:860;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted-strong);margin:0 4px var(--card-title-gap)}
.settingsSectionCard.settingsGroupedCard{margin-bottom:0;padding:0;overflow:hidden}
.settingsAccordionCard{border-radius:16px}
.settingsAccordionSummary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;cursor:pointer;list-style:none;background:linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.02) 100%)}
.settingsAccordionSummary::-webkit-details-marker{display:none}
.settingsAccordionMeta{min-width:0;display:grid;gap:3px}
.settingsAccordionSummary .settingsGroupLabel{margin:0}
.settingsAccordionTitle{font-size:14px;font-weight:840;line-height:1.2}
.settingsAccordionStatus{line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.settingsAccordionChevron{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--text-muted-strong);background:rgba(8,12,20,.3);transition:transform var(--motion-duration-fast) var(--motion-ease-standard), background var(--motion-duration-fast) var(--motion-ease-standard)}
.settingsAccordionCard[open] .settingsAccordionChevron{transform:rotate(180deg);background:rgba(255,255,255,.08)}
.settingsAccordionCard:not([open]) .settingsRow{display:none}
.settingsRow{padding:13px var(--card-pad-x)}
.settingsRow + .settingsRow{border-top:1px solid var(--line)}
.settingsRow--split{display:flex;align-items:center;justify-content:space-between;gap:12px}
.settingsRow--field{padding-top:11px;padding-bottom:11px}
.settingsRow--action{display:grid;gap:8px}
.settingsRow--status{display:grid;gap:4px;background:rgba(255,255,255,.02)}
.settingsRow--minor{background:rgba(255,255,255,.015)}
.settingsRow--danger{background:rgba(255,107,107,.08);border-top:1px solid rgba(255,107,107,.26)}
.settingsRowTitle{font-size:14px;font-weight:840;line-height:1.22}
.settingsValuePill{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap;background:rgba(8,12,20,.3);color:var(--text-muted-strong)}
.settingsSelectWrap{max-width:220px;margin-left:auto}
.settingsUpdateStatus{font-size:15px;font-weight:800;line-height:1.2}
.settingsBodyTiny{margin-top:2px;font-size:11px;line-height:1.35}

.settingsBackupHealth{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid transparent;font-size:12px;line-height:1.4;font-weight:700}
.settingsBackupHealth[hidden]{display:none!important}
.settingsBackupHealth--warning{background:rgba(255,179,71,.14);border-color:rgba(255,179,71,.34);color:#ffd39a}
.settingsBackupHealth--stale{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.28);color:#ffd1d1}
.settingsBackupHealth--healthy,.settingsBackupHealth--quiet{background:transparent;border-color:transparent;color:var(--text-muted-strong)}
.settingsInlineBtn{font-size:12px;padding:8px 11px;min-width:0;white-space:nowrap}
.settingsInlineMsg{display:none;margin-top:0}
.settingsDetails{margin:0}
.settingsDetails summary{cursor:pointer}
.settingsBuildInfo{white-space:pre-wrap;margin-top:6px}
.settingsBackupRow{gap:10px;align-items:center;grid-template-columns:1fr 1fr}
.settingsFlexBtn{flex:1}
.settingsInstallActions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.settingsInstallActions .btn{width:100%}

.restorePreviewWarning{display:grid;gap:8px;margin-top:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,179,71,.34);background:linear-gradient(180deg, rgba(255,179,71,.16) 0%, rgba(255,179,71,.08) 100%);color:#ffe2ba}
.restorePreviewWarning--strong{border-color:rgba(255,107,107,.42);background:linear-gradient(180deg, rgba(255,107,107,.18) 0%, rgba(255,107,107,.10) 100%);color:#ffd6d6;box-shadow:0 8px 20px rgba(120,24,24,.12)}
.restorePreviewWarningTitle{font-size:13px;font-weight:860;line-height:1.2;letter-spacing:.01em}
.restorePreviewWarningBody,.restorePreviewWarningHint{font-size:12px;line-height:1.45;color:inherit}
.restorePreviewWarningList{margin:0;padding-left:18px;display:grid;gap:5px;font-size:12px;line-height:1.45}
.restoreResultPanel{display:grid;gap:12px}
.restoreResultLead{font-size:13px;line-height:1.5;color:var(--text-muted-strong)}
.restoreResultGrid{display:grid;gap:8px}
.restoreResultMetric{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.restoreResultMetricLabel{font-size:12px;line-height:1.35;color:var(--text-muted-strong)}
.restoreResultNotes{display:grid;gap:7px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:12px;line-height:1.45;color:var(--text-muted-strong)}
.hiddenInput{display:none}
.settingsStackedSegBtn{display:flex;flex-direction:column;align-items:center;line-height:1.05}
.settingsSoonNote{margin-top:2px;opacity:.85}
.settingsSectionCard .muted.small{line-height:1.45}
.settingsSectionCard .hint{line-height:1.4}
.settingsAdvancedCard{margin-top:0}
.settingsEmail{color:var(--text);text-decoration:underline}

@media (max-width:380px){
  .settingsRow--split{align-items:flex-start;flex-direction:column}
  .settingsAccordionStatus{white-space:normal}
  .settingsSelectWrap{max-width:none;margin-left:0}
  .settingsBackupRow{grid-template-columns:1fr}
  .settingsInstallActions{grid-template-columns:1fr}
}

/* Home dashboard polish (P2) */
.homeHero{
  margin-bottom:var(--card-stack-gap);
  padding:var(--card-pad-y) var(--card-pad-x);
  border-radius:16px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(47,109,246,.20) 0%, rgba(47,109,246,.06) 62%, rgba(255,255,255,.02) 100%);
}
.homeHeroEyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-muted-strong);
  margin-bottom:var(--card-title-gap);
}
.homeHeroHeadline{
  font-size:clamp(20px, 5vw, 28px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.01em;
}
.homeHeroTone{
  margin-top:var(--card-title-gap);
  font-size:13px;
  line-height:1.4;
}
.homeHeroStats{
  margin-top:var(--card-body-gap);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.homeHeroStat{
  min-width:0;
  border-radius:12px;
  padding:8px 10px;
  border:1px solid var(--line);
  background:rgba(8,12,20,.35);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.homeHeroStat b{
  font-size:14px;
  font-weight:850;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.homeLastTripFallback{
  margin-top:var(--card-body-gap);
  border-radius:12px;
  border:1px dashed var(--line);
  background:rgba(8,12,20,.28);
  padding:10px 12px;
}
.homeScreenShell.dashCard{
  padding:0;
  border-color:transparent;
  background:none;
  box-shadow:none;
  cursor:default;
}
.homeScreenShell .homeSection{
  margin-bottom:var(--section-gap-tight);
}
.homeScreenShell .homeSection:last-child{
  margin-bottom:0;
}
.homeScreenShell .homeFilterSection,
.homeScreenShell .homeKpiSection{
  padding:0;
  border:none;
  background:none;
  box-shadow:none;
}
.homeScreenShell .homeOverviewCard{
  padding:15px 15px 14px;
  border-radius:18px;
  border:1px solid rgba(126,200,255,.22);
  background:linear-gradient(180deg, rgba(47,109,246,.16) 0%, rgba(20,29,47,.66) 62%, rgba(10,15,24,.52) 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.homeScreenShell .homeLastTripShell{
  padding:13px 14px 14px;
  border-radius:18px;
  border:1px solid rgba(126,200,255,.24);
  background:linear-gradient(180deg, rgba(20,29,47,.54) 0%, rgba(10,15,24,.38) 100%);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  min-width:0;
}
.homeScreenShell .homeLastTripFallback{
  margin-top:0;
}
.homeLastTripCardWrap{
  margin-top:8px;
  min-width:0;
}
.homeLastTripHeader{
  margin:0;
  padding-inline:0;
}
.homeLastTripHeaderRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.homeLastTripRangePill{
  font-size:11px;
  line-height:1.2;
  letter-spacing:.04em;
  color:var(--text-muted-strong);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:4px 8px;
  background:rgba(8,12,20,.36);
  white-space:nowrap;
}
.homeLastTripContext{
  margin-top:7px;
  color:var(--text-muted);
  font-size:11px;
  line-height:1.45;
}
.kpiGroupLabel{
  margin:var(--card-title-gap) 0 var(--card-body-gap);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-muted-strong);
}
.kpiCard.kpiCardPrimary{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.03) 100%);
}

/* Shared analytics language (Home + Reports) */
.dashCard,
.reportsHeroCard,
.reportsHighlightsCard,
.chartCard,
.reportsHighlightItem,
.reportsHeroStat,
.kpiCard{
  border-color:var(--border);
  background:linear-gradient(180deg, var(--analytics-surface-top) 0%, var(--analytics-surface-bottom) 100%);
  box-shadow:0 8px 22px rgba(0,0,0,.24);
}
.dashCard{
  padding:var(--card-pad-y) var(--card-pad-x);
}
.dashCard.homeScreenShell{
  padding:0;
}
.dashCard .homeOverviewCard{
  margin-bottom:var(--card-stack-gap);
  border-color:rgba(126,200,255,.42);
}
.dashCard .homeFilterStack{
  margin-bottom:var(--card-stack-gap);
}
.dashCard .kpiRow{
  margin-bottom:calc(var(--card-stack-gap) + 2px);
}
.dashCard .homeOverviewCard{
  margin-top:0;
}
.kpiGroupLabel,
.reportsSectionHead h2,
.reportsHeroEyebrow,
.reportsHighlightsHdr,
.reportsHeroLabel{
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:860;
}
.kpiCard{
  border-radius:16px;
  border:1px solid var(--line);
}
.kpiCard .kpiLabel{
  color:var(--text-muted-strong);
}
.kpiCard .kpiValue{
  font-variant-numeric:tabular-nums;
}
.kpiCardTap{
  width:100%;
  text-align:left;
  cursor:pointer;
  position:relative;
}
.kpiCardTap::after{
  content:"";
  position:absolute;
  right:10px;
  top:10px;
  width:7px;
  height:7px;
  border-top:2px solid var(--text-muted-strong);
  border-right:2px solid var(--text-muted-strong);
  transform:rotate(45deg);
  opacity:.7;
}
.kpiCardTap:active{
  transform:translateY(1px);
}
.reportsSectionHead{
  margin:0 2px var(--card-body-gap);
}
.reportsSectionHead p,
.reportsHeroSub,
.reportsHeroMeta{
  color:var(--text-muted-strong);
}
.reportsHeroCard{
  border-color:rgba(255,255,255,.18);
  padding:var(--card-pad-y) var(--card-pad-x);
  margin-bottom:var(--card-stack-gap);
}
.reportsHeroStat{
  border-color:rgba(255,255,255,.12);
}
.reportsHeroValue.money,
.chartHero.money,
.reportsHighlightValue.money{
  color:var(--money);
}
.reportsHeroValue.lbsBlue,
.chartHero.lbsBlue,
.reportsHighlightValue.lbsBlue{
  color:var(--lbs);
}
.reportsHeroValue.ppl,
.reportsHeroValue.rate.ppl,
.chartHero.rate.ppl,
.reportsHighlightValue.rate.ppl{
  color:var(--ppl);
}


/* P7 timeframe segmented-control unification (Home + Reports) */
.timeframeUnifiedControl{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  padding:5px;
  border-radius:15px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(12,18,31,.72) 0%, rgba(9,14,24,.58) 100%);
}
.timeframeUnifiedControl .segBtn{
  width:100%;
  min-height:38px;
  padding:8px 9px;
  border-radius:11px;
  border:1px solid transparent;
  font-size:13px;
  font-weight:820;
  letter-spacing:.01em;
  color:var(--text-muted-strong);
  box-shadow:none;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .08s ease;
}
.timeframeUnifiedControl .segBtn.on,
.timeframeUnifiedControl .segBtn.is-selected{
  color:var(--text);
  background:linear-gradient(180deg, rgba(152,165,184,.62) 0%, rgba(122,136,160,.54) 100%);
  border-color:rgba(197,210,231,.52);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.timeframeUnifiedControl .segBtn:active{
  transform:translateY(1px);
}
.dashCard .homeFilterStack{
  gap:8px;
  margin-top:var(--card-body-gap);
  margin-bottom:var(--card-stack-gap);
}
.homeScreenShell .homeFilterStack{
  gap:10px;
  margin:0;
}
.dashCard .homeFilterStack .timeframeUnifiedControl{
  margin-top:0;
}
.homeScreenShell .timeframeUnifiedControl{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:8px;
  border:1px solid rgba(176,194,224,.24);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(46,60,83,.34) 0%, rgba(24,34,52,.24) 100%);
}
.homeScreenShell .timeframeUnifiedControl .segBtn{
  min-height:41px;
  border-color:rgba(109,117,132,.66);
  background:linear-gradient(180deg, rgba(78,88,106,.78) 0%, rgba(63,71,87,.94) 100%);
  color:rgba(205,214,231,.70);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.homeScreenShell .timeframeUnifiedControl .segBtn.on,
.homeScreenShell .timeframeUnifiedControl .segBtn.is-selected{
  color:rgba(235,246,255,.98);
  background:
    linear-gradient(180deg, rgba(92,141,221,.52) 0%, rgba(50,71,127,.96) 64%, rgba(42,60,110,.98) 100%);
  border-color:rgba(114,144,220,.96);
  box-shadow:
    inset 0 1px 0 rgba(216,232,255,.28),
    inset 0 -1px 0 rgba(20,33,63,.36),
    0 0 0 1px rgba(114,144,220,.28),
    0 0 14px rgba(64,143,244,.34);
}
.homeScreenShell .homeFilterStack > .homeRangeRow{
  margin-top:4px !important;
}
.homeScreenShell .kpiRow{
  gap:10px;
  margin-bottom:0;
}
.homeScreenShell .kpiCard{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  box-shadow:none;
}
.homeScreenShell .reportsHeroStat{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  box-shadow:none;
}
.reportsTimeframeControl{
  margin-top:14px;
  margin-bottom:4px;
}
@media (max-width:380px){
  .timeframeUnifiedControl .segBtn{
    font-size:12px;
    padding:8px 6px;
  }
}


/* SW update banner layout */
.swUpdateBanner{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-total-h) + 18px);z-index:9999;display:none;max-width:min(560px,calc(100vw - 24px));width:calc(100vw - 24px);margin:0 auto;overflow-x:hidden}
.swUpdateBannerMessage{margin-top:6px;line-height:1.35;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.swUpdateBannerActions{margin-top:10px;gap:10px;max-width:100%}


.settingsDeletedList{display:grid;gap:10px;padding:0 14px 14px}
.settingsDeletedItem{border:1px solid var(--line);border-radius:16px;padding:12px;background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.025) 100%);display:grid;gap:10px}
.settingsDeletedMeta{display:grid;gap:4px;min-width:0}
.settingsDeletedTitle{font-size:15px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.settingsDeletedActions{display:flex;flex-wrap:wrap;gap:8px}
.settingsDeletedActions .btn{flex:1;min-width:132px}


.homeBeginnerCard{
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(126,169,255,.34);
  background:linear-gradient(180deg, rgba(47,109,246,.18) 0%, rgba(255,255,255,.05) 100%);
  box-shadow:0 12px 28px rgba(8,15,36,.22);
}
.homeBeginnerEyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lbsBlue);
}
.homeBeginnerTitle{
  margin-top:8px;
  font-size:20px;
  font-weight:850;
  line-height:1.2;
}
.homeBeginnerBody{
  margin-top:8px;
  color:var(--text-muted-strong);
  line-height:1.5;
}
.homeBeginnerSteps{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.homeBeginnerStep{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--text-muted-strong);
}
.homeBeginnerStepNum{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:rgba(47,109,246,.92);
}
.homeBeginnerActions .btn{flex:1 1 150px}
.homeBeginnerDismiss{flex:1 1 100%; min-height:42px}
.homeInstallSection{margin-top:12px}
.homeInstallBand{border-color:rgba(126,169,255,.28);background:linear-gradient(180deg, rgba(47,109,246,.12) 0%, rgba(255,255,255,.035) 100%)}
.emptyStateFollowup{
  margin-top:10px;
  color:var(--text-muted-strong);
  font-size:13px;
  line-height:1.45;
}
.emptyStateBeginner{
  border-color:rgba(126,169,255,.28);
  background:linear-gradient(180deg, rgba(47,109,246,.12) 0%, rgba(255,255,255,.04) 100%);
}
