*{box-sizing:border-box}
:root{
  --bg:#0E0E0F;
  --panel:#151d24;
  --panel2:#1B2A3A;
  --line:#35424b;
  --text:#f4f5f6;
  --muted:#aab1b9;
  --accent:#f6a623;
  --accent2:#ffbf4d;
  --danger:#c95050;
  --success:#3a9d69;
}
html{background:var(--bg)}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
.shell{width:min(760px,100%);margin:0 auto;padding:18px 16px 48px}
.shell.narrow{width:min(520px,100%);padding-top:50px}
.topbar{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;
  background:rgba(15,18,22,.95);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.brand{text-align:center;margin-bottom:24px}
.eyebrow{font-size:.74rem;letter-spacing:.14em;font-weight:800;color:var(--accent);text-transform:uppercase}
h1{font-size:2rem;margin:.2rem 0}
h2{margin:.25rem 0 1rem;font-size:1.35rem}
p{line-height:1.45}
.muted{color:var(--muted)}
.hero{display:flex;align-items:center;justify-content:space-between;margin:6px 0 18px}
.status-pill,.count-badge{
  border:1px solid var(--line);background:var(--panel2);padding:8px 11px;border-radius:999px;
  font-size:.78rem;font-weight:800;letter-spacing:.04em
}
.status-pill.active{border-color:#2e7654;color:#82dbad}
.status-pill.on_break{border-color:#8b6c2e;color:#ffd27d}
.status-pill.off{color:var(--muted)}
.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  margin-bottom:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.18)
}
.action-card{padding:22px 18px}
label{display:block;color:var(--muted);font-size:.86rem;font-weight:700}
input,select,textarea{
  width:100%;
  margin-top:7px;
  background:#0d1014;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 13px;
  font-size:1.05rem;
  outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
textarea{resize:vertical}
.stack{display:grid;gap:14px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{
  border:0;border-radius:14px;padding:14px 16px;font-weight:900;
  letter-spacing:.02em;cursor:pointer;text-align:center;text-decoration:none;display:inline-block
}
.btn.primary{background:var(--accent);color:#111}
.btn.primary:active{background:var(--accent2)}
.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}
.btn.danger{background:#3b1f23;color:#ffd4d4;border:1px solid #693239}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn.huge{min-height:60px;font-size:1.08rem}
.full{width:100%}
.linkbtn{background:none;border:0;color:var(--muted);font-weight:700}
.alert{
  padding:13px 14px;border-radius:12px;margin:0 0 14px;border:1px solid var(--line);
  background:var(--panel2)
}
.alert.error{border-color:#6c3333;color:#ffd2d2}
.alert.success{border-color:#2f6b4b;color:#c9f5dd}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.mini-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}
.mini-card span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:5px}
.mini-card strong{font-size:1.08rem}
.active-delivery{border-color:#6f531f}
.delivery-big{display:flex;align-items:baseline;gap:12px;margin:10px 0 4px}
.delivery-big strong{font-size:2.3rem}
.delivery-big span{color:var(--muted);font-weight:800}
.shift-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 26px}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 2px 12px}
.section-head h2{margin:.2rem 0 0}
.delivery-list{display:grid;gap:10px}
.delivery-row{
  display:flex;justify-content:space-between;gap:18px;padding:14px;
  background:var(--panel);border:1px solid var(--line);border-radius:14px
}
.delivery-row strong,.delivery-row span{display:block}
.delivery-row span{color:var(--muted);font-size:.82rem;margin-top:4px}
.delivery-row-right{text-align:right}
.empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
footer{text-align:center;color:#6f7780;font-size:.78rem;margin-top:34px}
@media(max-width:520px){
  .two-col{grid-template-columns:1fr 1fr}
  .shift-controls{grid-template-columns:1fr}
  h1{font-size:1.75rem}
}

/* Phase 2 dashboard */
.stats-dashboard{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 10px
}
.stat-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:15px;
  padding:14px;
  min-width:0
}
.stat-card span{display:block;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.stat-card strong{display:block;font-size:1.55rem;margin-top:5px;white-space:nowrap}
.stat-card small{display:block;color:#777f88;font-size:.7rem;margin-top:4px}
.stat-card.primary-stat{grid-column:1 / -1;border-color:#6f531f;background:linear-gradient(180deg,#1d1c18,var(--panel))}
.stat-card.primary-stat strong{font-size:2.5rem;color:var(--accent2)}
.tips-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  overflow:hidden;border:1px solid var(--line);border-radius:14px;margin:0 0 16px;background:var(--line)
}
.tips-strip>div{background:var(--panel);padding:11px 9px;text-align:center}
.tips-strip span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}
.tips-strip strong{font-size:.98rem}
.compact-head{margin-top:22px}
.platform-list{display:grid;gap:8px;margin-bottom:20px}
.platform-row{
  display:flex;justify-content:space-between;align-items:center;gap:15px;
  background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:12px 14px
}
.platform-row span{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.delivery-card{
  background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:14px
}
.delivery-card-head{display:flex;justify-content:space-between;gap:16px;align-items:start}
.delivery-card-head strong,.delivery-card-head span{display:block}
.delivery-card-head span{color:var(--muted);font-size:.78rem;margin-top:4px}
.delivery-card-pay{text-align:right}
.delivery-card-pay>strong{font-size:1.2rem;color:var(--accent2)}
.delivery-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:13px;
  border-top:1px solid var(--line);padding-top:11px
}
.delivery-metrics div{text-align:center;min-width:0}
.delivery-metrics span{display:block;color:var(--muted);font-size:.66rem;margin-bottom:3px}
.delivery-metrics strong{font-size:.83rem;white-space:nowrap}
.running-total{
  display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;
  border-top:1px dashed var(--line);color:var(--muted);font-size:.78rem
}
.running-total strong{color:var(--text);font-size:.95rem}
.story-note{font-size:.86rem;color:#c6cbd0;margin:11px 0 0;padding:10px;background:#11151a;border-radius:10px}
.danger-zone{
  margin-top:30px;border:1px solid #4f292d;border-radius:14px;background:#1b1517;overflow:hidden
}
.danger-zone summary{cursor:pointer;padding:13px 15px;color:#c99096;font-weight:800;font-size:.85rem}
.danger-zone-body{padding:0 15px 15px}
.danger-zone-body h3{margin:.4rem 0}
.danger-zone-body p{color:var(--muted);font-size:.83rem}
@media(max-width:420px){
  .delivery-metrics{grid-template-columns:repeat(2,1fr);row-gap:10px}
  .stat-card strong{font-size:1.35rem}
  .stat-card.primary-stat strong{font-size:2.15rem}
}


/* Phase 3 history + exports */
.top-actions{display:flex;align-items:center;gap:12px}
.top-actions form{margin:0}
a.linkbtn{text-decoration:none;display:inline-block}
.history-intro{margin:-8px 2px 18px}
.history-list{display:grid;gap:12px}
.history-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.history-main{display:block;color:var(--text);text-decoration:none;padding:15px}
.history-date{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.history-date strong{font-size:1.05rem}.history-date span{color:var(--muted);font-size:.78rem}
.history-money{font-size:2rem;font-weight:900;color:var(--accent2);margin:8px 0}
.history-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-top:1px solid var(--line);padding-top:10px}
.history-metrics span{font-size:.72rem;color:var(--muted);text-align:center}.history-metrics b{display:block;color:var(--text);font-size:.86rem;margin-bottom:2px}
.history-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.history-actions .btn{padding:11px 10px;font-size:.8rem}
.export-bar{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:-2px 0 16px}.export-bar .btn{font-size:.84rem}
.day-hero{margin-bottom:12px}
.shift-list{display:grid;gap:9px;margin-bottom:22px}.shift-row{display:flex;justify-content:space-between;gap:16px;padding:13px 14px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.shift-row strong,.shift-row span{display:block}.shift-row>div>span{color:var(--muted);font-size:.78rem;margin-top:4px}.shift-break-text{text-align:right;color:var(--muted);font-size:.76rem}.shift-break-text span{margin-bottom:3px}
.delivery-number{font-size:.64rem;color:var(--accent);font-weight:900;letter-spacing:.08em;margin-bottom:3px}
@media(max-width:520px){.history-metrics{grid-template-columns:repeat(2,1fr);row-gap:9px}.shift-row{display:block}.shift-break-text{text-align:left;margin-top:8px}.export-bar{grid-template-columns:1fr 1fr}}


/* Phase 3.2 Session Setup */
.secondary-strip{margin-top:-6px}
.session-quick-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:14px 15px;margin:0 0 16px
}
.session-quick-card strong,.session-quick-card span{display:block}.session-quick-card strong{margin-top:4px}.session-quick-card span{color:var(--muted);font-size:.78rem;margin-top:3px}
.session-quick-card .btn{padding:10px 13px;font-size:.78rem;flex:0 0 auto}
.session-form{display:grid;gap:0}.session-section h2{margin-top:.25rem}
.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.session-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.session-grid .wide{grid-column:1/-1}
.readout-field{background:#11151a;border:1px solid var(--line);border-radius:12px;padding:13px}
.readout-field span,.readout-field small{display:block;color:var(--muted);font-size:.74rem}.readout-field strong{display:block;font-size:1.08rem;margin:5px 0}.readout-field small{font-size:.68rem}
.session-save{margin:0 0 16px}
.shift-tracking-card{margin-top:2px}
.session-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.session-summary-grid>div{background:#11151a;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.session-summary-grid span{display:block;color:var(--muted);font-size:.68rem}.session-summary-grid strong{display:block;margin-top:4px;font-size:1rem}
.export-bar.three-actions{grid-template-columns:1.5fr 1fr 1fr}
.small-btn{padding:9px 12px;font-size:.76rem}
.session-detail-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:13px;margin-bottom:20px}
.session-detail-card>div{background:#11151a;border-radius:10px;padding:10px}.session-detail-card span{display:block;color:var(--muted);font-size:.68rem}.session-detail-card strong{display:block;margin-top:4px;font-size:.9rem}.session-detail-card p{grid-column:1/-1;margin:2px 3px;color:#c6cbd0;font-size:.85rem}
.story-grid{display:grid;gap:9px;margin-bottom:22px}.story-grid>div{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:12px}.story-grid span{display:block;color:var(--accent);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.story-grid p{margin:6px 0 0;color:#d4d8dc;font-size:.88rem}
@media(max-width:560px){
  .session-grid,.session-grid.three-up{grid-template-columns:1fr}
  .session-grid .wide{grid-column:auto}
  .session-summary-grid{grid-template-columns:1fr}
  .export-bar.three-actions{grid-template-columns:1fr 1fr}.export-bar.three-actions .btn:first-child{grid-column:1/-1}
}


/* Phase 3.3 split-session workflow */
html{scroll-behavior:smooth}
.workflow-section{scroll-margin-top:82px}
.session-workflow{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px;
  position:sticky;top:63px;z-index:12;padding:7px 0;
  background:linear-gradient(to bottom,var(--bg) 78%,rgba(15,18,22,0))
}
.workflow-step{
  display:flex;align-items:center;gap:9px;min-width:0;
  color:var(--text);text-decoration:none;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;padding:10px
}
.workflow-step:active{border-color:var(--accent)}
.workflow-number{
  display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;
  background:#11151a;border:1px solid #5f481d;color:var(--accent);font-weight:900;font-size:.8rem
}
.workflow-copy{min-width:0}.workflow-copy b,.workflow-copy small{display:block}
.workflow-copy b{font-size:.78rem}.workflow-copy small{font-size:.66rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workflow-callout{
  display:grid;gap:4px;background:#13181d;border:1px solid #4b3d22;border-radius:14px;
  padding:13px 14px;margin-bottom:16px
}
.workflow-callout strong{font-size:.9rem}.workflow-callout span{color:var(--muted);font-size:.8rem;line-height:1.4}
.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.save-state{
  flex:0 0 auto;border:1px solid var(--line);background:#11151a;color:var(--muted);
  border-radius:999px;padding:6px 8px;font-size:.64rem;font-weight:900;letter-spacing:.06em
}
.save-state.saved,.save-state.complete{border-color:#2f6b4b;color:#9be1ba}
.save-state.active{border-color:#8b6c2e;color:#ffd27d}
.section-help{margin-top:-6px;margin-bottom:16px}
.form-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:0 0 18px}
.form-actions .btn{display:grid;place-items:center}
#wrap-up{padding-top:2px}
@media(max-width:560px){
  .session-workflow{top:59px}
  .workflow-step{padding:9px 7px;gap:6px}
  .workflow-number{flex-basis:24px;height:24px;font-size:.72rem}
  .workflow-copy b{font-size:.7rem}.workflow-copy small{font-size:.59rem}
  .form-actions{grid-template-columns:1fr}
}


/* Phase 3.4 quality-of-life tools */
.delivery-card-actions{display:flex;justify-content:flex-end;margin:-2px 0 10px}
.inline-card-actions{display:flex;justify-content:flex-start;margin:4px 0 14px}
.form-hint{display:block;color:var(--muted);font-size:.72rem;margin-top:-6px}
.narrow-edit{width:min(620px,100%)}
.reuse-session-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:#151b20;border:1px solid #4b3d22;border-radius:16px;padding:14px 15px;margin-bottom:14px
}
.reuse-session-card strong,.reuse-session-card span{display:block}
.reuse-session-card strong{margin:3px 0 4px}
.reuse-session-card span{font-size:.78rem;line-height:1.4;color:var(--muted);max-width:500px}
.reuse-session-card form{flex:0 0 auto}
.status-pill.complete{border-color:#2f6b4b;color:#9be1ba}
@media(max-width:560px){
  .reuse-session-card{display:grid}
  .reuse-session-card form,.reuse-session-card .btn{width:100%}
}


/* =========================================================
   Phase 3.5 — UI/UX + Branding
   ========================================================= */
:root{
  --brand-orange:#E05A24;
  --brand-cream:#F2E7C7;
  --brand-olive:#B99A3C;
  --bg:#0E0E0F;
  --panel:#151d24;
  --panel2:#1B2A3A;
  --line:#35424b;
  --text:#f4f5f6;
  --muted:#aab1b9;
  --accent:var(--brand-orange);
  --accent2:#f07a3d;
}
body{padding-bottom:78px}
.app-shell{padding-top:18px}

.app-header{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 14px;
  background:rgba(15,18,22,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px)
}
.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}
.brand-logo{
  width:46px;height:46px;object-fit:contain;flex:0 0 46px
}
.brand-name{
  color:var(--accent);font-size:.62rem;letter-spacing:.12em;font-weight:900
}
.page-title{display:block;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-subtitle{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}
.header-actions form{margin:0}
.icon-link{
  display:grid;place-items:center;width:38px;height:38px;border-radius:11px;
  border:1px solid var(--line);background:var(--panel);color:var(--muted);
  text-decoration:none;font-weight:900
}

.bottom-nav{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  padding:5px max(4px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));
  background:rgba(13,16,20,.98);
  border-top:1px solid var(--line);
  backdrop-filter:blur(14px)
}
.nav-item{
  display:grid;place-items:center;gap:2px;min-height:54px;
  color:#858d96;text-decoration:none;font-size:.7rem;font-weight:800
}
.nav-icon{font-size:1.15rem;line-height:1}
.nav-item.active{color:var(--accent)}
.nav-item.active .nav-icon{
  display:grid;place-items:center;width:28px;height:28px;border-radius:999px;
  background:rgba(232,115,17,.13)
}
.bottom-spacer{height:18px}

.today-hero{padding:19px}
.today-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.hero-money{font-size:2.8rem;font-weight:950;letter-spacing:-.04em;margin-top:3px}
.hero-subline{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;font-weight:700}
.hero-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--line)
}
.hero-metrics div{display:grid;gap:2px}
.hero-metrics span{font-size:.68rem;color:var(--muted);font-weight:700}
.hero-metrics strong{font-size:1rem}
.status-badge{
  border:1px solid var(--line);border-radius:999px;padding:7px 9px;
  font-size:.68rem;font-weight:900;white-space:nowrap
}
.status-badge.working{border-color:#2f6b4b;color:#9be1ba}
.status-badge.break{border-color:#8b6c2e;color:#ffd27d}
.status-badge.complete{border-color:#4c5c72;color:#b8c6db}
.status-badge.off{color:var(--muted)}

.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.quick-link{
  display:grid;grid-template-columns:auto 1fr;column-gap:9px;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:13px;text-decoration:none;color:var(--text)
}
.quick-link>span{grid-row:1/3;color:var(--accent);font-size:1.15rem}
.quick-link b{font-size:.82rem}
.quick-link small{font-size:.67rem;color:var(--muted);margin-top:2px}

.action-title-row,.delivery-row-main{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px
}
.small-edit-link{
  color:var(--accent);text-decoration:none;font-size:.75rem;font-weight:850
}
.delivery-row{display:grid;gap:10px}
.delivery-row-stats{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;
  padding-top:8px;border-top:1px solid #272e35
}
.delivery-row-stats b{font-size:1rem;margin-right:auto}
.delivery-row-stats span{font-size:.72rem;color:var(--muted)}

.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.view-toggle{
  display:inline-grid;grid-template-columns:1fr 1fr;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:3px
}
.toggle-btn{
  border:0;background:transparent;color:var(--muted);padding:8px 13px;
  border-radius:9px;font-weight:800;font-size:.76rem
}
.toggle-btn.active{background:var(--panel2);color:var(--accent)}
.btn.compact{width:auto;padding:9px 11px;font-size:.72rem}

.calendar-header{
  display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;
  margin-bottom:12px
}
.calendar-header h1{font-size:1.45rem;margin:.15rem 0}
.month-nav{
  display:grid;place-items:center;width:42px;height:42px;border-radius:12px;
  background:var(--panel);border:1px solid var(--line);color:var(--text);
  text-decoration:none;font-size:1.35rem
}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-weekdays{margin-bottom:6px}
.calendar-weekdays div{
  text-align:center;color:var(--muted);font-size:.67rem;font-weight:900;padding:5px 0
}
.calendar-cell{
  min-height:70px;padding:7px;border-radius:11px;
  background:#12161b;border:1px solid #242b32;color:var(--text);text-decoration:none;
  display:flex;flex-direction:column;align-items:flex-start
}
.calendar-cell.empty-cell{background:transparent;border-color:transparent}
.calendar-cell.logged{background:var(--panel);border-color:#4b3a20}
.calendar-cell.logged:active{border-color:var(--accent)}
.calendar-cell.today{box-shadow:inset 0 0 0 1px var(--accent)}
.day-number{font-size:.72rem;font-weight:900}
.calendar-cell strong{margin-top:auto;font-size:.75rem;color:var(--brand-cream)}
.calendar-cell small{font-size:.6rem;color:var(--muted);margin-top:2px}
.calendar-legend{display:flex;gap:16px;margin:12px 2px 18px;color:var(--muted);font-size:.67rem}
.calendar-legend span{display:flex;align-items:center;gap:5px}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.logged-dot{background:#8a5f2b}.today-dot{border:1px solid var(--accent)}

.history-list{display:grid;gap:9px}
.history-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:13px;color:var(--text);text-decoration:none
}
.history-row strong,.history-row span{display:block}
.history-row span{color:var(--muted);font-size:.72rem;margin-top:3px}
.history-row-right{text-align:right}

.login-body{display:grid;min-height:100vh;place-items:center;padding:24px}
.login-shell{width:min(420px,100%);text-align:center}
.login-logo{width:290px;max-width:78vw;max-height:360px;object-fit:contain;display:block;margin:0 auto 12px}
.login-heading h1{margin:.2rem 0}
.login-card{text-align:left;margin-top:18px}

@media(max-width:520px){
  .brand-logo{width:42px;height:42px;flex-basis:42px}
  .page-title{font-size:.94rem}
  .hero-money{font-size:2.45rem}
  .hero-metrics strong{font-size:.92rem}
  .calendar-grid{gap:4px}
  .calendar-cell{min-height:62px;padding:6px}
  .calendar-cell strong{font-size:.68rem}
  .quick-actions{grid-template-columns:1fr 1fr}
}


/* Phase 3.5.1 — reset Session Setup */
.reset-session-card{
  margin-top:22px;
  border-color:#513037;
}
.danger-state{
  border-color:#6a343c;
  color:#ffb4bd;
}
.danger-details{
  margin-top:10px;
  border:1px solid #4e3035;
  border-radius:12px;
  background:#171216;
  overflow:hidden;
}
.danger-details summary{
  cursor:pointer;
  list-style:none;
  padding:13px 14px;
  color:#f2c4c9;
  font-size:.82rem;
  font-weight:850;
}
.danger-details summary::-webkit-details-marker{display:none}
.danger-details summary::after{
  content:'›';
  float:right;
  color:var(--muted);
  font-size:1rem;
}
.danger-details[open] summary::after{content:'⌄'}
.reset-session-form{
  border-top:1px solid #4e3035;
  padding:14px;
}
.danger-copy{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}


/* Phase 3.5.3 — clear distinction between setup reset and full-day reset */
.reset-choice-grid{display:grid;gap:10px}
.danger-details summary span{display:block}
.danger-details summary strong,.danger-details summary small{display:block}
.danger-details summary small{
  color:var(--muted);
  font-size:.68rem;
  font-weight:650;
  margin-top:2px
}
.setup-only-reset{border-color:#454c54}
.setup-only-reset summary{color:var(--text)}
.full-day-reset{
  border-color:#6a343c;
  background:#1a1215
}
.full-day-reset summary{color:#ffc1c7}


/* v3.5.5 — visible installed version */
.app-version-footer{
  text-align:center;
  color:#646d76;
  font-size:.62rem;
  font-weight:750;
  letter-spacing:.04em;
  padding:10px 12px calc(76px + env(safe-area-inset-bottom));
}
.login-version{
  margin-top:18px;
  text-align:center;
  color:#646d76;
  font-size:.62rem;
  font-weight:750;
  letter-spacing:.04em;
}


/* =========================================================
   v3.6.0 — Compact tabbed Session Setup workflow
   ========================================================= */
.session-page{padding-top:12px}
.session-day-hero{margin:0 0 8px}
.session-day-hero h1{font-size:1.55rem}

.session-tabs{
  margin-bottom:12px;
}
.session-tabs .workflow-step{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.session-tabs .workflow-step.active{
  border-color:#8b6325;
  background:#211c14;
  box-shadow:inset 0 0 0 1px rgba(232,115,17,.12);
}
.session-tabs .workflow-step.active .workflow-number{
  background:var(--accent);
  border-color:var(--accent);
  color:#14110c;
}
.session-tabs .workflow-step.active .workflow-copy b{color:var(--brand-cream)}

.session-tab-panel{margin:0}
.js .session-tab-panel{display:none}
.js .session-tab-panel.is-active{display:block}
.session-tab-panel[hidden]{display:none!important}

.compact-reuse-card{margin-bottom:10px}
.compact-reuse-card span{max-width:460px}

.workday-summary-grid{margin:4px 0 12px}
.workday-back-btn{margin-top:12px}
.compact-empty{margin:10px 0 2px;padding:13px}
.compact-shift-list{margin-bottom:0}

.session-collapse,
.session-maintenance{
  border:1px solid var(--line);
  border-radius:13px;
  background:#12171c;
  overflow:hidden;
}
.session-collapse{margin-top:12px}
.session-collapse>summary,
.session-maintenance>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  color:var(--text);
}
.session-collapse>summary::-webkit-details-marker,
.session-maintenance>summary::-webkit-details-marker{display:none}
.session-collapse>summary span,
.session-maintenance>summary span{display:block;min-width:0}
.session-collapse>summary strong,
.session-collapse>summary small,
.session-maintenance>summary strong,
.session-maintenance>summary small{display:block}
.session-collapse>summary strong,
.session-maintenance>summary strong{font-size:.8rem}
.session-collapse>summary small,
.session-maintenance>summary small{
  color:var(--muted);
  font-size:.66rem;
  margin-top:2px
}
.session-collapse>summary::after,
.session-maintenance>summary::after{
  content:'›';
  color:var(--muted);
  font-size:1.1rem;
  font-weight:900
}
.session-collapse[open]>summary::after,
.session-maintenance[open]>summary::after{content:'⌄'}
.collapse-body,
.maintenance-body{
  border-top:1px solid var(--line);
  padding:12px
}

.wrap-numeric-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px
}
.wrap-readout-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:11px
}
.story-note-fields{display:grid;gap:11px}
.story-note-fields label{margin:0}

.session-maintenance{
  margin-top:8px;
  border-color:#3b3435;
  background:#121416
}
.session-maintenance>summary{padding:11px 13px}
.session-maintenance>summary strong{color:#c7cbd0}
.session-maintenance>summary small{color:#717981}
.session-maintenance .danger-details:first-child{margin-top:0}

.save-state.break{border-color:#8b6c2e;color:#ffd27d}

@media(max-width:560px){
  .session-page{padding-left:12px;padding-right:12px}
  .session-day-hero h1{font-size:1.3rem}
  .session-tabs{
    gap:5px;
    top:58px;
    padding:5px 0 7px
  }
  .session-tabs .workflow-step{
    padding:8px 6px;
    border-radius:11px
  }
  .session-tabs .workflow-number{
    display:none
  }
  .session-tabs .workflow-copy{
    width:100%;
    text-align:center
  }
  .session-tabs .workflow-copy b{font-size:.73rem}
  .session-tabs .workflow-copy small{font-size:.58rem}
  .wrap-numeric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .wrap-numeric-grid label{font-size:.7rem}
  .wrap-numeric-grid input{min-width:0}
  .wrap-readout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .wrap-readout-grid .readout-field{padding:10px}
  .wrap-readout-grid .readout-field strong{font-size:.95rem}
  .workday-summary-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px
  }
  .workday-summary-grid>div{padding:9px 5px}
  .workday-summary-grid span{font-size:.58rem}
  .workday-summary-grid strong{font-size:.83rem}
  .session-collapse>summary,
  .session-maintenance>summary{padding:11px 12px}
}


/* =========================================================
   v4.0.0 — Challenge Reporting + Overlay Integration
   ========================================================= */
.reports-page,.challenge-report-page{padding-bottom:10px}
.report-intro{margin-bottom:12px}
.report-intro h1{margin:.2rem 0 .35rem}
.report-intro p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45;max-width:620px}

.report-create-card,
.challenge-maintenance{
  border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;margin-bottom:18px
}
.report-create-card>summary,
.challenge-maintenance>summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  padding:13px 14px
}
.report-create-card>summary::-webkit-details-marker,
.challenge-maintenance>summary::-webkit-details-marker{display:none}
.report-create-card>summary span,
.challenge-maintenance>summary span{display:block}
.report-create-card>summary strong,.report-create-card>summary small,
.challenge-maintenance>summary strong,.challenge-maintenance>summary small{display:block}
.report-create-card>summary small,.challenge-maintenance>summary small{color:var(--muted);font-size:.68rem;margin-top:2px}
.report-create-card>summary::after,.challenge-maintenance>summary::after{content:'›';color:var(--muted);font-weight:900}
.report-create-card[open]>summary::after,.challenge-maintenance[open]>summary::after{content:'⌄'}

.challenge-form{
  border-top:1px solid var(--line);padding:13px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px
}
.challenge-form .wide{grid-column:1/-1}
.challenge-duration-preview{
  border:1px solid var(--line);border-radius:11px;background:#12171c;padding:10px 11px;
  display:grid;align-content:center
}
.challenge-duration-preview span{font-size:.68rem;color:var(--muted);font-weight:750}
.challenge-duration-preview strong{margin-top:3px}

.report-list-head{margin-top:6px}
.challenge-card-list{display:grid;gap:10px}
.challenge-card{
  display:block;background:var(--panel);border:1px solid var(--line);border-radius:15px;
  padding:14px;color:var(--text);text-decoration:none
}
.challenge-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.challenge-card h3{margin:5px 0 2px;font-size:1rem}
.challenge-card small{color:var(--muted);font-size:.67rem}
.challenge-state{
  display:inline-block;font-size:.58rem;font-weight:950;letter-spacing:.1em;
  border:1px solid var(--line);border-radius:999px;padding:4px 6px
}
.challenge-state.active{color:#9be1ba;border-color:#2f6b4b}
.challenge-state.complete{color:#b8c6db;border-color:#4c5c72}
.challenge-state.upcoming{color:#ffd27d;border-color:#8b6c2e}
.challenge-chevron{font-size:1.5rem;color:var(--muted)}
.challenge-money-line{display:flex;align-items:baseline;gap:7px;margin-top:13px}
.challenge-money-line strong{font-size:1.6rem}
.challenge-money-line span{color:var(--muted);font-size:.78rem}
.challenge-progress-track{
  height:10px;background:#252b31;border-radius:999px;overflow:hidden;margin-top:9px
}
.challenge-progress-track i{
  display:block;height:100%;background:var(--accent);border-radius:999px;min-width:0
}
.challenge-progress-track.large{height:14px;margin-top:13px}
.challenge-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;color:var(--muted);font-size:.67rem}
.challenge-card-stats b{color:var(--text)}

.text-back-link{display:inline-block;margin:2px 0 10px;color:var(--muted);text-decoration:none;font-size:.76rem;font-weight:800}
.challenge-report-hero{
  background:linear-gradient(145deg,#171c21,#12161a);border:1px solid #3d3324;border-radius:17px;
  padding:17px;margin-bottom:11px
}
.challenge-report-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.challenge-report-title h1{font-size:1.35rem;margin:.2rem 0}
.challenge-report-title p{margin:0;color:var(--muted);font-size:.68rem}
.challenge-day-badge{
  border:1px solid #574425;border-radius:11px;padding:8px 10px;color:#b8a27f;font-size:.65rem;font-weight:900;white-space:nowrap
}
.challenge-day-badge strong{font-size:1rem;color:var(--accent)}
.through-date-form{
  display:flex;align-items:end;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)
}
.through-date-form label{flex:1;margin:0}
.challenge-big-money{display:flex;align-items:baseline;gap:9px;margin-top:15px}
.challenge-big-money strong{font-size:2.35rem;letter-spacing:-.035em}
.challenge-big-money span{color:var(--muted);font-weight:750}
.challenge-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:7px;color:var(--muted);font-size:.69rem}
.challenge-progress-meta b{color:var(--text)}

.challenge-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:11px}
.challenge-kpi-grid article{
  background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:11px
}
.challenge-kpi-grid span,.challenge-kpi-grid strong,.challenge-kpi-grid small{display:block}
.challenge-kpi-grid span{font-size:.62rem;color:var(--muted);font-weight:800}
.challenge-kpi-grid strong{font-size:1rem;margin-top:4px}
.challenge-kpi-grid small{font-size:.58rem;color:#737c85;margin-top:3px}
.positive{color:#9be1ba!important}.negative{color:#ff9ba8!important}

.challenge-overlay-section,.challenge-days-section{margin-bottom:11px}
.challenge-overlay-preview{
  margin-top:11px;border:1px solid #3b4249;border-left:5px solid var(--accent);border-radius:13px;
  background:#101419;padding:13px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center
}
.challenge-overlay-preview div span,.challenge-overlay-preview div strong{display:block}
.challenge-overlay-preview div span{font-size:.55rem;color:var(--accent);font-weight:950;letter-spacing:.08em}
.challenge-overlay-preview div strong{margin-top:4px;font-size:.9rem}
.challenge-overlay-preview>b{font-size:.7rem;color:#f2b452}
.challenge-overlay-preview>em{grid-column:1/-1;font-style:normal;font-size:1.25rem;font-weight:950}
.overlay-export-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}

.challenge-day-list{display:grid;gap:7px;margin-top:10px}
.challenge-day-row{
  display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;
  padding:10px;border:1px solid var(--line);border-radius:12px;background:#13181d;color:var(--text);text-decoration:none
}
.challenge-day-row.worked{border-color:#403522}
.challenge-day-number{
  display:grid;place-items:center;min-height:40px;border-radius:9px;background:#1c2228;
  color:var(--accent);font-size:.68rem;font-weight:950
}
.challenge-day-main strong,.challenge-day-main span,.challenge-day-money strong,.challenge-day-money span{display:block}
.challenge-day-main strong{font-size:.77rem}
.challenge-day-main span{font-size:.61rem;color:var(--muted);margin-top:2px}
.challenge-day-money{text-align:right}
.challenge-day-money strong{font-size:.84rem}
.challenge-day-money span{font-size:.59rem;color:var(--muted);margin-top:2px}
.challenge-maintenance{margin-top:11px;background:#121416;border-color:#3b3435}

@media(max-width:720px){
  .challenge-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .challenge-form{grid-template-columns:1fr 1fr;gap:9px}
  .challenge-card-stats{gap:4px}
  .challenge-card-stats span{font-size:.61rem}
  .challenge-report-title{display:block}
  .challenge-day-badge{display:inline-block;margin-top:8px}
  .challenge-big-money strong{font-size:2rem}
  .overlay-export-actions{grid-template-columns:1fr}
  .challenge-day-row{grid-template-columns:45px 1fr;gap:8px}
  .challenge-day-money{grid-column:2;text-align:left;display:flex;gap:7px;align-items:baseline}
  .challenge-day-money strong,.challenge-day-money span{display:inline}
}


/* =========================================================
   v4.1.0 — Bottom Nav, Historical Backfill, General Reports
   ========================================================= */

/* Four bottom-menu items must stay on one row, including narrow iPhones. */
.bottom-nav{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:0;
  padding-left:max(2px,env(safe-area-inset-left));
  padding-right:max(2px,env(safe-area-inset-right));
}
.nav-item{
  min-width:0;
  min-height:52px;
  gap:1px;
  padding:2px 1px;
  font-size:.62rem;
  overflow:hidden;
}
.nav-item>span:last-child{
  width:100%;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-icon{font-size:1.02rem}
.nav-item.active .nav-icon{width:25px;height:25px}

/* Reports view navigation */
.report-view-tabs{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr;
  gap:5px;
  margin-bottom:11px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#12161a;
}
.report-view-tabs a{
  min-width:0;
  text-align:center;
  text-decoration:none;
  color:var(--muted);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.04em;
  padding:9px 5px;
  border-radius:9px;
  white-space:nowrap;
}
.report-view-tabs a.active{background:#211c14;color:var(--accent)}
.report-view-tabs .backfill-tab{color:#c6cbd1}

.report-overview-hero{margin-bottom:10px}
.report-overview-hero h1{margin:.2rem 0 .25rem}
.report-overview-hero p,.backfill-hero p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}

.period-control-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:14px;
  padding:9px;
  margin-bottom:10px;
}
.period-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  padding:3px;
  border-radius:10px;
  background:#111519;
}
.period-tabs a{
  text-align:center;
  padding:8px 3px;
  border-radius:8px;
  text-decoration:none;
  color:var(--muted);
  font-size:.62rem;
  font-weight:900;
}
.period-tabs a.active{background:#292116;color:var(--accent)}
.period-navigation{
  display:grid;
  grid-template-columns:38px 1fr 38px;
  align-items:end;
  gap:7px;
  margin-top:8px;
}
.period-navigation form{display:flex;align-items:end;gap:6px;min-width:0}
.period-navigation label{flex:1;min-width:0;margin:0;font-size:.63rem}
.period-navigation input{min-width:0}
.period-arrow{
  display:grid;
  place-items:center;
  height:40px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  text-decoration:none;
  font-size:1.25rem;
}

.report-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.report-kpi{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:13px;
  padding:11px;
  min-width:0;
}
.report-kpi span,.report-kpi strong,.report-kpi small{display:block}
.report-kpi span{color:var(--muted);font-size:.6rem;font-weight:800}
.report-kpi strong{font-size:1.04rem;margin-top:4px;overflow-wrap:anywhere}
.report-kpi small{color:#737c85;font-size:.56rem;margin-top:3px;line-height:1.3}
.report-kpi.hero-kpi{border-color:#5d4421;background:#191711}
.report-kpi.hero-kpi strong{color:#fff;font-size:1.25rem}

.report-platform-card,.report-breakdown-card{margin-bottom:10px}
.period-breakdown-list{display:grid;gap:6px;margin-top:8px}
.period-breakdown-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#13181d;
  color:var(--text);
  text-decoration:none;
}
.period-breakdown-row>div:last-child{text-align:right}
.period-breakdown-row strong,.period-breakdown-row span{display:block}
.period-breakdown-row strong{font-size:.75rem}
.period-breakdown-row span{font-size:.59rem;color:var(--muted);margin-top:2px}

/* Historical data / backfill */
.backfill-hero{margin-bottom:10px}
.backfill-hero h1{margin:.2rem 0 .3rem}
.backfill-section{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  overflow:hidden;
  margin-bottom:10px;
}
.backfill-section>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 14px;
}
.backfill-section>summary::-webkit-details-marker{display:none}
.backfill-section>summary span,
.backfill-section>summary strong,
.backfill-section>summary small{display:block}
.backfill-section>summary small{font-size:.65rem;color:var(--muted);margin-top:2px}
.backfill-section>summary::after{content:'›';color:var(--muted);font-weight:900}
.backfill-section[open]>summary::after{content:'⌄'}

.historical-import-form,.historical-day-form{
  border-top:1px solid var(--line);
  padding:13px;
}
.historical-import-form{display:grid;gap:11px}
.check-row{
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  font-size:.7rem!important;
  color:var(--muted);
}
.check-row input{width:auto!important;margin-top:2px}
.form-note{
  margin:0;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.45;
}
.historical-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:11px;
}
.historical-form-grid .wide{grid-column:1/-1}
.historical-form-grid .key-input input{border-color:#6a4b22}

.historical-list{display:grid;gap:8px}
.historical-row{
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
  overflow:hidden;
}
.historical-row.superseded{opacity:.66}
.historical-row>a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:11px;
  color:var(--text);
  text-decoration:none;
}
.historical-row>a>div:last-child{text-align:right}
.historical-row strong,.historical-row span{display:block}
.historical-row strong{font-size:.76rem}
.historical-row span{font-size:.59rem;color:var(--muted);margin-top:2px}
.historical-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  padding:7px 10px;
  border-top:1px solid var(--line);
}
.historical-row-actions form{margin:0}

.historical-day-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #62502f;
  border-left:5px solid var(--accent);
  border-radius:13px;
  background:#191711;
  padding:11px 12px;
  margin-bottom:10px;
}
.historical-day-banner div span,
.historical-day-banner div strong,
.historical-day-banner div small{display:block}
.historical-day-banner div span{font-size:.55rem;color:var(--accent);font-weight:950;letter-spacing:.08em}
.historical-day-banner div strong{font-size:.72rem;margin-top:3px}
.historical-day-banner div small{font-size:.59rem;color:var(--muted);margin-top:2px;line-height:1.35}

@media(max-width:720px){
  .report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .historical-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .report-view-tabs{grid-template-columns:.9fr 1fr 1.35fr}
  .report-view-tabs a{font-size:.56rem;padding-left:2px;padding-right:2px}
  .period-navigation form .btn{padding-left:8px;padding-right:8px}
  .historical-day-banner{display:grid}
}




/* =========================================================
   v4.2.1 — Custom Ranges + Challenge Workbook Workflow
   ========================================================= */

.period-tabs.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.period-tabs.five a{font-size:.58rem;padding-left:2px;padding-right:2px}

.custom-range-form{
  display:grid;
  grid-template-columns:1fr 34px 1fr auto;
  align-items:end;
  gap:8px;
  margin-top:9px;
}
.custom-range-form label{margin:0;min-width:0}
.custom-range-form input{min-width:0}
.custom-range-separator{
  align-self:center;
  text-align:center;
  color:var(--muted);
  font-size:.6rem;
  font-weight:950;
  padding-top:14px;
}

.challenge-workbook-section{margin-bottom:11px}
.challenge-workbook-callout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:11px 0;
}
.challenge-workbook-callout>div{
  padding:11px 12px;
  border:1px solid var(--line);
  border-left:4px solid var(--accent);
  border-radius:11px;
  background:#13181d;
}
.challenge-workbook-callout span,
.challenge-workbook-callout strong,
.challenge-workbook-callout small{display:block}
.challenge-workbook-callout span{
  color:var(--accent);
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.07em;
}
.challenge-workbook-callout strong{
  color:var(--text);
  font-size:.78rem;
  margin-top:4px;
  line-height:1.3;
}
.challenge-workbook-callout small{
  color:var(--muted);
  font-size:.59rem;
  margin-top:3px;
  line-height:1.35;
}
.workbook-upload-note{
  margin:9px 0 0;
  color:var(--muted);
  font-size:.64rem;
  line-height:1.45;
}

@media(max-width:520px){
  .custom-range-form{
    grid-template-columns:1fr 22px 1fr;
  }
  .custom-range-form .btn{
    grid-column:1/-1;
    width:100%;
  }
  .custom-range-separator{padding-top:13px}
  .period-tabs.five a{font-size:.51rem}
  .challenge-workbook-callout{grid-template-columns:1fr}
}


/* =========================================================
   v4.3.0 — Reports hierarchy, bulk delivery delete, UI cleanup
   ========================================================= */

/* History now lives inside Reports, so the persistent nav is 3 items. */
.bottom-nav{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.nav-item{
  font-size:.66rem;
}
.nav-icon{
  font-size:1.08rem;
}

/* Reports now has four internal destinations. */
.report-section-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.report-section-tabs a{
  min-width:0;
  font-size:.57rem;
  padding-left:3px;
  padding-right:3px;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Historical Data intro: separate hierarchy from explanatory content. */
.backfill-intro-v2{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(320px,1.35fr);
  gap:24px;
  align-items:start;
  margin:4px 0 15px;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:
    linear-gradient(135deg,rgba(20,24,28,.98),rgba(13,17,21,.98));
}
.backfill-intro-heading{
  padding-right:20px;
  border-right:1px solid var(--line);
}
.backfill-intro-heading h1{
  margin:.22rem 0 0;
  max-width:290px;
  font-size:1.65rem;
  line-height:1.03;
  letter-spacing:-.03em;
}
.backfill-intro-content{
  display:grid;
  gap:11px;
}
.backfill-intro-content>p{
  margin:1px 0 0;
  color:#b8bec4;
  font-size:.76rem;
  line-height:1.5;
  max-width:650px;
}
.backfill-safety-note{
  padding:10px 12px;
  border-left:4px solid var(--accent);
  border-radius:8px;
  background:#15191d;
}
.backfill-safety-note span,
.backfill-safety-note strong,
.backfill-safety-note small{
  display:block;
}
.backfill-safety-note span{
  color:var(--accent);
  font-size:.53rem;
  font-weight:950;
  letter-spacing:.1em;
}
.backfill-safety-note strong{
  margin-top:3px;
  color:var(--text);
  font-size:.72rem;
}
.backfill-safety-note small{
  margin-top:2px;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.4;
}

/* Bulk delivery management */
.delivery-section-head .section-head-tools{
  display:flex;
  align-items:center;
  gap:8px;
}
.bulk-manage-toggle{
  appearance:none;
  -webkit-appearance:none;
  background:none;
  border:0;
  cursor:pointer;
  font:inherit;
}
.bulk-delivery-toolbar{
  position:sticky;
  top:64px;
  z-index:8;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
  padding:9px 10px;
  border:1px solid #654047;
  border-radius:12px;
  background:rgba(24,18,21,.97);
  box-shadow:0 8px 20px rgba(0,0,0,.25);
}
.bulk-delivery-toolbar[hidden]{display:none!important}
.bulk-select-all{
  display:flex!important;
  align-items:center;
  gap:6px;
  margin:0!important;
  color:var(--text)!important;
  font-size:.67rem!important;
  font-weight:800!important;
  white-space:nowrap;
}
.bulk-select-all input{
  width:17px!important;
  height:17px!important;
  margin:0!important;
}
.bulk-selected-count{
  color:var(--muted);
  font-size:.64rem;
}
.bulk-toolbar-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.delivery-row-identity{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.bulk-delivery-check{
  display:none;
  position:relative;
  flex:0 0 25px;
  width:25px;
  height:25px;
  margin:0!important;
  cursor:pointer;
}
.bulk-delivery-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.bulk-delivery-check span{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid #5d666e;
  border-radius:7px;
  color:transparent;
  background:#11161a;
  font-size:.75rem;
  font-weight:950;
}
.bulk-delivery-check input:checked+span{
  border-color:var(--accent);
  background:#2a1d13;
  color:var(--accent);
}
.bulk-delivery-form.manage-mode .bulk-delivery-check{
  display:block;
}
.bulk-delivery-form.manage-mode .delivery-edit-link{
  visibility:hidden;
}
.bulk-delivery-form.manage-mode .bulk-eligible-row{
  border-color:#4c4540;
}
.bulk-protected-row{
  position:relative;
}

/* Session Maintenance arrows: fixed to far-right center instead of floating. */
.session-maintenance>summary,
.danger-details>summary{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:50px;
  padding-right:44px!important;
}
.session-maintenance>summary>span,
.danger-details>summary>span{
  min-width:0;
  flex:1 1 auto;
}
.session-maintenance>summary::after,
.danger-details>summary::after{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  float:none!important;
  margin:0!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  width:18px;
  height:22px;
}

/* Remove the older backfill hero rules from affecting the new intro. */
.backfill-hero{display:none}

@media(max-width:620px){
  .backfill-intro-v2{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
  }
  .backfill-intro-heading{
    padding-right:0;
    padding-bottom:11px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .backfill-intro-heading h1{
    max-width:none;
    font-size:1.45rem;
  }
  .report-section-tabs a{
    font-size:.52rem;
    padding-left:1px;
    padding-right:1px;
  }
}

@media(max-width:520px){
  .bulk-delivery-toolbar{
    grid-template-columns:1fr auto;
  }
  .bulk-selected-count{
    text-align:right;
  }
  .bulk-toolbar-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .bulk-toolbar-actions .btn{
    width:100%;
  }
}


/* =========================================================
   v4.4.0 — Unified page intros + Reports dashboard charts
   ========================================================= */

/* Shared page hero / intro system */
.page-intro-v4{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(320px,1.35fr);
  gap:24px;
  align-items:start;
  margin:4px 0 15px;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(20,24,28,.98),rgba(13,17,21,.98));
}
.page-intro-v4-heading{
  padding-right:20px;
  border-right:1px solid var(--line);
}
.page-intro-v4-heading h1{
  margin:.22rem 0 0;
  max-width:310px;
  font-size:1.65rem;
  line-height:1.03;
  letter-spacing:-.03em;
}
.page-intro-v4-content{
  display:grid;
  gap:11px;
}
.page-intro-v4-content>p{
  margin:1px 0 0;
  color:#b8bec4;
  font-size:.76rem;
  line-height:1.5;
  max-width:650px;
}
.page-intro-v4-note{
  padding:10px 12px;
  border-left:4px solid var(--accent);
  border-radius:8px;
  background:#15191d;
}
.page-intro-v4-note span,
.page-intro-v4-note strong,
.page-intro-v4-note small{display:block}
.page-intro-v4-note span{
  color:var(--accent);
  font-size:.53rem;
  font-weight:950;
  letter-spacing:.1em;
}
.page-intro-v4-note strong{
  margin-top:3px;
  color:var(--text);
  font-size:.73rem;
}
.page-intro-v4-note small{
  margin-top:2px;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.4;
}

/* Legacy backfill intro selectors no longer own the visual system. */
.backfill-intro-v2,
.backfill-intro-heading,
.backfill-intro-content,
.backfill-safety-note{all:unset}

/* Report dashboard cards — modeled after Daily Totals */
.report-dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 9px;
}
.report-dashboard-kpi{
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
}
.report-dashboard-kpi span,
.report-dashboard-kpi strong,
.report-dashboard-kpi small{display:block}
.report-dashboard-kpi span{
  color:var(--muted);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.report-dashboard-kpi strong{
  margin-top:4px;
  color:var(--text);
  font-size:1.06rem;
  white-space:nowrap;
}
.report-dashboard-kpi small{
  margin-top:3px;
  color:#777f88;
  font-size:.56rem;
  line-height:1.3;
}
.report-dashboard-kpi.primary{
  grid-column:span 2;
  border-color:#6f531f;
  background:linear-gradient(180deg,#1d1c18,var(--panel));
}
.report-dashboard-kpi.primary strong{
  color:var(--accent2);
  font-size:1.75rem;
}

.report-secondary-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  margin:0 0 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--line);
}
.report-secondary-strip>div{
  min-width:0;
  padding:9px 7px;
  text-align:center;
  background:#14191e;
}
.report-secondary-strip span,
.report-secondary-strip strong{display:block}
.report-secondary-strip span{color:var(--muted);font-size:.57rem}
.report-secondary-strip strong{margin-top:3px;font-size:.77rem}

.report-chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:11px;
}
.report-chart-panel{
  min-width:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.report-chart-panel-wide{grid-column:1/-1}
.report-chart-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.report-chart-heading h2{
  margin:.16rem 0 0;
  font-size:1rem;
}
.report-chart-heading>span{
  padding:5px 7px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:.54rem;
  font-weight:900;
}
.report-chart-panel>p{
  margin:3px 0 6px;
  color:var(--muted);
  font-size:.62rem;
}
.report-canvas-wrap{
  position:relative;
  width:100%;
  min-width:0;
  height:250px;
}
.report-canvas-wrap.pie{height:210px}
.report-canvas-wrap canvas{
  display:block;
  width:100%;
  max-width:100%;
}
.report-chart-legend{
  display:grid;
  gap:5px;
  margin-top:6px;
}
.report-chart-legend>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:5px 1px;
  border-top:1px solid rgba(255,255,255,.04);
  font-size:.62rem;
}
.report-chart-legend>div>span{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:var(--muted);
}
.report-chart-legend i{
  flex:0 0 8px;
  width:8px;
  height:8px;
  border-radius:2px;
}
.report-chart-legend strong{font-size:.62rem}
.report-chart-legend small{color:var(--muted);font-weight:700}

/* Challenge title now uses the shared intro; this is only the progress dashboard. */
.challenge-progress-dashboard{
  background:linear-gradient(145deg,#171c21,#12161a);
  border:1px solid #3d3324;
  border-radius:17px;
  padding:17px;
  margin-bottom:11px;
}
.challenge-progress-dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.challenge-progress-dashboard-head strong{
  display:block;
  margin-top:3px;
  color:var(--text);
  font-size:.85rem;
}

/* Old report hero styles no longer need special margins. */
.report-overview-hero,
.report-intro{display:none}

@media(max-width:720px){
  .report-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-dashboard-kpi.primary{grid-column:1/-1}
}
@media(max-width:620px){
  .page-intro-v4{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
  }
  .page-intro-v4-heading{
    padding-right:0;
    padding-bottom:11px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .page-intro-v4-heading h1{
    max-width:none;
    font-size:1.45rem;
  }
  .report-chart-grid{grid-template-columns:1fr}
  .report-chart-panel-wide{grid-column:auto}
}
@media(max-width:430px){
  .report-dashboard-kpi strong{font-size:.95rem}
  .report-dashboard-kpi.primary strong{font-size:1.55rem}
  .report-secondary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =========================================================
   v4.4.1 — Shift deletion / accidental-shift cleanup
   ========================================================= */
.shift-manage-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.shift-manage-head p{
  margin:0;
  max-width:560px;
  color:var(--muted);
  font-size:.64rem;
  line-height:1.45;
}
.shift-manage-head .small-edit-link{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  background:none;
  border:0;
  cursor:pointer;
  font:inherit;
}

.shift-delete-toolbar{
  position:sticky;
  top:64px;
  z-index:7;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
  padding:9px 10px;
  border:1px solid #654047;
  border-radius:12px;
  background:rgba(24,18,21,.97);
  box-shadow:0 8px 20px rgba(0,0,0,.25);
}
.shift-delete-toolbar[hidden]{display:none!important}
.shift-select-all{
  display:flex!important;
  align-items:center;
  gap:6px;
  margin:0!important;
  color:var(--text)!important;
  font-size:.67rem!important;
  font-weight:800!important;
  white-space:nowrap;
}
.shift-select-all input{
  width:17px!important;
  height:17px!important;
  margin:0!important;
}
#shift-selected-count{
  color:var(--muted);
  font-size:.64rem;
}
.shift-delete-toolbar-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.shift-row-left{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-width:0;
}
.shift-delete-check{
  display:none;
  position:relative;
  flex:0 0 25px;
  width:25px;
  height:25px;
  margin:1px 0 0!important;
  cursor:pointer;
}
.shift-delete-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.shift-delete-check span{
  display:grid!important;
  place-items:center;
  width:25px;
  height:25px;
  margin:0!important;
  border:1px solid #5d666e;
  border-radius:7px;
  color:transparent!important;
  background:#11161a;
  font-size:.75rem!important;
  font-weight:950;
}
.shift-delete-check input:checked+span{
  border-color:var(--accent);
  background:#2a1d13;
  color:var(--accent)!important;
}
.shift-delete-form.shift-manage-mode .shift-delete-check{
  display:block;
}
.shift-delete-form.shift-manage-mode .shift-row-removable{
  border-color:#5a4740;
}
.shift-protection-note{
  display:block!important;
  margin-top:5px!important;
  color:#818991!important;
  font-size:.58rem!important;
  line-height:1.3;
}
.shift-protection-note.removable{color:#d0a768!important}
.shift-protection-note.active{color:#e7a276!important}

@media(max-width:520px){
  .shift-manage-head{
    display:grid;
    grid-template-columns:1fr auto;
  }
  .shift-delete-toolbar{
    grid-template-columns:1fr auto;
  }
  .shift-delete-toolbar-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .shift-delete-toolbar-actions .btn{width:100%}
}


/* =========================================================
   v4.4.2 — Installed web-app / iOS Home Screen polish
   ========================================================= */
html{
  background:#0f1318;
}
body{
  min-height:100dvh;
}
@supports (padding: max(0px)){
  body{
    padding-top:env(safe-area-inset-top);
  }
  .bottom-nav{
    padding-bottom:max(6px,env(safe-area-inset-bottom));
  }
}


/* =========================================================
   v4.4.3 — Field-use login + optional completion inputs
   ========================================================= */
.optional-field-label{
  display:inline;
  margin-left:4px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.completion-field-note{
  margin:-2px 0 2px;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.4;
}


/* =========================================================
   v4.5.0 — Flexible challenge durations
   ========================================================= */
.flexible-challenge-form select{
  width:100%;
}
.challenge-duration-preview small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.58rem;
  line-height:1.35;
}
@media(max-width:560px){
  .flexible-challenge-form{
    grid-template-columns:1fr 1fr;
  }
  .flexible-challenge-form .wide{
    grid-column:1/-1;
  }
}

/* v4.5.1 — Reports/challenge migration resilience */
.challenge-load-warning{margin:0 0 10px}


/* =========================================================
   v4.6.0 — Data & Updates / in-app updater
   ========================================================= */
.header-actions{
  display:flex;
  align-items:center;
  gap:5px;
}
.header-actions .icon-link{
  display:grid;
  place-items:center;
  text-decoration:none;
}

.update-upgrade-required{
  border-color:#866027;
  background:linear-gradient(180deg,#221d15,var(--panel));
}
.save-state.warning{color:var(--accent2);border-color:#765628}

.update-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.update-status-grid>div{
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.update-status-grid span,
.update-status-grid strong{display:block}
.update-status-grid span{
  color:var(--muted);
  font-size:.55rem;
  font-weight:850;
  text-transform:uppercase;
}
.update-status-grid strong{
  margin-top:3px;
  font-size:.76rem;
}

.update-feed-note{
  margin-top:9px;
  padding:10px 11px;
  border-left:4px solid var(--line);
  border-radius:8px;
  background:#15191d;
  color:var(--muted);
  font-size:.64rem;
}
.update-feed-note span,
.update-feed-note strong,
.update-feed-note small{display:block}
.update-feed-note.available{border-left-color:var(--accent)}
.update-feed-note.available span{
  color:var(--accent);
  font-size:.54rem;
  font-weight:950;
}
.update-feed-note.available strong{margin-top:3px;color:var(--text)}
.update-feed-note.available small{margin-top:3px}
.update-feed-note.error{border-left-color:#a84c4c;color:#d8a6a6}
.update-feed-note.current{border-left-color:#667752}

.update-safety-flow{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:10px 0 12px;
}
.update-safety-flow>div{
  display:grid;
  grid-template-columns:25px 1fr;
  gap:8px;
  align-items:center;
  min-width:0;
  padding:9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
}
.update-safety-flow b{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#2b2115;
  color:var(--accent);
  font-size:.66rem;
}
.update-safety-flow span{
  color:#b7bec5;
  font-size:.61rem;
  line-height:1.35;
}

.update-upload-form{
  display:grid;
  gap:9px;
}
.update-upload-form input[type=file]{
  width:100%;
  padding:10px;
  border:1px dashed #555e66;
  border-radius:10px;
  background:#11161a;
  color:var(--text);
}
.update-protected-note{
  margin:9px 0 0;
  color:var(--muted);
  font-size:.59rem;
  line-height:1.4;
}
.update-protected-note code{
  color:#d1b171;
  font-size:.58rem;
}

.update-backup-list{
  display:grid;
  gap:6px;
}
.update-backup-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
}
.update-backup-list strong,
.update-backup-list span{display:block}
.update-backup-list strong{font-size:.65rem}
.update-backup-list span,
.update-backup-list small{color:var(--muted);font-size:.56rem}

.update-version-info p{
  margin:.35rem 0;
  color:var(--muted);
  font-size:.64rem;
}

@media(max-width:620px){
  .update-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .update-safety-flow{grid-template-columns:1fr}
  .update-backup-list article{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   v4.7.0 — iPad / tablet-native layout + numeric keypad
   ========================================================= */

/* Numeric keypad — only opened by app-ui.js on iPad-class devices. */
.sho-number-pad[hidden]{display:none!important}
.sho-number-pad{
  position:fixed;
  z-index:120;
  display:grid;
  gap:10px;
  width:min(360px,calc(100vw - 24px));
  padding:12px;
  border:1px solid #4a5159;
  border-radius:18px;
  background:rgba(20,24,29,.985);
  box-shadow:0 18px 50px rgba(0,0,0,.48);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  opacity:0;
  transform:translateY(12px) scale(.985);
  transition:opacity .14s ease,transform .14s ease;
}
.sho-number-pad.is-open{
  opacity:1;
  transform:none;
}
.sho-number-pad-head{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:12px;
  padding:2px 3px 4px;
}
.sho-number-pad-eyebrow{
  display:block;
  color:var(--accent);
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.12em;
}
.sho-number-pad-title{
  display:block;
  margin-top:2px;
  font-size:.78rem;
}
.sho-number-pad-value{
  display:block;
  max-width:180px;
  overflow:hidden;
  color:var(--accent2);
  font-size:1.48rem;
  font-weight:950;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sho-number-pad-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.sho-number-pad-grid button,
.sho-number-pad-actions button{
  min-height:54px;
  border:1px solid #3f464e;
  border-radius:12px;
  background:#20262d;
  color:var(--text);
  font-size:1.15rem;
  font-weight:850;
  -webkit-tap-highlight-color:transparent;
}
.sho-number-pad-grid button:active,
.sho-number-pad-actions button:active{
  transform:scale(.97);
  background:#2a3138;
}
.sho-number-pad-grid button:disabled{
  opacity:.28;
}
.sho-number-pad-grid .key-clear{
  color:#e8b08c;
  font-size:.72rem;
}
.sho-number-pad-actions{
  display:grid;
  grid-template-columns:72px 1fr 1.2fr;
  gap:7px;
}
.sho-number-pad-actions button{
  min-height:48px;
  font-size:.72rem;
}
.sho-number-pad-actions .key-done{
  border-color:#8a531f;
  background:#4a2a12;
  color:#ffd3aa;
}
.sho-keypad-input{
  cursor:pointer;
}
.sho-keypad-active{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(232,115,17,.16)!important;
}

/*
 * iPad-class Safari layout.
 * The @supports condition deliberately targets WebKit touch devices rather
 * than turning every medium-width desktop browser into the tablet UI.
 */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad body{
      padding-bottom:0;
      background:
        radial-gradient(circle at 85% -15%,rgba(232,115,17,.055),transparent 35%),
        var(--bg);
    }

    html.sho-ipad .app-header{
      min-height:76px;
      padding:
        max(10px,env(safe-area-inset-top))
        max(20px,env(safe-area-inset-right))
        10px
        max(20px,env(safe-area-inset-left));
      box-shadow:0 1px 0 rgba(255,255,255,.02);
    }
    html.sho-ipad .brand-logo{
      width:55px;
      height:55px;
      flex-basis:55px;
    }
    html.sho-ipad .brand-name{font-size:.67rem}
    html.sho-ipad .page-title{font-size:1.12rem}
    html.sho-ipad .page-subtitle{font-size:.72rem}
    html.sho-ipad .icon-link{
      width:44px;
      height:44px;
      border-radius:13px;
      font-size:1.05rem;
    }

    /* Bottom phone nav becomes an iPad side rail. */
    html.sho-ipad .bottom-nav{
      top:76px;
      right:auto;
      bottom:0;
      left:0;
      width:94px;
      height:auto;
      display:flex!important;
      flex-direction:column;
      justify-content:flex-start;
      gap:7px;
      padding:
        15px 8px
        max(14px,env(safe-area-inset-bottom))
        max(8px,env(safe-area-inset-left));
      border-top:0;
      border-right:1px solid var(--line);
      background:rgba(13,16,20,.97);
    }
    html.sho-ipad .nav-item{
      width:100%;
      min-height:68px;
      padding:8px 4px;
      border:1px solid transparent;
      border-radius:14px;
      font-size:.68rem;
    }
    html.sho-ipad .nav-icon{
      font-size:1.28rem;
    }
    html.sho-ipad .nav-item.active{
      border-color:#4e3924;
      background:rgba(232,115,17,.09);
    }
    html.sho-ipad .nav-item.active .nav-icon{
      width:32px;
      height:32px;
    }

    html.sho-ipad .app-version-footer{
      position:fixed;
      z-index:51;
      left:max(8px,env(safe-area-inset-left));
      bottom:max(10px,env(safe-area-inset-bottom));
      width:78px;
      padding:0;
      color:#5e6770;
      font-size:.49rem;
      line-height:1.35;
      pointer-events:none;
    }

    /* Use the tablet canvas instead of a 760px iPhone-shaped column. */
    html.sho-ipad .app-shell{
      width:min(1160px,calc(100% - 126px));
      margin:0 18px 0 108px;
      padding:24px 20px 64px;
    }
    html.sho-ipad .shell.narrow{
      width:min(720px,calc(100% - 126px));
      margin-left:108px;
    }

    /* More native iPad surface sizing and whitespace. */
    html.sho-ipad .card,
    html.sho-ipad .today-hero,
    html.sho-ipad .page-intro-v4,
    html.sho-ipad .challenge-progress-dashboard,
    html.sho-ipad .report-chart-panel{
      border-radius:17px;
    }
    html.sho-ipad .card{
      padding:17px 18px;
    }
    html.sho-ipad input,
    html.sho-ipad select,
    html.sho-ipad textarea{
      min-height:46px;
      font-size:16px;
      border-radius:11px;
    }
    html.sho-ipad textarea{min-height:92px}
    html.sho-ipad .btn{
      min-height:48px;
      border-radius:12px;
    }
    html.sho-ipad .btn.huge{
      min-height:54px;
    }

    html.sho-ipad .page-intro-v4{
      grid-template-columns:minmax(220px,.7fr) minmax(400px,1.5fr);
      gap:28px;
      padding:21px 22px;
    }
    html.sho-ipad .page-intro-v4-heading h1{
      font-size:1.85rem;
    }
    html.sho-ipad .page-intro-v4-content>p{
      font-size:.82rem;
    }

    /* Today screen benefits from the extra tablet width. */
    html.sho-ipad .hero-money{font-size:3.25rem}
    html.sho-ipad .hero-metrics{
      grid-template-columns:repeat(6,minmax(0,1fr));
    }
    html.sho-ipad .quick-actions{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    html.sho-ipad .delivery-list{
      gap:9px;
    }
    html.sho-ipad .delivery-row{
      padding:13px 15px;
    }

    /* Session forms can use wider paired fields without feeling stretched. */
    html.sho-ipad .two-col{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    html.sho-ipad .three-col{
      gap:12px;
    }
    html.sho-ipad .session-tabs{
      max-width:760px;
      margin-left:auto;
      margin-right:auto;
    }

    /* Reports become a true tablet dashboard. */
    html.sho-ipad .report-dashboard-kpis{
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }
    html.sho-ipad .report-chart-grid{
      grid-template-columns:1.4fr 1fr;
      gap:11px;
    }
    html.sho-ipad .report-chart-panel-wide{
      grid-column:1/-1;
    }
    html.sho-ipad .report-view-tabs{
      max-width:820px;
    }

    /* iPad keypad positioning: side accessory in landscape. */
    html.sho-ipad .sho-number-pad{
      right:max(18px,env(safe-area-inset-right));
      bottom:max(18px,env(safe-area-inset-bottom));
      left:auto;
    }
    html.sho-ipad.sho-keypad-open .app-shell{
      padding-bottom:210px;
    }
  }
}

/* Portrait iPad: keypad becomes a broad bottom accessory. */
@media (min-width:768px) and (max-width:1024px) and (orientation:portrait){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .sho-number-pad{
      right:18px;
      bottom:max(16px,env(safe-area-inset-bottom));
      left:112px;
      width:auto;
      max-width:none;
      grid-template-columns:minmax(180px,.72fr) minmax(360px,1.28fr);
      align-items:center;
    }
    html.sho-ipad .sho-number-pad-head{
      grid-template-columns:1fr;
      align-self:stretch;
      align-content:center;
      padding:12px;
      border-right:1px solid var(--line);
    }
    html.sho-ipad .sho-number-pad-value{
      max-width:none;
      margin-top:7px;
      text-align:left;
      font-size:1.8rem;
    }
    html.sho-ipad .sho-number-pad-grid{
      grid-column:2;
      grid-row:1;
    }
    html.sho-ipad .sho-number-pad-actions{
      grid-column:2;
      grid-row:2;
    }
    html.sho-ipad.sho-keypad-open .app-shell{
      padding-bottom:345px;
    }
  }
}

/* Larger 12.9/13-inch iPad landscape: dashboard fills more of the canvas. */
@media (min-width:1180px) and (max-width:1400px) and (orientation:landscape){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .app-shell{
      width:calc(100% - 136px);
      max-width:1240px;
      margin-right:28px;
    }
    html.sho-ipad .report-dashboard-kpis{
      grid-template-columns:repeat(4,minmax(0,1fr));
    }
    html.sho-ipad .sho-number-pad{
      width:380px;
    }
  }
}


/* =========================================================
   v4.7.1 — iPad shell alignment + End of Day Recap
   ========================================================= */

/* Coordinate iPad header, sidebar, and content so the rail never covers branding. */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad{
      --ipad-header-height:112px;
      --ipad-rail-width:94px;
    }
    html.sho-ipad .app-header{
      min-height:var(--ipad-header-height)!important;
      padding-left:calc(var(--ipad-rail-width) + 22px)!important;
      padding-right:max(20px,env(safe-area-inset-right))!important;
    }
    html.sho-ipad .bottom-nav{
      top:var(--ipad-header-height)!important;
    }
    html.sho-ipad .app-shell{
      margin-left:calc(var(--ipad-rail-width) + 14px)!important;
      width:min(1160px,calc(100% - var(--ipad-rail-width) - 46px))!important;
    }
    html.sho-ipad .shell.narrow{
      margin-left:calc(var(--ipad-rail-width) + 14px)!important;
      width:min(720px,calc(100% - var(--ipad-rail-width) - 46px))!important;
    }
  }
}

/* Today recap CTA */
.recap-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 11px;
  padding:13px 15px;
  border:1px solid #684219;
  border-radius:14px;
  background:linear-gradient(135deg,#211910,#17191c);
  color:var(--text);
  text-decoration:none;
}
.recap-cta span,.recap-cta strong,.recap-cta small{display:block}
.recap-cta span{
  color:var(--accent);
  font-size:.53rem;
  font-weight:950;
  letter-spacing:.1em;
}
.recap-cta strong{margin-top:3px;font-size:.83rem}
.recap-cta small{
  margin-top:2px;
  color:var(--muted);
  font-size:.59rem;
  line-height:1.35;
}
.recap-cta>b{color:var(--accent);font-size:1.8rem}

/* Camera-ready End of Day dashboard */
.recap-shell{max-width:1120px}
.recap-date-nav{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.recap-date-nav>a{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
  color:var(--text);
  text-decoration:none;
  font-size:1.25rem;
}
.recap-date-nav>div{text-align:center}
.recap-date-nav span,.recap-date-nav strong{display:block}
.recap-date-nav span{
  color:var(--accent);
  font-size:.53rem;
  font-weight:950;
  letter-spacing:.1em;
}
.recap-date-nav strong{margin-top:2px;font-size:.78rem}
.disabled-link{pointer-events:none;opacity:.25}

.recap-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:10px;
  padding:20px 21px;
  border:1px solid #3d4248;
  border-radius:17px;
  background:linear-gradient(145deg,#191f25,#14191e);
}
.recap-hero h1{
  margin:.18rem 0 .12rem;
  color:#f5f5f5;
  font-size:3rem;
  line-height:1;
  letter-spacing:-.04em;
}
.recap-hero p{
  margin:0;
  color:#aeb5bd;
  font-size:.76rem;
  font-weight:750;
}
.recap-hero p span{margin:0 5px;color:#6d757d}
.recap-status{
  padding:8px 11px;
  border:1px solid #56606b;
  border-radius:999px;
  color:#b9c4d0;
  font-size:.58rem;
  font-weight:950;
  white-space:nowrap;
}
.recap-status.complete{
  border-color:#5d713e;
  color:#bcd58d;
  background:#182013;
}
.recap-status.open{
  border-color:#765425;
  color:#e6b370;
  background:#241b11;
}

.recap-primary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.recap-stat-card{
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
}
.recap-stat-card span,.recap-stat-card strong,.recap-stat-card small{display:block}
.recap-stat-card span{
  color:var(--muted);
  font-size:.57rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.recap-stat-card strong{margin-top:4px;font-size:1.25rem}
.recap-stat-card small{margin-top:3px;color:#777f88;font-size:.55rem}
.recap-stat-card.hero-card{
  grid-column:span 2;
  border-color:#6a491e;
  background:linear-gradient(180deg,#201b14,var(--panel));
}
.recap-stat-card.hero-card strong{color:var(--accent2);font-size:1.75rem}

.recap-section{
  margin-bottom:10px;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.recap-section-head{margin-bottom:10px}
.recap-section-head h2{margin:.15rem 0 0;font-size:.98rem}

.recap-breakdown-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.recap-breakdown-grid article,.recap-platform-grid article{
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.recap-breakdown-grid span,.recap-breakdown-grid strong,
.recap-platform-grid span,.recap-platform-grid strong,.recap-platform-grid small{display:block}
.recap-breakdown-grid span,.recap-platform-grid span{color:var(--muted);font-size:.57rem}
.recap-breakdown-grid strong,.recap-platform-grid strong{margin-top:3px;font-size:.87rem}

.recap-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.recap-detail-list{
  display:grid;
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--line);
}
.recap-detail-list>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 10px;
  background:#14191e;
}
.recap-detail-list span{color:var(--muted);font-size:.61rem}
.recap-detail-list strong{font-size:.68rem}
.recap-detail-list .accent-row strong{color:var(--accent2);font-size:.82rem}

.recap-platform-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.recap-platform-grid small{margin-top:3px;color:#777f88;font-size:.54rem}

.recap-story-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.recap-story-grid article{
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
}
.recap-story-grid span{
  color:var(--accent);
  font-size:.54rem;
  font-weight:900;
  text-transform:uppercase;
}
.recap-story-grid p{
  margin:5px 0 0;
  color:#c2c8ce;
  font-size:.64rem;
  line-height:1.45;
}
.recap-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr;
  gap:8px;
  margin-top:2px;
}

/* iPad recap = dashboard, not stretched phone UI. */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .recap-shell{max-width:none!important}
    html.sho-ipad .recap-hero{padding:24px 26px}
    html.sho-ipad .recap-hero h1{font-size:4rem}
    html.sho-ipad .recap-primary-grid{
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }
    html.sho-ipad .recap-stat-card.hero-card{grid-column:span 2}
    html.sho-ipad .recap-breakdown-grid{
      grid-template-columns:repeat(6,minmax(0,1fr));
    }
    html.sho-ipad .recap-platform-grid{
      grid-template-columns:repeat(4,minmax(0,1fr));
    }
    html.sho-ipad .recap-section{padding:17px 18px}
  }
}

@media(max-width:620px){
  .recap-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recap-stat-card.hero-card{grid-column:1/-1}
  .recap-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recap-two-col{grid-template-columns:1fr}
  .recap-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recap-story-grid{grid-template-columns:1fr}
  .recap-actions{grid-template-columns:1fr}
  .recap-hero h1{font-size:2.55rem}
}


/* =========================================================
   v4.7.2 — Asset cache synchronization
   ========================================================= */
html::after{
  content:"";
  display:none;
}


/* =========================================================
   v4.7.3 — iPad header polish + Recap in main navigation
   ========================================================= */

/* Refine the iPad upper-left layout so the header lockup feels more deliberate. */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad{
      --ipad-header-height:98px;
      --ipad-rail-width:92px;
    }
    html.sho-ipad .app-header{
      min-height:var(--ipad-header-height)!important;
      padding:
        max(10px,env(safe-area-inset-top))
        max(20px,env(safe-area-inset-right))
        12px
        calc(var(--ipad-rail-width) + 12px)!important;
      align-items:center!important;
    }
    html.sho-ipad .brand-lockup{
      gap:12px;
      align-items:center;
    }
    html.sho-ipad .brand-logo{
      width:50px!important;
      height:50px!important;
      flex-basis:50px!important;
    }
    html.sho-ipad .brand-name{
      font-size:.68rem;
      letter-spacing:.13em;
    }
    html.sho-ipad .page-title{
      font-size:1.08rem;
      line-height:1.15;
    }
    html.sho-ipad .page-subtitle{
      margin-top:3px;
      font-size:.73rem;
    }
    html.sho-ipad .header-actions{
      margin-left:auto;
    }
    html.sho-ipad .bottom-nav{
      top:var(--ipad-header-height)!important;
      width:var(--ipad-rail-width)!important;
      padding-top:12px;
    }
    html.sho-ipad .app-shell{
      margin-left:calc(var(--ipad-rail-width) + 12px)!important;
      width:min(1160px,calc(100% - var(--ipad-rail-width) - 40px))!important;
    }
    html.sho-ipad .shell.narrow{
      margin-left:calc(var(--ipad-rail-width) + 12px)!important;
      width:min(760px,calc(100% - var(--ipad-rail-width) - 40px))!important;
    }
    html.sho-ipad .app-version-footer{
      left:max(7px,env(safe-area-inset-left));
      width:76px;
    }
  }
}

/* Four-item phone nav stays compact. */
.bottom-nav{
  grid-template-columns:repeat(4,minmax(0,1fr));
}


/* =========================================================
   v4.7.4 — Primary navigation reset
   One phone nav. One iPad rail. No legacy layout ambiguity.
   ========================================================= */

/* ---------- Shared ---------- */
.bottom-nav{
  box-sizing:border-box!important;
}
.nav-rail-brand{
  display:none;
}
.nav-items{
  min-width:0;
}
.nav-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto;
  background:none!important;
  border-radius:0!important;
}
.nav-icon svg{
  display:block;
  width:22px;
  height:22px;
}
.nav-label{
  display:block;
  line-height:1;
}

/* ---------- iPhone / phone bottom navigation ---------- */
@media (max-width:767px){
  .bottom-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:0!important;
    width:auto!important;
    height:auto!important;
    display:block!important;
    padding:
      6px
      max(7px,env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(7px,env(safe-area-inset-left))!important;
    border-top:1px solid var(--line)!important;
    border-right:0!important;
    background:rgba(13,16,20,.985)!important;
    backdrop-filter:blur(14px);
  }
  .bottom-nav .nav-items{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:stretch;
    column-gap:6px!important;
    width:100%;
  }
  .bottom-nav .nav-item{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:0!important;
    min-height:58px!important;
    padding:5px 2px!important;
    border:1px solid transparent;
    border-radius:12px;
    color:#89919a;
    text-decoration:none;
    font-size:.64rem!important;
    font-weight:800;
    overflow:visible!important;
  }
  .bottom-nav .nav-icon{
    width:24px!important;
    height:24px!important;
    color:inherit;
  }
  .bottom-nav .nav-icon svg{
    width:23px;
    height:23px;
  }
  .bottom-nav .nav-label{
    width:auto!important;
    max-width:100%;
    text-align:center;
    white-space:nowrap;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .bottom-nav .nav-item.active{
    color:var(--accent)!important;
    background:rgba(232,115,17,.075);
    border-color:rgba(232,115,17,.16);
  }
  .bottom-nav .nav-item.active .nav-icon{
    width:24px!important;
    height:24px!important;
    background:none!important;
  }
}

@media (max-width:390px){
  .bottom-nav .nav-items{
    column-gap:3px!important;
  }
  .bottom-nav .nav-item{
    gap:5px!important;
    min-height:56px!important;
    padding-left:1px!important;
    padding-right:1px!important;
    font-size:.60rem!important;
  }
  .bottom-nav .nav-icon svg{
    width:21px;
    height:21px;
  }
}

/* ---------- iPad navigation rail ---------- */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad{
      --ipad-rail-width:104px;
      --ipad-header-height:88px;
    }

    /* Sidebar owns the upper-left corner instead of leaving a dead/header zone. */
    html.sho-ipad .bottom-nav{
      position:fixed!important;
      z-index:55!important;
      top:0!important;
      bottom:0!important;
      left:0!important;
      right:auto!important;
      width:var(--ipad-rail-width)!important;
      height:auto!important;
      display:flex!important;
      flex-direction:column!important;
      gap:0!important;
      padding:
        max(18px,calc(env(safe-area-inset-top) + 8px))
        8px
        max(14px,env(safe-area-inset-bottom))
        max(8px,env(safe-area-inset-left))!important;
      border-top:0!important;
      border-right:1px solid var(--line)!important;
      background:rgba(12,15,19,.985)!important;
      backdrop-filter:blur(18px);
    }

    html.sho-ipad .nav-rail-brand{
      display:flex!important;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:5px;
      min-height:76px;
      margin:0 2px 12px;
      padding:5px 0 10px;
      border-bottom:1px solid rgba(255,255,255,.07);
      color:var(--accent);
      text-decoration:none;
    }
    html.sho-ipad .nav-rail-brand img{
      display:block;
      width:54px;
      height:54px;
      object-fit:contain;
    }
    html.sho-ipad .nav-rail-brand span{
      font-size:.49rem;
      font-weight:950;
      letter-spacing:.14em;
    }

    html.sho-ipad .bottom-nav .nav-items{
      display:flex!important;
      flex-direction:column!important;
      align-items:stretch!important;
      gap:8px!important;
      width:100%;
    }

    html.sho-ipad .bottom-nav .nav-item{
      display:flex!important;
      flex-direction:column!important;
      align-items:center!important;
      justify-content:center!important;
      gap:7px!important;
      width:100%!important;
      min-width:0!important;
      min-height:72px!important;
      padding:9px 4px!important;
      border:1px solid transparent!important;
      border-radius:15px!important;
      color:#8a929b!important;
      text-decoration:none;
      font-size:.66rem!important;
      font-weight:800;
      overflow:visible!important;
    }
    html.sho-ipad .bottom-nav .nav-icon{
      width:27px!important;
      height:27px!important;
    }
    html.sho-ipad .bottom-nav .nav-icon svg{
      width:27px;
      height:27px;
    }
    html.sho-ipad .bottom-nav .nav-label{
      width:auto!important;
      overflow:visible!important;
      text-overflow:clip!important;
      white-space:nowrap!important;
      text-align:center;
    }
    html.sho-ipad .bottom-nav .nav-item.active{
      color:var(--accent)!important;
      border-color:#5b3b1d!important;
      background:rgba(232,115,17,.095)!important;
    }
    html.sho-ipad .bottom-nav .nav-item.active .nav-icon{
      width:27px!important;
      height:27px!important;
      background:none!important;
    }

    /*
     * The iPad header is now a clean page title bar to the right of the rail.
     * The SHO logo/brand lives in the rail, eliminating the awkward upper-left
     * split between sidebar and header.
     */
    html.sho-ipad .app-header{
      box-sizing:border-box!important;
      width:calc(100% - var(--ipad-rail-width))!important;
      min-height:var(--ipad-header-height)!important;
      margin-left:var(--ipad-rail-width)!important;
      padding:
        max(10px,env(safe-area-inset-top))
        max(22px,env(safe-area-inset-right))
        11px
        24px!important;
      align-items:center!important;
    }
    html.sho-ipad .app-header .brand-logo,
    html.sho-ipad .app-header .brand-name{
      display:none!important;
    }
    html.sho-ipad .app-header .brand-lockup{
      gap:0!important;
      min-width:0;
    }
    html.sho-ipad .app-header .page-title{
      font-size:1.2rem!important;
      line-height:1.15;
    }
    html.sho-ipad .app-header .page-subtitle{
      margin-top:4px!important;
      font-size:.73rem!important;
    }

    html.sho-ipad .app-shell{
      box-sizing:border-box!important;
      width:min(1180px,calc(100% - var(--ipad-rail-width) - 34px))!important;
      margin-left:calc(var(--ipad-rail-width) + 16px)!important;
      margin-right:18px!important;
      padding-top:22px!important;
    }
    html.sho-ipad .shell.narrow{
      width:min(780px,calc(100% - var(--ipad-rail-width) - 34px))!important;
      margin-left:calc(var(--ipad-rail-width) + 16px)!important;
    }

    html.sho-ipad .app-version-footer{
      position:fixed!important;
      z-index:56!important;
      left:max(10px,env(safe-area-inset-left))!important;
      bottom:max(11px,env(safe-area-inset-bottom))!important;
      width:80px!important;
      padding:0!important;
      text-align:center;
      color:#59616a!important;
      font-size:.47rem!important;
      line-height:1.35;
      pointer-events:none;
    }
  }
}


/* =========================================================
   v4.8.0 — Challenge rules, break odometers, recap live refresh
   ========================================================= */
.break-odometer-form{display:grid;gap:8px;width:100%}.break-odometer-form label{margin:0}.break-odo-reference{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#14191e;color:var(--muted);font-size:.65rem}.break-odo-reference strong{color:var(--accent2)}.shift-break-odo{display:block!important;margin-top:3px;color:#818a93!important;font-size:.55rem!important}
.challenge-rule-builder{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:#14191e}.challenge-rule-builder summary{cursor:pointer;padding:11px 12px}.challenge-rule-builder summary span,.challenge-rule-builder summary strong,.challenge-rule-builder summary small{display:block}.challenge-rule-builder summary small{margin-top:2px;color:var(--muted);font-size:.58rem}.challenge-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 12px 10px}.challenge-offer-type-section{padding:0 12px 12px}.challenge-rule-label{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 8px}.challenge-rule-label strong,.challenge-rule-label small{display:block}.challenge-rule-label strong{font-size:.7rem;letter-spacing:.04em}.challenge-rule-label small{color:var(--muted);font-size:.58rem;text-align:right}.challenge-offer-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.challenge-offer-type-choice{display:flex!important;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#101419;cursor:pointer}.challenge-offer-type-choice input{width:16px;height:16px;min-width:16px;margin:0;accent-color:var(--accent)}.challenge-offer-type-choice span{font-size:.64rem;font-weight:800;line-height:1.2}.challenge-audit-status.excluded{border-color:#6b4727;color:#e3a165;background:#24180f}.challenge-rule-help{margin:0;padding:0 12px 12px}.challenge-card-rules{display:block;margin-top:4px;color:#c38a55!important}.challenge-rule-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.challenge-rule-chips span{padding:6px 8px;border:1px solid #5c4328;border-radius:999px;background:#211a12;color:#e5b27d;font-size:.58rem;font-weight:800}.challenge-compliance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.challenge-compliance-grid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#14191e}.challenge-compliance-grid span,.challenge-compliance-grid strong{display:block}.challenge-compliance-grid span{color:var(--muted);font-size:.55rem}.challenge-compliance-grid strong{margin-top:3px;font-size:.95rem}
.recap-live-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#151a1f}.recap-live-control span,.recap-live-control small{display:block}.recap-live-control>div>span{color:var(--accent);font-size:.54rem;font-weight:950;letter-spacing:.09em}.recap-live-control small{margin-top:2px;color:var(--muted);font-size:.58rem}.switch-control{position:relative;display:inline-flex;flex:0 0 auto}.switch-control input{position:absolute;opacity:0;pointer-events:none}.switch-control>span{position:relative;width:48px;height:28px;border:1px solid #47505a;border-radius:999px;background:#20262d;transition:.15s ease}.switch-control>span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#8d969e;transition:.15s ease}.switch-control input:checked+span{border-color:#8b5421;background:#4a2b12}.switch-control input:checked+span::after{left:23px;background:var(--accent)}
@media(max-width:760px){.challenge-offer-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-rule-label{align-items:flex-start;flex-direction:column}.challenge-rule-label small{text-align:left}}@media(max-width:620px){.challenge-rule-grid,.challenge-offer-type-grid{grid-template-columns:1fr}.challenge-compliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* =========================================================
   v4.8.1 — End Challenge Early
   ========================================================= */
.challenge-state.ended-early{
  border-color:#765425;
  background:#241b11;
  color:#e6b370;
}
.ended-early-inline{
  color:#e6b370;
}
.challenge-ended-early-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding:12px 14px;
  border:1px solid #765425;
  border-radius:13px;
  background:linear-gradient(135deg,#241b11,#17191c);
}
.challenge-ended-early-banner span,
.challenge-ended-early-banner strong,
.challenge-ended-early-banner small{
  display:block;
}
.challenge-ended-early-banner span{
  color:#e6a95e;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.1em;
}
.challenge-ended-early-banner strong{
  margin-top:3px;
  color:#f0d1aa;
  font-size:.82rem;
}
.challenge-ended-early-banner small{
  margin-top:3px;
  color:#a99a89;
  font-size:.6rem;
}
.challenge-end-early-form .btn{
  border-color:#765425;
  color:#e6b370;
}
.maintenance-divider{
  margin:14px 0;
  border:0;
  border-top:1px solid var(--line);
}
.maintenance-ended-note{
  display:grid;
  gap:3px;
  padding:10px 11px;
  border:1px solid #765425;
  border-radius:10px;
  background:#201910;
}
.maintenance-ended-note strong{color:#e6b370}
.maintenance-ended-note span,
.maintenance-ended-note small{
  color:var(--muted);
  font-size:.62rem;
}

/* =========================================================
   v4.9.0 — Challenge start modes + importer compatibility
   ========================================================= */
.challenge-start-mode{
  margin:0;
  padding:0;
  border:0;
}
.challenge-start-mode legend{
  margin-bottom:6px;
  color:var(--muted);
  font-size:.63rem;
  font-weight:800;
}
.challenge-start-mode{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.challenge-start-mode legend{grid-column:1/-1}
.challenge-start-mode label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-height:72px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#14191e;
  cursor:pointer;
}
.challenge-start-mode input{
  width:auto!important;
  min-height:0!important;
  margin-top:2px;
}
.challenge-start-mode span,
.challenge-start-mode strong,
.challenge-start-mode small{display:block}
.challenge-start-mode strong{font-size:.72rem}
.challenge-start-mode small{margin-top:3px;color:var(--muted);font-size:.57rem;line-height:1.35}
.challenge-start-mode label:has(input:checked){
  border-color:#765025;
  background:#211a12;
}
.challenge-start-mode label:has(input:checked) strong{color:var(--accent2)}
.challenge-armed-note{
  padding:10px 12px;
  border:1px solid #66502c;
  border-radius:12px;
  background:#1f1a12;
}
.challenge-armed-note span,
.challenge-armed-note strong,
.challenge-armed-note small{display:block}
.challenge-armed-note span{color:var(--accent);font-size:.52rem;font-weight:950;letter-spacing:.1em}
.challenge-armed-note strong{margin-top:3px;font-size:.72rem}
.challenge-armed-note small{margin-top:3px;color:var(--muted);font-size:.58rem;line-height:1.4}
.challenge-state.armed{
  border-color:#66502c;
  background:#211a12;
  color:#e7b66e;
}
.challenge-armed-banner{
  margin-bottom:10px;
  padding:12px 14px;
  border:1px solid #66502c;
  border-radius:13px;
  background:linear-gradient(135deg,#211a12,#17191c);
}
.challenge-armed-banner span,
.challenge-armed-banner strong,
.challenge-armed-banner small{display:block}
.challenge-armed-banner span{color:var(--accent);font-size:.55rem;font-weight:950;letter-spacing:.1em}
.challenge-armed-banner strong{margin-top:3px;color:#f0d1a7;font-size:.82rem}
.challenge-armed-banner small{margin-top:3px;color:#a99a89;font-size:.6rem;line-height:1.4}

@media(max-width:620px){
  .challenge-start-mode{grid-template-columns:1fr}
  .challenge-start-mode legend{grid-column:1}
}


/* =========================================================
   v4.9.1 — Historical full-detail import
   ========================================================= */
.historical-import-mode{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding:0;
  border:0;
}
.historical-import-mode legend{
  margin-bottom:7px;
  color:var(--muted);
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.import-mode-card{
  position:relative;
  display:flex;
  gap:9px;
  min-height:86px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#14191e;
  cursor:pointer;
}
.import-mode-card:has(input:checked){
  border-color:#865020;
  background:#201a13;
  box-shadow:0 0 0 1px rgba(232,115,17,.08);
}
.import-mode-card input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  min-height:18px;
  margin-top:2px;
  accent-color:var(--accent);
}
.import-mode-card span,
.import-mode-card strong,
.import-mode-card small{display:block}
.import-mode-card strong{font-size:.72rem}
.import-mode-card small{
  margin-top:4px;
  color:var(--muted);
  font-size:.58rem;
  line-height:1.4;
}
.historical-summary-replace small{
  color:#767f88;
}
@media(max-width:620px){
  .historical-import-mode{grid-template-columns:1fr}
}


/* =========================================================
   v5.0.0 — Navigation & interaction cleanup
   ========================================================= */

/* --- Explicit back navigation --- */
.header-leading{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.header-back{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:44px;
  min-height:44px;
  padding:0 9px 0 7px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
  color:var(--text);
  text-decoration:none;
  font-size:.68rem;
  font-weight:850;
  flex:0 0 auto;
}
.header-back svg{
  width:20px;
  height:20px;
}
@media(max-width:430px){
  .header-back span{display:none}
  .header-back{width:44px;padding:0}
}

/* --- Reports sub-navigation: always four clear destinations --- */
.report-view-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  padding:4px!important;
}
.report-view-tabs a{
  min-height:44px;
  display:grid;
  place-items:center;
  padding:7px 3px!important;
  font-size:.58rem!important;
  letter-spacing:.025em!important;
}
@media(min-width:700px){
  .report-view-tabs a{font-size:.64rem!important}
}

/* --- Touch targets --- */
.btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn.compact,
.small-btn{
  min-height:44px!important;
  padding:10px 13px!important;
}
.icon-link,
.toggle-btn,
.period-arrow,
.month-nav,
.small-edit-link,
.bulk-manage-toggle{
  min-width:44px;
  min-height:44px;
}
input,
select{
  min-height:48px;
}
.backfill-section>summary,
.session-collapse>summary,
.challenge-maintenance>summary,
.compact-details>summary{
  min-height:50px;
}

/* --- Compact headings with info icon --- */
.title-with-info{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.title-with-info h1{
  min-width:0;
  margin-right:auto!important;
}
.info-button{
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid #4c545d;
  border-radius:999px;
  background:#1b2127;
  color:#b9c2cb;
  font-family:Georgia,serif;
  font-size:.88rem;
  font-weight:900;
  cursor:pointer;
}
.info-button:active{
  transform:scale(.96);
  border-color:var(--accent);
  color:var(--accent);
}
.form-help-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
  color:var(--muted);
  font-size:.62rem;
}
.compact-note{
  margin-top:0!important;
}

/* --- Info modal --- */
html.sho-modal-open,
html.sho-modal-open body{
  overflow:hidden;
}
.sho-info-modal[hidden]{display:none!important}
.sho-info-modal{
  position:fixed;
  z-index:300;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
}
.sho-info-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.sho-info-dialog{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  max-height:min(72vh,620px);
  overflow:auto;
  border:1px solid #505861;
  border-radius:18px;
  background:#171c21;
  box-shadow:0 22px 70px rgba(0,0,0,.56);
}
.sho-info-dialog-head{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 15px;
  border-bottom:1px solid var(--line);
  background:rgba(23,28,33,.98);
}
.sho-info-dialog-head strong{
  font-size:.9rem;
}
.sho-info-close{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--line);
  border-radius:12px;
  background:#20262d;
  color:var(--text);
  font-size:1.35rem;
}
.sho-info-body{
  padding:16px;
  color:#c3c9cf;
  font-size:.76rem;
  line-height:1.6;
  white-space:pre-line;
}

/* --- Progressive disclosure for long lists --- */
.sho-list-extra{
  display:none!important;
}
.sho-list-expanded>.sho-list-extra{
  display:initial!important;
}
.delivery-list.sho-list-expanded>.sho-list-extra,
.history-list.sho-list-expanded>.sho-list-extra,
.historical-list.sho-list-expanded>.sho-list-extra,
.challenge-card-list.sho-list-expanded>.sho-list-extra,
.challenge-day-list.sho-list-expanded>.sho-list-extra,
.shift-list.sho-list-expanded>.sho-list-extra,
.update-backup-list.sho-list-expanded>.sho-list-extra{
  display:grid!important;
}
.sho-list-toggle{
  width:100%;
  min-height:46px;
  margin:8px 0 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#171c21;
  color:#aab2ba;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.05em;
  cursor:pointer;
}

/* --- Generic collapsed secondary sections --- */
.compact-details{
  margin-bottom:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  overflow:hidden;
}
.compact-details>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  cursor:pointer;
}
.compact-details>summary::-webkit-details-marker{display:none}
.compact-details>summary span,
.compact-details>summary strong,
.compact-details>summary small{display:block}
.compact-details>summary small{
  margin-top:2px;
  color:var(--muted);
  font-size:.6rem;
}
.compact-details>summary::after{
  content:'›';
  color:var(--muted);
  font-size:1rem;
  font-weight:900;
}
.compact-details[open]>summary::after{
  content:'⌄';
}
.compact-details-body{
  padding:0 12px 12px;
  border-top:1px solid var(--line);
}
.summary-tools{
  display:flex!important;
  align-items:center;
  gap:7px;
}
.compact-details>summary:has(.summary-tools)::after{
  display:none;
}
.report-chart-details .report-chart-grid{
  margin-top:12px;
}

/* --- Import receipt --- */
.import-receipt{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:11px;
  padding:11px 12px;
  border:1px solid #356a4d;
  border-radius:13px;
  background:#132019;
}
.import-receipt.has-errors{
  border-color:#714039;
  background:#241715;
}
.import-receipt-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#244d37;
  color:#c9f5dd;
  font-weight:950;
}
.import-receipt span,
.import-receipt strong,
.import-receipt small{display:block}
.import-receipt span{
  color:#8fc5a6;
  font-size:.52rem;
  font-weight:950;
  letter-spacing:.09em;
}
.import-receipt strong{
  margin-top:2px;
  font-size:.76rem;
}
.import-receipt small{
  margin-top:2px;
  color:#83918a;
  font-size:.58rem;
}

/* --- Reduce unnecessary vertical space without shrinking controls --- */
.page-intro-v4{
  margin-bottom:9px;
}
.page-intro-v4-content{
  align-content:center;
}
.page-intro-v4-note{
  padding:10px 11px;
}
.report-chart-details{
  margin-top:10px;
}

/* iPad: back control stays in title bar to the right of the rail. */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .header-leading{
      gap:12px;
    }
    html.sho-ipad .header-back{
      min-width:46px;
      min-height:46px;
      border-radius:13px;
    }
    html.sho-ipad .report-view-tabs{
      max-width:none!important;
    }
  }
}


/* =========================================================
   v5.0.1 — Challenge prominence + visible date controls
   ========================================================= */

/*
 * v5.2.4 — Date/time controls
 *
 * iPad Safari renders date fields as segmented controls internally, and the
 * text can collide with a decorative icon if we simply paint an SVG into the
 * normal field background. Give the picker a dedicated 54px action cap.
 *
 * The native picker indicator stays on top of that cap but is transparent,
 * so the Apple picker still opens when the right-side button is tapped.
 */
input[type="date"],
input[type="datetime-local"],
input[type="time"]{
  position:relative;
  -webkit-appearance:none;
  appearance:none;
  color-scheme:dark;
  min-height:52px!important;
  padding:13px 66px 13px 14px!important;
  line-height:1.25!important;
  text-align:left!important;
  background-color:#0d1014!important;
  background-repeat:no-repeat!important;
  background-position:right 17px center,right top!important;
  background-size:21px 21px,54px 100%!important;
}

input[type="date"],
input[type="datetime-local"]{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f1dfc8' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E"),
    linear-gradient(to left,#282f34 0,#282f34 54px,transparent 54px,transparent 100%)!important;
}

input[type="time"]{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f1dfc8' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"),
    linear-gradient(to left,#282f34 0,#282f34 54px,transparent 54px,transparent 100%)!important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  position:absolute;
  top:0;
  right:0;
  width:54px;
  height:100%;
  margin:0;
  padding:0;
  opacity:0!important;
  cursor:pointer;
}

input[type="date"]::-webkit-date-and-time-value,
input[type="datetime-local"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value{
  display:block;
  width:100%;
  min-height:24px;
  margin:0;
  padding:0;
  text-align:left!important;
  line-height:24px!important;
}

/*
 * v5.2.4 — Select controls
 *
 * Replace browser-native weak arrows with a high-contrast SHO control cap.
 */
select{
  -webkit-appearance:none!important;
  appearance:none!important;
  min-height:52px!important;
  padding-right:66px!important;
  background-color:#0d1014!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f1dfc8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E"),
    linear-gradient(to left,#282f34 0,#282f34 54px,transparent 54px,transparent 100%)!important;
  background-repeat:no-repeat!important;
  background-position:right 16px center,right top!important;
  background-size:22px 22px,54px 100%!important;
}

select:hover{
  border-color:#4d5962;
}

select:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(239,137,51,.12);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f29a4b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E"),
    linear-gradient(to left,#30261c 0,#30261c 54px,transparent 54px,transparent 100%)!important;
}

/* iPad gets a little more breathing room around the segmented date text. */
html.sho-ipad input[type="date"],
html.sho-ipad input[type="datetime-local"],
html.sho-ipad input[type="time"],
html.sho-ipad select{
  min-height:54px!important;
  font-size:16px!important;
}

html.sho-ipad input[type="date"],
html.sho-ipad input[type="datetime-local"],
html.sho-ipad input[type="time"]{
  padding-left:15px!important;
  padding-right:70px!important;
}

/* Five primary destinations: Today / Challenges / Recap / Session / Reports */
@media (max-width:767px){
  .bottom-nav .nav-items{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    column-gap:4px!important;
  }
  .bottom-nav .nav-item{
    font-size:.58rem!important;
    gap:5px!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }
  .bottom-nav .nav-icon svg{
    width:22px;
    height:22px;
  }
}
@media (max-width:390px){
  .bottom-nav .nav-items{
    column-gap:2px!important;
  }
  .bottom-nav .nav-item{
    font-size:.53rem!important;
    letter-spacing:-.01em;
  }
  .bottom-nav .nav-icon svg{
    width:20px;
    height:20px;
  }
}

/* Reports now has three secondary destinations because Challenges is primary. */
.report-view-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Today challenge overview */
.today-challenges{
  padding:12px;
}
.today-challenge-heading{
  margin-bottom:8px;
}
.today-challenge-heading h2{
  margin:1px 0 0;
}
.today-challenge-list{
  display:grid;
  gap:7px;
}
.today-challenge-item{
  display:block;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#14191e;
  color:var(--text);
  text-decoration:none;
}
.today-challenge-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.today-challenge-top>div{
  min-width:0;
}
.today-challenge-top strong,
.today-challenge-top small{
  display:block;
}
.today-challenge-top strong{
  margin-top:4px;
  font-size:.77rem;
  line-height:1.25;
}
.today-challenge-top small{
  margin-top:3px;
  color:var(--muted);
  font-size:.58rem;
}
.today-challenge-state{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border:1px solid #46505a;
  border-radius:999px;
  color:#9ba5af;
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.07em;
}
.today-challenge-state.active{
  border-color:#7a4b21;
  background:#251a10;
  color:#f0a65f;
}
.today-challenge-state.armed{
  border-color:#53698b;
  background:#151d29;
  color:#9fc2f4;
}
.today-challenge-state.upcoming{
  border-color:#555d66;
  background:#191e23;
  color:#b4bcc5;
}
.today-challenge-arrow{
  color:#747d86;
  font-size:1.35rem;
  line-height:1;
}
.today-challenge-money{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  gap:5px;
  margin-top:9px;
}
.today-challenge-money b{
  font-size:.92rem;
}
.today-challenge-money span{
  color:var(--muted);
  font-size:.58rem;
}
.today-challenge-money em{
  color:var(--accent);
  font-size:.58rem;
  font-style:normal;
  font-weight:900;
}
.today-challenge-progress{
  height:5px;
  margin-top:6px;
  overflow:hidden;
  border-radius:999px;
  background:#262d34;
}
.today-challenge-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--accent);
}
.today-challenge-more{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:7px;
  border:1px solid var(--line);
  border-radius:10px;
  color:#929ba4;
  text-decoration:none;
  font-size:.58rem;
  font-weight:900;
}

/* Five items still fit comfortably in the iPad rail. */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .bottom-nav .nav-items{
      gap:6px!important;
    }
    html.sho-ipad .bottom-nav .nav-item{
      min-height:68px!important;
      padding-top:7px!important;
      padding-bottom:7px!important;
    }
  }
}


/* =========================================================
   v5.1.0 — Usage Insights + foreground web GPS experiment
   ========================================================= */

.today-gps-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid #3c4f5e;
  border-radius:12px;
  background:#131b21;
}
.today-gps-strip.is-active{
  border-color:#49694e;
  background:#132018;
}
.today-gps-strip.is-paused{
  border-color:#65552f;
  background:#211c12;
}
.today-gps-strip span,
.today-gps-strip strong,
.today-gps-strip small{display:block}
.today-gps-strip span{
  color:#93b3c9;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.08em;
}
.today-gps-strip strong{
  margin-top:2px;
  font-size:.76rem;
}
.today-gps-strip small{
  margin-top:2px;
  color:var(--muted);
  font-size:.56rem;
}
.today-gps-strip a{
  display:grid;
  place-items:center;
  min-width:58px;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  text-decoration:none;
  font-size:.6rem;
  font-weight:900;
}

.tracking-settings-form{
  display:grid;
  gap:8px;
}
.tracking-toggle-row{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:10px;
  min-height:66px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#14191e;
}
.tracking-toggle-row input{
  width:22px;
  height:22px;
  min-height:22px;
  margin-top:1px;
  accent-color:var(--accent);
}
.tracking-toggle-row span,
.tracking-toggle-row strong,
.tracking-toggle-row small{display:block}
.tracking-toggle-row strong{font-size:.7rem}
.tracking-toggle-row small{
  margin-top:3px;
  color:var(--muted);
  font-size:.57rem;
  line-height:1.4;
}
.tracking-insights-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:58px;
  margin-top:9px;
  padding:10px 11px;
  border:1px solid #3f4f5d;
  border-radius:12px;
  background:#151d23;
  color:var(--text);
  text-decoration:none;
}
.tracking-insights-link span,
.tracking-insights-link strong,
.tracking-insights-link small{display:block}
.tracking-insights-link small{
  margin-top:2px;
  color:var(--muted);
  font-size:.57rem;
}
.tracking-insights-link b{
  font-size:1.25rem;
  color:#78838d;
}

.insights-range-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin-bottom:9px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#12161a;
}
.insights-range-tabs a{
  display:grid;
  place-items:center;
  min-height:44px;
  border-radius:9px;
  color:#8c969f;
  text-decoration:none;
  font-size:.62rem;
  font-weight:950;
}
.insights-range-tabs a.active{
  background:#272018;
  color:var(--accent);
}

.insights-export-bar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.insight-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.insight-kpi-grid article{
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
}
.insight-kpi-grid span,
.insight-kpi-grid strong,
.insight-kpi-grid small{display:block}
.insight-kpi-grid span{
  color:var(--muted);
  font-size:.52rem;
}
.insight-kpi-grid strong{
  margin-top:3px;
  font-size:.91rem;
}
.insight-kpi-grid small{
  margin-top:2px;
  color:#737c84;
  font-size:.52rem;
}

.insight-list{
  display:grid;
  gap:5px;
}
.insight-list-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
}
.insight-list-row strong{
  min-width:0;
  font-size:.67rem;
}
.insight-list-row span,
.insight-list-row small{
  color:var(--muted);
  font-size:.55rem;
  text-align:right;
}

.gps-comparison-list{
  display:grid;
  gap:6px;
}
.gps-comparison-row{
  display:grid;
  grid-template-columns:minmax(130px,1.3fr) repeat(3,minmax(72px,.65fr));
  align-items:center;
  gap:7px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.gps-comparison-row>div:first-child strong,
.gps-comparison-row>div:first-child small{display:block}
.gps-comparison-row>div:first-child small{
  margin-top:2px;
  color:var(--muted);
  font-size:.53rem;
}
.gps-comparison-row>div:not(:first-child) span,
.gps-comparison-row>div:not(:first-child) strong{
  display:block;
  text-align:right;
}
.gps-comparison-row>div:not(:first-child) span{
  color:var(--muted);
  font-size:.49rem;
}
.gps-comparison-row>div:not(:first-child) strong{
  margin-top:2px;
  font-size:.65rem;
}

@media(max-width:620px){
  .insight-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gps-comparison-row{
    grid-template-columns:1fr repeat(3,auto);
  }
  .gps-comparison-row>div:first-child{
    grid-column:1/-1;
    padding-bottom:4px;
    border-bottom:1px solid var(--line);
  }
}

@media(max-width:390px){
  .insights-export-bar{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v5.1.1 — Single GPS device per shift
   ========================================================= */
.gps-device-status{
  margin-top:4px!important;
  color:#87939c!important;
}
.gps-device-status[data-state="owner"]{
  color:#8fc3a0!important;
}
.gps-device-status[data-state="conflict"]{
  color:#e4b56b!important;
}

.gps-device-conflict-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  padding:11px 12px;
  border:1px solid #765b2d;
  border-radius:13px;
  background:#241d12;
}
.gps-device-conflict-banner span,
.gps-device-conflict-banner strong,
.gps-device-conflict-banner small{
  display:block;
}
.gps-device-conflict-banner span{
  color:#d5a857;
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.08em;
}
.gps-device-conflict-banner strong{
  margin-top:2px;
  font-size:.72rem;
}
.gps-device-conflict-banner small{
  margin-top:3px;
  color:#9c927f;
  font-size:.55rem;
}
.gps-device-conflict-banner button{
  flex:0 0 auto;
  min-height:46px;
  padding:9px 12px;
  border:1px solid #8c672e;
  border-radius:10px;
  background:#332713;
  color:#f0c276;
  font-size:.56rem;
  font-weight:950;
  cursor:pointer;
}
.gps-device-conflict-banner button:disabled{
  opacity:.62;
}

@media(max-width:500px){
  .gps-device-conflict-banner{
    align-items:stretch;
    flex-direction:column;
  }
  .gps-device-conflict-banner button{
    width:100%;
  }
}


/* =========================================================
   v5.2.0 — Taxes
   ========================================================= */

.report-view-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.tax-intro{
  margin-top:8px;
}

.tax-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.tax-kpi-grid article{
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
}
.tax-kpi-grid span,
.tax-kpi-grid strong,
.tax-kpi-grid small{
  display:block;
}
.tax-kpi-grid span{
  color:var(--muted);
  font-size:.51rem;
  font-weight:800;
}
.tax-kpi-grid strong{
  margin-top:3px;
  font-size:.92rem;
}
.tax-kpi-grid small{
  margin-top:2px;
  color:#747d85;
  font-size:.51rem;
  line-height:1.35;
}

.tax-rate-breakdown{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.tax-rate-breakdown article{
  padding:11px;
  border:1px solid #465039;
  border-radius:11px;
  background:#171d13;
}
.tax-rate-breakdown span,
.tax-rate-breakdown strong,
.tax-rate-breakdown small{display:block}
.tax-rate-breakdown span{
  color:#a9bf82;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.03em;
}
.tax-rate-breakdown strong{
  margin-top:3px;
  font-size:.76rem;
}
.tax-rate-breakdown small{
  margin-top:2px;
  color:#7c8970;
  font-size:.52rem;
}

.tax-mileage-source-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.tax-mileage-source-grid>div{
  padding:8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#14191e;
}
.tax-mileage-source-grid span,
.tax-mileage-source-grid strong{display:block}
.tax-mileage-source-grid span{
  color:var(--muted);
  font-size:.49rem;
}
.tax-mileage-source-grid strong{
  margin-top:2px;
  font-size:.7rem;
}

.tax-method-note,
.tax-caution-note{
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #5d573a;
  border-radius:10px;
  background:#211e13;
}
.tax-method-note strong,
.tax-method-note span{
  display:block;
}
.tax-method-note strong{
  color:#d7c583;
  font-size:.62rem;
}
.tax-method-note span,
.tax-caution-note{
  margin-top:2px;
  color:#a59c78;
  font-size:.56rem;
  line-height:1.45;
}

.tax-waterfall{
  display:grid;
  gap:4px;
  margin-bottom:8px;
}
.tax-waterfall>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  padding:7px 9px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.tax-waterfall span{
  color:#aeb5bc;
  font-size:.6rem;
}
.tax-waterfall strong{
  font-size:.68rem;
  text-align:right;
}
.tax-waterfall .minus strong{
  color:#c58f7d;
}
.tax-waterfall .subtotal{
  border:1px solid #404952;
  border-radius:9px;
  background:#171c21;
}
.tax-waterfall .subtotal span,
.tax-waterfall .subtotal strong{
  color:var(--text);
  font-weight:900;
}

.tax-component-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.tax-component-grid article{
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.tax-component-grid span,
.tax-component-grid strong,
.tax-component-grid small{
  display:block;
}
.tax-component-grid span{
  color:var(--muted);
  font-size:.5rem;
}
.tax-component-grid strong{
  margin-top:3px;
  font-size:.78rem;
}
.tax-component-grid small{
  margin-top:2px;
  color:#747d85;
  font-size:.5rem;
  line-height:1.35;
}
.tax-component-grid .tax-total-card{
  border-color:#7b4d24;
  background:#251b12;
}
.tax-component-grid .tax-total-card strong{
  color:var(--accent);
}

.tax-secondary-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#151a1f;
}
.tax-secondary-result span{
  color:var(--muted);
  font-size:.57rem;
}
.tax-secondary-result strong{
  font-size:.72rem;
}

.tax-settings-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.tax-settings-form label{
  min-width:0;
}
.tax-settings-form label>small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.52rem;
  line-height:1.4;
}
.tax-settings-form .btn{
  grid-column:1/-1;
}
.optional-label{
  display:inline-block;
  margin-left:4px;
  color:#6f7881;
  font-size:.47rem;
  letter-spacing:.06em;
}

.tax-day-list{
  display:grid;
  gap:5px;
  margin-top:10px;
}
.tax-day-row{
  display:grid;
  grid-template-columns:minmax(160px,1fr) repeat(3,minmax(70px,.55fr));
  align-items:center;
  gap:7px;
  min-height:52px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
}
.tax-day-row>div:first-child strong,
.tax-day-row>div:first-child small{
  display:block;
}
.tax-day-row>div:first-child small{
  margin-top:2px;
  color:var(--muted);
  font-size:.51rem;
}
.tax-day-row>div:not(:first-child) span,
.tax-day-row>div:not(:first-child) strong{
  display:block;
  text-align:right;
}
.tax-day-row>div:not(:first-child) span{
  color:var(--muted);
  font-size:.47rem;
}
.tax-day-row>div:not(:first-child) strong{
  margin-top:2px;
  font-size:.63rem;
}

.tax-source-list{
  display:grid;
  gap:6px;
  padding-top:10px;
}
.tax-source-list a{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  color:#b9c4cc;
  text-decoration:none;
  font-size:.6rem;
  font-weight:800;
  background:#14191e;
}

@media(max-width:700px){
  .tax-kpi-grid,
  .tax-component-grid,
  .tax-mileage-source-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tax-settings-form{
    grid-template-columns:1fr;
  }
  .tax-day-row{
    grid-template-columns:1fr repeat(3,auto);
  }
  .tax-day-row>div:first-child{
    grid-column:1/-1;
    padding-bottom:4px;
    border-bottom:1px solid var(--line);
  }
}

@media(max-width:420px){
  .tax-rate-breakdown{
    grid-template-columns:1fr;
  }
}

.tax-report-doorway{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:56px;
  margin:9px 0;
  padding:10px 12px;
  border:1px solid #4c573c;
  border-radius:12px;
  background:#161d13;
  color:var(--text);
  text-decoration:none;
}
.tax-report-doorway span,
.tax-report-doorway small,
.tax-report-doorway strong{display:block}
.tax-report-doorway small{
  color:#9bad7e;
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.08em;
}
.tax-report-doorway strong{
  margin-top:2px;
  font-size:.68rem;
}
.tax-report-doorway b{
  color:#889576;
  font-size:1.3rem;
}


/* =========================================================
   v5.2.1 — Self-hosted release feed
   ========================================================= */
.update-feed-note.current span,
.update-feed-note.current strong,
.update-feed-note.current small,
.update-feed-note.error span,
.update-feed-note.error strong,
.update-feed-note.error small{
  display:block;
}
.update-feed-note.current span{
  color:#86b99a;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.08em;
}
.update-feed-note.current strong{
  margin-top:2px;
}
.update-feed-note.current small{
  margin-top:3px;
  color:#7f9187;
  font-size:.55rem;
  line-height:1.4;
}
.update-feed-meta{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 9px;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#14191e;
}
.update-feed-meta span{
  color:var(--muted);
  font-size:.51rem;
}
.update-feed-meta strong{
  font-size:.59rem;
  text-align:right;
}
.update-feed-meta small{
  grid-column:1/-1;
  color:#747e87;
  font-size:.5rem;
  text-align:right;
}


/* =========================================================
   v5.2.2 — Remote release feed
   ========================================================= */
.update-feed-fallback-warning{
  color:#c7a164!important;
}
.update-download-release{
  margin-top:9px;
}


/* =========================================================
   v5.2.3 — Fingerprinted assets + Safari picker icon repair
   ========================================================= */
/*
 * Asset fingerprinting itself lives in app/ui.php. This marker exists so the
 * deployed stylesheet hash visibly changes with the release and is easy to
 * locate during troubleshooting.
 */


/* =========================================================
   v5.2.4 — Direct Publisher Update
   ========================================================= */
.remote-update-form{
  margin-top:10px;
}
.remote-update-form .btn{
  box-shadow:0 8px 22px rgba(239,137,51,.14);
}
.update-download-fallback{
  display:block;
  margin-top:8px;
  color:#87929a;
  font-size:.57rem;
  font-weight:800;
  text-align:center;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* =========================================================
   v5.2.5 — Chevron cleanup / single affordance rule
   =========================================================
   Some accordion / collapsible rows were inheriting the generic
   card-link right-arrow pseudo-element *and* rendering a dedicated
   accordion chevron. That produced two different chevrons in the
   same row. The rule below makes accordion/toggle rows opt out of
   the generic action arrow so only one SHO chevron remains.
*/
.accordion-toggle::after,
.details-toggle::after,
.disclosure-toggle::after,
.section-toggle::after,
.collapse-toggle::after,
.summary-toggle::after,
.expand-toggle::after,
.js-accordion-toggle::after,
button[aria-expanded]::after,
[role="button"][aria-expanded]::after,
.card-link.has-toggle::after,
.nav-card.has-toggle::after,
.panel-link.has-toggle::after{
  content:none !important;
  display:none !important;
}

/* Standard single SHO disclosure chevron */
.accordion-toggle,
.details-toggle,
.disclosure-toggle,
.section-toggle,
.collapse-toggle,
.summary-toggle,
.expand-toggle,
.js-accordion-toggle,
button[aria-expanded],
[role="button"][aria-expanded],
.has-disclosure{
  position:relative;
  padding-right:56px !important;
}

.accordion-toggle .disclosure-chevron,
.details-toggle .disclosure-chevron,
.disclosure-toggle .disclosure-chevron,
.section-toggle .disclosure-chevron,
.collapse-toggle .disclosure-chevron,
.summary-toggle .disclosure-chevron,
.expand-toggle .disclosure-chevron,
.js-accordion-toggle .disclosure-chevron,
button[aria-expanded] > .disclosure-chevron,
[role="button"][aria-expanded] > .disclosure-chevron,
.has-disclosure > .disclosure-chevron{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%) rotate(0deg);
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text);
  opacity:.92;
  transition:transform .18s ease, color .18s ease, opacity .18s ease;
  pointer-events:none;
}

.accordion-toggle[aria-expanded="true"] .disclosure-chevron,
.details-toggle[aria-expanded="true"] .disclosure-chevron,
.disclosure-toggle[aria-expanded="true"] .disclosure-chevron,
.section-toggle[aria-expanded="true"] .disclosure-chevron,
.collapse-toggle[aria-expanded="true"] .disclosure-chevron,
.summary-toggle[aria-expanded="true"] .disclosure-chevron,
.expand-toggle[aria-expanded="true"] .disclosure-chevron,
.js-accordion-toggle[aria-expanded="true"] .disclosure-chevron,
button[aria-expanded="true"] > .disclosure-chevron,
[role="button"][aria-expanded="true"] > .disclosure-chevron,
.has-disclosure[aria-expanded="true"] > .disclosure-chevron{
  transform:translateY(-50%) rotate(180deg);
  color:var(--accent);
}

.disclosure-chevron svg,
.disclosure-chevron{
  stroke:currentColor;
  fill:none;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* =========================================================
   v5.2.6 — iOS Home Screen icon diagnostic
   ========================================================= */
.home-icon-diagnostic{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #4c573c;
  border-radius:12px;
  background:#151b13;
}
.home-icon-diagnostic img{
  flex:0 0 72px;
  width:72px;
  height:72px;
  border-radius:16px;
  object-fit:cover;
  box-shadow:0 5px 14px rgba(0,0,0,.25);
}
.home-icon-diagnostic span,
.home-icon-diagnostic strong,
.home-icon-diagnostic small{
  display:block;
}
.home-icon-diagnostic span{
  color:#9bad7e;
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.08em;
}
.home-icon-diagnostic strong{
  margin-top:3px;
  font-size:.64rem;
}
.home-icon-diagnostic small{
  margin-top:3px;
  color:#808a82;
  font-size:.53rem;
  line-height:1.4;
}


/* =========================================================
   v5.2.8 — Mileage efficiency + wake-lock status
   ========================================================= */
.recap-mileage-efficiency{
  margin-top:10px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--panel);
}
.recap-mileage-efficiency-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.recap-mileage-efficiency-grid article{
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.recap-mileage-efficiency-grid article.trusted{
  border-color:#5d623d;
  background:#191c13;
}
.recap-mileage-efficiency-grid article.experimental{
  border-style:dashed;
}
.recap-mileage-efficiency-grid span,
.recap-mileage-efficiency-grid strong,
.recap-mileage-efficiency-grid small{
  display:block;
}
.recap-mileage-efficiency-grid span{
  color:var(--muted);
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.06em;
}
.recap-mileage-efficiency-grid strong{
  margin-top:4px;
  font-size:1rem;
}
.recap-mileage-efficiency-grid article.trusted strong{
  color:#d9c985;
}
.recap-mileage-efficiency-grid small{
  margin-top:3px;
  color:#747f87;
  font-size:.52rem;
  line-height:1.4;
}
.recap-mileage-note{
  margin:8px 2px 0;
  color:#78828a;
  font-size:.53rem;
  line-height:1.45;
}

.today-wake-status,
.tracking-live-status{
  display:block;
  margin-top:8px;
  color:#7e8890;
  font-size:.54rem;
  font-weight:800;
}
.today-wake-status[data-state="active"],
.tracking-live-status[data-state="active"]{ color:#8fc3a0; }
.today-wake-status[data-state="retrying"],
.today-wake-status[data-state="checking"],
.tracking-live-status[data-state="retrying"],
.tracking-live-status[data-state="checking"]{ color:#ddb26d; }
.today-wake-status[data-state="error"],
.today-wake-status[data-state="unsupported"],
.tracking-live-status[data-state="error"],
.tracking-live-status[data-state="unsupported"]{ color:#d58a80; }

@media(max-width:700px){
  .recap-mileage-efficiency-grid{ grid-template-columns:1fr; }
}


/* =========================================================
   v5.3.0 — HustleDeck product lockup
   ========================================================= */
.brand-parent{
  display:block;
  margin-top:1px;
  color:#7f898f;
  font-size:.46rem;
  font-weight:850;
  letter-spacing:.08em;
}
html.sho-ipad .brand-parent{
  font-size:.5rem;
}


/* =========================================================
   v5.3.1 — Approved HustleDeck production identity
   ========================================================= */
.brand-logo{
  border-radius:11px;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.28));
}
html.sho-ipad .nav-rail-brand img{
  border-radius:13px;
  filter:drop-shadow(0 4px 9px rgba(0,0,0,.28));
}
.login-logo{
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.34));
}
.brand-name{
  color:var(--brand-cream);
}
.brand-parent{
  color:var(--brand-olive);
}


/* =========================================================
   v5.4.0 — Delivery phase timing
   ========================================================= */
.delivery-timing-panel{
  display:grid;
  gap:8px;
  margin:12px 0 14px;
}
.delivery-cycle-live,
.delivery-phase-timer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#12171c;
}
.delivery-cycle-live>div,
.delivery-phase-timer>div{min-width:0}
.delivery-cycle-live span,
.delivery-cycle-live strong,
.delivery-cycle-live small,
.delivery-phase-timer span,
.delivery-phase-timer strong,
.delivery-phase-timer small{display:block}
.delivery-cycle-live span,
.delivery-phase-timer span{
  color:var(--muted);
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.05em;
}
.delivery-cycle-live strong,
.delivery-phase-timer strong{
  margin-top:3px;
  font-size:1.02rem;
  font-variant-numeric:tabular-nums;
}
.delivery-cycle-live small,
.delivery-phase-timer small{
  margin-top:2px;
  color:#7f8991;
  font-size:.54rem;
}
.delivery-cycle-live{
  border-color:#4e4432;
  background:linear-gradient(180deg,#1a1814,#12171c);
}
.delivery-cycle-live strong{color:var(--accent2)}
.delivery-phase-timer.is-running{
  border-color:#84591e;
  background:#1c1811;
  box-shadow:inset 3px 0 0 var(--accent);
}
.delivery-phase-timer.is-running strong{color:#efb36d}
.delivery-timing-upgrade-note{
  padding:9px 11px;
  border:1px dashed #75592f;
  border-radius:10px;
  color:#c9a56f;
  font-size:.58rem;
}
.delivery-timing-corrections{
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
  background:#12171c;
}
.delivery-timing-corrections summary{
  padding:11px 12px;
  cursor:pointer;
  color:#c3cbd2;
  font-size:.65rem;
  font-weight:900;
}
.delivery-timing-correction-body{
  padding:0 12px 12px;
  border-top:1px solid var(--line);
}
.recap-timing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.recap-timing-grid article{
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.recap-timing-grid span,
.recap-timing-grid strong,
.recap-timing-grid small{display:block}
.recap-timing-grid span{
  color:var(--muted);
  font-size:.54rem;
  font-weight:950;
  letter-spacing:.05em;
}
.recap-timing-grid strong{
  margin-top:4px;
  font-size:1.05rem;
  color:var(--accent2);
}
.recap-timing-grid small{
  margin-top:3px;
  color:#7b858d;
  font-size:.53rem;
  line-height:1.4;
}
.timing-hero-card{border-color:#51452f}

@media(max-width:620px){
  .hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .delivery-cycle-live,
  .delivery-phase-timer{align-items:stretch;flex-direction:column}
  .delivery-phase-timer form,.delivery-phase-timer button{width:100%}
  .recap-timing-grid{grid-template-columns:1fr}
}


/* v5.4.0 layout refinements */
.delivery-cycle-live{
  display:grid;
  align-items:initial;
  justify-content:initial;
  gap:1px;
}
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .hero-metrics{grid-template-columns:repeat(4,minmax(0,1fr));}
  }
}


/* =========================================================
   v5.5.0 — Delivery Cycle Analytics
   ========================================================= */
.recap-cycle-grid,
.cycle-analytics-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}
.recap-cycle-grid article,
.cycle-analytics-kpis article{
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#14191e;
}
.recap-cycle-grid article.primary,
.cycle-analytics-kpis article.primary{
  border-color:#6d5d32;
  background:#1a1913;
}
.recap-cycle-grid span,
.recap-cycle-grid strong,
.recap-cycle-grid small,
.cycle-analytics-kpis span,
.cycle-analytics-kpis strong,
.cycle-analytics-kpis small{
  display:block;
}
.recap-cycle-grid span,
.cycle-analytics-kpis span{
  color:var(--muted);
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.055em;
}
.recap-cycle-grid strong,
.cycle-analytics-kpis strong{
  margin-top:4px;
  color:var(--cream);
  font-size:.96rem;
}
.recap-cycle-grid article.primary strong,
.cycle-analytics-kpis article.primary strong{
  color:#d6bd69;
}
.recap-cycle-grid small,
.cycle-analytics-kpis small{
  margin-top:4px;
  color:#77828a;
  font-size:.51rem;
  line-height:1.38;
}

.timing-phase-share{
  margin-top:10px;
  padding:10px;
  border:1px solid #293038;
  border-radius:11px;
  background:#10151a;
}
.timing-phase-share.report{
  margin-top:12px;
}
.timing-phase-share-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
}
.timing-phase-share-head span{
  color:#b4a477;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.07em;
}
.timing-phase-share-head small{
  color:#6f7981;
  font-size:.5rem;
}
.timing-phase-bar{
  display:flex;
  width:100%;
  height:12px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:#252b31;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.35);
}
.timing-phase-bar i{
  display:block;
  height:100%;
}
.timing-phase-bar .travel{background:#b99a3c}
.timing-phase-bar .service{background:#e05a24}
.timing-phase-bar .delivery{background:#6f7f8f}
.timing-phase-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:7px;
  color:#89939a;
  font-size:.51rem;
}
.timing-phase-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
.timing-phase-legend b{
  width:7px;
  height:7px;
  border-radius:50%;
  flex:0 0 7px;
}
.timing-phase-legend b.travel{background:#b99a3c}
.timing-phase-legend b.service{background:#e05a24}
.timing-phase-legend b.delivery{background:#6f7f8f}

.recap-timing-detail-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
.recap-timing-detail-strip>div{
  padding:8px 10px;
  border-radius:9px;
  background:#101419;
  border:1px solid #262d33;
}
.recap-timing-detail-strip span,
.recap-timing-detail-strip strong,
.recap-timing-detail-strip small{display:block}
.recap-timing-detail-strip span{
  color:#737f87;
  font-size:.46rem;
  font-weight:950;
  letter-spacing:.06em;
}
.recap-timing-detail-strip strong{
  margin-top:3px;
  font-size:.72rem;
}
.recap-timing-detail-strip small{
  margin-top:2px;
  color:#69737a;
  font-size:.48rem;
}

.cycle-analytics-card{
  margin-top:12px;
}
.cycle-analytics-intro{
  margin:7px 0 0;
  max-width:900px;
  color:#7f898f;
  font-size:.57rem;
  line-height:1.5;
}
.cycle-time-sink{
  margin:7px 0 0;
  color:#8b949a;
  font-size:.54rem;
}
.cycle-time-sink strong{color:#d2c297}

.cycle-breakdown-details{
  margin-top:11px;
  border-top:1px solid #2b3137;
  padding-top:9px;
}
.cycle-breakdown-details>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  list-style:none;
}
.cycle-breakdown-details>summary::-webkit-details-marker{display:none}
.cycle-breakdown-details>summary span:first-child strong,
.cycle-breakdown-details>summary span:first-child small{display:block}
.cycle-breakdown-details>summary span:first-child strong{
  font-size:.67rem;
}
.cycle-breakdown-details>summary span:first-child small{
  margin-top:2px;
  color:#748087;
  font-size:.52rem;
}
.cycle-breakdown-body{
  padding-top:12px;
}
.cycle-breakdown-group + .cycle-breakdown-group{
  margin-top:16px;
}
.cycle-breakdown-table{
  margin-top:6px;
  border:1px solid #282f35;
  border-radius:10px;
  overflow:hidden;
}
.cycle-breakdown-row{
  display:grid;
  grid-template-columns:minmax(150px,1.35fr) repeat(4,minmax(90px,.8fr));
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border-top:1px solid #252c32;
  background:#12171b;
}
.cycle-breakdown-row:first-child{border-top:0}
.cycle-breakdown-row.header{
  background:#191f24;
  color:#8d989f;
  font-size:.47rem;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.cycle-breakdown-row>span{
  min-width:0;
  font-size:.56rem;
}
.cycle-breakdown-row>span:not(:first-child){
  text-align:right;
}
.cycle-breakdown-row strong,
.cycle-breakdown-row small{display:block}
.cycle-breakdown-row small{
  margin-top:2px;
  color:#6f7980;
  font-size:.47rem;
}

@media(max-width:800px){
  .recap-cycle-grid,
  .cycle-analytics-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cycle-breakdown-table{
    overflow-x:auto;
  }
  .cycle-breakdown-row{
    min-width:650px;
  }
}
@media(max-width:520px){
  .recap-cycle-grid,
  .cycle-analytics-kpis,
  .recap-timing-detail-strip{
    grid-template-columns:1fr;
  }
  .timing-phase-share-head{
    align-items:start;
    flex-direction:column;
    gap:2px;
  }
}


/* =========================================================
   v5.6.0 — Reporting Suite · Phase 1
   ========================================================= */

/* The report suite has more destinations now. Make it scroll cleanly instead
   of crushing seven labels into the old four-column grid. */
.report-section-tabs{
  display:flex!important;
  grid-template-columns:none!important;
  gap:5px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.report-section-tabs::-webkit-scrollbar{display:none}
.report-section-tabs a{
  flex:1 0 78px;
  min-width:78px;
  overflow:visible;
  text-overflow:clip;
}
.report-section-tabs a:nth-child(-n+4){
  color:#c8c0aa;
}
.report-section-tabs a.active{
  color:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(224,90,36,.12);
}

.reporting-suite-page{
  --report-travel:#b99a3c;
  --report-service:#e05a24;
  --report-delivery:#738597;
}
.reporting-suite-intro{
  margin-bottom:10px;
}
.reporting-period-control{
  margin-bottom:10px;
}
.report-suite-launchpad{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.report-suite-launchpad a{
  display:block;
  min-width:0;
  padding:13px 14px;
  border:1px solid #37322a;
  border-radius:13px;
  background:
    linear-gradient(135deg,rgba(29,30,28,.98),rgba(16,20,24,.98));
  text-decoration:none;
  box-shadow:0 5px 18px rgba(0,0,0,.12);
}
.report-suite-launchpad span,
.report-suite-launchpad strong,
.report-suite-launchpad small{display:block}
.report-suite-launchpad span{
  color:var(--accent);
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.075em;
}
.report-suite-launchpad strong{
  margin-top:5px;
  color:var(--cream);
  font-size:.77rem;
  line-height:1.18;
}
.report-suite-launchpad small{
  margin-top:5px;
  color:#7e898f;
  font-size:.51rem;
}
.report-suite-inline-cta{
  display:flex;
  justify-content:flex-end;
  margin-top:9px;
}
.report-suite-inline-cta a{
  color:var(--accent);
  font-size:.51rem;
  font-weight:950;
  letter-spacing:.055em;
  text-decoration:none;
}

.reporting-filter-card{
  padding:10px;
  margin-bottom:10px;
}
.reporting-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:8px;
  align-items:end;
}
.reporting-filter-grid .wide{
  grid-column:1/-1;
}
.reporting-filter-grid label{
  margin:0;
  min-width:0;
}
.reporting-filter-grid select{
  min-width:0;
  width:100%;
}
.reporting-filter-actions{
  display:flex;
  gap:6px;
  align-items:end;
}
.reporting-filter-actions .btn{
  white-space:nowrap;
}

/* Metric Explorer */
.metric-explorer-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);
  gap:9px;
  margin-bottom:10px;
}
.metric-focus-card,
.metric-context-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.metric-focus-card{
  padding:18px;
  background:
    radial-gradient(circle at 85% 10%,rgba(224,90,36,.08),transparent 35%),
    linear-gradient(135deg,#191b1c,#11161a);
}
.metric-focus-card span,
.metric-focus-card strong,
.metric-focus-card small{display:block}
.metric-focus-card span{
  color:var(--accent);
  font-size:.54rem;
  font-weight:950;
  letter-spacing:.075em;
}
.metric-focus-card strong{
  margin-top:6px;
  color:var(--cream);
  font-size:2rem;
  line-height:1;
}
.metric-focus-card small{
  margin-top:7px;
  color:#858f96;
  font-size:.54rem;
}
.metric-focus-card p{
  margin:12px 0 0;
  max-width:660px;
  color:#9aa2a7;
  font-size:.62rem;
  line-height:1.45;
}
.metric-context-card{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:8px;
  gap:5px;
}
.metric-context-card>div{
  padding:10px;
  border:1px solid #272e34;
  border-radius:10px;
  background:#11161a;
}
.metric-context-card span,
.metric-context-card strong{display:block}
.metric-context-card span{
  color:#747f86;
  font-size:.48rem;
  font-weight:900;
}
.metric-context-card strong{
  margin-top:4px;
  color:#e8dec1;
  font-size:.82rem;
}
.metric-chart-card{
  margin-bottom:10px;
}
.metric-explorer-chart-wrap{
  position:relative;
  min-height:265px;
  margin-top:8px;
}
.metric-explorer-chart-wrap canvas{
  display:block;
  width:100%;
}
.metric-quick-switch{
  margin-bottom:10px;
}
.metric-switch-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
.metric-switch-grid a{
  min-width:0;
  padding:10px;
  border:1px solid #293038;
  border-radius:10px;
  background:#11161a;
  text-decoration:none;
}
.metric-switch-grid a.active{
  border-color:#805130;
  background:#1d1814;
}
.metric-switch-grid span,
.metric-switch-grid strong,
.metric-switch-grid small{display:block}
.metric-switch-grid span{
  color:#7e898f;
  font-size:.48rem;
  font-weight:950;
}
.metric-switch-grid strong{
  margin-top:4px;
  color:var(--cream);
  font-size:.77rem;
}
.metric-switch-grid a.active strong{color:var(--accent)}
.metric-switch-grid small{
  margin-top:3px;
  color:#606c73;
  font-size:.46rem;
}

/* Saved views groundwork — intentionally device-local in Phase 1. */
.saved-report-views{
  margin-bottom:10px;
}
.saved-report-views p{
  margin:5px 0 8px;
  color:#77838a;
  font-size:.54rem;
  line-height:1.45;
}
.saved-view-list{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.saved-view-empty{
  color:#69747b;
  font-size:.52rem;
}
.saved-view-chip{
  display:inline-flex;
  align-items:center;
  overflow:hidden;
  border:1px solid #343b41;
  border-radius:999px;
  background:#11161a;
}
.saved-view-chip a{
  padding:6px 7px 6px 10px;
  color:#d8cfb4;
  font-size:.5rem;
  font-weight:850;
  text-decoration:none;
}
.saved-view-chip button{
  appearance:none;
  border:0;
  border-left:1px solid #343b41;
  background:transparent;
  color:#7c878e;
  padding:5px 8px;
  cursor:pointer;
}

/* Delivery Cycle */
.cycle-suite-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.cycle-suite-kpis article{
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#14191e;
}
.cycle-suite-kpis article.primary{
  border-color:#6f5530;
  background:#1b1814;
}
.cycle-suite-kpis span,
.cycle-suite-kpis strong,
.cycle-suite-kpis small,
.cycle-suite-kpis em{display:block}
.cycle-suite-kpis span{
  color:#808a90;
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.055em;
}
.cycle-suite-kpis strong{
  margin-top:5px;
  color:var(--cream);
  font-size:1rem;
}
.cycle-suite-kpis article.primary strong{color:var(--accent)}
.cycle-suite-kpis small{
  margin-top:4px;
  color:#6d787f;
  font-size:.48rem;
}
.cycle-suite-kpis em{
  margin-top:8px;
  color:#9d9275;
  font-size:.46rem;
  font-style:normal;
}
.cycle-master-share,
.cycle-stack-section{
  margin-bottom:10px;
}
.cycle-stack-bar{
  display:flex;
  width:100%;
  height:16px;
  overflow:hidden;
  border-radius:999px;
  background:#252b31;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.35);
}
.cycle-stack-bar.xl{
  height:24px;
  margin-top:10px;
}
.cycle-stack-bar i{display:block;height:100%}
.cycle-stack-bar .travel{background:var(--report-travel)}
.cycle-stack-bar .service{background:var(--report-service)}
.cycle-stack-bar .delivery{background:var(--report-delivery)}
.cycle-stack-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:8px;
  color:#89939a;
  font-size:.52rem;
}
.cycle-stack-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
.cycle-stack-legend b{
  width:8px;height:8px;border-radius:50%;
}
.cycle-stack-legend b.travel{background:var(--report-travel)}
.cycle-stack-legend b.service{background:var(--report-service)}
.cycle-stack-legend b.delivery{background:var(--report-delivery)}
.cycle-insight-callout{
  margin:9px 0 0;
  padding:8px 10px;
  border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0;
  background:#151719;
  color:#8c969c;
  font-size:.56rem;
}
.cycle-insight-callout strong{color:#e0d5b8}
.cycle-stack-list{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.cycle-stack-row{
  padding:10px;
  border:1px solid #293038;
  border-radius:10px;
  background:#11161a;
}
.cycle-stack-row-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.cycle-stack-row-head>span:last-child{text-align:right}
.cycle-stack-row-head strong,
.cycle-stack-row-head small{display:block}
.cycle-stack-row-head strong{
  color:#e5dcc1;
  font-size:.62rem;
}
.cycle-stack-row-head small{
  margin-top:2px;
  color:#69747b;
  font-size:.47rem;
}
.cycle-stack-times{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:6px;
}
.cycle-stack-times span{
  color:#707b82;
  font-size:.47rem;
}
.cycle-stack-times span:nth-child(2){text-align:center}
.cycle-stack-times span:nth-child(3){text-align:right}
.cycle-stack-times b{
  color:#aab1b5;
  font-weight:900;
}

/* Offer Lab */
.offer-lab-winners{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.offer-lab-winners article{
  padding:13px;
  border:1px solid #373229;
  border-radius:12px;
  background:
    linear-gradient(135deg,#1a1916,#11161a);
}
.offer-lab-winners span,
.offer-lab-winners strong,
.offer-lab-winners small{display:block}
.offer-lab-winners span{
  color:var(--accent);
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.06em;
}
.offer-lab-winners strong{
  margin-top:5px;
  color:var(--cream);
  font-size:.82rem;
}
.offer-lab-winners small{
  margin-top:5px;
  color:#78838a;
  font-size:.5rem;
}
.offer-performance-section{
  margin-bottom:10px;
}
.offer-performance-table-wrap{
  margin-top:8px;
  overflow-x:auto;
  border:1px solid #293038;
  border-radius:10px;
}
.offer-performance-table{
  min-width:760px;
}
.offer-performance-row{
  display:grid;
  grid-template-columns:minmax(150px,1.5fr) 55px repeat(5,minmax(85px,.8fr));
  gap:7px;
  align-items:center;
  padding:8px 10px;
  border-top:1px solid #252c32;
  background:#11161a;
}
.offer-performance-row:first-child{border-top:0}
.offer-performance-row.header{
  background:#191f24;
  color:#828d94;
  font-size:.46rem;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.offer-performance-row>span{
  min-width:0;
  font-size:.54rem;
}
.offer-performance-row>span:not(:first-child){
  text-align:right;
}
.offer-performance-row strong,
.offer-performance-row small{display:block}
.offer-performance-row strong{
  color:#e2d9bd;
}
.offer-performance-row small{
  margin-top:2px;
  color:#68737a;
  font-size:.46rem;
}
.offer-lab-note{
  margin-bottom:10px;
}
.offer-lab-note p{
  margin:5px 0 0;
  color:#818b91;
  font-size:.56rem;
  line-height:1.48;
}

@media(max-width:860px){
  .report-suite-launchpad{grid-template-columns:1fr}
  .reporting-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reporting-filter-actions{grid-column:1/-1}
  .metric-explorer-hero{grid-template-columns:1fr}
  .cycle-suite-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .offer-lab-winners{grid-template-columns:1fr}
}
@media(max-width:620px){
  .report-section-tabs a{
    flex:0 0 78px;
  }
  .reporting-filter-grid{grid-template-columns:1fr}
  .reporting-filter-grid .wide,
  .reporting-filter-actions{grid-column:auto}
  .reporting-filter-actions .btn{flex:1}
  .metric-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cycle-suite-kpis{grid-template-columns:1fr 1fr}
  .cycle-stack-times{grid-template-columns:1fr}
  .cycle-stack-times span:nth-child(2),
  .cycle-stack-times span:nth-child(3){text-align:left}
}
@media(max-width:430px){
  .metric-focus-card strong{font-size:1.7rem}
  .metric-context-card{grid-template-columns:1fr 1fr}
  .cycle-suite-kpis{grid-template-columns:1fr}
}


/* =========================================================
   v5.7.0 — Session Fuel Cost
   ========================================================= */
.fuel-default-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:9px;
}
.fuel-default-form .btn{grid-column:1/-1}
.fuel-default-form label small{
  display:block;
  margin-top:4px;
  color:#758087;
  font-size:.51rem;
  line-height:1.35;
}
.fuel-default-preview{
  margin-top:9px;
  padding:10px 12px;
  border:1px solid #3e3828;
  border-radius:11px;
  background:#171713;
}
.fuel-default-preview span,
.fuel-default-preview strong,
.fuel-default-preview small{display:block}
.fuel-default-preview span{
  color:#b99a3c;
  font-size:.48rem;
  font-weight:950;
  letter-spacing:.06em;
}
.fuel-default-preview strong{
  margin-top:4px;
  color:var(--cream);
  font-size:.8rem;
}
.fuel-default-preview small{
  margin-top:3px;
  color:#7c878d;
  font-size:.5rem;
}

.fuel-efficiency-recap{border-color:#3b3529}
.fuel-recap-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}
.fuel-recap-grid article{
  padding:10px;
  border:1px solid #293038;
  border-radius:10px;
  background:#12171b;
}
.fuel-recap-grid article.primary{
  border-color:#5c492d;
  background:#191714;
}
.fuel-recap-grid span,
.fuel-recap-grid strong,
.fuel-recap-grid small{display:block}
.fuel-recap-grid span{
  color:#768087;
  font-size:.47rem;
  font-weight:950;
  letter-spacing:.055em;
}
.fuel-recap-grid strong{
  margin-top:4px;
  color:var(--cream);
  font-size:.82rem;
}
.fuel-recap-grid article.primary strong{color:#d8c06e}
.fuel-recap-grid small{
  margin-top:3px;
  color:#69747b;
  font-size:.47rem;
  line-height:1.35;
}
.fuel-tax-note{
  margin:8px 0 0;
  padding-left:9px;
  border-left:2px solid #625638;
  color:#7c858a;
  font-size:.5rem;
  line-height:1.42;
}

.reporting-scope-note{
  padding:9px 10px;
  border:1px solid #40382b;
  border-radius:9px;
  background:#171713;
}
.reporting-scope-note strong,
.reporting-scope-note span{display:block}
.reporting-scope-note strong{
  color:#b99a3c;
  font-size:.49rem;
  letter-spacing:.06em;
}
.reporting-scope-note span{
  margin-top:3px;
  color:#858b8e;
  font-size:.53rem;
  line-height:1.4;
}
.reporting-filter-grid select:disabled{
  opacity:.55;
  cursor:not-allowed;
}

@media(max-width:680px){
  .fuel-default-form,
  .fuel-recap-grid{grid-template-columns:1fr}
}


/* =========================================================
   v5.8.0 — Platform / Market / Store Service Locations
   ========================================================= */
.service-location-settings-card{border-color:#34332d}
.service-location-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 0}
.service-location-summary-grid>div{padding:9px;border:1px solid #2c3338;border-radius:9px;background:#11161a}
.service-location-summary-grid span,.service-location-summary-grid strong{display:block}
.service-location-summary-grid span{color:#748087;font-size:.48rem;font-weight:900}.service-location-summary-grid strong{margin-top:3px;color:var(--cream);font-size:.82rem}
.service-location-add-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}
.compact-stack{gap:7px}.compact-stack h2{margin-bottom:4px}
.service-location-tree-card{margin-bottom:10px}.service-location-tree{display:grid;gap:8px;margin-top:8px}
.service-platform-node{border:1px solid #2c3339;border-radius:11px;background:#11161a;overflow:hidden}
.service-platform-node>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;list-style:none;background:#181e23}.service-platform-node>summary::-webkit-details-marker{display:none}
.service-platform-node>summary span:first-child strong,.service-platform-node>summary span:first-child small{display:block}.service-platform-node>summary strong{color:#e3d9bd;font-size:.66rem}.service-platform-node>summary small{margin-top:2px;color:#6f7a81;font-size:.48rem}
.service-node-body{padding:10px}.service-node-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.service-node-toggle{margin-top:5px;text-align:right}
.service-market-node{margin-top:10px;padding:9px;border-left:3px solid #67562e;border-radius:0 9px 9px 0;background:#15191c}.service-market-node.inactive,.service-store-row.inactive{opacity:.58}
.service-market-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.service-market-heading span strong,.service-market-heading span small{display:block}.service-market-heading strong{font-size:.61rem}.service-market-heading small{margin-top:2px;color:#6c767d;font-size:.46rem}
.market-edit{margin-top:6px}.service-store-list{display:grid;gap:6px;margin-top:8px}.service-store-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:7px;border:1px solid #293037;border-radius:8px;background:#101519}
.service-store-edit{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(100px,.65fr) auto;gap:6px}.store-code-input{min-width:0}
.service-offer-location-fields{margin-top:-1px}.service-location-offer-note{margin:-1px 0 4px;color:#77838a;font-size:.51rem;line-height:1.35}
.service-offer-location-fields select:disabled{opacity:.5}

.store-report-winners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.store-report-winners article{padding:13px;border:1px solid #3a342a;border-radius:12px;background:linear-gradient(135deg,#1a1916,#11161a)}.store-report-winners span,.store-report-winners strong,.store-report-winners small{display:block}.store-report-winners span{color:var(--accent);font-size:.48rem;font-weight:950;letter-spacing:.06em}.store-report-winners strong{margin-top:5px;color:var(--cream);font-size:.8rem}.store-report-winners small{margin-top:4px;color:#78838a;font-size:.49rem}
.store-pickup-comparison,.store-performance-table-card{margin-bottom:10px}.store-wait-bars{display:grid;gap:9px;margin-top:9px}.store-wait-row{padding:9px;border:1px solid #293038;border-radius:9px;background:#11161a}.store-wait-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:7px}.store-wait-head>span:last-child{text-align:right}.store-wait-head strong,.store-wait-head small{display:block}.store-wait-head strong{color:#e2d9bd;font-size:.59rem}.store-wait-head small{margin-top:2px;color:#6d787f;font-size:.46rem}.store-wait-track{height:12px;border-radius:999px;background:#252b31;overflow:hidden}.store-wait-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b99a3c,#e05a24)}
.store-performance-table{min-width:900px}.store-performance-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 55px repeat(6,minmax(92px,.75fr));gap:7px;align-items:center;padding:8px 10px;border-top:1px solid #252c32;background:#11161a}.store-performance-row:first-child{border-top:0}.store-performance-row.header{background:#191f24;color:#828d94;font-size:.45rem;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.store-performance-row>span{min-width:0;font-size:.53rem}.store-performance-row>span:not(:first-child){text-align:right}.store-performance-row strong,.store-performance-row small{display:block}.store-performance-row strong{color:#e2d9bd}.store-performance-row small{margin-top:2px;color:#68737a;font-size:.45rem}

@media(max-width:900px){.service-location-add-grid{grid-template-columns:1fr}.service-store-edit{grid-template-columns:1fr 1fr auto}.store-report-winners{grid-template-columns:1fr}}
@media(max-width:620px){.service-location-summary-grid{grid-template-columns:repeat(3,1fr)}.service-store-row{grid-template-columns:1fr}.service-store-edit{grid-template-columns:1fr}.store-wait-head{align-items:start;flex-direction:column}.store-wait-head>span:last-child{text-align:left}}


/* =========================================================
   v5.9.0 — Settings & Navigation Polish
   ========================================================= */

/* Header actions now communicate Settings as a destination rather than
   feeling like an unlabeled utility icon. */
.header-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.header-settings-link{
  width:auto!important;
  min-width:38px;
  padding:0 10px;
  grid-template-columns:auto auto!important;
  gap:6px;
}
.header-action-icon{
  display:block;
  line-height:1;
}
.header-action-label{
  display:block;
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.02em;
}
.header-settings-link.active{
  color:var(--accent)!important;
  border-color:rgba(224,90,36,.42)!important;
  background:rgba(224,90,36,.10)!important;
}
.header-logout-link{
  width:38px!important;
}
@media(max-width:560px){
  .header-action-label{display:none}
  .header-settings-link{width:38px!important;padding:0!important;grid-template-columns:1fr!important}
}

/* Settings home */
.settings-page-intro{
  margin-bottom:9px;
}
.settings-jump-nav{
  position:sticky;
  top:66px;
  z-index:32;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:0 0 14px;
  padding:6px;
  border:1px solid #333a40;
  border-radius:13px;
  background:rgba(13,17,20,.94);
  backdrop-filter:blur(14px);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.settings-jump-nav a{
  display:block;
  min-width:0;
  padding:8px 9px;
  border:1px solid transparent;
  border-radius:9px;
  color:#8d979d;
  text-decoration:none;
  background:#11161a;
}
.settings-jump-nav a:hover,
.settings-jump-nav a:focus-visible{
  border-color:#4a4030;
  background:#191813;
}
.settings-jump-nav span,
.settings-jump-nav strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.settings-jump-nav span{
  color:#7d878d;
  font-size:.44rem;
  font-weight:950;
  letter-spacing:.055em;
}
.settings-jump-nav strong{
  margin-top:3px;
  color:#e3dbc2;
  font-size:.58rem;
}
.settings-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin:17px 2px 8px;
  padding:0 2px 7px;
  border-bottom:1px solid #2a3035;
  scroll-margin-top:132px;
}
.settings-section-heading h2{
  margin:2px 0 0;
  font-size:.88rem;
}
.settings-section-heading p{
  max-width:480px;
  margin:0;
  color:#768188;
  font-size:.52rem;
  line-height:1.4;
  text-align:right;
}
.settings-system-heading{
  margin-top:21px;
}
.settings-anchor-card{
  scroll-margin-top:132px;
}
.settings-tool-disclosure{
  padding:0!important;
  overflow:hidden;
}
.settings-tool-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:64px;
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
}
.settings-tool-disclosure>summary::-webkit-details-marker{display:none}
.settings-tool-disclosure>summary span,
.settings-tool-disclosure>summary strong,
.settings-tool-disclosure>summary small{
  display:block;
}
.settings-tool-disclosure>summary strong{
  color:#e1d8bd;
  font-size:.67rem;
}
.settings-tool-disclosure>summary small{
  margin-top:3px;
  color:#737e85;
  font-size:.5rem;
}
.settings-tool-disclosure>summary b{
  color:#778189;
  font-size:1rem;
  transition:transform .15s ease;
}
.settings-tool-disclosure[open]>summary{
  border-bottom:1px solid #2a3137;
  background:#171c20;
}
.settings-tool-disclosure[open]>summary b{
  transform:rotate(90deg);
}
.settings-tool-body{
  padding:12px 14px 14px;
}
.settings-tool-body .section-help{
  margin-top:0;
}
.settings-version-card{
  margin-top:0;
}

/* Reports sub-navigation is now grouped by intent. */
.report-nav-shell{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:7px;
  margin-bottom:10px;
}
.report-nav-group{
  min-width:0;
  padding:5px;
  border:1px solid #2c3338;
  border-radius:12px;
  background:#11161a;
}
.report-nav-group-label{
  display:block;
  padding:2px 5px 5px;
  color:#6f7a81;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.075em;
}
.report-nav-group .report-section-tabs{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.report-nav-group:first-child .report-section-tabs a{
  flex:1 0 70px;
}
.report-nav-group:last-child .report-section-tabs a{
  flex:1 0 72px;
}
.report-nav-group .report-section-tabs a.active{
  border-color:rgba(224,90,36,.25)!important;
  background:#211b14!important;
}
@media(max-width:760px){
  .report-nav-shell{
    grid-template-columns:1fr;
  }
  .report-nav-group-label{
    padding-bottom:3px;
  }
}

/* Phone/iPad settings jump bar stays below the sticky page header. */
@media(max-width:620px){
  .settings-jump-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    top:64px;
  }
  .settings-section-heading{
    align-items:start;
    flex-direction:column;
    gap:3px;
    scroll-margin-top:190px;
  }
  .settings-section-heading p{
    text-align:left;
  }
  .settings-anchor-card{
    scroll-margin-top:190px;
  }
}
@media(min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .settings-jump-nav{
      top:calc(var(--ipad-header-height) + 6px);
    }
    html.sho-ipad .settings-section-heading,
    html.sho-ipad .settings-anchor-card{
      scroll-margin-top:180px;
    }
    html.sho-ipad .header-settings-link{
      min-width:96px!important;
      justify-content:center;
    }
  }
}


/* =========================================================
   v5.10.0 — Spark Earnings Import & Reconciliation
   ========================================================= */
.spark-import-card,
.spark-source-card{
  margin-bottom:12px;
  padding:14px;
  border:1px solid #3c382d;
  border-radius:14px;
  background:linear-gradient(180deg,#171914,#11161a);
}
.spark-import-head,
.spark-source-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.spark-import-head h2,
.spark-source-head strong{margin:2px 0 0}
.spark-import-explainer{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:11px 0;
}
.spark-import-explainer>div{
  padding:10px;
  border:1px solid #30363b;
  border-radius:10px;
  background:#11161a;
}
.spark-import-explainer span,
.spark-import-explainer strong,
.spark-import-explainer small,
.spark-import-mini-stats span,
.spark-import-mini-stats strong{
  display:block;
}
.spark-import-explainer span,
.spark-import-mini-stats span{
  color:#7d878d;
  font-size:.45rem;
  font-weight:950;
  letter-spacing:.055em;
}
.spark-import-explainer strong{
  margin-top:4px;
  color:#e7dec2;
  font-size:.64rem;
}
.spark-import-explainer small{
  margin-top:4px;
  color:#707a80;
  font-size:.49rem;
  line-height:1.4;
}
.spark-import-form label small{
  display:block;
  margin-top:4px;
  color:#758087;
  font-size:.5rem;
}
.spark-import-actions{margin-top:7px}
.spark-import-mini-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}
.spark-import-mini-stats>div{
  padding:8px;
  border:1px solid #2b3237;
  border-radius:9px;
  text-align:center;
  background:#101519;
}
.spark-import-mini-stats strong{
  margin-top:3px;
  color:var(--cream);
  font-size:.72rem;
}

.spark-import-receipt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
  padding:11px 13px;
  border:1px solid #4b4933;
  border-radius:12px;
  background:#181a14;
}
.spark-import-receipt span,
.spark-import-receipt strong,
.spark-import-receipt small{display:block}
.spark-import-receipt span{
  color:#b99a3c;
  font-size:.47rem;
  font-weight:950;
  letter-spacing:.06em;
}
.spark-import-receipt strong{
  margin-top:3px;
  color:#eee4c5;
  font-size:.65rem;
}
.spark-import-receipt small{
  margin-top:3px;
  color:#7f898e;
  font-size:.49rem;
}

.spark-reconcile-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.spark-reconcile-kpis article{
  min-width:0;
  padding:11px;
  border:1px solid #2d3439;
  border-radius:11px;
  background:#11161a;
}
.spark-reconcile-kpis span,
.spark-reconcile-kpis strong,
.spark-reconcile-kpis small{display:block}
.spark-reconcile-kpis span{
  color:#778188;
  font-size:.44rem;
  font-weight:950;
  letter-spacing:.06em;
}
.spark-reconcile-kpis strong{
  margin-top:4px;
  color:#eee5ca;
  font-size:.86rem;
}
.spark-reconcile-kpis small{
  margin-top:3px;
  color:#69757c;
  font-size:.48rem;
}
.spark-reconcile-kpis .reporting{border-color:#3f563f}
.spark-reconcile-kpis .reconcile{border-color:#5d5035}
.spark-reconcile-kpis .matched{border-color:#354b5c}
.spark-reconcile-kpis .review{border-color:#603d33}

.spark-reconcile-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:8px 0;
}
.spark-status-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.spark-status-tabs a{
  padding:7px 9px;
  border:1px solid #30383d;
  border-radius:8px;
  color:#7d878d;
  background:#11161a;
  font-size:.46rem;
  font-weight:950;
  text-decoration:none;
}
.spark-status-tabs a.active{
  color:#f2e7c7;
  border-color:#73523a;
  background:#221a14;
}

.spark-reconcile-list{
  display:grid;
  gap:7px;
}
.spark-trip-row{
  overflow:hidden;
  border:1px solid #30373c;
  border-radius:11px;
  background:#11161a;
}
.spark-trip-row.reporting{border-left:3px solid #536a4d}
.spark-trip-row.reconcile{border-left:3px solid #7b6538}
.spark-trip-row.matched{border-left:3px solid #466779}
.spark-trip-row.review{border-left:3px solid #8b4f3d}
.spark-trip-main{
  display:grid;
  grid-template-columns:1.3fr 1fr .85fr .9fr;
  gap:8px;
  align-items:center;
  padding:10px 11px;
  color:inherit;
  text-decoration:none;
}
.spark-trip-main>div{min-width:0}
.spark-trip-main span,
.spark-trip-main strong,
.spark-trip-main small{display:block}
.spark-trip-main span{
  color:#748087;
  font-size:.43rem;
  font-weight:950;
  letter-spacing:.05em;
}
.spark-trip-main strong{
  margin-top:3px;
  overflow:hidden;
  color:#e8dfc4;
  font-size:.66rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.spark-trip-main small{
  margin-top:3px;
  overflow:hidden;
  color:#69747b;
  font-size:.47rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.spark-trip-money strong{font-size:.78rem}
.spark-trip-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  padding:7px 10px;
  border-top:1px solid #262d31;
  background:#0f1417;
}

.spark-status-badge{
  display:inline-block!important;
  width:max-content;
  max-width:100%;
  padding:4px 6px;
  border:1px solid #374047;
  border-radius:999px;
  font-size:.42rem!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
  line-height:1!important;
}
.spark-status-badge.reporting{
  color:#b9d1ae;
  border-color:#466142;
  background:#172017;
}
.spark-status-badge.reconcile{
  color:#dac48d;
  border-color:#66572f;
  background:#201c12;
}
.spark-status-badge.matched{
  color:#acc8d7;
  border-color:#3a5869;
  background:#121e25;
}
.spark-status-badge.review{
  color:#dfaa97;
  border-color:#754435;
  background:#251713;
}

.spark-import-history{
  margin-top:11px;
  border:1px solid #2d3438;
  border-radius:11px;
  background:#101519;
}
.spark-import-history>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 12px;
  cursor:pointer;
}
.spark-import-history>summary span,
.spark-import-history>summary strong,
.spark-import-history>summary small{display:block}
.spark-import-history>summary strong{font-size:.61rem}
.spark-import-history>summary small{margin-top:2px;color:#748087;font-size:.48rem}
.spark-batch-list{
  display:grid;
  gap:1px;
  border-top:1px solid #282f34;
}
.spark-batch-list>div{
  padding:9px 12px;
  background:#0f1417;
}
.spark-batch-list span,
.spark-batch-list strong,
.spark-batch-list small{display:block}
.spark-batch-list span{color:#7b868c;font-size:.46rem}
.spark-batch-list strong{margin-top:2px;font-size:.58rem}
.spark-batch-list small{margin-top:2px;color:#68737a;font-size:.46rem}

.spark-accounting-note{
  margin:10px 0;
  padding:9px 10px;
  border-left:2px solid #6d5733;
  color:#7f898e;
  background:#151612;
  font-size:.51rem;
  line-height:1.45;
}
.spark-accounting-note.compact{margin:7px 0 0}
.spark-accounting-note strong{color:#cab777}

.spark-source-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.spark-source-grid>div{
  min-width:0;
  padding:9px;
  border:1px solid #2d3438;
  border-radius:9px;
  background:#101519;
}
.spark-source-grid>div.primary{
  border-color:#5d4a2f;
  background:#191712;
}
.spark-source-grid span,
.spark-source-grid strong,
.spark-source-grid small{display:block}
.spark-source-grid span{
  color:#758087;
  font-size:.43rem;
  font-weight:950;
  letter-spacing:.055em;
}
.spark-source-grid strong{
  margin-top:3px;
  overflow:hidden;
  color:#ede3c7;
  font-size:.65rem;
  text-overflow:ellipsis;
}
.spark-source-grid .primary strong{color:#d9c06d;font-size:.78rem}
.spark-source-grid small{
  margin-top:3px;
  color:#69747a;
  font-size:.46rem;
}
.spark-review-warning{
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid #704435;
  border-radius:11px;
  background:#211613;
}
.spark-review-warning span,
.spark-review-warning strong,
.spark-review-warning small{display:block}
.spark-review-warning span{color:#d0886d;font-size:.44rem;font-weight:950;letter-spacing:.06em}
.spark-review-warning strong{margin-top:3px;color:#edd5ca;font-size:.61rem}
.spark-review-warning small{margin-top:3px;color:#95796f;font-size:.49rem;line-height:1.4}

.spark-detail-progress{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  padding:8px;
  border:1px solid #2c3338;
  border-radius:9px;
  background:#0f1417;
}
.spark-detail-progress span{
  padding:4px 6px;
  border-radius:999px;
  font-size:.45rem;
  font-weight:850;
}
.spark-detail-progress .complete{
  color:#b9cfaa;
  background:#172017;
}
.spark-detail-progress .pending{
  color:#7c868c;
  background:#181d20;
}
.spark-detail-group{
  padding:10px;
  border:1px solid #2b3338;
  border-radius:10px;
  background:#101519;
}
.spark-detail-group-head{
  margin-bottom:8px;
}
.spark-detail-group-head span,
.spark-detail-group-head small{display:block}
.spark-detail-group-head span{color:#c5aa66;font-size:.46rem;font-weight:950;letter-spacing:.06em}
.spark-detail-group-head small{margin-top:2px;color:#6f7a80;font-size:.48rem}
.spark-timing-details{
  border:1px solid #2b3338;
  border-radius:10px;
  background:#101519;
}
.spark-timing-details>summary{
  padding:10px;
  cursor:pointer;
}
.spark-timing-details>summary span,
.spark-timing-details>summary strong,
.spark-timing-details>summary small{display:block}
.spark-timing-details>summary strong{font-size:.59rem}
.spark-timing-details>summary small{margin-top:2px;color:#707a80;font-size:.47rem}
.spark-timing-body{padding:0 10px 10px}

.spark-reporting-state{
  display:grid;
  gap:9px;
}
.spark-state-copy,
.spark-linked-delivery{
  padding:9px 10px;
  border:1px solid #2e353a;
  border-radius:9px;
  background:#101519;
}
.spark-state-copy span,
.spark-state-copy strong,
.spark-state-copy small,
.spark-linked-delivery span,
.spark-linked-delivery strong,
.spark-linked-delivery small{display:block}
.spark-state-copy span,
.spark-linked-delivery span{
  color:#7f898e;
  font-size:.44rem;
  font-weight:950;
  letter-spacing:.055em;
}
.spark-state-copy strong,
.spark-linked-delivery strong{
  margin-top:3px;
  color:#e7dec2;
  font-size:.61rem;
}
.spark-state-copy small,
.spark-linked-delivery small{
  margin-top:3px;
  color:#6f7a80;
  font-size:.48rem;
  line-height:1.4;
}
.spark-state-copy.reporting{border-color:#3f573f}
.spark-state-copy.reconcile{border-color:#665832}
.spark-linked-delivery{border-color:#3b596a}
.spark-linked-delivery .btn{margin-top:7px}

.spark-match-list{
  display:grid;
  gap:6px;
  margin-bottom:10px;
}
.spark-match-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #2e353a;
  border-radius:9px;
  background:#101519;
}
.spark-match-list article span,
.spark-match-list article strong,
.spark-match-list article small{display:block}
.spark-match-list article span{color:#7e888e;font-size:.46rem}
.spark-match-list article strong{margin-top:2px;font-size:.65rem}
.spark-match-list article small{margin-top:2px;color:#68737a;font-size:.46rem}
.spark-match-actions{
  display:flex;
  align-items:center;
  gap:5px;
}
.spark-match-actions form{margin:0}

.spark-day-imports{
  display:grid;
  gap:6px;
}
.spark-day-imports article{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #2f373c;
  border-radius:9px;
  background:#101519;
}
.spark-day-imports article.adjustment{border-style:dashed}
.spark-day-imports span,
.spark-day-imports strong,
.spark-day-imports small{display:block}
.spark-day-imports>article>div:first-child>span{color:#7c878d;font-size:.44rem;font-weight:950;letter-spacing:.05em}
.spark-day-imports>article>div:first-child>strong{margin-top:3px;color:#e8dfc4;font-size:.66rem}
.spark-day-imports>article>div:first-child>small{margin-top:2px;color:#68737a;font-size:.46rem}
.spark-day-state{text-align:right}
.spark-day-state small{margin-top:3px;color:#68737a;font-size:.45rem}

@media(max-width:760px){
  .spark-import-explainer,
  .spark-reconcile-kpis,
  .spark-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spark-trip-main{grid-template-columns:1.25fr 1fr}
  .spark-trip-state{text-align:left}
}
@media(max-width:560px){
  .spark-import-explainer,
  .spark-reconcile-kpis,
  .spark-source-grid,
  .spark-import-mini-stats{grid-template-columns:1fr 1fr}
  .spark-reconcile-toolbar{align-items:stretch;flex-direction:column}
  .spark-trip-main{grid-template-columns:1fr}
  .spark-trip-main small{white-space:normal}
  .spark-trip-row-actions{justify-content:stretch}
  .spark-trip-row-actions .btn{flex:1}
  .spark-day-imports article{grid-template-columns:1fr auto}
  .spark-day-imports article>.btn{grid-column:1/-1}
  .spark-day-state{text-align:right}
  .spark-match-list article{align-items:stretch;flex-direction:column}
  .spark-match-actions{width:100%}
  .spark-match-actions .btn{flex:1}
}


/* =========================================================
   v5.11.0 — Desktop Workspace & Responsive Reports
   ========================================================= */

/* Rail brand variants. */
.nav-rail-full,
.nav-rail-parent,
.desktop-rail-tools{display:none}

/*
 * Reports Overview link reset.
 * Force browser link + visited states to stay inside the HustleDeck palette.
 * This fixes the blue/purple text visible in the desktop screenshot.
 */
.report-suite-launchpad a,
.report-suite-launchpad a:link,
.report-suite-launchpad a:visited,
.report-suite-launchpad a:hover,
.report-suite-launchpad a:active{
  color:inherit!important;
  text-decoration:none!important;
}
.report-suite-launchpad a span,
.report-suite-launchpad a:link span,
.report-suite-launchpad a:visited span{
  color:var(--accent)!important;
}
.report-suite-launchpad a strong,
.report-suite-launchpad a:link strong,
.report-suite-launchpad a:visited strong{
  color:var(--brand-cream,#F2E7C7)!important;
}
.report-suite-launchpad a small,
.report-suite-launchpad a:link small,
.report-suite-launchpad a:visited small{
  color:#7e898f!important;
}
.report-suite-launchpad a{
  position:relative;
  overflow:hidden;
  transition:border-color .15s ease,transform .15s ease,background .15s ease;
}
.report-suite-launchpad a::after{
  content:"→";
  position:absolute;
  right:12px;
  top:10px;
  color:#59636a;
  font-size:.72rem;
  font-weight:950;
  transition:color .15s ease,transform .15s ease;
}
.report-suite-launchpad a:hover,
.report-suite-launchpad a:focus-visible{
  border-color:#79502a;
  background:linear-gradient(135deg,rgba(36,31,24,.99),rgba(16,20,24,.99));
  transform:translateY(-1px);
  outline:none;
}
.report-suite-launchpad a:hover::after,
.report-suite-launchpad a:focus-visible::after{
  color:var(--accent);
  transform:translateX(2px);
}

/* ---------------- iPad report refinements ---------------- */
@media (min-width:768px) and (max-width:1400px){
  html.sho-ipad .reports-page{
    width:min(1220px,calc(100% - var(--ipad-rail-width) - 34px))!important;
  }
  html.sho-ipad .report-overview-launchpad{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  html.sho-ipad .report-overview-launchpad a{
    min-height:92px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:14px 15px;
  }
  html.sho-ipad .report-nav-shell{
    grid-template-columns:1fr;
    gap:6px;
  }
  html.sho-ipad .report-nav-group{
    padding:6px;
  }
  html.sho-ipad .report-nav-group .report-section-tabs{
    max-width:none!important;
  }
  html.sho-ipad .report-nav-group .report-section-tabs a{
    flex:1 0 92px;
    min-height:42px;
  }
  html.sho-ipad .reporting-filter-card{
    padding:12px;
  }
  html.sho-ipad .metric-switch-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  html.sho-ipad .offer-performance-table,
  html.sho-ipad .store-performance-table{
    min-width:100%;
  }
}
@media (min-width:1050px) and (max-width:1400px) and (orientation:landscape){
  html.sho-ipad .report-overview-launchpad{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  html.sho-ipad .report-nav-shell{
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  }
}

/* ---------------- Desktop workspace ---------------- */
@media (min-width:900px){
  html.sho-desktop{
    --desktop-rail-width:176px;
    --desktop-header-height:88px;
  }

  html.sho-desktop body{
    padding-bottom:0!important;
  }

  /* Persistent desktop navigation rail. */
  html.sho-desktop .bottom-nav{
    position:fixed!important;
    z-index:60!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    right:auto!important;
    width:var(--desktop-rail-width)!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    padding:18px 12px 14px!important;
    border-top:0!important;
    border-right:1px solid #2f373d!important;
    background:
      linear-gradient(180deg,rgba(15,18,22,.995),rgba(10,13,16,.995))!important;
    box-shadow:12px 0 34px rgba(0,0,0,.16);
  }
  html.sho-desktop .nav-rail-brand{
    display:grid!important;
    grid-template-columns:62px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:center;
    gap:2px 10px;
    min-height:86px;
    margin:0 2px 18px;
    padding:7px 5px 15px;
    border-bottom:1px solid rgba(255,255,255,.075);
    color:inherit;
    text-decoration:none;
  }
  html.sho-desktop .nav-rail-brand img{
    grid-row:1/3;
    width:62px;
    height:62px;
    object-fit:contain;
  }
  html.sho-desktop .nav-rail-short{display:none!important}
  html.sho-desktop .nav-rail-full{
    display:block!important;
    align-self:end;
    color:var(--brand-cream,#F2E7C7);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.105em;
  }
  html.sho-desktop .nav-rail-parent{
    display:block!important;
    align-self:start;
    color:var(--accent);
    font-size:.39rem;
    font-weight:950;
    letter-spacing:.08em;
    line-height:1.25;
  }

  html.sho-desktop .bottom-nav .nav-items{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    width:100%;
  }
  html.sho-desktop .bottom-nav .nav-item{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    place-items:center start!important;
    gap:10px!important;
    width:100%!important;
    min-height:50px!important;
    padding:9px 11px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    color:#8b949c!important;
    font-size:.69rem!important;
    text-decoration:none!important;
  }
  html.sho-desktop .bottom-nav .nav-icon,
  html.sho-desktop .bottom-nav .nav-icon svg{
    width:23px!important;
    height:23px!important;
  }
  html.sho-desktop .bottom-nav .nav-item.active{
    color:var(--accent)!important;
    border-color:#5b3b1d!important;
    background:rgba(224,90,36,.095)!important;
  }
  html.sho-desktop .bottom-nav .nav-item.active .nav-icon{
    width:23px!important;
    height:23px!important;
    background:none!important;
  }
  html.sho-desktop .bottom-nav .nav-label{
    font-size:.68rem;
    text-align:left;
  }

  html.sho-desktop .desktop-rail-tools{
    display:grid!important;
    gap:5px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.075);
  }
  html.sho-desktop .desktop-rail-tools-label{
    padding:0 9px 4px;
    color:#58636b;
    font-size:.42rem;
    font-weight:950;
    letter-spacing:.09em;
  }
  html.sho-desktop .desktop-rail-tools a{
    display:grid;
    grid-template-columns:25px minmax(0,1fr);
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:6px 9px;
    border-radius:9px;
    color:#737e85;
    text-decoration:none;
    font-size:.57rem;
  }
  html.sho-desktop .desktop-rail-tools a:hover,
  html.sho-desktop .desktop-rail-tools a:focus-visible{
    color:#d9d0b6;
    background:#151a1e;
    outline:none;
  }
  html.sho-desktop .desktop-rail-tools strong{
    font-size:.57rem;
  }

  /* Desktop title bar. Brand identity already lives in the rail. */
  html.sho-desktop .app-header{
    box-sizing:border-box!important;
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    width:calc(100% - var(--desktop-rail-width))!important;
    min-height:var(--desktop-header-height)!important;
    margin-left:var(--desktop-rail-width)!important;
    padding:12px 28px!important;
    background:rgba(14,17,21,.975)!important;
  }
  html.sho-desktop .app-header .brand-logo,
  html.sho-desktop .app-header .brand-name,
  html.sho-desktop .app-header .brand-parent{
    display:none!important;
  }
  html.sho-desktop .app-header .brand-lockup{
    gap:0!important;
  }
  html.sho-desktop .app-header .page-title{
    font-size:1.22rem!important;
  }
  html.sho-desktop .app-header .page-subtitle{
    margin-top:4px!important;
    font-size:.7rem!important;
  }
  html.sho-desktop .header-settings-link{
    min-width:104px!important;
    justify-content:center;
  }

  /* True desktop canvas instead of the old 760px phone/tablet column. */
  html.sho-desktop .app-shell{
    box-sizing:border-box!important;
    width:min(1540px,calc(100% - var(--desktop-rail-width) - 56px))!important;
    max-width:none!important;
    margin-left:calc(var(--desktop-rail-width) + 28px)!important;
    margin-right:28px!important;
    padding:24px 0 48px!important;
  }
  html.sho-desktop .shell.narrow{
    width:min(1000px,calc(100% - var(--desktop-rail-width) - 56px))!important;
    margin-left:calc(var(--desktop-rail-width) + 28px)!important;
    margin-right:28px!important;
  }
  html.sho-desktop .app-version-footer{
    position:fixed!important;
    z-index:61!important;
    left:13px!important;
    bottom:7px!important;
    width:170px!important;
    margin:0!important;
    color:#485159!important;
    font-size:.43rem!important;
    text-align:left!important;
    pointer-events:none;
  }

  /* Desktop cards/forms can breathe without becoming comically oversized. */
  html.sho-desktop .card{
    border-radius:14px;
  }
  html.sho-desktop input,
  html.sho-desktop select,
  html.sho-desktop textarea{
    font-size:.88rem;
  }
  html.sho-desktop .two-col{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  html.sho-desktop .three-col{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  /* Reporting navigation stays visible while working a long report. */
  html.sho-desktop .reports-page .report-nav-shell{
    position:sticky;
    top:calc(var(--desktop-header-height) + 8px);
    z-index:35;
    grid-template-columns:minmax(0,1.8fr) minmax(420px,1fr);
    gap:9px;
    margin-bottom:14px;
    padding:0;
    background:rgba(14,14,15,.92);
    backdrop-filter:blur(10px);
  }
  html.sho-desktop .reports-page .report-nav-group{
    padding:6px;
    border-radius:11px;
  }
  html.sho-desktop .reports-page .report-nav-group-label{
    padding:2px 6px 5px;
    font-size:.43rem;
  }
  html.sho-desktop .reports-page .report-section-tabs{
    overflow:visible;
  }
  html.sho-desktop .reports-page .report-section-tabs a{
    flex:1 1 0;
    min-width:0;
    min-height:39px;
    display:grid;
    place-items:center;
    font-size:.51rem;
  }

  /* Overview becomes a real desktop dashboard. */
  html.sho-desktop .reports-page .page-intro-v4{
    grid-template-columns:minmax(300px,.75fr) minmax(460px,1.25fr);
    gap:30px;
    padding:20px 22px;
  }
  html.sho-desktop .reports-page .page-intro-v4-heading h1{
    max-width:none;
    font-size:2rem;
  }
  html.sho-desktop .report-overview-launchpad{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px;
    margin-bottom:12px;
  }
  html.sho-desktop .report-overview-launchpad a{
    min-height:108px;
    padding:17px 18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  html.sho-desktop .report-overview-launchpad span{
    font-size:.48rem;
  }
  html.sho-desktop .report-overview-launchpad strong{
    max-width:250px;
    font-size:.83rem;
  }
  html.sho-desktop .report-overview-launchpad small{
    font-size:.49rem;
  }
  html.sho-desktop .report-overview-kpis{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:9px;
  }
  html.sho-desktop .report-overview-kpis .report-dashboard-kpi{
    min-height:94px;
    padding:13px 14px;
  }
  html.sho-desktop .report-overview-kpis .report-dashboard-kpi.primary{
    grid-column:span 2;
  }
  html.sho-desktop .report-overview-kpis .report-dashboard-kpi strong{
    font-size:1.12rem;
  }
  html.sho-desktop .report-overview-kpis .report-dashboard-kpi.primary strong{
    font-size:1.7rem;
  }
  html.sho-desktop .report-secondary-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  html.sho-desktop .cycle-analytics-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  /* Desktop chart workspace: large trend on the left, supporting charts right. */
  html.sho-desktop .report-overview-charts{
    grid-template-columns:minmax(0,2fr) minmax(360px,1fr)!important;
    grid-template-rows:auto auto;
    gap:10px;
  }
  html.sho-desktop .report-overview-charts .report-chart-panel-wide{
    grid-column:1!important;
    grid-row:1 / span 2;
  }
  html.sho-desktop .report-overview-charts .report-chart-panel:not(.report-chart-panel-wide){
    grid-column:2;
  }

  /* Reporting Suite pages use the width instead of keeping tablet density. */
  html.sho-desktop .reporting-suite-page .reporting-filter-card{
    padding:13px;
  }
  html.sho-desktop .reporting-suite-page .reporting-filter-grid{
    gap:10px;
  }
  html.sho-desktop .metric-explorer-hero{
    grid-template-columns:minmax(0,1.7fr) minmax(360px,.8fr);
    gap:10px;
  }
  html.sho-desktop .metric-switch-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  html.sho-desktop .cycle-suite-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  html.sho-desktop .offer-lab-winners,
  html.sho-desktop .store-report-winners{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  html.sho-desktop .offer-performance-table,
  html.sho-desktop .store-performance-table{
    min-width:100%;
  }
  html.sho-desktop .offer-performance-row{
    grid-template-columns:minmax(210px,1.6fr) 70px repeat(5,minmax(110px,.8fr));
  }
  html.sho-desktop .store-performance-row{
    grid-template-columns:minmax(230px,1.6fr) 70px repeat(6,minmax(108px,.75fr));
  }

  /* Desktop admin/reconciliation screens. */
  html.sho-desktop .spark-reconcile-kpis{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  html.sho-desktop .spark-trip-main{
    grid-template-columns:1.4fr 1fr .8fr .9fr;
  }
  html.sho-desktop .spark-import-explainer{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  html.sho-desktop .settings-jump-nav{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* Mid-size desktop/laptop reporting remains dense without crowding. */
@media (min-width:900px) and (max-width:1299px){
  html.sho-desktop{
    --desktop-rail-width:176px;
  }
  html.sho-desktop .report-overview-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  html.sho-desktop .report-overview-launchpad{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html.sho-desktop .reports-page .report-nav-shell{
    grid-template-columns:1fr;
  }
  html.sho-desktop .metric-switch-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* Very wide desktop: let Reporting Suite use the full analysis canvas. */
@media (min-width:1600px){
  html.sho-desktop .app-shell{
    width:min(1640px,calc(100% - var(--desktop-rail-width) - 64px))!important;
    margin-left:calc(var(--desktop-rail-width) + 32px)!important;
    margin-right:32px!important;
  }
}


/* =========================================================
   v5.12.0 — Tabler-inspired Reporting Workspace
   Answer first · controls second
   ========================================================= */
.tabler-report-page,
.reports-page{
  --report-panel:#11161a;
  --report-panel-2:#151a1e;
  --report-line:#2d363c;
  --report-muted:#7c878e;
}

/* Hard reset every reporting link state so browser blue/purple never leaks. */
.reports-page a,
.reports-page a:link,
.reports-page a:visited{
  text-decoration:none;
}
.metric-switch-grid a,
.metric-switch-grid a:link,
.metric-switch-grid a:visited{
  color:#e8dec1!important;
}
.metric-switch-grid a span,
.metric-switch-grid a:link span,
.metric-switch-grid a:visited span{
  color:#7e898f!important;
}
.metric-switch-grid a strong,
.metric-switch-grid a:link strong,
.metric-switch-grid a:visited strong{
  color:var(--cream)!important;
}
.metric-switch-grid a small,
.metric-switch-grid a:link small,
.metric-switch-grid a:visited small{
  color:#606c73!important;
}
.metric-switch-grid a.active,
.metric-switch-grid a.active:link,
.metric-switch-grid a.active:visited{
  color:var(--accent)!important;
  border-color:#805130!important;
  background:#1d1814!important;
}
.metric-switch-grid a.active strong,
.metric-switch-grid a.active:visited strong{
  color:var(--accent)!important;
}
.metric-switch-grid a:hover,
.metric-switch-grid a:focus-visible{
  border-color:#735035;
  background:#191b1d;
  outline:none;
}

/* Compact report title row instead of another large dashboard card. */
.report-page-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:8px 2px 10px;
  padding:4px 2px 9px;
  border-bottom:1px solid #283036;
}
.report-page-heading h1{
  margin:2px 0 0;
  color:var(--cream);
  font-size:1.25rem;
  line-height:1.05;
}
.report-page-heading p{
  max-width:720px;
  margin:6px 0 0;
  color:var(--report-muted);
  font-size:.56rem;
  line-height:1.45;
}
.report-range-chip{
  flex:0 0 auto;
  min-width:230px;
  padding:8px 10px;
  border:1px solid #303940;
  border-radius:9px;
  background:#101519;
  text-align:right;
}
.report-range-chip span,
.report-range-chip strong{display:block}
.report-range-chip span{
  color:var(--accent);
  font-size:.43rem;
  font-weight:950;
  letter-spacing:.06em;
}
.report-range-chip strong{
  margin-top:3px;
  color:#dcd3b8;
  font-size:.58rem;
}

/* Primary visualization is always the first substantial card. */
.report-primary-visual{
  margin-bottom:9px!important;
  padding:14px!important;
  border-color:#354049!important;
  background:
    linear-gradient(180deg,rgba(20,26,30,.995),rgba(14,18,21,.995))!important;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.report-primary-visual-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}
.report-primary-visual-head h2{
  margin:2px 0 0;
  color:#eee4c6;
  font-size:.86rem;
}
.report-primary-visual-head small{
  display:block;
  margin-top:4px;
  color:#748088;
  font-size:.5rem;
  line-height:1.4;
}
.report-headline-value{
  flex:0 0 auto;
  min-width:150px;
  text-align:right;
}
.report-headline-value span,
.report-headline-value strong{display:block}
.report-headline-value span{
  color:#7d888f;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.055em;
}
.report-headline-value strong{
  margin-top:3px;
  color:var(--accent);
  font-size:1.05rem;
  line-height:1.1;
}
.report-primary-empty{
  min-height:140px;
  display:grid;
  place-items:center;
}
.report-chart-first{
  min-height:265px;
  margin-top:2px;
}
.report-overview-primary-canvas{
  min-height:250px;
  margin-top:4px;
}
.report-overview-primary-canvas canvas{
  width:100%;
  display:block;
}

/* Tabler-like compact KPI row. */
.report-kpi-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:9px;
}
.report-kpi-strip>article{
  min-width:0;
  min-height:78px;
  padding:10px 11px;
  border:1px solid #2d353b;
  border-radius:10px;
  background:#11161a;
}
.report-kpi-strip>article.primary{
  border-color:#594328;
  background:#181611;
}
.report-kpi-strip span,
.report-kpi-strip strong,
.report-kpi-strip small{display:block}
.report-kpi-strip span{
  color:#707c83;
  font-size:.43rem;
  font-weight:950;
  letter-spacing:.055em;
}
.report-kpi-strip strong{
  margin-top:4px;
  overflow:hidden;
  color:#e9dfc2;
  font-size:.78rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-kpi-strip small{
  margin-top:3px;
  color:#657178;
  font-size:.46rem;
  line-height:1.35;
}

/* Date + Filters become compact reveal controls. */
.report-control-bar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:0 0 10px;
}
.report-overview-controls{
  grid-template-columns:minmax(0,1fr);
}
.report-control-disclosure{
  overflow:hidden;
  margin:0!important;
  padding:0!important;
  border:1px solid #2e373d;
  border-radius:10px;
  background:#101519;
}
.report-control-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:54px;
  padding:9px 11px;
  cursor:pointer;
  list-style:none;
}
.report-control-disclosure>summary::-webkit-details-marker{display:none}
.report-control-disclosure>summary span,
.report-control-disclosure>summary small,
.report-control-disclosure>summary strong{display:block}
.report-control-disclosure>summary small{
  color:#69757c;
  font-size:.41rem;
  font-weight:950;
  letter-spacing:.065em;
}
.report-control-disclosure>summary strong{
  margin-top:3px;
  overflow:hidden;
  color:#ddd4ba;
  font-size:.58rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-control-disclosure>summary b{
  color:#6e7a81;
  font-size:.8rem;
  transition:transform .15s ease;
}
.report-control-disclosure[open]>summary{
  border-bottom:1px solid #2a3237;
  background:#151a1e;
}
.report-control-disclosure[open]>summary b{transform:rotate(180deg)}
.report-control-body{
  padding:10px 11px 11px;
}
.report-control-body .period-control-card,
.report-control-body .reporting-period-control,
.report-control-body .reporting-filter-card{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.report-control-body .reporting-filter-grid{
  margin:0;
}
.report-control-body .period-tabs{
  margin-bottom:8px;
}
.report-control-body .period-navigation,
.report-control-body .custom-range-form{
  margin-top:0;
}

/* Saved views are secondary utility, not a main report section. */
.report-secondary-disclosure{
  overflow:hidden;
  padding:0!important;
}
.report-secondary-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:52px;
  padding:10px 12px;
  cursor:pointer;
  list-style:none;
}
.report-secondary-disclosure>summary::-webkit-details-marker{display:none}
.report-secondary-disclosure>summary span,
.report-secondary-disclosure>summary strong,
.report-secondary-disclosure>summary small{display:block}
.report-secondary-disclosure>summary strong{font-size:.6rem;color:#dcd3b8}
.report-secondary-disclosure>summary small{margin-top:2px;color:#6d7880;font-size:.47rem}
.report-secondary-disclosure>summary b{color:#68747b}

/* Ranked visualizations used by Offer Lab / Stores. */
.report-ranked-bars{
  display:grid;
  gap:9px;
  margin-top:9px;
}
.report-ranked-bar-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
}
.report-ranked-bar-head span,
.report-ranked-bar-head strong,
.report-ranked-bar-head small{display:block}
.report-ranked-bar-head>span>strong{
  color:#ded5ba;
  font-size:.58rem;
}
.report-ranked-bar-head>span>small{
  margin-top:2px;
  color:#68747b;
  font-size:.45rem;
}
.report-ranked-bar-head>strong,
.report-ranked-bar-head>span:last-child strong{
  color:#cfc5a9;
  font-size:.59rem;
  text-align:right;
}
.report-ranked-bar-track{
  overflow:hidden;
  height:11px;
  border:1px solid #30383d;
  border-radius:999px;
  background:#0d1215;
}
.report-ranked-bar-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#8f461f,var(--accent));
}
.store-pickup-comparison .report-ranked-bar-track i{
  background:linear-gradient(90deg,#74512f,#b88745);
}
.report-cycle-hero-stack{
  height:28px!important;
  margin-top:18px;
}

/* Overview: chart first; secondary composition charts stay secondary. */
.report-overview-primary-chart{
  margin-top:0!important;
}
.report-overview-secondary-charts{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.report-overview-secondary-charts .report-chart-panel{
  grid-column:auto!important;
}

/* Quick switch becomes visually a navigation component, not raw links. */
.report-navigation-card{
  border-color:#30383e;
}
.metric-switch-grid a{
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.metric-switch-grid a:hover,
.metric-switch-grid a:focus-visible{
  transform:translateY(-1px);
}

/* Keep report tables visually separate from the first-screen dashboard. */
.offer-performance-section,
.store-performance-table-card,
.cycle-stack-section{
  margin-top:9px;
}

/* Tablet keeps touch size but same hierarchy. */
@media(max-width:900px){
  .report-page-heading{
    align-items:stretch;
    flex-direction:column;
    gap:7px;
  }
  .report-range-chip{
    min-width:0;
    text-align:left;
  }
  .report-control-bar{
    grid-template-columns:1fr;
  }
  .report-kpi-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .report-primary-visual-head{
    gap:8px;
  }
  .report-headline-value{min-width:120px}
  .report-overview-secondary-charts{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:560px){
  .report-primary-visual-head{
    flex-direction:column;
  }
  .report-headline-value{
    min-width:0;
    width:100%;
    text-align:left;
  }
  .report-headline-value strong{font-size:.95rem}
  .report-kpi-strip{grid-template-columns:1fr 1fr}
  .report-ranked-bar-head{align-items:flex-start}
}

/* Desktop reporting is deliberately dense, like a good admin dashboard. */
@media(min-width:1100px){
  html.sho-desktop .tabler-report-page .report-page-heading{
    margin-top:4px;
  }
  html.sho-desktop .report-primary-visual{
    padding:16px 18px!important;
  }
  html.sho-desktop .report-chart-first,
  html.sho-desktop .report-overview-primary-canvas{
    min-height:320px;
  }
  html.sho-desktop .report-primary-visual-head h2{
    font-size:.98rem;
  }
  html.sho-desktop .report-headline-value strong{
    font-size:1.35rem;
  }
  html.sho-desktop .report-kpi-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  html.sho-desktop .report-control-bar{
    grid-template-columns:minmax(340px,.8fr) minmax(480px,1.2fr);
  }
  html.sho-desktop .report-overview-controls{
    grid-template-columns:minmax(420px,680px);
  }
  html.sho-desktop .metric-switch-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  html.sho-desktop .report-ranked-bars{
    max-width:none;
  }
  html.sho-desktop .report-overview-secondary-charts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* iPad: same top-first information architecture, larger touch controls. */
@media(min-width:768px) and (max-width:1400px){
  html.sho-ipad .report-control-disclosure>summary{
    min-height:60px;
    padding:11px 13px;
  }
  html.sho-ipad .report-primary-visual{
    padding:15px!important;
  }
  html.sho-ipad .report-chart-first,
  html.sho-ipad .report-overview-primary-canvas{
    min-height:285px;
  }
  html.sho-ipad .metric-switch-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* =========================================================
   v5.13.1 — Safe right-side report control mounting
   Existing report content remains structurally untouched.
   ========================================================= */
.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;
  white-space:nowrap!important;
  border:0!important;
}
.report-heading-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.report-control-host{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  min-height:46px;
}
.page-intro-v4-content.report-overview-heading-actions{
  justify-items:stretch;
}
.page-intro-v4-content.report-overview-heading-actions .report-control-host{
  justify-self:end;
}
.report-control-bar[data-report-header-controls].report-controls-mounted{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:auto!important;
  margin:0!important;
}
.report-control-bar[data-report-header-controls] .report-icon-disclosure{
  position:relative;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:12px;
  background:transparent!important;
}
.report-control-bar[data-report-header-controls] .report-control-icon-summary{
  display:grid!important;
  place-items:center;
  width:46px;
  min-width:46px;
  height:46px;
  min-height:46px!important;
  padding:0!important;
  border:1px solid #303940;
  border-radius:12px;
  background:linear-gradient(180deg,#151a1f,#101519);
  box-shadow:0 7px 18px rgba(0,0,0,.22);
  color:#d9e0e4;
  cursor:pointer;
  list-style:none;
}
.report-control-bar[data-report-header-controls] .report-control-icon-summary::-webkit-details-marker{display:none}
.report-control-bar[data-report-header-controls] .report-control-icon-summary:hover,
.report-control-bar[data-report-header-controls] .report-control-icon-summary:focus-visible{
  border-color:#6f4b31;
  background:#171b20;
  outline:none;
}
.report-control-bar[data-report-header-controls] .report-icon-disclosure[open]>.report-control-icon-summary{
  border-color:#8a542f;
  background:linear-gradient(180deg,#211912,#15191d);
  color:#f0e7cc;
}
.report-control-icon{
  display:grid!important;
  place-items:center;
  width:20px;
  height:20px;
  color:inherit;
}
.report-control-icon svg{
  display:block;
  width:20px;
  height:20px;
}
.report-control-bar[data-report-header-controls] .report-icon-disclosure>.report-control-body{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:250;
  width:min(470px,calc(100vw - 34px));
  max-height:min(72vh,680px);
  overflow:auto;
  padding:12px!important;
  border:1px solid #313a41!important;
  border-radius:14px;
  background:linear-gradient(180deg,#11171b,#0d1216)!important;
  box-shadow:0 26px 54px rgba(0,0,0,.52);
}
.report-control-bar[data-report-header-controls] .report-date-disclosure>.report-control-body{
  width:min(620px,calc(100vw - 34px));
}
/* v5.13.6 — aligned report filter popovers */
.report-control-bar[data-report-header-controls] .report-filter-disclosure>.report-control-body{
  width:min(700px,calc(100vw - 34px));
}
.report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid .wide{
  grid-column:1/-1;
}
.report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  margin:0;
  color:#aab3b9;
  font-size:.72rem;
  font-weight:850;
  line-height:1.2;
  white-space:nowrap;
}
.report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid label select{
  min-width:0;
  width:100%;
  min-height:46px;
  margin:0;
  padding:11px 36px 11px 12px;
  font-size:.88rem;
}
.report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  margin-top:2px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.055);
}
.report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions .btn{
  flex:0 0 auto;
  min-height:42px;
  padding-left:16px;
  padding-right:16px;
}
@media(max-width:720px){
  .report-control-bar[data-report-header-controls] .report-filter-disclosure>.report-control-body{
    width:min(560px,calc(100vw - 24px));
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions{
    grid-column:1/-1;
    justify-content:stretch;
    flex-wrap:wrap;
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions .btn{
    flex:1 1 150px;
  }
}
@media(max-width:500px){
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid{
    grid-template-columns:1fr;
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid .wide,
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions{
    grid-column:1;
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-grid label{
    white-space:normal;
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .report-control-bar[data-report-header-controls] .report-filter-disclosure .reporting-filter-actions .btn{
    width:100%;
    flex:0 0 auto;
  }
}
.report-control-bar[data-report-header-controls] .report-icon-disclosure>.report-control-body .period-control-card,
.report-control-bar[data-report-header-controls] .report-icon-disclosure>.report-control-body .reporting-period-control,
.report-control-bar[data-report-header-controls] .report-icon-disclosure>.report-control-body .reporting-filter-card{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:900px){
  .report-page-heading{align-items:stretch}
  .report-heading-actions{
    width:100%;
    justify-content:space-between;
  }
  .report-control-host{justify-content:flex-end}
  .page-intro-v4-content.report-overview-heading-actions .report-control-host{justify-self:start}
  .report-control-bar[data-report-header-controls].report-controls-mounted{justify-content:flex-start}
}
@media(max-width:560px){
  .report-heading-actions{align-items:center}
  .report-range-chip{flex:1 1 auto}
}


/* =========================================================
   v5.13.2 — Desktop rail + resilient report charts
   ========================================================= */
.report-trend-fallback{
  width:100%;
  min-height:250px;
  margin-top:2px;
}
.report-trend-fallback svg{
  display:block;
  width:100%;
  height:250px;
  overflow:visible;
}
html.sho-desktop .report-trend-fallback svg{height:325px}
html.sho-ipad .report-trend-fallback svg{height:285px}
.report-trend-fallback .grid-line{
  stroke:#303740;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.report-trend-fallback .axis-label{
  fill:#8d969d;
  font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.report-trend-fallback .trend-line{
  fill:none;
  stroke:var(--accent,#E05A24);
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.report-trend-fallback .trend-dot{
  fill:var(--cream,#F2E7C7);
  stroke:var(--accent,#E05A24);
  stroke-width:1.5;
  vector-effect:non-scaling-stroke;
}
.report-trend-fallback .trend-bar{fill:var(--accent,#E05A24)}
.report-trend-fallback .empty-label{
  fill:#8d969d;
  font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-anchor:middle;
}
.report-chart-js-ready .report-trend-fallback{display:none}
#report-trend-chart[hidden]{display:none!important}


/* =========================================================
   v5.13.3 — Mac desktop viewport + chart proportion fix
   ========================================================= */
@media (min-width:900px){
  html.sho-desktop .bottom-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
    overflow:visible!important;
    z-index:1000!important;
  }
  html.sho-desktop .bottom-nav .nav-items,
  html.sho-desktop .bottom-nav .nav-item,
  html.sho-desktop .nav-rail-brand,
  html.sho-desktop .desktop-rail-tools{
    visibility:visible!important;
    opacity:1!important;
  }
}
@media (min-width:900px) and (max-width:1099px){
  html.sho-desktop{--desktop-rail-width:164px;}
  html.sho-desktop .bottom-nav{padding-left:9px!important;padding-right:9px!important;}
  html.sho-desktop .nav-rail-brand{grid-template-columns:52px minmax(0,1fr);gap:2px 7px;}
  html.sho-desktop .nav-rail-brand img{width:52px;height:52px;}
  html.sho-desktop .nav-rail-full{font-size:.61rem;}
  html.sho-desktop .bottom-nav .nav-item{grid-template-columns:27px minmax(0,1fr)!important;gap:8px!important;padding-left:9px!important;padding-right:9px!important;}
  html.sho-desktop .app-header{padding-left:22px!important;padding-right:22px!important;}
  html.sho-desktop .app-shell{
    width:calc(100% - var(--desktop-rail-width) - 36px)!important;
    margin-left:calc(var(--desktop-rail-width) + 18px)!important;
    margin-right:18px!important;
  }
}
.report-trend-fallback{min-height:0;}
.report-trend-fallback svg{
  width:100%;
  height:auto!important;
  aspect-ratio:15/4;
  max-height:340px;
}
@media(max-width:900px){
  .report-trend-fallback svg{aspect-ratio:10/4;max-height:300px;}
}


/* =========================================================
   v5.13.4 — Restored report-control icons + responsive chart
   ========================================================= */
@media (min-width:901px){
  .page-intro-v4-content.report-overview-heading-actions{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:12px;
  }
  .page-intro-v4-content.report-overview-heading-actions .page-intro-v4-note{
    min-width:0;
  }
  .page-intro-v4-content.report-overview-heading-actions .report-control-host{
    align-self:center;
    justify-self:end;
  }
}
@media (max-width:900px){
  .page-intro-v4-content.report-overview-heading-actions{
    grid-template-columns:1fr;
  }
}
.report-control-bar[data-report-header-controls] .report-control-icon-summary{
  position:relative;
}
.report-control-bar[data-report-header-controls] .report-control-icon-summary::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:12px;
  pointer-events:none;
}
.report-control-bar[data-report-header-controls] .report-icon-disclosure[open]>.report-control-icon-summary::after{
  box-shadow:0 0 0 1px rgba(224,90,36,.22),0 0 18px rgba(224,90,36,.12);
}
.report-trend-fallback svg{
  width:100%;
  height:auto!important;
  max-height:none!important;
}
@media (min-width:1100px){
  .report-trend-fallback svg{aspect-ratio:4.1/1;}
}
@media (min-width:901px) and (max-width:1099px){
  .report-trend-fallback svg{aspect-ratio:3.65/1;}
}
@media (min-width:601px) and (max-width:900px){
  .report-trend-fallback svg{aspect-ratio:3.05/1;}
}
@media (max-width:600px){
  .report-trend-fallback svg{aspect-ratio:2.15/1;}
}


/* =========================================================
   v5.13.5 — Overview Filters + exact control-icon centering
   ========================================================= */
.report-control-bar[data-report-header-controls] .report-control-icon-summary{
  position:relative!important;
  display:block!important;
  padding:0!important;
  line-height:0!important;
  text-align:center!important;
}
.report-control-bar[data-report-header-controls] .report-control-icon-summary>.report-control-icon{
  position:absolute!important;
  inset:0!important;
  width:22px!important;
  height:22px!important;
  margin:auto!important;
  display:block!important;
  transform:none!important;
  line-height:0!important;
}
.report-control-bar[data-report-header-controls] .report-control-icon-summary>.report-control-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  margin:0!important;
}
.report-control-count{
  position:absolute;
  top:4px;
  right:4px;
  z-index:2;
  display:grid;
  place-items:center;
  min-width:15px;
  height:15px;
  padding:0 4px;
  border:2px solid #11171b;
  border-radius:999px;
  background:var(--accent);
  color:#fff8ef;
  font-size:.43rem;
  font-weight:950;
  line-height:1;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
.page-intro-v4-content.report-overview-heading-actions .report-control-host{
  min-width:100px;
}
@media(max-width:900px){
  .page-intro-v4-content.report-overview-heading-actions .report-control-host{
    min-width:0;
  }
}

/* =========================================================
   v5.14.0 — Reconciliation Work Queue
   ========================================================= */
.spark-work-queue-page{
  --reconcile-warm:#c79f43;
  --reconcile-green:#7da06f;
  --reconcile-blue:#7394aa;
}
.spark-queue-intro .page-intro-v4-heading p{
  margin:7px 0 0;
  max-width:560px;
  color:var(--muted);
  font-size:.58rem;
  line-height:1.5;
}
.spark-queue-headline strong{font-size:.79rem}
.spark-queue-receipt{align-items:flex-start}
.spark-receipt-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.spark-queue-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 11px;
}
.spark-queue-kpis article{
  min-width:0;
  padding:12px 13px;
  border:1px solid #2f383e;
  border-radius:11px;
  background:linear-gradient(180deg,#13191d,#101519);
}
.spark-queue-kpis span,
.spark-queue-kpis strong,
.spark-queue-kpis small{display:block}
.spark-queue-kpis span{
  color:#737f86;
  font-size:.43rem;
  font-weight:950;
  letter-spacing:.07em;
}
.spark-queue-kpis strong{
  margin-top:4px;
  color:#eee5ca;
  font-size:.92rem;
  line-height:1.05;
}
.spark-queue-kpis small{
  margin-top:4px;
  color:#69757c;
  font-size:.47rem;
  line-height:1.35;
}
.spark-queue-kpis .needs-action{
  border-color:#785b2e;
  background:linear-gradient(180deg,#1b1812,#131513);
}
.spark-queue-kpis .needs-action strong{color:var(--accent)}
.spark-queue-kpis .reporting{border-color:#3e5840}
.spark-queue-kpis .matched{border-color:#385567}
.spark-queue-toolbar{margin-bottom:10px}
.spark-import-scope-banner{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:9px 11px;
  border:1px solid #4c4730;
  border-radius:10px;
  background:#171813;
}
.spark-import-scope-banner span{
  color:#bc9b47;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.07em;
}
.spark-import-scope-banner strong{
  color:#ded6bd;
  font-size:.54rem;
}
.spark-import-scope-banner a{
  margin-left:auto;
  color:var(--accent);
  font-size:.45rem;
  font-weight:950;
  text-decoration:none;
}
.spark-date-queue{
  display:grid;
  gap:12px;
}
.spark-queue-day{
  overflow:hidden;
  border:1px solid #313a40;
  border-radius:13px;
  background:#0f1417;
}
.spark-queue-day:target{
  border-color:#704a2d;
  box-shadow:0 0 0 1px rgba(224,90,36,.13);
}
.spark-queue-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 13px;
  border-bottom:1px solid #2a3237;
  background:linear-gradient(180deg,#151b1f,#12171a);
}
.spark-queue-day-head span,
.spark-queue-day-head strong,
.spark-queue-day-head small{display:block}
.spark-queue-day-head>div:first-child>span{
  color:var(--accent);
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.08em;
}
.spark-queue-day-head>div:first-child>strong{
  margin-top:3px;
  color:#eee5cb;
  font-size:.72rem;
}
.spark-queue-day-head>div:first-child>small{
  margin-top:3px;
  color:#6f7a81;
  font-size:.46rem;
}
.spark-day-held{text-align:right}
.spark-day-held span{
  color:#746e59;
  font-size:.4rem;
  font-weight:950;
  letter-spacing:.06em;
}
.spark-day-held strong{
  margin-top:3px;
  color:#d8bc75;
  font-size:.67rem;
}
.spark-queue-items{display:grid}
.spark-queue-item{
  padding:12px 13px;
  border-bottom:1px solid #242c30;
}
.spark-queue-item:last-child{border-bottom:0}
.spark-queue-item.reconcile{box-shadow:inset 3px 0 0 #765d2c}
.spark-queue-item.review{box-shadow:inset 3px 0 0 #874c3a}
.spark-queue-item.reporting{box-shadow:inset 3px 0 0 #476143}
.spark-queue-item.matched{box-shadow:inset 3px 0 0 #416478}
.spark-queue-source{
  display:grid;
  grid-template-columns:minmax(180px,1.25fr) minmax(160px,.85fr) minmax(170px,.9fr);
  gap:10px;
  align-items:center;
}
.spark-queue-source>div{min-width:0}
.spark-queue-source span,
.spark-queue-source strong,
.spark-queue-source small{display:block}
.spark-queue-source>div>span:not(.spark-status-badge){
  color:#748087;
  font-size:.41rem;
  font-weight:950;
  letter-spacing:.06em;
}
.spark-queue-source>div>strong{
  margin-top:3px;
  overflow:hidden;
  color:#e8dfc5;
  font-size:.65rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.spark-queue-source>div>small{
  margin-top:3px;
  overflow:hidden;
  color:#69757b;
  font-size:.46rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.spark-queue-pay strong{font-size:.82rem!important}
.spark-queue-source-state{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}
.spark-queue-decision{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #262e32;
}
.spark-candidate-card{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);
  gap:12px;
  align-items:center;
  min-width:0;
  padding:10px 11px;
  border:1px solid #30393e;
  border-radius:10px;
  background:#12181c;
}
.spark-candidate-card.strong{
  border-color:#496447;
  background:linear-gradient(135deg,#151e17,#11181a);
}
.spark-candidate-card.possible{
  border-color:#675833;
  background:linear-gradient(135deg,#1b1912,#111719);
}
.spark-candidate-card.none,
.spark-candidate-card.review{
  grid-template-columns:1fr;
  border-color:#4a4140;
  background:#171516;
}
.spark-candidate-card span,
.spark-candidate-card strong,
.spark-candidate-card small{display:block}
.spark-candidate-confidence>span,
.spark-candidate-card.none span,
.spark-candidate-card.review span{
  color:#8c987f;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.07em;
}
.spark-candidate-card.possible .spark-candidate-confidence>span{color:#c3a45a}
.spark-candidate-card.none span,
.spark-candidate-card.review span{color:#b77965}
.spark-candidate-card strong{
  margin-top:3px;
  color:#e7dec4;
  font-size:.62rem;
}
.spark-candidate-card small{
  margin-top:3px;
  color:#6e7980;
  font-size:.45rem;
  line-height:1.4;
}
.spark-candidate-delivery{text-align:right}
.spark-candidate-delivery>span{
  color:#79858b;
  font-size:.44rem;
  font-weight:850;
}
.spark-candidate-delivery>strong{
  color:#f0e6c8;
  font-size:.75rem;
}
.spark-queue-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  max-width:420px;
}
.spark-queue-actions form{margin:0}
.spark-queue-actions .btn{
  min-height:42px;
  padding:0 13px;
  white-space:nowrap;
}
.spark-queue-day-link{
  padding:6px 4px;
  color:#78858c;
  font-size:.43rem;
  font-weight:950;
  text-decoration:none;
}
.spark-queue-day-link:hover,
.spark-queue-day-link:focus{color:var(--accent)}
.spark-queue-history-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #252d31;
}
.spark-queue-history-actions>span{
  margin-right:auto;
  color:#707c83;
  font-size:.46rem;
}
.spark-queue-empty{margin-top:8px}
.spark-work-queue-page .spark-import-history{margin-top:12px}

@media(max-width:980px){
  .spark-queue-source{grid-template-columns:1fr 1fr}
  .spark-queue-source-state{align-items:flex-start}
  .spark-queue-decision{grid-template-columns:1fr}
  .spark-queue-actions{justify-content:flex-start;max-width:none}
  .spark-candidate-card{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .spark-queue-kpis{grid-template-columns:1fr 1fr}
  .spark-queue-receipt{flex-direction:column}
  .spark-receipt-actions{width:100%;justify-content:stretch}
  .spark-receipt-actions .btn{flex:1}
  .spark-import-scope-banner{align-items:flex-start;flex-direction:column}
  .spark-import-scope-banner a{margin-left:0}
  .spark-queue-day-head{align-items:flex-start}
  .spark-queue-source{grid-template-columns:1fr}
  .spark-queue-source>div>small{white-space:normal}
  .spark-candidate-card{grid-template-columns:1fr}
  .spark-candidate-delivery{text-align:left}
  .spark-queue-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .spark-queue-actions form{display:contents}
  .spark-queue-actions .btn{width:100%}
  .spark-queue-day-link{display:grid;place-items:center;min-height:38px}
}
@media(max-width:480px){
  .spark-queue-kpis{grid-template-columns:1fr}
  .spark-queue-day-head{flex-direction:column}
  .spark-day-held{text-align:left}
  .spark-queue-actions{grid-template-columns:1fr}
  .spark-queue-history-actions{align-items:stretch;flex-direction:column}
  .spark-queue-history-actions>span{margin-right:0}
}

/* =========================================================
   v5.15.0 — Today reliability + contained rail branding
   ========================================================= */
.today-live-status-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin-top:8px;
}
.today-live-status-row .today-wake-status,
.today-live-status-row .today-refresh-status{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  margin:0;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:#11171b;
  color:#7e8890;
  font-size:.54rem;
  font-weight:800;
  line-height:1.2;
  font-family:inherit;
  letter-spacing:.01em;
  cursor:pointer;
}
.today-live-status-row .today-wake-status:hover,
.today-live-status-row .today-wake-status:focus-visible,
.today-live-status-row .today-refresh-status:hover,
.today-live-status-row .today-refresh-status:focus-visible{
  border-color:#46535c;
  color:#d8dee2;
  outline:none;
}
.today-wake-status[data-state="active"]{color:#8fc3a0}
.today-wake-status[data-state="checking"],
.today-wake-status[data-state="retrying"],
.today-wake-status[data-state="waiting"]{color:#ddb26d}
.today-wake-status[data-state="error"],
.today-wake-status[data-state="unsupported"]{color:#d58a80}
.tracking-live-status[data-state="waiting"]{color:#ddb26d}
.today-refresh-status[data-state="active"]{color:#8fa5b4}
.today-refresh-status[data-state="checking"],
.today-refresh-status[data-state="refreshing"]{color:#ddb26d}
.today-refresh-status[data-state="pending"]{color:var(--accent,#E05A24);border-color:rgba(224,90,36,.34)}
.today-refresh-status[data-state="offline"],
.today-refresh-status[data-state="error"]{color:#b99683}

/* The desktop product lockup must remain completely inside the rail. */
@media (min-width:900px){
  html.sho-desktop .nav-rail-brand{
    box-sizing:border-box!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:2px 8px!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding-left:3px!important;
    padding-right:3px!important;
  }
  html.sho-desktop .nav-rail-brand img{
    width:56px!important;
    height:56px!important;
    max-width:100%!important;
  }
  html.sho-desktop .nav-rail-full,
  html.sho-desktop .nav-rail-parent{
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    padding-right:1px;
    white-space:nowrap;
  }
  html.sho-desktop .nav-rail-full{
    font-size:.61rem!important;
    letter-spacing:.07em!important;
  }
  html.sho-desktop .nav-rail-parent{
    font-size:.36rem!important;
    letter-spacing:.055em!important;
  }
}
@media (min-width:900px) and (max-width:1099px){
  html.sho-desktop .nav-rail-brand{
    grid-template-columns:49px minmax(0,1fr)!important;
    gap:2px 6px!important;
  }
  html.sho-desktop .nav-rail-brand img{
    width:49px!important;
    height:49px!important;
  }
  html.sho-desktop .nav-rail-full{
    font-size:.54rem!important;
    letter-spacing:.045em!important;
  }
  html.sho-desktop .nav-rail-parent{
    font-size:.32rem!important;
    letter-spacing:.04em!important;
  }
}

@media(max-width:600px){
  .today-live-status-row{gap:7px}
  .today-live-status-row .today-wake-status,
  .today-live-status-row .today-refresh-status{font-size:.51rem}
}

/* =========================================================
   v5.15.1 — Recovery panel alignment + login logo cleanup
   ========================================================= */
/* v5.16.0: cleaned primary logo asset no longer needs edge clipping. */
.login-logo{clip-path:none;-webkit-clip-path:none}

/* Keep recovery-tool content inside one coherent disclosure body. */
.settings-tool-body{
  box-sizing:border-box;
  width:100%;
  min-width:0;
}
.settings-tool-heading-row{
  margin:0 0 10px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.settings-tool-heading-row h2{
  margin:.15rem 0 0;
}
.settings-tool-body .update-safety-flow,
.settings-tool-body .update-upload-form,
.settings-tool-body .update-backup-list{
  width:100%;
  min-width:0;
}
.settings-tool-body .update-upload-form label{
  display:grid;
  gap:6px;
  min-width:0;
}
.settings-tool-body .update-upload-form input[type=file]{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
.settings-version-card{
  clear:both;
  width:100%;
  box-sizing:border-box;
}

/* =========================================================
   v5.16.0 — Challenge Editing + Delivery Audit
   ========================================================= */
.challenge-header-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}
.challenge-edit-page{padding-bottom:10px}
.challenge-edit-form{margin-bottom:12px}
.challenge-edit-impact,
.challenge-timeline-lock{
  border:1px solid var(--line);border-radius:11px;background:#12171c;padding:10px 11px;
  display:grid;align-content:center;min-height:72px
}
.challenge-edit-impact span,.challenge-timeline-lock span{font-size:.54rem;color:var(--accent);font-weight:950;letter-spacing:.09em}
.challenge-edit-impact strong,.challenge-timeline-lock strong{font-size:.72rem;margin-top:4px}
.challenge-edit-impact small,.challenge-timeline-lock small{font-size:.58rem;color:var(--muted);margin-top:4px;line-height:1.4}
.challenge-timeline-lock{border-color:#4b3e28;background:#17140f}
.challenge-delivery-audit{margin-bottom:11px}
.challenge-audit-help{margin:0 0 10px}
.challenge-audit-list{display:grid;gap:7px}
.challenge-audit-row{
  display:grid;grid-template-columns:74px minmax(0,1fr) 92px;align-items:center;gap:10px;
  padding:10px;border:1px solid var(--line);border-radius:12px;background:#13181d;color:var(--text);text-decoration:none
}
.challenge-audit-row:hover{border-color:#5b4931;background:#161b20}
.challenge-audit-time strong,.challenge-audit-time span,
.challenge-audit-main strong,.challenge-audit-main span,.challenge-audit-main small,
.challenge-audit-money strong,.challenge-audit-money span{display:block}
.challenge-audit-time strong{font-size:.72rem}.challenge-audit-time span{font-size:.55rem;color:var(--muted);margin-top:2px}
.challenge-audit-title{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:3px}
.challenge-audit-title>strong{font-size:.75rem}
.challenge-audit-main>span{font-size:.61rem;color:#b7c0c9}
.challenge-audit-main>small{font-size:.55rem;color:var(--muted);margin-top:3px;line-height:1.35}
.challenge-audit-status,.challenge-rule-result{display:inline-flex!important;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 6px;font-size:.47rem!important;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.challenge-audit-status.pending{color:#ffd27d;border-color:#8b6c2e;background:#211b10}
.challenge-audit-status.settled{color:#9be1ba;border-color:#2f6b4b;background:#102018}
.challenge-rule-result.pass{color:#9be1ba;border-color:#2f6b4b}
.challenge-rule-result.violation{color:#ff9ba8;border-color:#7c3942}
.challenge-rule-result.unknown{color:#ffd27d;border-color:#8b6c2e}
.challenge-audit-money{text-align:right}.challenge-audit-money strong{font-size:.72rem}.challenge-audit-money span{font-size:.5rem;color:var(--muted);margin-top:3px}
@media(max-width:720px){
  .challenge-audit-row{grid-template-columns:64px minmax(0,1fr);gap:8px}
  .challenge-audit-money{grid-column:2;text-align:left;display:flex;align-items:baseline;gap:7px}
  .challenge-audit-money strong,.challenge-audit-money span{display:inline}
}
@media(max-width:520px){
  .challenge-edit-impact{grid-column:1/-1}
  .challenge-header-actions{justify-content:stretch}.challenge-header-actions .btn{width:100%}
}

/* =========================================================
   v5.16.1 — Running Challenge Corrections + Change History
   ========================================================= */
.challenge-correction-warning{
  border:1px solid #6b512a;border-radius:11px;background:#1b160f;padding:10px 11px;
  display:grid;align-content:center;min-height:72px
}
.challenge-correction-warning span{font-size:.54rem;color:#f2ad52;font-weight:950;letter-spacing:.09em}
.challenge-correction-warning strong{font-size:.72rem;margin-top:4px}
.challenge-correction-warning small{font-size:.58rem;color:var(--muted);margin-top:4px;line-height:1.4}
.challenge-change-history{margin-bottom:11px}
.challenge-change-list{display:grid;gap:8px}
.challenge-change-row{
  display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px 11px;
  border:1px solid var(--line);border-radius:12px;background:#13181d
}
.challenge-change-time strong,.challenge-change-time span{display:block}
.challenge-change-time strong{font-size:.63rem}
.challenge-change-time span{font-size:.54rem;color:var(--muted);margin-top:2px}
.challenge-change-items{display:grid;gap:7px}
.challenge-change-items>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr);gap:9px;align-items:baseline}
.challenge-change-items strong{font-size:.58rem;color:#d6dde4}
.challenge-change-items span{font-size:.58rem;color:var(--muted);overflow-wrap:anywhere}
.challenge-change-items b{color:var(--accent);padding:0 3px}
@media(max-width:640px){
  .challenge-change-row{grid-template-columns:1fr;gap:7px}
  .challenge-change-time{display:flex;align-items:baseline;gap:7px}
  .challenge-change-time span{margin-top:0}
  .challenge-change-items>div{grid-template-columns:1fr;gap:2px}
}


/* v5.17.1 — Challenge success states */
.challenge-status-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.challenge-result-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.09em;
}
.challenge-result-badge.success,
.challenge-result-badge.goal-hit{
  border:1px solid #347e59;
  background:#14251d;
  color:#9be1ba;
}
.challenge-card.is-success{
  border-color:#347e59;
  background:linear-gradient(145deg,#17251f,#151d24 72%);
  box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 0 0 1px rgba(58,157,105,.12);
}
.challenge-card.is-goal-hit{
  border-color:#2f6b4b;
  background:linear-gradient(145deg,#16221d,#151d24 72%);
}
.challenge-card.is-success .challenge-money-line strong,
.challenge-card.is-goal-hit .challenge-money-line strong{
  color:#a6e7c3;
}
.challenge-progress-track.success i,
.today-challenge-progress.success i{
  background:linear-gradient(90deg,#2f8b5e,#55c98b);
}
.challenge-success-banner,
.challenge-goal-hit-banner{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:11px;
  padding:13px 15px;
  border:1px solid #347e59;
  border-radius:15px;
  background:linear-gradient(145deg,#14261d,#101b16);
  color:#dff7e9;
}
.challenge-success-banner span,
.challenge-goal-hit-banner span{
  display:block;
  color:#81d8a8;
  font-size:.57rem;
  font-weight:950;
  letter-spacing:.12em;
}
.challenge-success-banner strong,
.challenge-goal-hit-banner strong{
  display:block;
  margin-top:2px;
  color:#f0fff6;
  font-size:.9rem;
}
.challenge-success-banner small,
.challenge-goal-hit-banner small{
  display:block;
  margin-top:2px;
  color:#9fc9b1;
  font-size:.63rem;
}
.challenge-success-mark{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:1px solid #4ea875;
  border-radius:50%;
  background:#193526;
  color:#9be1ba;
  font-size:1.15rem;
  font-weight:950;
}
.challenge-progress-dashboard.is-success,
.challenge-progress-dashboard.is-goal-hit{
  border-color:#347e59;
  background:linear-gradient(145deg,#17251f,#121a16);
}
.today-challenge-item.is-goal-hit{
  border-color:#347e59;
  background:linear-gradient(145deg,#16231d,#14191e);
}
.today-challenge-state.goal-hit{
  border-color:#347e59;
  background:#14251d;
  color:#9be1ba;
}
.today-challenge-item.is-goal-hit .today-challenge-money b,
.today-challenge-item.is-goal-hit .today-challenge-money em{
  color:#9be1ba;
}


/* =========================================================
   v5.18.0 — Mapbox mileage + report/mobile polish
   ========================================================= */

/* Keep the installed version at the bottom on phone layouts. Reports renders
   primary navigation before main content, so the footer must not participate
   in normal document flow on mobile. */
@media (max-width:899px){
  html:not(.sho-ipad):not(.sho-desktop) .app-version-footer{
    position:fixed!important;
    z-index:39!important;
    left:0!important;
    right:0!important;
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    margin:0!important;
    padding:0 12px!important;
    color:#59616a!important;
    font-size:.48rem!important;
    line-height:1.25!important;
    text-align:center!important;
    pointer-events:none!important;
  }
}

/* Give x-axis labels a dedicated buffer before the KPI row. */
.report-overview-primary-chart{
  margin-bottom:18px!important;
}
.report-overview-primary-canvas{
  padding-bottom:10px;
}
@media (max-width:900px){
  .report-overview-primary-chart{margin-bottom:16px!important}
  .report-overview-primary-canvas{padding-bottom:8px}
}

/* Mapbox setup stays visually subordinate to the core GPS toggles. */
.mapbox-settings-block{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.mapbox-settings-block h3{
  margin:2px 0 0;
  font-size:.86rem;
}
.mapbox-settings-form{
  margin-top:10px;
}
.mapbox-settings-form>label:not(.tracking-toggle-row){
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:850;
}
.mapbox-settings-form input[type="password"]{
  width:100%;
}
.mapbox-clear-token-row{
  opacity:.86;
}
.field-note{
  color:#727c84;
  font-size:.5rem;
  font-weight:650;
}
.save-state.success{
  color:#9bc89e;
  border-color:#45684a;
  background:#142018;
}

.insights-export-bar .insights-mapbox-form{
  margin:0;
}
.insights-export-bar .insights-mapbox-form .btn{
  width:100%;
  height:100%;
}

.gps-comparison-row.mapbox-comparison-row{
  grid-template-columns:minmax(140px,1.35fr) repeat(6,minmax(76px,.7fr));
}
.gps-comparison-row.mapbox-comparison-row>div:not(:first-child) small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.46rem;
  text-align:right;
}
@media(max-width:760px){
  .gps-comparison-row.mapbox-comparison-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gps-comparison-row.mapbox-comparison-row>div:first-child{
    grid-column:1/-1;
  }
  .gps-comparison-row.mapbox-comparison-row>div:not(:first-child) span,
  .gps-comparison-row.mapbox-comparison-row>div:not(:first-child) strong,
  .gps-comparison-row.mapbox-comparison-row>div:not(:first-child) small{
    text-align:left;
  }
}

.recap-mileage-efficiency-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.recap-mileage-efficiency-grid .mapbox-mileage-card{
  border-color:#395563;
  background:#121b20;
}
.recap-mileage-efficiency-grid .mapbox-mileage-card strong{
  color:#b7d4dd;
}
@media(max-width:900px){
  .recap-mileage-efficiency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .recap-mileage-efficiency-grid{grid-template-columns:1fr}
}

@media(min-width:620px){
  .insights-export-bar.with-mapbox{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:619px){
  .insights-export-bar.with-mapbox{
    grid-template-columns:1fr;
  }
}

/* v5.19.0 — Mileage Loss Audit + Route Maps */
.gps-route-audit-link{display:inline-flex;margin-top:7px;font-size:.67rem;font-weight:900;letter-spacing:.08em;color:var(--orange);text-decoration:none}
.gps-route-audit-link:hover{text-decoration:underline}
.route-audit-shell{padding-bottom:110px}
.route-audit-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(232,93,36,.08),rgba(20,26,31,.85))}
.route-audit-hero h1{margin:4px 0 6px;font-size:clamp(1.8rem,4vw,3rem)}
.route-audit-hero p{max-width:760px;margin:0;color:var(--muted)}
.route-audit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.route-audit-kpis article,.route-loss-grid article{min-width:0;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.route-audit-kpis span,.route-loss-grid span{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.09em}
.route-audit-kpis strong,.route-loss-grid strong{display:block;margin-top:5px;font-size:1.25rem}
.route-audit-kpis small,.route-loss-grid small{display:block;margin-top:4px;color:var(--muted)}
.route-audit-kpis article.good{border-color:rgba(101,200,122,.45);background:rgba(101,200,122,.08)}
.route-audit-kpis article.attention{border-color:rgba(232,93,36,.42)}
.route-loss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.route-loss-signals{margin-top:12px;padding:14px 16px;border-left:4px solid var(--orange);border-radius:10px;background:rgba(232,93,36,.07)}
.route-loss-signals span{display:block;color:var(--orange);font-size:.68rem;font-weight:900;letter-spacing:.09em}
.route-loss-signals strong{display:block;margin-top:4px}
.route-loss-signals.quiet{border-left-color:var(--line);background:rgba(255,255,255,.025)}
.route-loss-signals.quiet span{color:var(--muted)}
.route-map-heading{gap:14px;align-items:flex-start}
.route-map-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;font-size:.7rem;font-weight:800;color:var(--muted)}
.route-map-legend span{display:inline-flex;align-items:center;gap:6px}
.route-map-legend span::before{content:"";width:22px;height:3px;border-radius:10px;background:currentColor}
.route-map-legend .raw{color:#8f99a3}
.route-map-legend .route{color:#e85d24}
.route-map-legend .gap{color:#f1c45a}
.route-map-layer-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.route-map-layer-controls label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);font-size:.72rem;font-weight:800;color:var(--muted)}
.route-map-layer-controls input{accent-color:var(--orange)}
.hd-route-map{position:relative;width:100%;min-height:360px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0e1216}
.route-audit-map{height:clamp(380px,55vh,680px)}
.recap-route-map{height:260px;min-height:260px}
.route-map-note{margin:10px 2px 0;color:var(--muted);font-size:.75rem}
.route-map-empty code{font-size:.85em}
.route-map-refresh-note{margin-bottom:10px}
.route-shift-list{display:grid;gap:8px}
.route-shift-list article{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:4px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.route-shift-list article small{grid-column:1/-1;color:var(--muted)}
.recap-route-preview{margin-top:18px}
.recap-map-legend{justify-content:flex-start;margin-top:8px}
.mapboxgl-ctrl-group{background:#151b20!important;border:1px solid rgba(255,255,255,.14)!important}
.mapboxgl-ctrl-group button+button{border-top-color:rgba(255,255,255,.12)!important}
.mapboxgl-ctrl-icon{filter:invert(1) opacity(.85)}
.mapboxgl-popup-content{background:#151b20!important;color:#f4eee2!important;border:1px solid rgba(255,255,255,.14);border-radius:10px!important}
.mapboxgl-popup-tip{border-top-color:#151b20!important;border-bottom-color:#151b20!important}

@media (max-width:900px){
  .route-audit-hero{align-items:stretch;flex-direction:column}
  .route-audit-hero form .btn{width:100%}
  .route-audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-loss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-map-heading{flex-direction:column}
  .route-map-legend{justify-content:flex-start}
}
@media (max-width:620px){
  .route-audit-kpis,.route-loss-grid{grid-template-columns:1fr}
  .route-audit-hero{padding:18px}
  .route-audit-map{height:440px;min-height:440px}
  .recap-route-map{height:220px;min-height:220px}
  .route-shift-list article{grid-template-columns:1fr}
  .route-shift-list article small{grid-column:auto}
}
.mapbox-browser-map-status{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}
.mapbox-browser-map-status span{display:block;font-size:.66rem;font-weight:900;letter-spacing:.09em;color:var(--muted)}
.mapbox-browser-map-status strong{display:block;margin-top:3px}
.mapbox-browser-map-status small{display:block;margin-top:3px;color:var(--muted)}
.mapbox-browser-map-status.ready{border-color:rgba(101,200,122,.35);background:rgba(101,200,122,.06)}
.mapbox-browser-map-status.ready span{color:#65c87a}

/* v5.19.2 — Device Handoff Audit */
.route-map-legend .handoff{color:#72a7ff}
.route-handoff-list article.handoff-estimated{border-color:rgba(114,167,255,.42);background:rgba(114,167,255,.06)}
.route-handoff-list .handoff-message{color:#9fb8d8}

/* =========================================================
   v5.20.0 — Settings workspace redesign
   ========================================================= */
.settings-app-shell{
  padding-top:12px;
}
.settings-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.settings-sidebar-card{
  padding:14px;
  border:1px solid #343b41;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(23,28,33,.98),rgba(15,19,23,.98));
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.settings-sidebar-head h1{
  margin:2px 0 6px;
  font-size:1.3rem;
}
.settings-sidebar-copy{
  margin:0;
  color:#7f8a91;
  font-size:.56rem;
  line-height:1.5;
}
.settings-sidebar-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0;
}
.settings-sidebar-status-grid article{
  min-width:0;
  padding:10px 11px;
  border:1px solid #2f363c;
  border-radius:12px;
  background:#12171b;
}
.settings-sidebar-status-grid span,
.settings-sidebar-status-grid strong{
  display:block;
}
.settings-sidebar-status-grid span{
  color:#738089;
  font-size:.44rem;
  font-weight:900;
  letter-spacing:.07em;
}
.settings-sidebar-status-grid strong{
  margin-top:4px;
  color:#ebdfc0;
  font-size:.72rem;
}
.settings-sidebar-nav{
  display:grid;
  gap:8px;
}
.settings-sidebar-nav a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #2e353b;
  border-radius:13px;
  color:#d9d2bd;
  text-decoration:none;
  background:#11161a;
  transition:border-color .15s ease, transform .15s ease, background .15s ease;
}
.settings-sidebar-nav a:hover,
.settings-sidebar-nav a:focus-visible{
  border-color:#534633;
  background:#191d1f;
  transform:translateY(-1px);
}
.settings-sidebar-nav a.active{
  border-color:rgba(224,90,36,.55);
  background:linear-gradient(180deg,rgba(47,34,24,.95),rgba(25,20,17,.95));
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.settings-sidebar-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(224,90,36,.25);
  border-radius:10px;
  color:#f0dfb5;
  font-size:.72rem;
  font-weight:900;
  background:rgba(224,90,36,.10);
}
.settings-sidebar-nav-copy{
  min-width:0;
}
.settings-sidebar-nav-copy small,
.settings-sidebar-nav-copy strong,
.settings-sidebar-nav-copy em{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.settings-sidebar-nav-copy small{
  color:#748089;
  font-size:.42rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.07em;
}
.settings-sidebar-nav-copy strong{
  margin-top:2px;
  color:#ebe2c8;
  font-size:.67rem;
}
.settings-sidebar-nav-copy em{
  margin-top:2px;
  color:#8b949a;
  font-size:.5rem;
  font-style:normal;
}
.settings-sidebar-status{
  align-self:start;
  justify-self:end;
  padding:6px 8px;
  border-radius:999px;
  background:#1d252b;
  color:#8d989f;
  font-size:.46rem;
  font-weight:900;
  letter-spacing:.05em;
  white-space:nowrap;
}
.settings-sidebar-status.ready{
  color:#d9f0da;
  background:#173020;
}
.settings-sidebar-status.warning{
  color:#ffe2ab;
  background:#3b2813;
}
.settings-sidebar-quicklinks{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #2b3238;
}
.settings-sidebar-quicklinks>span{
  display:block;
  margin-bottom:8px;
  color:#758089;
  font-size:.44rem;
  font-weight:900;
  letter-spacing:.08em;
}
.settings-sidebar-quicklinks>div{
  display:grid;
  gap:8px;
}
.settings-sidebar-quicklinks a{
  color:#f0e6cf;
  text-decoration:none;
  font-size:.57rem;
}
.settings-sidebar-quicklinks a:hover,
.settings-sidebar-quicklinks a:focus-visible{
  color:#ffb27f;
}
.settings-main-column{
  min-width:0;
}
.settings-panel-shell{
  display:none;
}
.settings-panel-shell.panel-active{
  display:block;
}
.settings-panel-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:2px 2px 10px;
}
.settings-panel-intro h2{
  margin:2px 0 0;
  font-size:1rem;
}
.settings-panel-intro p{
  max-width:560px;
  margin:0;
  color:#79848c;
  font-size:.55rem;
  line-height:1.45;
  text-align:right;
}
.settings-overview-card,
.settings-shortcuts-card,
.settings-mapbox-card{
  margin-bottom:12px;
}
.settings-overview-grid,
.settings-shortcut-grid{
  display:grid;
  gap:10px;
}
.settings-overview-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.settings-overview-grid article{
  min-width:0;
  padding:12px 13px;
  border:1px solid #32393f;
  border-radius:13px;
  background:#11161a;
}
.settings-overview-grid span,
.settings-overview-grid strong,
.settings-overview-grid small{
  display:block;
}
.settings-overview-grid span{
  color:#75808a;
  font-size:.44rem;
  font-weight:900;
  letter-spacing:.08em;
}
.settings-overview-grid strong{
  margin-top:5px;
  color:#efe6cf;
  font-size:.72rem;
  line-height:1.35;
}
.settings-overview-grid small{
  margin-top:4px;
  color:#8d969d;
  font-size:.52rem;
  line-height:1.45;
}
.settings-shortcut-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.settings-shortcut-grid a{
  display:block;
  min-width:0;
  padding:12px 13px;
  border:1px solid #32383e;
  border-radius:13px;
  color:#ebe2cc;
  text-decoration:none;
  background:#12171a;
}
.settings-shortcut-grid a:hover,
.settings-shortcut-grid a:focus-visible{
  border-color:#544835;
  background:#191d20;
}
.settings-shortcut-grid strong,
.settings-shortcut-grid small{
  display:block;
}
.settings-shortcut-grid strong{
  font-size:.67rem;
}
.settings-shortcut-grid small{
  margin-top:4px;
  color:#849097;
  font-size:.51rem;
  line-height:1.4;
}
@media(max-width:899px){
  .settings-sidebar-card{
    padding:12px;
  }
  .settings-sidebar-nav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .settings-sidebar-nav::-webkit-scrollbar{display:none}
  .settings-sidebar-nav a{
    flex:0 0 245px;
  }
  .settings-panel-intro{
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
  }
  .settings-panel-intro p{
    text-align:left;
  }
}
@media(max-width:620px){
  .settings-overview-grid,
  .settings-shortcut-grid,
  .settings-sidebar-status-grid{
    grid-template-columns:1fr;
  }
  .settings-sidebar-nav a{
    flex-basis:220px;
  }
}
@media(min-width:900px){
  .settings-workspace{
    grid-template-columns:320px minmax(0,1fr);
    gap:16px;
  }
  .settings-sidebar-card{
    position:sticky;
    top:78px;
  }
}
@media(min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .settings-workspace{
      grid-template-columns:280px minmax(0,1fr);
    }
    html.sho-ipad .settings-sidebar-card{
      top:calc(var(--ipad-header-height) + 8px);
    }
  }
}

/* =========================================================
   v5.21.0 — Reports workspace redesign
   ========================================================= */
.reports-page{
  align-items:start;
}
.report-workspace-content{
  min-width:0;
}
.report-workspace-sidebar{
  display:block;
  min-width:0;
  padding:14px!important;
  border:1px solid #343b41!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(23,28,33,.98),rgba(15,19,23,.98))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
}
.report-workspace-sidebar-head{
  padding:2px 2px 13px;
  border-bottom:1px solid #2d343a;
}
.report-workspace-sidebar-head>span,
.report-workspace-sidebar-head>strong,
.report-workspace-sidebar-head>small{
  display:block;
}
.report-workspace-sidebar-head>strong{
  margin-top:4px;
  color:#efe5ca;
  font-size:1rem;
}
.report-workspace-sidebar-head>small{
  margin-top:5px;
  color:#7d888f;
  font-size:.52rem;
  line-height:1.45;
}
.report-workspace-sidebar .report-nav-group{
  min-width:0;
  margin-top:13px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.report-workspace-sidebar .report-nav-group-label{
  display:block;
  padding:0 5px 6px!important;
  color:#66727a!important;
  font-size:.42rem!important;
  font-weight:950;
  letter-spacing:.09em!important;
}
.report-workspace-sidebar .report-section-tabs{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.report-workspace-sidebar .report-section-tabs a,
html.sho-desktop .reports-page .report-workspace-sidebar .report-section-tabs a{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:10px!important;
  min-width:0!important;
  min-height:56px!important;
  padding:9px 10px!important;
  border:1px solid #2e353b!important;
  border-radius:12px!important;
  color:#d8d0b9!important;
  background:#11161a!important;
  text-align:left!important;
  text-decoration:none!important;
}
.report-workspace-sidebar .report-section-tabs a:hover,
.report-workspace-sidebar .report-section-tabs a:focus-visible{
  border-color:#534633!important;
  background:#181d20!important;
  outline:none;
}
.report-workspace-sidebar .report-section-tabs a.active,
html.sho-desktop .reports-page .report-workspace-sidebar .report-section-tabs a.active{
  border-color:rgba(224,90,36,.55)!important;
  background:linear-gradient(180deg,rgba(47,34,24,.95),rgba(25,20,17,.95))!important;
  color:#f0dfb8!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.report-workspace-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(224,90,36,.22);
  border-radius:10px;
  color:#e7d7b6;
  background:rgba(224,90,36,.08);
}
.report-workspace-icon svg{
  width:18px;
  height:18px;
}
.report-workspace-sidebar a.active .report-workspace-icon{
  border-color:rgba(224,90,36,.48);
  color:#ffb17e;
  background:rgba(224,90,36,.16);
}
.report-workspace-link-copy{
  display:block;
  min-width:0;
}
.report-workspace-link-copy strong,
.report-workspace-link-copy small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.report-workspace-link-copy strong{
  color:#e9e0c6;
  font-size:.62rem;
}
.report-workspace-link-copy small{
  margin-top:3px;
  color:#7c878e;
  font-size:.47rem;
}
.report-workspace-sidebar .report-section-tabs a>b{
  color:#66727a;
  font-size:.95rem;
  font-weight:500;
}
.report-workspace-sidebar .report-section-tabs a.active>b{
  color:#c48a63;
}

@media(min-width:900px){
  .reports-page{
    display:grid!important;
    grid-template-columns:270px minmax(0,1fr)!important;
    gap:16px!important;
  }
  .reports-page>.report-workspace-sidebar{
    grid-column:1;
    align-self:start;
    position:sticky!important;
    top:78px!important;
    z-index:34!important;
    margin:0!important;
  }
  .reports-page>.report-workspace-content{
    grid-column:2;
  }
  html.sho-desktop .reports-page .report-workspace-sidebar{
    top:calc(var(--desktop-header-height) + 12px)!important;
    grid-template-columns:none!important;
    gap:0!important;
    margin-bottom:0!important;
    padding:14px!important;
    background:linear-gradient(180deg,rgba(23,28,33,.98),rgba(15,19,23,.98))!important;
  }
}

@media(min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .reports-page{
      display:grid!important;
      grid-template-columns:250px minmax(0,1fr)!important;
      gap:13px!important;
    }
    html.sho-ipad .reports-page>.report-workspace-sidebar{
      grid-column:1;
      position:sticky!important;
      top:calc(var(--ipad-header-height) + 8px)!important;
      align-self:start;
      z-index:34;
    }
    html.sho-ipad .reports-page>.report-workspace-content{
      grid-column:2;
      min-width:0;
    }
  }
}

@media(max-width:899px){
  .reports-page{
    display:block!important;
  }
  .reports-page>.report-workspace-sidebar{
    position:sticky!important;
    top:64px!important;
    z-index:34!important;
    display:flex!important;
    gap:8px!important;
    margin:0 0 12px!important;
    padding:7px!important;
    overflow-x:auto!important;
    border-radius:14px!important;
    scrollbar-width:none;
  }
  .reports-page>.report-workspace-sidebar::-webkit-scrollbar{display:none}
  .report-workspace-sidebar-head,
  .report-workspace-sidebar .report-nav-group-label{
    display:none!important;
  }
  .report-workspace-sidebar .report-nav-group,
  .report-workspace-sidebar .report-section-tabs{
    display:contents!important;
  }
  .report-workspace-sidebar .report-section-tabs a{
    flex:0 0 172px!important;
    width:172px!important;
    min-height:52px!important;
    grid-template-columns:31px minmax(0,1fr)!important;
    padding:8px 9px!important;
  }
  .report-workspace-sidebar .report-section-tabs a>b{
    display:none!important;
  }
  .report-workspace-icon{
    width:31px;
    height:31px;
  }
  .report-workspace-icon svg{
    width:16px;
    height:16px;
  }
  .report-workspace-link-copy strong{
    font-size:.58rem;
  }
  .report-workspace-link-copy small{
    font-size:.44rem;
  }
}

@media(max-width:620px){
  .reports-page>.report-workspace-sidebar{
    top:62px!important;
  }
  .report-workspace-sidebar .report-section-tabs a{
    flex-basis:158px!important;
    width:158px!important;
  }
}
@media(min-width:900px){
  .reports-page>.alert,
  .reports-page>.flash,
  .reports-page>.import-receipt{
    grid-column:1 / -1;
  }
}
@media(min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .reports-page>.alert,
    html.sho-ipad .reports-page>.flash,
    html.sho-ipad .reports-page>.import-receipt{
      grid-column:1 / -1;
    }
  }
}

/* =========================================================
   v5.22.0 — Current Challenge + Session workspace refresh
   ========================================================= */

/* Current Challenge becomes a focused operational destination. */
.current-challenge-page{
  max-width:1120px;
}
.current-challenge-intro{
  margin-bottom:12px;
}
.current-challenge-legacy-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #564323;
  border-radius:12px;
  background:#211a11;
  color:#b9a77f;
  font-size:.54rem;
}
.current-challenge-legacy-note strong,
.current-challenge-legacy-note span{display:block}
.current-challenge-legacy-note strong{color:#f0d898}
.current-challenge-hero{
  margin-bottom:12px;
  padding:16px;
  border-color:#463922;
  background:linear-gradient(180deg,#1c1c18,#12171a);
}
.current-challenge-hero.goal-hit{
  border-color:#315f43;
  box-shadow:inset 0 0 0 1px rgba(101,200,122,.08);
}
.current-challenge-hero-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.current-challenge-hero-head h2{
  margin:7px 0 4px;
  font-size:1.25rem;
}
.current-challenge-hero-head p{
  margin:0;
  color:#89949a;
  font-size:.57rem;
  line-height:1.45;
}
.current-challenge-money{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:15px 0 12px;
}
.current-challenge-money>div{
  padding:11px 12px;
  border:1px solid #30373c;
  border-radius:12px;
  background:#11161a;
}
.current-challenge-money span,
.current-challenge-money strong{display:block}
.current-challenge-money span{
  color:#727e86;
  font-size:.44rem;
  font-weight:900;
  letter-spacing:.075em;
}
.current-challenge-money strong{
  margin-top:5px;
  color:#efe2c2;
  font-size:1.05rem;
}
.current-challenge-progress-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
}
.current-challenge-progress-caption strong{
  color:#f0dfb9;
  font-size:.78rem;
}
.current-challenge-progress-caption span{
  color:#849097;
  font-size:.52rem;
  text-align:right;
}
.current-challenge-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-bottom:12px;
}
.current-challenge-kpis article{
  min-width:0;
  padding:12px;
  border:1px solid #30373d;
  border-radius:13px;
  background:#13181c;
}
.current-challenge-kpis span,
.current-challenge-kpis strong,
.current-challenge-kpis small{display:block}
.current-challenge-kpis span{
  color:#758089;
  font-size:.45rem;
  font-weight:900;
  letter-spacing:.065em;
}
.current-challenge-kpis strong{
  margin-top:5px;
  color:#ece2c9;
  font-size:.9rem;
}
.current-challenge-kpis small{
  margin-top:4px;
  color:#859097;
  font-size:.49rem;
  line-height:1.35;
}
.current-challenge-rules-card,
.current-challenge-actions-card{
  margin-bottom:12px;
}
.current-challenge-rule-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.current-challenge-rule-chips span{
  padding:7px 9px;
  border:1px solid #3e4036;
  border-radius:999px;
  color:#d9cfad;
  background:#171913;
  font-size:.5rem;
  font-weight:800;
}
.current-challenge-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:11px;
}
.current-challenge-end-disclosure{
  margin-top:12px;
  border-top:1px solid #2e3438;
  padding-top:10px;
}
.current-challenge-end-disclosure>summary{
  cursor:pointer;
  list-style:none;
  color:#bcb6a5;
}
.current-challenge-end-disclosure>summary::-webkit-details-marker{display:none}
.current-challenge-end-disclosure>summary strong,
.current-challenge-end-disclosure>summary small{display:block}
.current-challenge-end-disclosure>summary strong{font-size:.62rem}
.current-challenge-end-disclosure>summary small{margin-top:3px;color:#7d878e;font-size:.49rem}
.current-challenge-end-disclosure form{margin-top:10px}
.current-challenge-empty-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.current-challenge-empty-copy span,
.current-challenge-empty-copy strong,
.current-challenge-empty-copy small{display:block}
.current-challenge-empty-copy span{
  color:#a17650;
  font-size:.44rem;
  font-weight:900;
  letter-spacing:.08em;
}
.current-challenge-empty-copy strong{
  margin-top:4px;
  color:#ede3c8;
  font-size:.8rem;
}
.current-challenge-empty-copy small{
  margin-top:4px;
  color:#7f8a91;
  font-size:.52rem;
}
.current-challenge-create-card{
  margin-bottom:12px;
}
.challenge-history-current-link{
  margin-bottom:12px;
}

/* Session becomes a Tabler-inspired prepare/track/finish workspace. */
.session-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.session-workspace-sidebar{
  min-width:0;
  padding:14px;
  border:1px solid #343b41;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(23,28,33,.98),rgba(15,19,23,.98));
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.session-workspace-sidebar-head{
  padding-bottom:12px;
  border-bottom:1px solid #2d343a;
}
.session-workspace-sidebar-head h1{
  margin:4px 0 5px;
  color:#eee4ca;
  font-size:1rem;
}
.session-workspace-sidebar-head p{
  margin:0;
  color:#7d888f;
  font-size:.52rem;
  line-height:1.45;
}
.session-workspace-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:12px 0;
}
.session-workspace-status-grid article{
  min-width:0;
  padding:8px;
  border:1px solid #2e353b;
  border-radius:10px;
  background:#11161a;
}
.session-workspace-status-grid span,
.session-workspace-status-grid strong{display:block}
.session-workspace-status-grid span{
  color:#68747c;
  font-size:.4rem;
  font-weight:900;
  letter-spacing:.07em;
}
.session-workspace-status-grid strong{
  margin-top:4px;
  overflow:hidden;
  color:#dcd4bd;
  font-size:.55rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.session-workspace-status-grid strong.active{color:#ffd27d}
.session-workspace-status-grid strong.break{color:#ffd27d}
.session-workspace-status-grid strong.complete{color:#9be1ba}
.session-workspace-content{
  min-width:0;
}
.session-workspace-content-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:2px 2px 10px;
}
.session-workspace-content-head h2{
  margin:2px 0 0;
  font-size:1rem;
}
.session-workspace-content-head p{
  margin:0;
  color:#7d888f;
  font-size:.52rem;
  text-align:right;
}
.session-workspace .session-tabs{
  position:static;
  top:auto;
  z-index:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:0;
  padding:0;
  background:none;
}
.session-workspace .session-tabs .workflow-step{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:9px 10px;
  border:1px solid #2e353b;
  border-radius:12px;
  background:#11161a;
}
.session-workspace .session-tabs .workflow-step:hover,
.session-workspace .session-tabs .workflow-step:focus-visible{
  border-color:#514531;
  background:#181d20;
}
.session-workspace .session-tabs .workflow-step.active{
  border-color:rgba(224,90,36,.55);
  background:linear-gradient(180deg,rgba(47,34,24,.95),rgba(25,20,17,.95));
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.session-workspace .workflow-number{
  width:32px;
  height:32px;
  border-radius:10px;
  background:rgba(224,90,36,.08);
}
.session-workspace .workflow-copy small,
.session-workspace .workflow-copy b,
.session-workspace .workflow-copy em{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.session-workspace .workflow-copy small{
  margin:0;
  color:#737f87;
  font-size:.4rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.075em;
}
.session-workspace .workflow-copy b{
  margin-top:2px;
  color:#e8dec3;
  font-size:.64rem;
}
.session-workspace .workflow-copy em{
  margin-top:2px;
  color:#7d888f;
  font-size:.47rem;
  font-style:normal;
}
.session-step-status{
  align-self:start;
  padding:5px 7px;
  border-radius:999px;
  color:#8a959b;
  background:#1c2429;
  font-size:.43rem;
  font-weight:900;
  white-space:nowrap;
}
.session-step-status.ready,
.session-step-status.complete{
  color:#cdebd3;
  background:#173020;
}
.session-step-status.active,
.session-step-status.break{
  color:#f4d69b;
  background:#342714;
}
.session-workspace-quicklinks{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #2c3338;
}
.session-workspace-quicklinks>span{
  display:block;
  margin-bottom:7px;
  color:#69757d;
  font-size:.41rem;
  font-weight:900;
  letter-spacing:.08em;
}
.session-workspace-quicklinks>div{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.session-workspace-quicklinks a{
  color:#e7dcc0;
  text-decoration:none;
  font-size:.52rem;
}
.session-workspace .session-tab-panel{
  min-width:0;
}
.session-workspace .session-maintenance{
  margin-top:12px;
}

@media(min-width:900px){
  .session-workspace{
    grid-template-columns:285px minmax(0,1fr);
    gap:16px;
  }
  .session-workspace-sidebar{
    position:sticky;
    top:78px;
  }
}
@media(min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .session-workspace{
      grid-template-columns:255px minmax(0,1fr);
      gap:13px;
    }
    html.sho-ipad .session-workspace-sidebar{
      position:sticky;
      top:calc(var(--ipad-header-height) + 8px);
    }
  }
}
@media(max-width:899px){
  .session-workspace-sidebar{
    position:sticky;
    top:64px;
    z-index:34;
    padding:7px;
    border-radius:14px;
    backdrop-filter:blur(14px);
  }
  .session-workspace-sidebar-head,
  .session-workspace-status-grid,
  .session-workspace-quicklinks{
    display:none;
  }
  .session-workspace .session-tabs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .session-workspace .session-tabs::-webkit-scrollbar{display:none}
  .session-workspace .session-tabs .workflow-step{
    flex:0 0 205px;
    width:205px;
    min-height:54px;
    grid-template-columns:30px minmax(0,1fr);
    padding:8px 9px;
  }
  .session-workspace .session-tabs .session-step-status{
    display:none;
  }
  .session-workspace-content-head{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .session-workspace-content-head p{text-align:left}
}
@media(max-width:620px){
  .current-challenge-money{
    grid-template-columns:1fr;
  }
  .current-challenge-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .current-challenge-action-grid{
    grid-template-columns:1fr;
  }
  .current-challenge-empty-card,
  .current-challenge-legacy-note,
  .current-challenge-progress-caption{
    align-items:flex-start;
    flex-direction:column;
  }
  .current-challenge-progress-caption span{text-align:left}
  .session-workspace-sidebar{top:62px}
  .session-workspace .session-tabs .workflow-step{
    flex-basis:184px;
    width:184px;
  }
}

/* =========================================================
   v5.23.0 — Platform Showdown + final workspace refresh
   ========================================================= */

/* Shared sub-workspace pattern for Service Locations and Usage/GPS. */
.subworkspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.subworkspace-sidebar{
  padding:14px;
  border:1px solid #343b41;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(23,28,33,.98),rgba(15,19,23,.98));
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.subworkspace-head h1{
  margin:2px 0 6px;
  font-size:1.25rem;
}
.subworkspace-head p{
  margin:0;
  color:#7d878f;
  font-size:.55rem;
  line-height:1.48;
}
.subworkspace-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:14px 0;
}
.subworkspace-stats article{
  min-width:0;
  padding:9px 10px;
  border:1px solid #2f373d;
  border-radius:11px;
  background:#11161a;
}
.subworkspace-stats span,
.subworkspace-stats strong{
  display:block;
}
.subworkspace-stats span{
  color:#758089;
  font-size:.4rem;
  font-weight:950;
  letter-spacing:.07em;
}
.subworkspace-stats strong{
  margin-top:3px;
  color:#eee3c6;
  font-size:.66rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.subworkspace-nav{
  display:grid;
  gap:8px;
}
.subworkspace-nav>a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid #2d353b;
  border-radius:13px;
  color:#e1d9c3;
  text-decoration:none;
  background:#11161a;
}
.subworkspace-nav>a:hover,
.subworkspace-nav>a:focus-visible{
  border-color:#514534;
  background:#181d20;
}
.subworkspace-nav>a.active{
  border-color:rgba(224,90,36,.55);
  background:linear-gradient(180deg,rgba(47,34,24,.95),rgba(25,20,17,.95));
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.subworkspace-nav-icon{
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  border:1px solid rgba(224,90,36,.26);
  border-radius:10px;
  color:#f1dfb5;
  font-size:.69rem;
  font-weight:950;
  background:rgba(224,90,36,.09);
}
.subworkspace-nav>a>span:nth-child(2){min-width:0}
.subworkspace-nav small,
.subworkspace-nav strong,
.subworkspace-nav em{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.subworkspace-nav small{
  color:#758088;
  font-size:.4rem;
  font-weight:950;
  letter-spacing:.07em;
}
.subworkspace-nav strong{
  margin-top:2px;
  color:#ede2c5;
  font-size:.66rem;
}
.subworkspace-nav em{
  margin-top:2px;
  color:#879198;
  font-size:.49rem;
  font-style:normal;
}
.subworkspace-nav>a>b{
  align-self:start;
  padding:5px 7px;
  border-radius:999px;
  color:#919ba2;
  background:#1d252b;
  font-size:.44rem;
  font-weight:900;
  white-space:nowrap;
}
.subworkspace-quicklinks{
  display:grid;
  gap:7px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid #2c3338;
}
.subworkspace-quicklinks>span{
  color:#758089;
  font-size:.4rem;
  font-weight:950;
  letter-spacing:.08em;
}
.subworkspace-quicklinks a{
  color:#efe4ca;
  font-size:.54rem;
  text-decoration:none;
}
.subworkspace-content{min-width:0}
.subworkspace-panel-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:2px 2px 10px;
}
.subworkspace-panel-intro h2{
  margin:2px 0 0;
  font-size:1rem;
}
.subworkspace-panel-intro p{
  max-width:550px;
  margin:0;
  color:#7d878f;
  font-size:.54rem;
  line-height:1.45;
  text-align:right;
}
.subworkspace-range{margin:12px 0 14px!important}
.locations-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.locations-overview-grid article{
  padding:12px;
  border:1px solid #323940;
  border-radius:13px;
  background:#11161a;
}
.locations-overview-grid span,
.locations-overview-grid strong,
.locations-overview-grid small{display:block}
.locations-overview-grid span{
  color:#738089;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.08em;
}
.locations-overview-grid strong{
  margin-top:5px;
  color:#efe5ca;
  font-size:.75rem;
}
.locations-overview-grid small{
  margin-top:3px;
  color:#879199;
  font-size:.51rem;
}
.locations-add-workspace{margin-bottom:0}

/* Platform Showdown */
.challenge-type-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border:1px solid #333a40;
  border-radius:13px;
  background:#11161a;
}
.challenge-type-picker legend{
  padding:0 5px;
  color:#89939a;
  font-size:.5rem;
  font-weight:900;
}
.challenge-type-picker label{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:10px;
  border:1px solid #30373c;
  border-radius:11px;
  background:#151a1e;
}
.challenge-type-picker label:has(input:checked){
  border-color:rgba(224,90,36,.55);
  background:#211a14;
}
.challenge-type-picker span,
.challenge-type-picker strong,
.challenge-type-picker small{display:block}
.challenge-type-picker strong{color:#ece2c8;font-size:.64rem}
.challenge-type-picker small{margin-top:3px;color:#818c93;font-size:.49rem;line-height:1.35}
.showdown-platform-picker{
  padding:12px;
  border:1px solid rgba(224,90,36,.36);
  border-radius:14px;
  background:linear-gradient(180deg,#1b1814,#12171a);
}
.showdown-platform-picker[hidden]{display:none!important}
.showdown-platform-picker-head span,
.showdown-platform-picker-head strong,
.showdown-platform-picker-head small{display:block}
.showdown-platform-picker-head span{color:#e05a24;font-size:.43rem;font-weight:950;letter-spacing:.09em}
.showdown-platform-picker-head strong{margin-top:3px;color:#f0e5c8;font-size:.72rem}
.showdown-platform-picker-head small{margin-top:3px;color:#879198;font-size:.5rem}
.showdown-platform-picker>p{margin:10px 0 0;color:#808b92;font-size:.5rem;line-height:1.45}
.showdown-platform-select-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:end;
  margin-top:11px;
}
.showdown-vs-mark{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin-bottom:1px;
  border:1px solid rgba(224,90,36,.42);
  border-radius:50%;
  color:#f1c99f;
  font-size:.58rem;
  font-weight:950;
  background:#261b14;
}
.challenge-type-lock{
  padding:10px 12px;
  border:1px solid rgba(224,90,36,.35);
  border-radius:12px;
  background:#1c1814;
}
.challenge-type-lock span,
.challenge-type-lock strong,
.challenge-type-lock small{display:block}
.challenge-type-lock span{color:#e05a24;font-size:.43rem;font-weight:950;letter-spacing:.08em}
.challenge-type-lock strong{margin-top:3px;color:#f0e4c6;font-size:.67rem}
.challenge-type-lock small{margin-top:3px;color:#879198;font-size:.5rem}
.showdown-current-hero{
  padding:16px;
  border-color:rgba(224,90,36,.42)!important;
  background:linear-gradient(180deg,#1d1915,#12171a)!important;
}
.showdown-current-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
}
.showdown-current-head h2{
  margin:4px 0 2px;
  font-size:1.15rem;
}
.showdown-current-head h2 span{color:#e05a24;font-size:.7em}
.showdown-current-head p{margin:0;color:#858f96;font-size:.53rem}
.showdown-score-badge{
  min-width:125px;
  padding:10px 12px;
  border:1px solid #4b3c2b;
  border-radius:12px;
  text-align:center;
  background:#171a1b;
}
.showdown-score-badge span,
.showdown-score-badge strong,
.showdown-score-badge small{display:block}
.showdown-score-badge span{color:#8f989e;font-size:.4rem;font-weight:950;letter-spacing:.08em}
.showdown-score-badge strong{margin:3px 0;color:#f0e4c4;font-size:1.08rem}
.showdown-score-badge small{color:#e49465;font-size:.5rem}
.showdown-platform-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-bottom:12px;
}
.showdown-platform-card{padding:14px!important}
.showdown-platform-card.leader{
  border-color:rgba(224,90,36,.55)!important;
  box-shadow:0 0 0 1px rgba(224,90,36,.08),0 14px 32px rgba(0,0,0,.18);
}
.showdown-platform-title span,
.showdown-platform-title strong,
.showdown-platform-title small{display:block}
.showdown-platform-title span{color:#7d878e;font-size:.4rem;font-weight:950;letter-spacing:.08em}
.showdown-platform-card.leader .showdown-platform-title span{color:#e05a24}
.showdown-platform-title strong{margin-top:3px;color:#eee3c5;font-size:.83rem}
.showdown-platform-title small{margin-top:2px;color:#879198;font-size:.48rem}
.showdown-platform-money{
  margin:12px 0;
  padding:10px 11px;
  border:1px solid #30383e;
  border-radius:12px;
  background:#101519;
}
.showdown-platform-money span,
.showdown-platform-money strong{display:block}
.showdown-platform-money span{color:#77828a;font-size:.4rem;font-weight:950;letter-spacing:.08em}
.showdown-platform-money strong{margin-top:2px;color:#f2e6c8;font-size:1.2rem}
.showdown-platform-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.showdown-platform-kpis>div{
  min-width:0;
  padding:9px;
  border:1px solid #2c3339;
  border-radius:10px;
  background:#14191d;
}
.showdown-platform-kpis span,
.showdown-platform-kpis strong,
.showdown-platform-kpis small{display:block}
.showdown-platform-kpis span{color:#78838a;font-size:.4rem;font-weight:900}
.showdown-platform-kpis strong{margin-top:3px;color:#e8dfc8;font-size:.66rem}
.showdown-platform-kpis small{margin-top:2px;color:#707b82;font-size:.43rem}
.showdown-scorecard-card{margin-bottom:12px}
.showdown-metric-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.showdown-metric-list>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #30373c;
  border-radius:10px;
  background:#11161a;
}
.showdown-metric-list span{color:#858f96;font-size:.5rem}
.showdown-metric-list strong{color:#e8ddc2;font-size:.54rem;text-align:right}
.showdown-outside-platform{opacity:.58}
.showdown-history-line strong{font-size:.66rem!important}
.showdown-today-score b{font-size:.58rem!important}
.challenge-showdown-footer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* End Shift -> Wrap-Up handoff */
.session-end-flow-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 12px;
  align-items:center;
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid rgba(224,90,36,.46);
  border-radius:14px;
  background:linear-gradient(180deg,#211b16,#15191c);
}
.session-end-flow-banner span,
.session-end-flow-banner strong,
.session-end-flow-banner small{display:block;grid-column:1}
.session-end-flow-banner span{color:#e05a24;font-size:.43rem;font-weight:950;letter-spacing:.08em}
.session-end-flow-banner strong{color:#eee2c5;font-size:.69rem}
.session-end-flow-banner small{color:#879198;font-size:.5rem;line-height:1.4}
.session-end-flow-banner .btn{grid-column:2;grid-row:1/4;align-self:center}

/* History master/detail workspace */
.history-workspace-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:11px;
}
.history-workspace-header h1{margin:2px 0 2px;font-size:1.15rem}
.history-workspace-header p{margin:0;color:#7e888f;font-size:.53rem}
.history-month-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(90px,1fr));
  gap:7px;
  min-width:min(100%,480px);
}
.history-month-kpis article{
  padding:8px 9px;
  border:1px solid #30373d;
  border-radius:10px;
  background:#11161a;
}
.history-month-kpis span,
.history-month-kpis strong{display:block}
.history-month-kpis span{color:#737e86;font-size:.38rem;font-weight:950;letter-spacing:.07em}
.history-month-kpis strong{margin-top:3px;color:#e9dfc4;font-size:.6rem}
.history-workspace{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.history-master-panel{
  position:sticky;
  top:82px;
  padding:12px!important;
}
.history-master-month{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  margin-bottom:9px;
}
.history-master-month>div{text-align:center}
.history-master-month span,
.history-master-month strong{display:block}
.history-master-month span{color:#727e85;font-size:.4rem;font-weight:950;letter-spacing:.08em}
.history-master-month strong{color:#ede2c5;font-size:.66rem}
.history-master-label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:12px 1px 6px;
  padding-top:10px;
  border-top:1px solid #2c3338;
  color:#77828a;
  font-size:.42rem;
  font-weight:950;
  letter-spacing:.07em;
}
.history-day-nav{
  display:grid;
  gap:6px;
  max-height:58vh;
  overflow:auto;
  padding-right:2px;
}
.history-day-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  border:1px solid #2d3439;
  border-radius:10px;
  color:#e1d8c0;
  text-decoration:none;
  background:#11161a;
}
.history-day-nav a.active{
  border-color:rgba(224,90,36,.5);
  background:#211a14;
}
.history-day-nav span,
.history-day-nav strong,
.history-day-nav small{display:block}
.history-day-nav strong{font-size:.55rem}
.history-day-nav small{margin-top:2px;color:#7c878e;font-size:.43rem}
.history-day-nav b{color:#efdfbd;font-size:.52rem;white-space:nowrap}
.history-detail-panel{min-width:0}
.history-detail-actions{display:flex;gap:7px;flex-wrap:wrap}
.history-day-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.history-day-summary-grid article{
  padding:12px;
  border:1px solid #30383e;
  border-radius:12px;
  background:#11161a;
}
.history-day-summary-grid span,
.history-day-summary-grid strong,
.history-day-summary-grid small{display:block}
.history-day-summary-grid span{color:#77828a;font-size:.42rem;font-weight:900}
.history-day-summary-grid strong{margin-top:4px;color:#eee3c6;font-size:.82rem}
.history-day-summary-grid small{margin-top:3px;color:#7f8a91;font-size:.47rem}
.history-platform-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
.history-platform-grid article{
  padding:10px;
  border:1px solid #30373d;
  border-radius:10px;
  background:#11161a;
}
.history-platform-grid span,
.history-platform-grid strong,
.history-platform-grid small{display:block}
.history-platform-grid span{color:#778189;font-size:.44rem;font-weight:900}
.history-platform-grid strong{margin-top:3px;color:#e9dec3;font-size:.68rem}
.history-platform-grid small{margin-top:2px;color:#818c93;font-size:.46rem}
.history-story-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.history-story-grid article{
  padding:10px;
  border:1px solid #30373d;
  border-radius:10px;
  background:#11161a;
}
.history-story-grid span{display:block;color:#7a858d;font-size:.42rem;font-weight:900;text-transform:uppercase}
.history-story-grid p{margin:5px 0 0;color:#ded6c1;font-size:.53rem;line-height:1.45}
.history-calendar-card{padding:12px!important}

@media(max-width:899px){
  .subworkspace-nav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .subworkspace-nav::-webkit-scrollbar{display:none}
  .subworkspace-nav>a{flex:0 0 235px}
  .subworkspace-panel-intro{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .subworkspace-panel-intro p{text-align:left}
  .history-workspace-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .history-month-kpis{width:100%}
  .history-workspace{grid-template-columns:1fr}
  .history-master-panel{position:static}
  .history-day-nav{
    display:flex;
    overflow-x:auto;
    max-height:none;
    padding-bottom:4px;
  }
  .history-day-nav a{flex:0 0 210px}
}
@media(min-width:900px){
  .subworkspace{grid-template-columns:300px minmax(0,1fr)}
  .subworkspace-sidebar{position:sticky;top:78px}
}
@media(max-width:650px){
  .subworkspace-stats,
  .locations-overview-grid,
  .challenge-type-picker,
  .showdown-platform-grid,
  .showdown-metric-list,
  .history-story-grid{grid-template-columns:1fr}
  .showdown-platform-select-grid{grid-template-columns:1fr}
  .showdown-vs-mark{margin:0 auto}
  .showdown-current-head{flex-direction:column}
  .showdown-score-badge{width:100%}
  .showdown-platform-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .session-end-flow-banner{grid-template-columns:1fr}
  .session-end-flow-banner .btn{grid-column:1;grid-row:auto;margin-top:5px}
  .history-month-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .history-day-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    html.sho-ipad .subworkspace{grid-template-columns:275px minmax(0,1fr)}
    html.sho-ipad .subworkspace-sidebar{top:calc(var(--ipad-header-height) + 8px)}
    html.sho-ipad .history-master-panel{top:calc(var(--ipad-header-height) + 8px)}
  }
}

/* =========================================================
   v5.24.0 — Period Compare + mobile polish pass
   ========================================================= */

/* Native radios/checkboxes should never inherit full-width text-input sizing. */
input[type="checkbox"],
input[type="radio"]{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 20px;
  accent-color:var(--accent);
}

/* Period comparison */
.report-compare-page .report-workspace-content{min-width:0}
.compare-controls-card{margin-bottom:12px}
.compare-controls-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-items:end;
}
.compare-controls-form label>small{
  display:block;
  margin-top:4px;
  color:#7c878e;
  font-size:.48rem;
  line-height:1.35;
}
.compare-controls-form .btn{min-height:48px}
.compare-preset-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid #2d343a;
}
.compare-preset-row a{
  padding:7px 9px;
  border:1px solid #343b40;
  border-radius:999px;
  color:#d9cfb8;
  background:#12171a;
  font-size:.46rem;
  font-weight:900;
  text-decoration:none;
  letter-spacing:.04em;
}
.compare-preset-row a:hover,
.compare-preset-row a:focus-visible{border-color:#684729;color:#f0c19a}
.compare-period-heads{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  margin-bottom:12px;
}
.compare-period-heads article{
  min-width:0;
  padding:12px 14px;
  border:1px solid #323a40;
  border-radius:13px;
  background:#12171a;
}
.compare-period-heads article.current{border-color:rgba(224,90,36,.45);background:#1d1814}
.compare-period-heads article.comparison{border-color:#5d5234;background:#191814}
.compare-period-heads span,
.compare-period-heads strong,
.compare-period-heads small{display:block}
.compare-period-heads span{color:#758088;font-size:.42rem;font-weight:950;letter-spacing:.08em}
.compare-period-heads strong{margin-top:4px;color:#efe4c8;font-size:.7rem}
.compare-period-heads small{margin-top:3px;color:#7f8990;font-size:.48rem}
.compare-vs{
  display:grid;
  place-items:center;
  align-self:center;
  width:36px;
  height:36px;
  border:1px solid rgba(224,90,36,.35);
  border-radius:50%;
  color:#e2b88a;
  background:#211812;
  font-size:.48rem;
  font-weight:950;
}
.compare-chart-card{margin-bottom:12px}
.compare-chart-head{align-items:flex-start}
.compare-chart-legend{display:flex;gap:12px;flex-wrap:wrap;color:#8d969d;font-size:.52rem;font-weight:850}
.compare-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.compare-chart-legend span::before{content:"";width:20px;height:3px;border-radius:999px;background:currentColor}
.compare-chart-legend .current{color:#e05a24}
.compare-chart-legend .comparison{color:#b99a3c}
.compare-chart-metric-tabs{
  display:flex;
  gap:6px;
  margin:10px 0 8px;
  overflow-x:auto;
  padding-bottom:3px;
  scrollbar-width:none;
}
.compare-chart-metric-tabs::-webkit-scrollbar{display:none}
.compare-chart-metric-tabs button{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #323a40;
  border-radius:999px;
  color:#89939a;
  background:#11161a;
  font-size:.47rem;
  font-weight:900;
}
.compare-chart-metric-tabs button.active{
  border-color:rgba(224,90,36,.5);
  color:#f1dfbd;
  background:#211a14;
}
.compare-chart-wrap{
  min-height:275px;
  padding:8px 4px 0;
  border:1px solid #2e363c;
  border-radius:14px;
  background:#101519;
}
.compare-chart-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:7px;
  color:#7b868d;
  font-size:.46rem;
}
.compare-chart-foot span:first-child{color:#d88658}
.compare-chart-foot span:last-child{text-align:right;color:#b8a56f}
.compare-metric-table{display:grid;border:1px solid #30383e;border-radius:12px;overflow:hidden}
.compare-metric-row{
  display:grid;
  grid-template-columns:minmax(170px,1.3fr) repeat(3,minmax(100px,.7fr));
  gap:8px;
  align-items:center;
  padding:9px 11px;
  border-top:1px solid #283036;
  background:#11161a;
}
.compare-metric-row:first-child{border-top:0}
.compare-metric-row.header{background:#181e22;color:#758088;font-size:.42rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.compare-metric-row>span{color:#8c959b;font-size:.53rem}
.compare-metric-row>strong{color:#e9dfc4;font-size:.57rem;text-align:right}
.compare-metric-row>em{font-size:.52rem;font-style:normal;font-weight:850;text-align:right}
.compare-metric-row>em.up{color:#a6c99d}
.compare-metric-row>em.down{color:#d39b8c}
.compare-metric-row>em.flat{color:#818c93}
.compare-platform-list{display:grid;gap:7px}
.compare-platform-list article{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 11px;
  border:1px solid #30373d;
  border-radius:10px;
  background:#11161a;
}
.compare-platform-list strong,
.compare-platform-list small,
.compare-platform-list span{display:block}
.compare-platform-list strong{color:#e6dcc1;font-size:.59rem}
.compare-platform-list small{margin-top:2px;color:#7e8990;font-size:.45rem}
.compare-platform-list article>div:last-child{display:flex;gap:12px;white-space:nowrap;font-size:.54rem;font-weight:850}
.compare-platform-list article>div:last-child span:first-child{color:#df8758}
.compare-platform-list article>div:last-child span:last-child{color:#b7a36e}

/* Day Details: compact jump navigation for long mobile logs. */
.day-section-nav,
.tax-section-nav,
.import-workspace-nav{
  display:flex;
  gap:7px;
  margin:0 0 12px;
  overflow-x:auto;
  padding:6px;
  border:1px solid #30383e;
  border-radius:13px;
  background:rgba(14,18,21,.95);
  scrollbar-width:none;
}
.day-section-nav::-webkit-scrollbar,
.tax-section-nav::-webkit-scrollbar,
.import-workspace-nav::-webkit-scrollbar{display:none}
.day-section-nav a,
.tax-section-nav a,
.import-workspace-nav a{
  flex:1 0 130px;
  min-width:0;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:9px;
  color:#879198;
  text-decoration:none;
  background:#11161a;
}
.day-section-nav span,
.day-section-nav strong,
.tax-section-nav span,
.tax-section-nav strong,
.import-workspace-nav span,
.import-workspace-nav strong,
.import-workspace-nav small{display:block}
.day-section-nav span,
.tax-section-nav span,
.import-workspace-nav span{color:#737f86;font-size:.4rem;font-weight:950;letter-spacing:.07em}
.day-section-nav strong,
.tax-section-nav strong,
.import-workspace-nav strong{margin-top:2px;color:#e6dcc2;font-size:.57rem}
.import-workspace-nav small{margin-top:2px;color:#768188;font-size:.43rem;line-height:1.3}
.import-workspace-nav a.active{border-color:rgba(224,90,36,.45);background:#211a14}
.day-anchor-section,
.tax-anchor-section{scroll-margin-top:150px}

/* Import workspace: only the selected tool occupies the main canvas. */
.backfill-page .import-panel{display:none}
.backfill-page .import-panel.active{display:block}
.import-summary-panel{min-width:0}

/* Route Audit layer controls become actual compact toggles. */
.route-map-layer-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.route-map-layer-controls label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #30383e;
  border-radius:12px;
  background:#12171a;
}
.route-layer-copy{display:flex;align-items:center;gap:8px;min-width:0}
.route-layer-copy>span{min-width:0}
.route-layer-copy strong,
.route-layer-copy small{display:block}
.route-layer-copy strong{color:#ddd5bf;font-size:.55rem}
.route-layer-copy small{margin-top:2px;color:#77828a;font-size:.43rem;line-height:1.25}
.route-key{display:block;width:19px;height:3px;border-radius:999px;flex:0 0 19px;background:currentColor}
.route-key.route{color:#e85d24}.route-key.gap{color:#f1c45a}.route-key.handoff{color:#72a7ff}.route-key.raw{color:#8f99a3}
.route-map-layer-controls input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:40px!important;
  height:23px!important;
  min-width:40px!important;
  min-height:23px!important;
  border:1px solid #4a555d;
  border-radius:999px;
  background:#252d33;
  position:relative;
  transition:.15s ease;
}
.route-map-layer-controls input[type="checkbox"]::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:15px;
  height:15px;
  border-radius:50%;
  background:#9aa3a9;
  transition:.15s ease;
}
.route-map-layer-controls input[type="checkbox"]:checked{border-color:rgba(224,90,36,.55);background:#4a281b}
.route-map-layer-controls input[type="checkbox"]:checked::after{left:20px;background:#f2e7c7}

@media(max-width:899px){
  /* Keep the normal top-of-page header compact. Once the sticky header has
     actually moved with the page, add the iPhone/PWA safe-area breathing room. */
  html:not(.sho-desktop):not(.sho-ipad) .app-header{
    padding-top:9px;
    transition:padding-top .16s ease;
  }
  html:not(.sho-desktop):not(.sho-ipad) .app-header.is-scrolled{
    padding-top:calc(9px + env(safe-area-inset-top));
  }
  html:not(.sho-desktop) .day-section-nav,
  html:not(.sho-desktop) .tax-section-nav{
    position:sticky;
    top:calc(64px + env(safe-area-inset-top));
    z-index:31;
    box-shadow:0 9px 22px rgba(0,0,0,.2);
  }
  .compare-controls-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compare-period-heads{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .import-workspace-nav a{flex:0 0 210px}
}

@media(max-width:620px){
  /* Phone header density */
  .app-header{gap:7px;padding-left:10px;padding-right:10px}
  .app-header .brand-logo{width:42px;height:42px;flex-basis:42px}
  .app-header .brand-lockup{gap:8px}
  .app-header .page-title{font-size:.9rem}
  .app-header .page-subtitle{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
  .app-header .brand-parent{font-size:.4rem}
  .header-actions{gap:4px}
  .header-settings-link{padding:0!important;width:38px!important;grid-template-columns:1fr!important}
  .header-action-label{display:none!important}

  /* Route audit */
  .route-audit-kpis,
  .route-loss-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .route-audit-kpis article,
  .route-loss-grid article{padding:10px 11px}
  .route-audit-kpis span,
  .route-loss-grid span{font-size:.48rem;letter-spacing:.06em}
  .route-audit-kpis strong,
  .route-loss-grid strong{font-size:.9rem}
  .route-audit-kpis small,
  .route-loss-grid small{font-size:.46rem;line-height:1.3}
  .route-loss-signals{padding:11px 12px}
  .route-map-heading .route-map-legend{display:none}
  .route-map-layer-controls{grid-template-columns:1fr;margin:9px 0}
  .route-audit-map{height:390px;min-height:390px}
  .route-map-card{padding:13px}
  .route-map-note{font-size:.58rem;line-height:1.4}

  /* Challenges */
  .current-challenge-intro.empty-state-intro{padding:14px;margin-bottom:9px}
  .current-challenge-intro.empty-state-intro h1{font-size:1.2rem}
  .current-challenge-intro.empty-state-intro .page-intro-v4-content p{font-size:.58rem;line-height:1.42}
  .current-challenge-empty-card{padding:12px 13px;margin-bottom:9px}
  .current-challenge-empty-copy strong{font-size:.72rem}
  .current-challenge-create-card>summary{padding:12px 13px}
  .current-challenge-create-card>summary strong{font-size:.74rem}
  .flexible-challenge-form{grid-template-columns:1fr!important;gap:10px}
  .flexible-challenge-form>*{grid-column:1!important}
  .challenge-type-picker{gap:7px;padding:8px}
  .challenge-type-picker label{
    align-items:center;
    min-height:64px;
    padding:10px 11px;
  }
  .challenge-type-picker label>span{min-width:0}
  .challenge-type-picker strong{font-size:.62rem}
  .challenge-type-picker small{font-size:.48rem}
  .showdown-platform-picker{padding:10px}
  .showdown-platform-picker-head strong{font-size:.66rem}
  .challenge-start-mode label{min-height:62px;padding:10px}
  .challenge-rule-grid{grid-template-columns:1fr}
  .challenge-offer-type-grid{grid-template-columns:1fr 1fr}

  /* Day details */
  .day-section-nav a,
  .tax-section-nav a{flex:0 0 112px;padding:7px 8px}
  .day-section-nav span,.tax-section-nav span{font-size:.37rem}
  .day-section-nav strong,.tax-section-nav strong{font-size:.54rem}
  .export-bar.three-actions{grid-template-columns:1fr 1fr}
  .export-bar.three-actions .btn:first-child{grid-column:1/-1}
  .session-detail-card{grid-template-columns:1fr 1fr}

  /* Import / historical data */
  .import-workspace-nav{margin-bottom:9px}
  .import-workspace-nav a{flex-basis:188px}
  .spark-import-explainer{grid-template-columns:1fr}
  .historical-import-mode{grid-template-columns:1fr}
  .historical-form-grid{grid-template-columns:1fr}
  .historical-form-grid .wide{grid-column:1}

  /* Reconciliation density */
  .spark-queue-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .spark-queue-kpis article{padding:9px 10px}
  .spark-queue-kpis span{font-size:.39rem}
  .spark-queue-kpis strong{font-size:.76rem}
  .spark-queue-kpis small{font-size:.43rem}
  .spark-queue-source{grid-template-columns:minmax(0,1fr) auto!important;gap:7px}
  .spark-queue-source-state{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
  .spark-queue-pay{text-align:right}
  .spark-queue-item{padding:10px}
  .spark-candidate-card{padding:9px}
  .spark-queue-actions{grid-template-columns:1fr 1fr!important;gap:6px}
  .spark-queue-actions>a.btn:last-of-type{grid-column:1/-1}
  .spark-queue-day-link{grid-column:1/-1;min-height:30px}

  /* Taxes */
  .tax-kpi-grid,
  .tax-component-grid,
  .tax-mileage-source-grid{gap:7px}
  .tax-kpi-grid article,
  .tax-component-grid article,
  .tax-mileage-source-grid>div{padding:9px 10px}
  .tax-waterfall>div{padding:8px 9px}
  .tax-day-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tax-day-row>div:first-child{grid-column:1/-1}

  /* Compare */
  .compare-controls-form{grid-template-columns:1fr}
  .compare-period-heads{grid-template-columns:1fr}
  .compare-vs{margin:-2px auto}
  .compare-chart-card{padding:13px}
  .compare-chart-head{flex-direction:column}
  .compare-chart-wrap{min-height:265px}
  .compare-metric-row{
    grid-template-columns:minmax(0,1.15fr) minmax(72px,.7fr) minmax(72px,.7fr);
    gap:5px;
    padding:8px;
  }
  .compare-metric-row.header span:last-child{display:none}
  .compare-metric-row>em{grid-column:2/-1;text-align:right;font-size:.46rem}
  .compare-metric-row>span{font-size:.49rem}
  .compare-metric-row>strong{font-size:.5rem}
  .compare-platform-list article{grid-template-columns:1fr}
  .compare-platform-list article>div:last-child{justify-content:space-between}
}

@media(max-width:620px){
  .current-challenge-intro.empty-state-intro .page-intro-v4-note{display:none}
  .current-challenge-empty-copy small{display:none}
  .current-challenge-empty-card .small-edit-link{min-height:36px;padding:7px 9px}

  /* Keep the visible version marker out of the middle of maps/cards. */
  html:not(.sho-ipad):not(.sho-desktop) .app-version-footer{
    bottom:calc(70px + env(safe-area-inset-bottom))!important;
    width:max-content!important;
    max-width:70vw!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    padding:2px 8px!important;
    border:1px solid rgba(255,255,255,.06)!important;
    border-radius:999px!important;
    background:rgba(13,16,20,.90)!important;
    color:#687078!important;
    backdrop-filter:blur(8px);
  }
}

/* =========================================================
   v5.25.1 — iPad Reports scroll guard
   ========================================================= */
@media (min-width:768px) and (max-width:1400px){
  @supports (-webkit-touch-callout:none){
    /*
     * iPad Safari can drop a sticky header out of view while a tall nested
     * Reports workspace is scrolling. Keep the Reports header pinned and
     * offset the report canvas explicitly so content never slides underneath
     * the status/header area.
     */
    html.sho-ipad body:has(.reports-page) .app-header{
      position:fixed!important;
      top:0!important;
      z-index:54!important;
    }
    html.sho-ipad .reports-page{
      margin-top:var(--ipad-header-height)!important;
      padding-top:22px!important;
      min-width:0!important;
    }
    html.sho-ipad .reports-page>.report-workspace-sidebar{
      top:calc(var(--ipad-header-height) + 10px)!important;
      max-height:calc(100dvh - var(--ipad-header-height) - 20px)!important;
      overflow-y:auto!important;
      overflow-x:hidden!important;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:thin;
    }
    html.sho-ipad .reports-page>.report-workspace-content{
      width:100%!important;
      max-width:100%!important;
      min-width:0!important;
    }
  }
}


/* v5.25.2 — real-world reliability & tap safety */
.end-shift-safety-zone{margin-top:34px;padding:18px 14px 14px;border:1px solid #59302b;border-radius:15px;background:#171315}
.end-shift-safety-label{margin-bottom:9px;color:#b77d72;font-size:.48rem;font-weight:950;letter-spacing:.08em;text-align:center}
.end-shift-safety-zone small{display:block;margin-top:8px;color:#806f70;font-size:.5rem;line-height:1.35;text-align:center}
.wrap-save-warning,.wrap-save-confirmation{display:grid;gap:3px;margin:10px 0 14px;padding:11px 12px;border-radius:11px;font-size:.55rem}
.wrap-save-warning{border:1px solid #765628;background:#1b1710;color:#ffd27d}
.wrap-save-confirmation{border:1px solid #2f6b4b;background:#101914;color:#9be1ba}
.wrap-save-warning span,.wrap-save-confirmation span{color:#929a98;line-height:1.4}
.sho-connection-notice{position:fixed;z-index:9999;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(92vw,520px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:12px 14px;border:1px solid #765628;border-radius:14px;background:#17191b;box-shadow:0 12px 35px #000a}
.sho-connection-notice[hidden]{display:none}
.sho-connection-notice strong,.sho-connection-notice span{display:block;grid-column:1}
.sho-connection-notice strong{color:#ffd27d;font-size:.62rem}.sho-connection-notice span{color:#9aa2a7;font-size:.5rem}
.sho-connection-notice button{grid-column:2;grid-row:1/3;border:1px solid #765628;border-radius:9px;background:#211a12;color:#ffd27d;font-weight:900;padding:9px 11px}
@media(min-width:760px){.current-challenge-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* =========================================================
   v5.25.3 — Wrap-Up guided finish flow
   ========================================================= */
.wrap-flow-stack{display:grid;gap:12px;margin-top:14px}
.wrap-step{padding:14px;border:1px solid #30373d;border-radius:14px;background:#101519}
.wrap-step-odometer{border-color:rgba(224,90,36,.48);background:linear-gradient(180deg,#1c1814,#101519)}
.wrap-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.wrap-step-head>div{display:flex;align-items:flex-start;gap:9px;min-width:0}
.wrap-step-head strong,.wrap-step-head small{display:block}
.wrap-step-head strong{color:#eee2c5;font-size:.68rem}
.wrap-step-head small{margin-top:2px;color:#828c93;font-size:.49rem;line-height:1.35}
.wrap-step-number{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid #62402d;border-radius:50%;background:#21170f;color:#e78a43;font-size:.52rem;font-weight:950}
.wrap-step-badge{flex:0 0 auto;padding:4px 7px;border:1px solid #343b40;border-radius:999px;color:#7f898f;font-size:.39rem;font-weight:950;letter-spacing:.07em}
.wrap-step-badge.done{border-color:#2f6b4b;color:#9be1ba;background:#101914}
.wrap-odometer-grid{display:grid;grid-template-columns:.8fr 1.25fr .8fr;gap:9px;align-items:stretch}
.wrap-readonly-input,.wrap-primary-field{min-width:0;padding:11px;border:1px solid #343b40;border-radius:11px;background:#0d1215}
.wrap-readonly-input span,.wrap-readonly-input strong,.wrap-readonly-input small{display:block}
.wrap-readonly-input span{color:#7d878e;font-size:.46rem;font-weight:900}
.wrap-readonly-input strong{margin-top:6px;color:#e8dec4;font-size:.9rem}
.wrap-readonly-input small{margin-top:5px;color:#737e85;font-size:.44rem}
.wrap-primary-field{border-color:rgba(224,90,36,.58);background:#15120f;color:#eadfc5;font-weight:900}
.wrap-primary-field input{margin-top:7px!important;border-color:#7d482a!important;background:#090b0d!important;font-size:.82rem!important;font-weight:850!important}
.wrap-primary-field small{display:block;margin-top:5px;color:#9b8a7d;font-size:.45rem;font-weight:500;line-height:1.35}
.wrap-live-miles strong{color:#f1b067}
.wrap-group-note{display:grid;gap:2px;margin-bottom:9px;padding:9px 10px;border-left:3px solid #5b4634;background:#13171a}
.wrap-group-note strong{color:#cdbd9f;font-size:.49rem}.wrap-group-note span{color:#7f898f;font-size:.45rem;line-height:1.4}
.wrap-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.wrap-cost-grid label,.wrap-simple-grid label{margin:0;padding:10px;border:1px solid #30373d;border-radius:10px;background:#0e1316}
.wrap-cost-grid label>small,.wrap-simple-grid label>small{display:block;margin-top:5px;color:#77828a;font-size:.44rem;line-height:1.35}
.wrap-cost-grid input,.wrap-simple-grid input{margin-top:6px!important}
.wrap-override-field{border-color:#604626!important;background:#15130f!important}
.field-chip{display:inline-block;margin-left:4px;padding:2px 5px;border:1px solid #765628;border-radius:999px;color:#d9a95f;font-size:.34rem;font-weight:950;letter-spacing:.06em;vertical-align:1px}
.wrap-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.wrap-step-results{background:#0e1316}
.wrap-step-results .wrap-readout-grid{margin-top:0}
#wrap-up .form-actions{margin-top:14px;padding:14px;border:1px solid #343b40;border-radius:14px;background:#101519}
#wrap-up .form-actions .btn.primary{min-height:54px;font-size:.64rem}
@media(max-width:760px){.wrap-odometer-grid,.wrap-cost-grid,.wrap-simple-grid{grid-template-columns:1fr}.wrap-step-head{gap:8px}.wrap-step{padding:11px}.wrap-step-badge{font-size:.35rem}}

/* =========================================================
   v5.25.4 — Shift correction + break odometer audit
   ========================================================= */
.shift-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}
.shift-action-button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #60432f;
  border-radius:9px;
  background:linear-gradient(180deg,#1b1714,#14181b);
  color:#ef9a58;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  font:inherit;
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.025em;
  cursor:pointer;
}
.shift-action-button svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.shift-action-button:hover,.shift-action-button:focus-visible{
  border-color:#9a5a34;
  background:#241a14;
  color:#ffc08b;
  outline:none;
}
.shift-action-button:focus-visible{box-shadow:0 0 0 2px rgba(224,90,36,.24)}
.shift-time-editor-close{flex:0 0 auto}
.shift-time-editor{
  margin-top:14px;
  padding:14px;
  border:1px solid #59636d;
  border-radius:15px;
  background:#11171c;
}
.shift-time-editor[hidden]{display:none!important}
.shift-time-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
}
.shift-time-editor-head strong{
  display:block;
  margin-top:2px;
  color:var(--text);
  font-size:1rem;
}
.shift-time-editor-head small{
  display:block;
  max-width:620px;
  margin-top:4px;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.45;
}
.shift-time-editor-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.shift-time-editor-form label{
  margin:0!important;
}
.shift-time-editor-form input[type="datetime-local"]{
  width:100%;
}
.shift-time-editor-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.shift-time-editor-note{
  margin:10px 0 0!important;
  font-size:.6rem!important;
  line-height:1.45;
}
.break-checkpoint-audit{
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.break-checkpoint-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.break-checkpoint-heading strong{
  display:block;
  margin-top:2px;
  font-size:.95rem;
}
.break-checkpoint-heading>span{
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid #4c5962;
  border-radius:999px;
  color:var(--muted);
  font-size:.58rem;
  font-weight:850;
}
.break-checkpoint-audit>p{
  margin:7px 0 11px!important;
  font-size:.62rem!important;
  line-height:1.45;
}
.break-checkpoint-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.break-checkpoint-card{
  padding:11px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#0e1418;
}
.break-checkpoint-card-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.break-checkpoint-card-head strong{font-size:.72rem}
.break-checkpoint-card-head span{color:var(--muted);font-size:.58rem}
.break-checkpoint-values{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.break-checkpoint-values>div{
  min-width:0;
  padding:8px;
  border:1px solid #2e3941;
  border-radius:10px;
  background:#11171c;
}
.break-checkpoint-values span{
  display:block;
  color:var(--muted);
  font-size:.53rem;
  font-weight:750;
}
.break-checkpoint-values strong{
  display:block;
  margin-top:3px;
  color:var(--text);
  font-size:.76rem;
}
.break-checkpoint-summary{
  display:grid;
  grid-template-columns:1fr auto;
  gap:2px 12px;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #3e4d55;
  border-radius:12px;
  background:#11181d;
}
.break-checkpoint-summary span{color:var(--muted);font-size:.61rem;font-weight:800}
.break-checkpoint-summary strong{color:var(--accent2);font-size:.9rem}
.break-checkpoint-summary small{grid-column:1/-1;color:var(--muted);font-size:.55rem;line-height:1.35}

@media(max-width:640px){
  .shift-time-editor-form{grid-template-columns:1fr}
  .shift-time-editor-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .shift-time-editor-actions .btn{width:100%}
  .break-checkpoint-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
  .break-checkpoint-values{grid-template-columns:1fr 1fr}
  .break-checkpoint-values>div:last-child{grid-column:1/-1}
}


/* =========================================================
   v5.25.5 — Forgotten final-break recovery + shift action polish
   ========================================================= */
.final-break-recovery-option{
  grid-column:1/-1;
  margin:0!important;
  padding:11px 12px;
  border:1px solid #6b4a2c;
  border-radius:12px;
  background:linear-gradient(180deg,#1d1712,#12171a);
  color:var(--text);
}
.final-break-recovery-option[hidden]{display:none!important}
.final-break-recovery-check{
  display:flex;
  align-items:center;
  gap:9px;
}
.final-break-recovery-check input{
  width:17px!important;
  height:17px!important;
  margin:0!important;
  accent-color:var(--accent);
  flex:0 0 auto;
}
.final-break-recovery-check strong{
  color:#f2c49a;
  font-size:.65rem;
}
.final-break-recovery-option small{
  display:block;
  margin:6px 0 0 26px;
  color:#998a7e;
  font-size:.56rem;
  line-height:1.45;
}
@media(max-width:640px){
  .shift-row-actions{width:100%}
  .shift-action-button{width:100%;justify-content:center;min-height:38px}
  .final-break-recovery-option small{margin-left:0}
}


/* =========================================================
   v5.26.0 — Challenges workspace + workday correction UX
   ========================================================= */
.challenge-workspace-page,
.current-challenge-page,
.challenge-history-page,
.challenge-performance-page{max-width:1160px}
.challenge-workspace-nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 14px;
  padding:7px;
  border:1px solid #343b41;
  border-radius:16px;
  background:#101519;
}
.challenge-workspace-link{
  min-width:0;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:11px;
  color:#8f999f;
  text-decoration:none;
}
.challenge-workspace-link span,.challenge-workspace-link strong,.challenge-workspace-link small{display:block}
.challenge-workspace-link strong{color:#c9c1ad;font-size:.68rem}
.challenge-workspace-link small{margin-top:3px;font-size:.48rem;line-height:1.3;color:#707b82}
.challenge-workspace-link:hover,.challenge-workspace-link:focus-visible{border-color:#4a4f4c;background:#151b1f;outline:none}
.challenge-workspace-link.active{border-color:rgba(224,90,36,.6);background:linear-gradient(180deg,#261a14,#171719);box-shadow:inset 0 0 0 1px rgba(224,90,36,.06)}
.challenge-workspace-link.active strong{color:#f0c09d}
.challenge-workspace-link.active small{color:#a98d78}
.challenge-workspace-content{min-width:0}

.challenge-day-focus{margin-bottom:12px;border-color:#544126;background:linear-gradient(180deg,#1b1915,#11171a)}
.challenge-day-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.challenge-day-focus-head h2{margin:4px 0 4px;font-size:1.05rem}
.challenge-day-focus-head p{margin:0;max-width:680px;color:#879198;font-size:.55rem;line-height:1.45}
.challenge-day-badge{flex:0 0 auto;padding:8px 10px;border:1px solid #7c5534;border-radius:999px;color:#ffc28d;background:#221912;font-size:.52rem;font-weight:950;letter-spacing:.06em}
.challenge-day-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.challenge-day-kpis article{padding:10px;border:1px solid #343b3d;border-radius:12px;background:#101619}
.challenge-day-kpis span,.challenge-day-kpis strong,.challenge-day-kpis small{display:block}
.challenge-day-kpis span{color:#7f898f;font-size:.43rem;font-weight:900;letter-spacing:.06em}
.challenge-day-kpis strong{margin-top:4px;color:#eee1c2;font-size:.85rem}
.challenge-day-kpis small{margin-top:3px;color:#77828a;font-size:.48rem;line-height:1.3}

.challenge-performance-intro{margin-bottom:12px}
.challenge-performance-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.challenge-performance-hero{padding:14px;border:1px solid #333b40;border-radius:14px;background:#12181c}
.challenge-performance-hero.primary{border-color:#67482f;background:linear-gradient(180deg,#241a14,#121719)}
.challenge-performance-hero span,.challenge-performance-hero strong,.challenge-performance-hero small{display:block}
.challenge-performance-hero span{color:#77838a;font-size:.44rem;font-weight:950;letter-spacing:.07em}
.challenge-performance-hero strong{margin-top:6px;color:#f0e2c2;font-size:1.25rem}
.challenge-performance-hero.primary strong{color:#ffbd82}
.challenge-performance-hero small{margin-top:4px;color:#7e898f;font-size:.5rem;line-height:1.35}
.challenge-performance-metrics-card{margin-bottom:12px}
.challenge-performance-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.challenge-performance-metric-grid article{padding:11px;border:1px solid #30383d;border-radius:12px;background:#10161a}
.challenge-performance-metric-grid span,.challenge-performance-metric-grid strong,.challenge-performance-metric-grid small{display:block}
.challenge-performance-metric-grid span{color:#758087;font-size:.43rem;font-weight:900;letter-spacing:.06em}
.challenge-performance-metric-grid strong{margin-top:5px;color:#ece1c6;font-size:.9rem}
.challenge-performance-metric-grid small{margin-top:3px;color:#7b858c;font-size:.49rem;line-height:1.3}
.challenge-performance-two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px;margin-bottom:12px}
.challenge-duration-performance-list{display:grid;gap:7px;margin-top:10px}
.challenge-duration-performance-list article{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:8px;align-items:center;padding:9px 10px;border:1px solid #30383d;border-radius:11px;background:#10161a}
.challenge-duration-performance-list span,.challenge-duration-performance-list strong{display:block}
.challenge-duration-performance-list span{color:#737f86;font-size:.43rem;font-weight:850}
.challenge-duration-performance-list strong{margin-top:3px;color:#ded6c0;font-size:.65rem}
.challenge-performance-highlights{display:grid;align-content:start;gap:8px}
.challenge-performance-highlights .section-heading-row{margin-bottom:2px}
.challenge-performance-highlights>a{display:block;padding:10px;border:1px solid #30383d;border-radius:11px;background:#10161a;text-decoration:none}
.challenge-performance-highlights>a span,.challenge-performance-highlights>a strong,.challenge-performance-highlights>a small{display:block}
.challenge-performance-highlights>a span{color:#a47653;font-size:.42rem;font-weight:950;letter-spacing:.06em}
.challenge-performance-highlights>a strong{margin-top:4px;color:#e9dfc6;font-size:.67rem}
.challenge-performance-highlights>a small{margin-top:3px;color:#7f8990;font-size:.49rem;line-height:1.35}
.challenge-performance-recent{margin-bottom:12px}
.challenge-performance-outcomes{display:grid;gap:7px;margin-top:10px}
.challenge-performance-outcomes>a{display:grid;grid-template-columns:88px minmax(0,1.5fr) minmax(120px,.7fr) minmax(120px,.7fr);gap:10px;align-items:center;padding:10px;border:1px solid #30383d;border-radius:11px;background:#10161a;text-decoration:none}
.challenge-performance-outcomes>a.success{border-color:#315c43}
.challenge-performance-outcome-state{padding:5px 7px;border-radius:999px;background:#24211b;color:#bda77f;text-align:center;font-size:.42rem;font-weight:950}
.challenge-performance-outcomes>a.success .challenge-performance-outcome-state{background:#14251a;color:#90d7aa}
.challenge-performance-outcomes div strong,.challenge-performance-outcomes div small{display:block}
.challenge-performance-outcomes div strong{color:#e4dcc6;font-size:.62rem}
.challenge-performance-outcomes div small{margin-top:2px;color:#778289;font-size:.47rem}
.challenge-performance-empty{margin-bottom:12px;text-align:left}
.challenge-performance-empty h2{margin:5px 0}.challenge-performance-empty p{color:#818c92;font-size:.57rem;line-height:1.5}.challenge-performance-empty .btn{margin-top:10px}

.workday-timeline-card{margin-top:14px;padding:14px;border:1px solid #3c464c;border-radius:16px;background:#10161a}
.workday-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.workday-timeline-head h3{margin:4px 0 4px;font-size:1rem}
.workday-timeline-head p{margin:0;max-width:700px;color:#849097;font-size:.58rem;line-height:1.45}
.workday-timeline-head>span{flex:0 0 auto;padding:6px 9px;border:1px solid #4a555c;border-radius:999px;color:#aab1b5;font-size:.48rem;font-weight:900}
.workday-correction-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
.workday-correction-guide>div{padding:9px 10px;border:1px solid #40372f;border-radius:11px;background:#171614}
.workday-correction-guide strong,.workday-correction-guide small{display:block}
.workday-correction-guide strong{color:#e7c2a1;font-size:.58rem}.workday-correction-guide small{margin-top:2px;color:#887d73;font-size:.48rem;line-height:1.3}
.workday-timeline-body{padding-top:2px}
.workday-timeline-card .shift-list{margin-top:10px}
.workday-timeline-card .shift-row{padding:13px;border-radius:13px}
.shift-card-label{display:block;color:#a27859!important;font-size:.45rem!important;font-weight:950!important;letter-spacing:.07em;text-transform:uppercase}
.shift-card-time{display:block!important;margin-top:4px;color:#f0e3c8!important;font-size:.9rem!important;line-height:1.2}
.shift-card-time b{color:#8c969c;font-weight:700}
.workday-timeline-card .shift-protection-note{font-size:.52rem;line-height:1.35}
.shift-correction-reasons{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}
.shift-correction-reasons span{padding:6px 8px;border:1px solid #40372e;border-radius:999px;background:#171512;color:#b99b82;font-size:.48rem;font-weight:850}
.shift-time-editor-form input[type="datetime-local"]{min-height:48px;font-size:16px}
.shift-time-editor-form label{font-size:.62rem}

@media(max-width:820px){
  .challenge-performance-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .challenge-performance-two-col{grid-template-columns:1fr}
  .challenge-day-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .challenge-performance-outcomes>a{grid-template-columns:76px minmax(0,1fr) minmax(110px,.65fr)}
  .challenge-performance-outcomes>a>div:last-child{grid-column:2/4}
  .workday-timeline-head{align-items:flex-start}
}
@media(max-width:640px){
  .challenge-workspace-nav{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:6px}
  .challenge-workspace-link{flex:0 0 72%;scroll-snap-align:start;min-height:58px}
  .challenge-performance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .challenge-duration-performance-list article{grid-template-columns:1fr 1fr}
  .challenge-performance-outcomes>a{grid-template-columns:1fr 1fr}
  .challenge-performance-outcome-state{justify-self:start}
  .challenge-performance-outcomes>a>div:nth-child(2){grid-column:1/-1}
  .challenge-performance-outcomes>a>div:last-child{grid-column:auto}
  .challenge-day-focus-head{display:block}.challenge-day-badge{display:inline-block;margin-top:10px}
  .workday-correction-guide{grid-template-columns:1fr}
  .workday-timeline-head{display:block}.workday-timeline-head>span{display:inline-block;margin-top:9px}
  .workday-timeline-card{padding:11px}
  .shift-card-time{font-size:1rem!important}
}
@media(max-width:430px){
  .challenge-performance-hero-grid,.challenge-performance-metric-grid,.challenge-day-kpis{grid-template-columns:1fr}
  .challenge-workspace-link{flex-basis:82%}
  .challenge-duration-performance-list article{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v5.27.0 — Redesign Foundation
   Approved HustleDeck production identity only.
   This layer standardizes shared UI primitives and converts Today
   without changing delivery/shift/challenge/GPS/reporting logic.
   ========================================================= */
:root{
  /* Approved HustleDeck brand */
  --hd-route-orange:#E05A24;
  --hd-vintage-cream:#F2E7C7;
  --hd-charcoal-navy:#1B2A3A;
  --hd-asphalt-black:#0E0E0F;
  --hd-muted-gold:#B99A3C;

  /* Semantic surfaces */
  --hd-surface-0:#0E0E0F;
  --hd-surface-1:#13191E;
  --hd-surface-2:#19242D;
  --hd-surface-3:#1B2A3A;
  --hd-border:#35424B;
  --hd-border-soft:rgba(242,231,199,.10);
  --hd-text:#F6F1E5;
  --hd-text-muted:#A8B0B6;
  --hd-text-dim:#748089;
  --hd-success:#4BA875;
  --hd-warning:#B99A3C;
  --hd-danger:#C95050;
  --hd-info:#658CAA;

  /* System sizing */
  --hd-radius-xs:8px;
  --hd-radius-sm:12px;
  --hd-radius-md:16px;
  --hd-radius-lg:20px;
  --hd-radius-xl:26px;
  --hd-space-1:4px;
  --hd-space-2:8px;
  --hd-space-3:12px;
  --hd-space-4:16px;
  --hd-space-5:20px;
  --hd-space-6:24px;
  --hd-space-8:32px;
  --hd-tap-min:48px;
  --hd-shadow:0 14px 34px rgba(0,0,0,.22);
  --hd-focus:0 0 0 3px rgba(224,90,36,.22);

  /* Legacy aliases now map to approved production identity. */
  --brand-orange:var(--hd-route-orange);
  --brand-cream:var(--hd-vintage-cream);
  --brand-olive:var(--hd-muted-gold);
  --bg:var(--hd-asphalt-black);
  --panel:var(--hd-surface-1);
  --panel2:var(--hd-charcoal-navy);
  --line:var(--hd-border);
  --text:var(--hd-text);
  --muted:var(--hd-text-muted);
  --accent:var(--hd-route-orange);
  --accent2:#EF7843;
  --danger:var(--hd-danger);
  --success:var(--hd-success);
}

html,body{background:var(--hd-asphalt-black);color:var(--hd-text)}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(224,90,36,.28);color:var(--hd-vintage-cream)}
:focus-visible{outline:none;box-shadow:var(--hd-focus)}

/* Shared surface primitive */
.hd-surface,.card,.mini-card,.stat-card,.delivery-card,.history-card{
  border-color:var(--hd-border);
  background:linear-gradient(180deg,rgba(27,42,58,.38),rgba(19,25,30,.96));
  box-shadow:var(--hd-shadow);
}
.hd-surface-feature{
  border-color:rgba(185,154,60,.42)!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(224,90,36,.11),transparent 34%),
    linear-gradient(180deg,#17212A,#11171C)!important;
}

/* Shared action system */
.btn{
  min-height:var(--hd-tap-min);
  border-radius:var(--hd-radius-sm);
  padding:12px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:850;
  letter-spacing:.01em;
  transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.btn:not(:disabled):active{transform:translateY(1px)}
.btn.primary{
  background:linear-gradient(180deg,#EA632C,var(--hd-route-orange));
  color:#140D09;
  border:1px solid #F07A46;
  box-shadow:0 8px 18px rgba(224,90,36,.18);
}
.btn.primary:hover,.btn.primary:focus-visible{background:linear-gradient(180deg,#F0713A,#E05A24)}
.btn.secondary{
  background:var(--hd-charcoal-navy);
  color:var(--hd-vintage-cream);
  border:1px solid #455767;
}
.btn.secondary:hover,.btn.secondary:focus-visible{border-color:#687784;background:#213342}
.btn.danger{
  background:linear-gradient(180deg,#642D34,#4B2228);
  color:#FFE4E1;
  border:1px solid #87414A;
}
.btn.danger:hover,.btn.danger:focus-visible{background:linear-gradient(180deg,#74343C,#52242B)}
.btn.ghost{
  background:transparent;
  color:var(--hd-vintage-cream);
  border:1px solid var(--hd-border);
}

/* Form foundation */
label{color:var(--hd-text-muted);font-weight:750}
input,select,textarea{
  min-height:var(--hd-tap-min);
  background:#0B1014;
  border-color:#3A4852;
  color:var(--hd-text);
  border-radius:var(--hd-radius-sm);
}
input:focus,select:focus,textarea:focus{
  border-color:var(--hd-route-orange);
  box-shadow:var(--hd-focus);
}
input::placeholder,textarea::placeholder{color:#68737B}

/* Approved logo treatment. Never redraw HustleDeck in CSS/text. */
.app-header{
  min-height:66px;
  border-bottom-color:rgba(185,154,60,.22);
  background:rgba(14,14,15,.965);
}
.header-leading{display:flex;align-items:center;gap:12px;min-width:0}
.header-identity{display:flex;align-items:center;gap:12px;min-width:0}
.brand-lockup{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  text-decoration:none;
}
.brand-logo{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:10px;
  object-fit:contain;
}
.brand-wordmark{
  display:block;
  width:112px;
  max-height:34px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.22));
}
.header-page-context{
  min-width:0;
  padding-left:12px;
  border-left:1px solid rgba(242,231,199,.13);
}
.page-title{color:var(--hd-vintage-cream);font-weight:850}
.page-subtitle{color:#8F999F}
.header-actions{display:flex;align-items:center;gap:7px}
.icon-link{
  min-width:40px;
  min-height:40px;
  border-radius:11px;
  background:#11171B;
  border-color:#35424B;
  color:#9DA6AC;
}
.icon-link:hover,.icon-link:focus-visible{color:var(--hd-vintage-cream);border-color:#59656C}

/* Primary nav foundation */
.bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:rgba(10,12,14,.985);
  border-top-color:rgba(185,154,60,.20);
}
.nav-item{min-height:58px;color:#7F8990}
.nav-icon,.nav-icon svg{width:22px;height:22px}
.nav-item.active{color:var(--hd-route-orange)}
.nav-item.active .nav-icon{background:rgba(224,90,36,.12)}
.nav-item:focus-visible{border-radius:10px}

/* New reusable design-system primitives */
.hd-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hd-kpi{
  min-width:0;
  padding:10px 11px;
  border:1px solid #33414A;
  border-radius:var(--hd-radius-sm);
  background:rgba(11,16,20,.58);
}
.hd-kpi span,.hd-kpi strong,.hd-kpi small{display:block}
.hd-kpi span{color:#828D94;font-size:.68rem;font-weight:750}
.hd-kpi strong{margin-top:4px;color:var(--hd-vintage-cream);font-size:1.05rem;line-height:1.1}
.hd-kpi small{margin-top:2px;color:#7C858C;font-size:.62rem}

.hd-status-chip{
  display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;
  border:1px solid var(--hd-border);border-radius:999px;background:#11171B;
  color:#9DA6AC;font-size:.7rem;font-weight:850;
}
.hd-status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.hd-status-chip.is-active,.hd-status-chip.is-success{color:#7FD5A2;border-color:#315E44;background:#12231A}
.hd-status-chip.is-warning{color:#DFC270;border-color:#725E2E;background:#211C10}
.hd-status-chip.is-danger{color:#F2A2A2;border-color:#724048;background:#271619}

.hd-segmented{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;
  padding:4px;border:1px solid var(--hd-border);border-radius:var(--hd-radius-sm);background:#0F1418;
}
.hd-segmented>a,.hd-segmented>button{
  min-height:40px;border:0;border-radius:9px;background:transparent;color:#858F96;
  display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;
}
.hd-segmented>.active,.hd-segmented>[aria-selected="true"]{background:#24313A;color:var(--hd-vintage-cream)}

.hd-date-nav{
  display:grid;grid-template-columns:minmax(48px,auto) minmax(0,1fr) minmax(48px,auto);gap:8px;
  align-items:center;padding:7px;border:1px solid var(--hd-border);border-radius:var(--hd-radius-md);background:#10161A;
}
.hd-date-nav>a,.hd-date-nav>button{min-height:44px;border-radius:10px}
.hd-date-nav-current{text-align:center;min-width:0}
.hd-date-nav-current strong,.hd-date-nav-current small{display:block}
.hd-date-nav-current strong{color:var(--hd-vintage-cream)}
.hd-date-nav-current small{margin-top:2px;color:#808A91;font-size:.68rem}

/* Today — first full screen conversion on the v5.27 foundation. */
.today-redesign{--today-gap:12px}
.today-redesign .today-hero{padding:18px;margin-bottom:var(--today-gap)}
.today-redesign .today-hero-top{align-items:center}
.today-redesign .today-earnings-block .eyebrow{color:var(--hd-route-orange);font-size:.69rem}
.today-redesign .hero-money{
  margin-top:5px;
  color:var(--hd-vintage-cream);
  font-size:clamp(2.4rem,7vw,3.35rem);
  line-height:.95;
  letter-spacing:-.045em;
}
.today-redesign .hero-subline{margin-top:7px;color:#7F898F}
.today-redesign .status-badge{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  background:#11171B;
}
.today-redesign .status-badge.working{color:#8ADCAF;border-color:#326247;background:#102219}
.today-redesign .status-badge.break{color:#E4C979;border-color:#715B2F;background:#211C11}
.today-redesign .status-badge.complete{color:#C0CAD2;border-color:#52606B;background:#172028}
.today-redesign .hero-metrics{margin-top:16px;padding-top:14px;border-top:1px solid rgba(242,231,199,.10)}
.today-redesign .hero-metrics .hd-kpi{display:block;text-align:left}
.today-secondary-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.today-secondary-metrics>div{
  min-width:0;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(11,16,20,.42);
}
.today-secondary-metrics span,.today-secondary-metrics strong{display:block}
.today-secondary-metrics span{color:#727E86;font-size:.61rem;font-weight:750}
.today-secondary-metrics strong{margin-top:3px;color:#D8D2C3;font-size:.82rem}
.today-redesign .today-live-status-row{margin-top:10px;padding-top:9px;border-top:1px solid rgba(242,231,199,.07)}
.today-redesign .today-refresh-status,.today-redesign .today-wake-status{
  min-height:34px;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid #303B43;
  background:#0E1418;
}
.today-redesign .today-gps-strip{border-radius:var(--hd-radius-md);border-color:#3B4851;background:#11181D}
.today-redesign .today-challenges{border-color:#4C4030}
.today-redesign .today-challenge-progress i{background:linear-gradient(90deg,var(--hd-route-orange),#F0834B)}
.today-redesign .quick-actions{gap:8px}
.today-redesign .quick-link{min-height:64px;border-radius:var(--hd-radius-md);background:#11171B;border-color:#35424B}
.today-redesign .quick-link>span{color:var(--hd-route-orange)}
.today-redesign .action-card{border-color:#3A464E}
.today-redesign .shift-controls{align-items:stretch;gap:16px;margin-top:20px}
.today-redesign .break-odometer-form,
.today-redesign .end-shift-safety-zone{border-radius:var(--hd-radius-md)}
.today-redesign .end-shift-safety-zone{padding:13px;border:1px solid rgba(201,80,80,.30);background:#171214}
.today-redesign .end-shift-safety-label{color:#C58A90}
.today-redesign .delivery-row{border-radius:var(--hd-radius-md);background:#11171B}

/* Desktop rail must use approved raster identity instead of typed logo text. */
@media (min-width:900px){
  html.sho-desktop .nav-rail-brand{
    grid-template-columns:58px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:4px 9px;
  }
  html.sho-desktop .nav-rail-mini-mark{
    display:block!important;
    grid-row:1/3;
    width:58px!important;
    height:58px!important;
    object-fit:contain;
  }
  html.sho-desktop .nav-rail-wordmark{
    display:block!important;
    align-self:end;
    width:88px!important;
    height:auto!important;
    max-height:31px;
    object-fit:contain;
    object-position:left bottom;
  }
  html.sho-desktop .nav-rail-parent{
    align-self:start;
    margin-top:1px;
    color:var(--hd-muted-gold);
    font-size:.39rem;
  }
  html.sho-desktop .nav-rail-full,
  html.sho-desktop .nav-rail-short{display:none!important}
  html.sho-desktop .app-header .brand-lockup{display:none!important}
  html.sho-desktop .app-header .header-page-context{padding-left:0;border-left:0}
  html.sho-desktop .app-header .header-identity{display:block}

  html.sho-desktop .today-redesign{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
    gap:18px;
    align-items:start;
  }
  html.sho-desktop .today-redesign>.alert,
  html.sho-desktop .today-redesign>.today-hero,
  html.sho-desktop .today-redesign>.today-gps-strip,
  html.sho-desktop .today-redesign>.today-challenges,
  html.sho-desktop .today-redesign>.recap-cta,
  html.sho-desktop .today-redesign>.quick-actions,
  html.sho-desktop .today-redesign>.section-head,
  html.sho-desktop .today-redesign>.bulk-delivery-form,
  html.sho-desktop .today-redesign>.empty,
  html.sho-desktop .today-redesign>.bottom-spacer{
    grid-column:1/-1;
  }
}

/* iPad keeps brand visible and gives it breathing room. */
html.sho-ipad .brand-wordmark{width:126px;max-height:38px}
html.sho-ipad .header-page-context{padding-left:14px}

@media(max-width:620px){
  .brand-wordmark{display:none}
  .header-page-context{padding-left:9px}
  .app-header .brand-logo{width:40px;height:40px;flex-basis:40px}
  .page-title{font-size:.95rem}
  .page-subtitle{max-width:170px}
  .hd-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .today-secondary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .today-redesign .hero-money{font-size:2.55rem}
  .today-redesign .shift-controls{grid-template-columns:1fr}
}

@media(max-width:390px){
  .header-page-context{border-left:0;padding-left:2px}
  .today-secondary-metrics{grid-template-columns:1fr 1fr}
  .today-secondary-metrics>div:last-child{grid-column:1/-1}
}

/* v5.27.0 rail asset corrections for multi-asset approved lockup */
html.sho-ipad .nav-rail-wordmark{display:none!important}
html.sho-ipad .nav-rail-mini-mark{display:block!important;width:54px!important;height:54px!important}
html.sho-ipad .nav-rail-parent{display:none!important}
@media (min-width:900px){
  html.sho-desktop .nav-rail-brand .nav-rail-mini-mark{
    display:block!important;grid-row:1/3!important;width:56px!important;height:56px!important;object-fit:contain!important;
  }
  html.sho-desktop .nav-rail-brand .nav-rail-wordmark{
    display:block!important;grid-row:1!important;width:86px!important;height:auto!important;max-height:30px!important;object-fit:contain!important;object-position:left bottom!important;
  }
}
@media (min-width:900px) and (max-width:1099px){
  html.sho-desktop .nav-rail-brand .nav-rail-mini-mark{width:49px!important;height:49px!important}
  html.sho-desktop .nav-rail-brand .nav-rail-wordmark{width:78px!important;max-height:27px!important}
}

/* =========================================================
   v5.28.0 — Session Redesign
   ========================================================= */
.session-page{--session-orange:var(--hd-route-orange,#E05A24);--session-cream:var(--hd-vintage-cream,#F2E7C7);--session-navy:var(--hd-charcoal-navy,#1B2A3A);--session-gold:var(--hd-muted-gold,#B99A3C)}
.session-date-toolbar{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(420px,1.4fr);
  gap:14px 18px;
  align-items:center;
  margin:0 0 16px;
  padding:14px;
  border:1px solid #35424B;
  border-radius:18px;
  background:linear-gradient(145deg,#141B20,#101519);
  box-shadow:var(--hd-shadow,0 14px 34px rgba(0,0,0,.22));
}
.session-date-context{display:flex;align-items:center;gap:12px;min-width:0}
.session-date-context>div{min-width:0}
.session-date-context strong,.session-date-context small{display:block}
.session-date-context strong{margin-top:3px;color:var(--session-cream);font-size:1.05rem;line-height:1.2}
.session-date-context small{margin-top:4px;color:#8C979D;font-size:.72rem;line-height:1.35}
.session-date-context-label{flex:0 0 auto;padding:7px 9px;border:1px solid #4B565D;border-radius:999px;background:#11171B;color:#A7B0B5;font-size:.68rem;font-weight:900}
.session-date-context-label.today{border-color:rgba(224,90,36,.48);background:rgba(224,90,36,.10);color:#F0A173}
.session-date-context-label.history{border-color:#5B6470;color:#C0C7CC}
.session-date-context-label.future{border-color:#725F2E;background:#201C11;color:#DFC673}
.session-date-controls.hd-date-nav{grid-template-columns:auto minmax(220px,1fr) auto;padding:6px}
.session-date-step{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 13px;border:1px solid #38454D;border-radius:11px;background:#151D22;color:var(--session-cream);text-decoration:none;font-size:.78rem;font-weight:850}
.session-date-step:hover,.session-date-step:focus-visible{border-color:rgba(224,90,36,.55);background:#201B17}
.session-date-picker-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;min-width:0}
.session-date-picker-form label{margin:0;color:#828D94;font-size:.65rem}
.session-date-picker-form label>span{display:block;margin:0 0 4px;font-weight:800}
.session-date-picker-form input{min-height:42px;margin:0!important;padding:8px 10px!important;border-radius:9px!important;font-size:16px!important;color:var(--session-cream)!important}
.session-date-picker-form .btn{min-height:42px;padding:8px 12px}
.session-date-shortcuts{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:9px;border-top:1px solid rgba(242,231,199,.08)}
.session-date-shortcuts span{color:#7F8990;font-size:.67rem;line-height:1.35}
.session-date-shortcuts .btn{margin-left:auto;order:2}

.session-workspace-sidebar{border-color:#35424B;background:linear-gradient(180deg,#172129,#11171B)}
.session-workspace-sidebar-head h1{color:var(--session-cream);font-size:1.08rem}
.session-workspace-sidebar-head p{font-size:.66rem;line-height:1.5}
.session-workspace-status-grid span{font-size:.52rem}
.session-workspace-status-grid strong{font-size:.67rem}
.session-workspace .workflow-copy small{font-size:.5rem}
.session-workspace .workflow-copy b{font-size:.78rem}
.session-workspace .workflow-copy em{font-size:.59rem}
.session-step-status{font-size:.52rem}
.session-workspace-quicklinks>span{font-size:.5rem}
.session-workspace-quicklinks a{font-size:.66rem}
.session-workspace-content-head{padding:2px 2px 4px}
.session-workspace-content-head h2{color:var(--session-cream);font-size:1.18rem}
.session-workspace-content-head p{font-size:.67rem}
.session-page .session-section{border-color:#35424B;background:#12191E}
.session-page .session-section>.section-heading-row h2{color:var(--session-cream);font-size:1.35rem}
.session-page .section-help{font-size:.75rem;line-height:1.5}
.session-page .session-form label{font-size:.78rem;line-height:1.3;color:#B0B8BD}
.session-page .session-form input,.session-page .session-form select,.session-page .session-form textarea{font-size:1rem;min-height:48px}
.session-page .session-form textarea{min-height:86px}
.session-page .readout-field{min-height:86px;padding:12px}
.session-page .readout-field span{font-size:.65rem}
.session-page .readout-field strong{font-size:1rem;color:var(--session-cream)}
.session-page .readout-field small{font-size:.61rem}

.session-prep-layout{display:grid;gap:12px;margin-top:14px}
.session-prep-card{padding:14px;border:1px solid #303D45;border-radius:15px;background:#0F1519}
.session-prep-card-vehicle{border-color:rgba(224,90,36,.34);background:linear-gradient(145deg,#181714,#0F1519)}
.session-prep-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(242,231,199,.08)}
.session-prep-card-head>div{min-width:0}
.session-prep-card-head strong,.session-prep-card-head small{display:block}
.session-prep-card-head strong{color:var(--session-cream);font-size:.9rem}
.session-prep-card-head small{margin-top:2px;color:#7E8990;font-size:.66rem;line-height:1.35}
.session-prep-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(224,90,36,.42);border-radius:10px;background:rgba(224,90,36,.09);color:#EE9160;font-size:.63rem;font-weight:950}
.session-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.session-prep-grid>.wide{grid-column:1/-1}
.session-prep-grid label>small{display:block;margin-top:5px;color:#7E8990;font-size:.62rem;font-weight:500;line-height:1.35}

.workday-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}
.workday-summary-grid>div{padding:13px 10px;border-color:#36434B;background:#0F1519}
.workday-summary-grid span{font-size:.65rem}
.workday-summary-grid strong{margin-top:5px;font-size:1rem;color:var(--session-cream)}
.workday-timeline-card{padding:16px;border-color:#3A4850;background:#0F161A}
.workday-timeline-head h3{font-size:1.12rem;color:var(--session-cream)}
.workday-timeline-head p{font-size:.7rem;line-height:1.5}
.workday-timeline-head>span{font-size:.58rem}
.workday-fix-panel{margin:14px 0;padding:12px;border:1px solid rgba(224,90,36,.25);border-radius:14px;background:linear-gradient(145deg,rgba(224,90,36,.065),rgba(15,21,25,.75))}
.workday-fix-copy strong,.workday-fix-copy small{display:block}
.workday-fix-copy strong{margin-top:4px;color:#E9DFC7;font-size:.82rem}
.workday-fix-copy small{margin-top:4px;color:#89949A;font-size:.67rem;line-height:1.45}
.workday-correction-guide{margin:11px 0 0;gap:8px}
.workday-correction-guide>div{position:relative;padding:10px 10px 10px 38px;border-color:#493A30;background:#171614}
.workday-correction-guide>div>span{position:absolute;left:10px;top:10px;display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:rgba(224,90,36,.12);color:#E98C5B;font-size:.5rem;font-weight:950}
.workday-correction-guide strong{font-size:.66rem;color:#E9C7AA}
.workday-correction-guide small{font-size:.6rem;line-height:1.4}
.workday-timeline-card .shift-row{position:relative;padding:15px;border-color:#36434B;background:#12191E}
.shift-card-label{font-size:.56rem!important}
.shift-card-time{font-size:1.02rem!important}
.shift-row-actions{margin-top:9px}
.shift-action-button{min-height:44px!important;padding:9px 12px!important;font-size:.66rem!important}
.shift-break-event{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:9px;padding:9px 10px;border:1px solid #303B42;border-radius:10px;background:#0D1317}
.shift-break-event-dot{width:8px;height:8px;border-radius:50%;background:var(--session-gold);box-shadow:0 0 0 4px rgba(185,154,60,.09)}
.shift-break-event-main strong,.shift-break-event-main small,.shift-break-event-odo span,.shift-break-event-odo strong,.shift-break-event-odo small{display:block}
.shift-break-event-main strong{color:#D9D2C1;font-size:.68rem}
.shift-break-event-main small{margin-top:2px;color:#818C93;font-size:.61rem}
.shift-break-event-odo{text-align:right}
.shift-break-event-odo span{color:#69757D;font-size:.49rem;font-weight:900;letter-spacing:.07em}
.shift-break-event-odo strong{margin-top:2px;color:#CFC8B6;font-size:.66rem}
.shift-break-event-odo small{margin-top:1px;color:#9B8E69;font-size:.55rem}
.workday-timeline-card .shift-protection-note{font-size:.61rem;line-height:1.4}
.shift-break-text strong{font-size:.75rem}
.shift-break-text span{font-size:.62rem}
.shift-time-editor{border-color:rgba(224,90,36,.4)!important;background:#13191D!important}
.shift-time-editor-head strong{font-size:.92rem!important;color:var(--session-cream)!important}
.shift-time-editor-head small{font-size:.66rem!important;line-height:1.45!important}
.shift-correction-reasons span{font-size:.58rem!important}
.shift-time-editor-form label{font-size:.72rem!important}
.shift-time-editor-note{font-size:.63rem!important;line-height:1.45!important}
.break-checkpoint-heading strong{font-size:.86rem!important;color:var(--session-cream)!important}
.break-checkpoint-heading>span{font-size:.57rem!important}
.break-checkpoint-audit>p{font-size:.66rem!important;line-height:1.45!important}
.break-checkpoint-card-head strong{font-size:.72rem!important}
.break-checkpoint-card-head span{font-size:.62rem!important}
.break-checkpoint-values span{font-size:.55rem!important}
.break-checkpoint-values strong{font-size:.78rem!important}
.break-checkpoint-summary span{font-size:.66rem!important}
.break-checkpoint-summary small{font-size:.61rem!important}

#wrap-up .wrap-step{padding:15px;border-color:#35424B;background:#0F1519}
#wrap-up .wrap-step-odometer{border-color:rgba(224,90,36,.48);background:linear-gradient(145deg,#1C1714,#10161A)}
#wrap-up .wrap-step-head strong{font-size:.78rem;color:var(--session-cream)}
#wrap-up .wrap-step-head small{font-size:.62rem}
#wrap-up .wrap-step-badge{font-size:.49rem}
#wrap-up .wrap-readonly-input span{font-size:.58rem}
#wrap-up .wrap-readonly-input strong{font-size:1rem}
#wrap-up .wrap-readonly-input small{font-size:.58rem}
#wrap-up .wrap-group-note strong{font-size:.63rem}
#wrap-up .wrap-group-note span{font-size:.58rem}
#wrap-up .wrap-cost-grid label>small,#wrap-up .wrap-simple-grid label>small{font-size:.58rem}
#wrap-up .story-notes-collapse summary strong{font-size:.78rem}
#wrap-up .story-notes-collapse summary small{font-size:.62rem}

@media(min-width:1100px){
  .session-page.shell{width:min(1320px,calc(100% - 48px))}
  .session-workspace{grid-template-columns:300px minmax(0,1fr);gap:20px}
  .session-prep-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .session-prep-layout>.session-prep-card:last-child{grid-column:1/-1}
}
@media(min-width:768px) and (max-width:1099px){
  .session-page.shell{width:min(1000px,100%)}
  .session-date-toolbar{grid-template-columns:1fr}
  .session-date-shortcuts{grid-column:auto}
  .session-workspace{grid-template-columns:250px minmax(0,1fr);gap:14px}
  .session-prep-grid{grid-template-columns:1fr}
  .session-prep-grid>.wide{grid-column:auto}
  .workday-correction-guide{grid-template-columns:1fr}
}
@media(max-width:899px){
  .session-page{padding-top:12px}
  .session-date-toolbar{grid-template-columns:1fr;margin-bottom:10px;padding:11px;gap:10px}
  .session-date-shortcuts{grid-column:auto}
  .session-workspace-sidebar{top:60px;border-color:#35424B;background:rgba(17,23,27,.96)}
  .session-workspace .session-tabs .workflow-step{flex-basis:215px;width:215px;min-height:58px}
  .session-workspace .workflow-copy b{font-size:.76rem}
  .session-workspace .workflow-copy em{font-size:.57rem}
}
@media(max-width:620px){
  .session-date-context{align-items:flex-start}
  .session-date-context strong{font-size:.95rem}
  .session-date-context small{font-size:.67rem}
  .session-date-controls.hd-date-nav{grid-template-columns:48px minmax(0,1fr) 48px;gap:5px}
  .session-date-step{padding:0;font-size:1.05rem}
  .session-date-step span{display:none}
  .session-date-picker-form{grid-template-columns:1fr}
  .session-date-picker-form .btn{display:none}
  .session-date-picker-form label>span{display:none}
  .session-date-picker-form input{min-height:46px;text-align:center}
  .session-date-shortcuts{align-items:flex-start;flex-direction:column-reverse}
  .session-date-shortcuts .btn{margin-left:0;order:0;width:100%}
  .session-date-shortcuts span{font-size:.64rem}
  .session-workspace .session-tabs .workflow-step{flex-basis:185px;width:185px}
  .session-workspace-content-head{margin-top:8px}
  .session-prep-card{padding:12px}
  .session-prep-grid{grid-template-columns:1fr}
  .session-prep-grid>.wide{grid-column:auto}
  .session-page .session-form label{font-size:.78rem}
  .session-page .session-form input,.session-page .session-form select,.session-page .session-form textarea{font-size:16px}
  .workday-summary-grid{grid-template-columns:1fr 1fr}
  .workday-summary-grid>div:last-child{grid-column:1/-1}
  .workday-correction-guide{grid-template-columns:1fr}
  .workday-timeline-card{padding:12px}
  .workday-timeline-head{display:block}
  .workday-timeline-head>span{display:inline-block;margin-top:9px}
  .shift-break-event{grid-template-columns:12px minmax(0,1fr);align-items:start}
  .shift-break-event-odo{grid-column:2;text-align:left;margin-top:4px}
  .shift-action-button{width:100%;justify-content:center!important}
  .shift-time-editor-head{align-items:flex-start!important}
  .shift-time-editor-form{grid-template-columns:1fr!important}
  #wrap-up .wrap-step{padding:12px}
  #wrap-up .wrap-step-head strong{font-size:.76rem}
  #wrap-up .wrap-step-head small{font-size:.6rem}
}


/* =========================================================
   v5.28.1 — Approved Mockup Fidelity Pass
   Today + Session visual contract alignment.
   No calculation or persistence changes.
   ========================================================= */

/* ---------- TODAY: approved hierarchy ---------- */
.today-date-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:54px;
  margin:0 0 10px;
  padding:9px 11px 9px 13px;
  border:1px solid #35424B;
  border-radius:13px;
  background:#11181D;
}
.today-date-context>div{min-width:0}
.today-date-context .eyebrow{font-size:.52rem;letter-spacing:.12em;color:var(--hd-route-orange)}
.today-date-context strong{display:block;margin-top:2px;color:var(--hd-vintage-cream);font-size:.86rem}
.today-date-calendar{
  display:grid;
  place-items:center;
  width:40px;height:40px;flex:0 0 40px;
  border:1px solid #42515B;border-radius:10px;
  color:#AAB3B8;background:#151E24;
}
.today-date-calendar svg{width:19px;height:19px}

.today-state-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:-3px -3px 13px;
  padding:10px 12px;
  border:1px solid #315E44;
  border-radius:12px;
  background:linear-gradient(180deg,#12301F,#102219);
}
.today-state-banner span{font-size:.58rem;font-weight:950;letter-spacing:.12em;color:#7FD5A2}
.today-state-banner strong{font-size:.73rem;color:#D8F2E1}
.today-state-banner.break{border-color:#725E2E;background:linear-gradient(180deg,#2A2313,#1F1B10)}
.today-state-banner.break span,.today-state-banner.break strong{color:#E3CA79}

.today-redesign .today-shift-launch-card{
  border-color:rgba(224,90,36,.40);
  background:linear-gradient(180deg,#181B1D,#111518);
}
.today-redesign .today-shift-launch-card .action-title-row h2{font-size:1.15rem}
.today-redesign .today-shift-launch-card .btn.primary{
  min-height:58px;
  font-size:.92rem;
  text-transform:none;
}
.today-redesign .today-active-delivery-card{
  border-color:#40505A;
  background:linear-gradient(180deg,#16222B,#11171C);
}
.today-redesign .today-active-delivery-card .action-title-row h2{font-size:1.1rem}
.today-redesign .today-active-delivery-card .delivery-big strong{font-size:1.65rem}

/* Mobile order mirrors approved Today board: context → earnings/status → primary action → challenge → system status → activity. */
@media(max-width:767px){
  .today-redesign{
    display:flex!important;
    flex-direction:column;
    gap:0;
  }
  .today-redesign>.alert{order:0}
  .today-redesign>.today-date-context{order:1}
  .today-redesign>.today-hero{order:2}
  .today-redesign>.today-shift-launch-card,
  .today-redesign>.today-active-delivery-card{order:3}
  .today-redesign>.shift-controls{order:4}
  .today-redesign>.today-challenges{order:5}
  .today-redesign>.today-gps-strip{order:6}
  .today-redesign>.recap-cta{order:7}
  .today-redesign>.quick-actions{order:8}
  .today-redesign>.section-head{order:9}
  .today-redesign>.bulk-delivery-form,
  .today-redesign>.empty{order:10}
  .today-redesign>.bottom-spacer{order:11}

  .today-redesign .today-hero{
    margin-bottom:10px;
    padding:14px;
    border-radius:15px;
    box-shadow:none;
    background:linear-gradient(180deg,#17222B,#11171C);
  }
  .today-redesign .today-hero-top{align-items:flex-start}
  .today-redesign .hero-money{font-size:2.35rem}
  .today-redesign .hero-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:13px;
    padding-top:12px;
  }
  .today-redesign .hd-kpi{min-height:70px;padding:10px}
  .today-redesign .hd-kpi span{font-size:.64rem}
  .today-redesign .hd-kpi strong{font-size:1.08rem}
  .today-secondary-metrics{display:none}
  .today-live-status-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .today-redesign .today-refresh-status,
  .today-redesign .today-wake-status{
    min-width:0;
    width:100%;
    font-size:.57rem;
  }

  .today-redesign .today-shift-launch-card{margin:0 0 10px;padding:14px}
  .today-redesign .today-shift-launch-card p{margin:6px 0 11px;font-size:.68rem}
  .today-redesign .today-challenges{margin-bottom:10px;padding:13px}
  .today-redesign .today-challenge-heading h2{font-size:1rem}
  .today-redesign .today-challenge-item{padding:11px}
  .today-redesign .today-gps-strip{margin-bottom:10px;padding:11px 12px}
  .today-redesign .quick-actions{
    grid-template-columns:1fr 1fr;
    margin-bottom:10px;
  }
  .today-redesign .quick-link{min-height:52px;padding:9px}
  .today-redesign .quick-link small{display:none}
  .today-redesign .shift-controls{
    margin:0 0 10px;
    gap:10px;
  }
  .today-redesign .end-shift-safety-zone{padding:10px}
  .today-redesign .end-shift-safety-zone small{font-size:.56rem}
}

/* iPad / desktop Today uses the approved light workspace against the dark app rail. */
@media(min-width:768px){
  .today-redesign{
    padding:18px!important;
    border-radius:20px;
    background:var(--hd-vintage-cream);
    color:var(--hd-charcoal-navy);
  }
  .today-redesign .today-date-context{
    grid-column:1/-1;
    background:#FFFCF4;
    border-color:#D8CFB9;
    box-shadow:0 6px 18px rgba(14,14,15,.08);
  }
  .today-redesign .today-date-context strong{color:var(--hd-charcoal-navy)}
  .today-redesign .today-date-calendar{background:#FFF;border-color:#D7CDB5;color:var(--hd-charcoal-navy)}
  .today-redesign .today-hero,
  .today-redesign .card,
  .today-redesign .action-card,
  .today-redesign .today-challenges,
  .today-redesign .active-delivery,
  .today-redesign .delivery-row{
    background:#FFFDF7!important;
    border-color:#D7CEB9!important;
    color:var(--hd-charcoal-navy)!important;
    box-shadow:0 7px 22px rgba(14,14,15,.08)!important;
  }
  .today-redesign .today-hero{grid-column:1/-1}
  .today-redesign .today-hero .hero-money,
  .today-redesign .today-hero .hd-kpi strong,
  .today-redesign .today-challenges strong,
  .today-redesign .today-challenge-money b,
  .today-redesign .action-card h2,
  .today-redesign .active-delivery h2,
  .today-redesign .delivery-row strong{color:var(--hd-charcoal-navy)!important}
  .today-redesign .hero-subline,
  .today-redesign .hd-kpi span,
  .today-redesign .hd-kpi small,
  .today-redesign .muted,
  .today-redesign .today-challenge-top small,
  .today-redesign .delivery-row span{color:#69747A!important}
  .today-redesign .hd-kpi,
  .today-redesign .today-secondary-metrics>div{
    background:#F7F1E4!important;
    border-color:#DDD3BD!important;
  }
  .today-redesign .today-live-status-row{border-top-color:#DED5C0}
  .today-redesign .today-refresh-status,
  .today-redesign .today-wake-status{background:#F7F1E4;border-color:#D7CEB9;color:#5C6870}
  .today-redesign .today-gps-strip{
    grid-column:1/-1;
    background:#FFFDF7;
    border-color:#D7CEB9;
    color:var(--hd-charcoal-navy);
  }
  .today-redesign .today-gps-strip small{color:#69747A}
  .today-redesign .quick-link{background:#FFFDF7;border-color:#D7CEB9;color:var(--hd-charcoal-navy)}
  .today-redesign .section-head h2{color:var(--hd-charcoal-navy)}
  .today-redesign .count-badge{background:#F1E7D2;color:#5C4A2B}
  .today-redesign .delivery-row-stats span{color:#69747A!important}
  .today-redesign input,
  .today-redesign select,
  .today-redesign textarea{background:#FFF;border-color:#D5CBB4;color:var(--hd-charcoal-navy)}
}

/* ---------- SESSION: approved composition ---------- */
.session-workspace{display:block!important}
.session-workspace-sidebar{
  position:static!important;
  top:auto!important;
  margin:0 0 12px;
  padding:6px!important;
  border-radius:14px!important;
  background:#11181D!important;
  border-color:#35424B!important;
  box-shadow:none!important;
}
.session-workspace-sidebar-head,
.session-workspace-status-grid,
.session-workspace-quicklinks{display:none!important}
.session-workspace .session-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.session-workspace .session-tabs .workflow-step{
  width:auto!important;
  min-width:0!important;
  min-height:58px!important;
  padding:9px 10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
}
.session-workspace .session-tabs .workflow-step.active{
  border-color:rgba(224,90,36,.58)!important;
  background:linear-gradient(180deg,#EA632C,#E05A24)!important;
  box-shadow:0 7px 16px rgba(224,90,36,.18)!important;
}
.session-workspace .workflow-number{width:27px!important;height:27px!important;flex-basis:27px!important}
.session-workspace .workflow-copy small{display:none!important}
.session-workspace .workflow-copy b{font-size:.79rem!important}
.session-workspace .workflow-copy em{font-size:.57rem!important}
.session-workspace .session-step-status{display:none!important}
.session-workspace-content-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:4px 2px 12px;
}
.session-workspace-content-head h2{margin:3px 0 0;font-size:1.5rem}
.session-workspace-content-head p{margin:0;color:#7E898F;font-size:.66rem}

/* fidelity Work Day event timeline */
.workday-timeline-overview{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);
  gap:12px;
  align-items:start;
  margin:14px 0;
}
.workday-event-list{
  min-width:0;
  padding:12px;
  border:1px solid #344149;
  border-radius:14px;
  background:#0E1519;
}
.workday-event-list-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 2px 9px;
  border-bottom:1px solid #2D3940;
}
.workday-event-list-head strong{color:var(--session-cream);font-size:.78rem}
.workday-event-list-head span{color:#7F8A91;font-size:.58rem}
.workday-event{
  position:relative;
  display:grid;
  grid-template-columns:16px 62px minmax(0,1fr) auto;
  gap:8px;
  align-items:start;
  min-height:50px;
  padding:9px 0;
}
.workday-event:not(:last-child)::after{
  content:"";
  position:absolute;
  left:7px;
  top:28px;
  bottom:-10px;
  width:2px;
  background:#2D3A41;
}
.workday-event-dot{
  position:relative;z-index:1;
  width:12px;height:12px;margin-top:3px;
  border-radius:50%;
  background:#4BA875;
  box-shadow:0 0 0 4px rgba(75,168,117,.10);
}
.workday-event-break .workday-event-dot{background:var(--hd-route-orange);box-shadow:0 0 0 4px rgba(224,90,36,.10)}
.workday-event-resume .workday-event-dot{background:#4BA875}
.workday-event-delivery .workday-event-dot{background:var(--hd-muted-gold);box-shadow:0 0 0 4px rgba(185,154,60,.11)}
.workday-event-shift-end .workday-event-dot{background:#C95050;box-shadow:0 0 0 4px rgba(201,80,80,.10)}
.workday-event time{color:#8B969D;font-size:.61rem;font-weight:800;line-height:1.45}
.workday-event>div strong,.workday-event>div small{display:block}
.workday-event>div strong{color:#E7DFC9;font-size:.68rem}
.workday-event>div small{margin-top:2px;color:#79858C;font-size:.58rem;line-height:1.35}
.workday-event aside{text-align:right}
.workday-event aside span,.workday-event aside strong{display:block}
.workday-event aside span{color:#8B969D;font-size:.55rem}
.workday-event aside strong{color:#7FD5A2;font-size:.64rem;margin-top:2px}
.workday-timeline-overview .workday-fix-panel{margin:0!important}
.workday-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* Wrap-Up progress strip from approved phone concept */
.wrap-fidelity-stepper{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
  margin:0 0 10px;
  padding:7px;
  border:1px solid #35424B;
  border-radius:14px;
  background:#10161A;
}
.wrap-fidelity-stepper a{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:7px 4px;
  border-radius:9px;
  color:#859198;
  text-decoration:none;
}
.wrap-fidelity-stepper a:first-child{background:rgba(224,90,36,.11);color:#F0A174}
.wrap-fidelity-stepper span{
  display:grid;place-items:center;width:24px;height:24px;
  border:1px solid currentColor;border-radius:50%;
  font-size:.58rem;font-weight:950;
}
.wrap-fidelity-stepper strong{
  max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.52rem;
}

/* Light workspace fidelity for tablet/desktop Session mockups. */
@media(min-width:768px){
  .session-page{
    padding:18px!important;
    border-radius:20px;
    background:var(--hd-vintage-cream);
    color:var(--hd-charcoal-navy);
  }
  .session-date-toolbar{
    background:#FFFDF7!important;
    border-color:#D7CEB9!important;
    box-shadow:0 7px 22px rgba(14,14,15,.08)!important;
  }
  .session-date-context strong,
  .session-date-step,
  .session-workspace-content-head h2{color:var(--hd-charcoal-navy)!important}
  .session-date-context small,
  .session-date-picker-form label,
  .session-date-shortcuts span,
  .session-workspace-content-head p{color:#68747B!important}
  .session-date-context-label{background:#F4EBD8!important;border-color:#D3C7AE!important;color:#5D6970!important}
  .session-date-step{background:#FFF!important;border-color:#D6CCB5!important}
  .session-date-picker-form input{background:#FFF!important;border-color:#D6CCB5!important;color:var(--hd-charcoal-navy)!important}
  .session-workspace-sidebar{background:#F7F1E4!important;border-color:#D7CEB9!important}
  .session-workspace .session-tabs .workflow-step{color:#667279!important}
  .session-workspace .session-tabs .workflow-step.active{color:#17100B!important}
  .session-workspace .session-tabs .workflow-step.active .workflow-copy b,
  .session-workspace .session-tabs .workflow-step.active .workflow-copy em{color:#17100B!important}
  .session-workspace-content{
    padding:0;
    background:transparent;
  }
  .session-page .card,
  .session-page .session-section,
  .session-prep-card,
  .workday-timeline-card,
  .workday-event-list,
  #wrap-up .wrap-step,
  .break-checkpoint-card,
  .shift-row{
    background:#FFFDF7!important;
    border-color:#D7CEB9!important;
    color:var(--hd-charcoal-navy)!important;
    box-shadow:0 7px 20px rgba(14,14,15,.055);
  }
  .session-page .session-section>.section-heading-row h2,
  .session-prep-card-head strong,
  .workday-timeline-head h3,
  .workday-event-list-head strong,
  .workday-event>div strong,
  .shift-card-time,
  .break-checkpoint-heading strong,
  #wrap-up .wrap-step-head strong,
  .session-page .readout-field strong{color:var(--hd-charcoal-navy)!important}
  .session-page .muted,
  .session-page .section-help,
  .session-prep-card-head small,
  .session-page .session-form label,
  .workday-timeline-head p,
  .workday-event time,
  .workday-event>div small,
  .workday-event aside span,
  .shift-break-text span,
  .break-checkpoint-audit>p,
  #wrap-up .wrap-step-head small{color:#6B777E!important}
  .session-prep-card-vehicle,
  #wrap-up .wrap-step-odometer{
    background:linear-gradient(145deg,#FFF5EA,#FFFDF7)!important;
    border-color:rgba(224,90,36,.42)!important;
  }
  .session-page input,
  .session-page select,
  .session-page textarea{
    background:#FFF!important;
    border-color:#D6CCB5!important;
    color:var(--hd-charcoal-navy)!important;
  }
  .session-page .readout-field,
  .workday-summary-grid>div,
  .break-checkpoint-values>div,
  .break-checkpoint-summary{
    background:#F7F1E4!important;
    border-color:#D8CEB8!important;
  }
  .workday-event-list-head{border-bottom-color:#DDD4C0!important}
  .workday-event:not(:last-child)::after{background:#D8CEB8}
  .workday-fix-panel{
    background:linear-gradient(145deg,#FFF4E8,#FFFDF7)!important;
    border-color:rgba(224,90,36,.34)!important;
  }
  .workday-fix-copy strong{color:#7E4427!important}
  .workday-fix-copy small{color:#6E777C!important}
  .workday-correction-guide>div{
    background:#FFF!important;
    border-color:#DFD1BC!important;
  }
  .workday-correction-guide strong{color:#754225!important}
  .workday-correction-guide small{color:#6E777C!important}
  .wrap-fidelity-stepper{
    background:#FFFDF7!important;
    border-color:#D7CEB9!important;
  }
  .wrap-fidelity-stepper a{color:#6D787E!important}
  .wrap-fidelity-stepper a:first-child{background:#FFF0E4!important;color:var(--hd-route-orange)!important}
  .session-maintenance{background:#FFFDF7!important;border-color:#D7CEB9!important}
}

/* Phone fidelity: light Pre-Shift/Wrap-Up, dark Work Day exactly like approved section boards. */
@media(max-width:767px){
  .session-page{
    padding:10px 10px 0!important;
    transition:background .12s ease,color .12s ease;
  }
  .session-page[data-session-active-tab="pre-shift"],
  .session-page[data-session-active-tab="wrap-up"]{
    background:var(--hd-vintage-cream);
    color:var(--hd-charcoal-navy);
  }
  .session-page[data-session-active-tab="work-day"]{
    background:var(--hd-asphalt-black);
    color:var(--hd-text);
  }
  .session-date-toolbar{
    grid-template-columns:1fr!important;
    padding:8px!important;
    border-radius:13px!important;
  }
  .session-date-context{
    padding:3px 4px 2px;
  }
  .session-date-context>div .eyebrow,
  .session-date-context>div small{display:none}
  .session-date-context strong{font-size:.83rem!important}
  .session-date-controls.hd-date-nav{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    padding:4px!important;
  }
  .session-date-step{min-height:42px!important}
  .session-date-picker-form input{min-height:42px!important}
  .session-date-shortcuts{display:none!important}
  .session-workspace-sidebar{
    margin-bottom:8px!important;
    padding:4px!important;
  }
  .session-workspace .session-tabs .workflow-step{
    min-height:52px!important;
    padding:7px 6px!important;
  }
  .session-workspace .workflow-number{display:none!important}
  .session-workspace .workflow-copy{width:100%;text-align:center}
  .session-workspace .workflow-copy b{font-size:.68rem!important}
  .session-workspace .workflow-copy em{display:none!important}
  .session-workspace-content-head{display:none!important}
  .session-page[data-session-active-tab="pre-shift"] .session-date-toolbar,
  .session-page[data-session-active-tab="wrap-up"] .session-date-toolbar,
  .session-page[data-session-active-tab="pre-shift"] .session-workspace-sidebar,
  .session-page[data-session-active-tab="wrap-up"] .session-workspace-sidebar{
    background:#FFFDF7!important;
    border-color:#D7CEB9!important;
  }
  .session-page[data-session-active-tab="pre-shift"] .session-date-context strong,
  .session-page[data-session-active-tab="wrap-up"] .session-date-context strong,
  .session-page[data-session-active-tab="pre-shift"] .session-date-step,
  .session-page[data-session-active-tab="wrap-up"] .session-date-step{
    color:var(--hd-charcoal-navy)!important;
  }
  .session-page[data-session-active-tab="pre-shift"] .session-date-step,
  .session-page[data-session-active-tab="wrap-up"] .session-date-step,
  .session-page[data-session-active-tab="pre-shift"] .session-date-picker-form input,
  .session-page[data-session-active-tab="wrap-up"] .session-date-picker-form input{
    background:#FFF!important;
    border-color:#D6CCB5!important;
    color:var(--hd-charcoal-navy)!important;
  }
  .session-page[data-session-active-tab="pre-shift"] .session-tabs .workflow-step:not(.active),
  .session-page[data-session-active-tab="wrap-up"] .session-tabs .workflow-step:not(.active){color:#68747B!important}

  .session-page[data-session-active-tab="pre-shift"] .session-section,
  .session-page[data-session-active-tab="pre-shift"] .session-prep-card,
  .session-page[data-session-active-tab="wrap-up"] .session-section,
  .session-page[data-session-active-tab="wrap-up"] #wrap-up .wrap-step,
  .session-page[data-session-active-tab="wrap-up"] .wrap-fidelity-stepper{
    background:#FFFDF7!important;
    border-color:#D7CEB9!important;
    color:var(--hd-charcoal-navy)!important;
    box-shadow:0 5px 16px rgba(14,14,15,.06)!important;
  }
  .session-page[data-session-active-tab="pre-shift"] .session-prep-card-vehicle,
  .session-page[data-session-active-tab="wrap-up"] #wrap-up .wrap-step-odometer{
    background:linear-gradient(145deg,#FFF4E8,#FFFDF7)!important;
    border-color:rgba(224,90,36,.42)!important;
  }
  .session-page[data-session-active-tab="pre-shift"] .session-section h2,
  .session-page[data-session-active-tab="pre-shift"] .session-prep-card-head strong,
  .session-page[data-session-active-tab="wrap-up"] .session-section h2,
  .session-page[data-session-active-tab="wrap-up"] .wrap-step-head strong,
  .session-page[data-session-active-tab="wrap-up"] .readout-field strong{
    color:var(--hd-charcoal-navy)!important;
  }
  .session-page[data-session-active-tab="pre-shift"] .session-form label,
  .session-page[data-session-active-tab="pre-shift"] .session-prep-card-head small,
  .session-page[data-session-active-tab="pre-shift"] .section-help,
  .session-page[data-session-active-tab="wrap-up"] .session-form label,
  .session-page[data-session-active-tab="wrap-up"] .wrap-step-head small,
  .session-page[data-session-active-tab="wrap-up"] .section-help{
    color:#6D787E!important;
  }
  .session-page[data-session-active-tab="pre-shift"] input,
  .session-page[data-session-active-tab="pre-shift"] select,
  .session-page[data-session-active-tab="pre-shift"] textarea,
  .session-page[data-session-active-tab="wrap-up"] input,
  .session-page[data-session-active-tab="wrap-up"] select,
  .session-page[data-session-active-tab="wrap-up"] textarea{
    background:#FFF!important;
    border-color:#D6CCB5!important;
    color:var(--hd-charcoal-navy)!important;
  }
  .session-page[data-session-active-tab="wrap-up"] .readout-field,
  .session-page[data-session-active-tab="wrap-up"] .wrap-readonly-input{
    background:#F7F1E4!important;
    border-color:#D8CEB8!important;
  }
  .workday-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .workday-summary-grid>div:last-child{grid-column:auto!important}
  .workday-timeline-overview{grid-template-columns:1fr;gap:9px}
  .workday-event-list{padding:10px}
  .workday-event{grid-template-columns:14px 55px minmax(0,1fr);gap:7px}
  .workday-event aside{grid-column:3;text-align:left;display:flex;gap:8px;align-items:baseline}
  .workday-event aside span,.workday-event aside strong{display:inline}
  .wrap-fidelity-stepper{gap:2px;padding:5px}
  .wrap-fidelity-stepper a{padding:5px 2px}
  .wrap-fidelity-stepper strong{font-size:.45rem}
  .wrap-fidelity-stepper span{width:21px;height:21px}
}

/* Narrow phones: preserve tapability and avoid any clipped labels. */
@media(max-width:390px){
  .today-date-context{min-height:50px;padding:7px 9px}
  .today-redesign .today-hero{padding:12px}
  .session-workspace .session-tabs .workflow-copy b{font-size:.62rem!important}
  .workday-event{grid-template-columns:13px 48px minmax(0,1fr)}
  .wrap-fidelity-stepper strong{display:none}
}

/* ==============================================================
   v5.28.2 — SESSION EXACT-SCREEN FIDELITY
   Approved preview is the visual source of truth.
   ============================================================== */
.session-v5282 .session-page{
  --v5282-cream:#F5ECD2;
  --v5282-paper:#FFFDF7;
  --v5282-line:#D9CFB8;
  --v5282-ink:#17212B;
  --v5282-muted:#737D84;
  --v5282-navy:#11202C;
  --v5282-orange:#E05A24;
  --v5282-gold:#B99A3C;
}

/* Exact top bar treatment on phones: back, approved wordmark, settings. */
@media(max-width:767px){
  .session-v5282 .app-header{
    position:sticky;
    top:0;
    z-index:80;
    min-height:76px;
    padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;
    border-bottom:1px solid rgba(185,154,60,.22);
    background:#0E0E0F;
  }
  .session-v5282 .header-leading{width:100%;min-height:58px;position:relative;justify-content:center}
  .session-v5282 .header-back{
    position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:42px;height:42px;padding:0;display:grid;place-items:center;
    color:#9AA3A9;border:0;background:transparent;
  }
  .session-v5282 .header-back svg{width:22px;height:22px}
  .session-v5282 .header-back span{display:none}
  .session-v5282 .header-identity{display:flex;justify-content:center;width:auto}
  .session-v5282 .brand-logo{display:none!important}
  .session-v5282 .brand-wordmark{width:126px;max-height:38px;object-position:center}
  .session-v5282 .header-page-context{display:none!important}
  .session-v5282 .header-actions{position:absolute;right:16px;top:calc(50% + env(safe-area-inset-top,0px)/2);transform:translateY(-50%)}
  .session-v5282 .header-settings-link{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:12px}
  .session-v5282 .header-action-label,.session-v5282 .header-logout-link{display:none!important}
  .session-v5282 .header-action-icon{font-size:1.25rem}
}

/* Session canvas: approved light operational surface under dark shell. */
.session-v5282 .session-page{
  background:var(--v5282-cream)!important;
  color:var(--v5282-ink)!important;
}
.session-v5282 .session-workspace{display:block!important}
.session-v5282 .session-workspace-content{padding:0!important;background:transparent!important}

/* Date row — single, compact, no duplicate selected-session block. */
.session-v5282 .v5282-datebar{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) 46px 46px!important;
  gap:7px!important;
  align-items:center;
  margin:0 0 9px!important;
  padding:8px!important;
  border:1px solid var(--v5282-line)!important;
  border-radius:16px!important;
  background:var(--v5282-paper)!important;
  box-shadow:0 4px 14px rgba(14,14,15,.055)!important;
}
.session-v5282 .session-date-icon{
  min-width:46px!important;width:46px!important;height:44px!important;min-height:44px!important;
  padding:0!important;display:grid!important;place-items:center!important;
  border:1px solid #D5CBB4!important;border-radius:12px!important;
  background:#FFF!important;color:#15212C!important;
  font-size:1.4rem!important;font-weight:700!important;
}
.session-v5282 .session-date-current{
  min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;
}
.session-v5282 .session-date-current strong{
  display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--v5282-ink)!important;font-size:1rem;line-height:1.15;font-weight:850;
}
.session-v5282 .session-date-current small{display:none}
.session-v5282 .session-date-context-label.today{display:none!important}
.session-v5282 .v5282-calendar-picker{margin:0!important;padding:0!important;display:block!important}
.session-v5282 .v5282-calendar-picker label{
  position:relative;display:grid;place-items:center;width:46px;height:44px;
  margin:0!important;padding:0!important;border:1px solid #D5CBB4;border-radius:12px;background:#FFF;color:#24313B;
}
.session-v5282 .v5282-calendar-picker svg{width:21px;height:21px;pointer-events:none}
.session-v5282 .v5282-calendar-picker input[type="date"]{
  position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0!important;padding:0!important;border:0!important;
}

/* Exact three-tab selector. */
.session-v5282 .v5282-session-tabs-shell{
  margin:0 0 10px!important;padding:5px!important;
  border:1px solid var(--v5282-line)!important;border-radius:15px!important;
  background:var(--v5282-paper)!important;box-shadow:0 4px 14px rgba(14,14,15,.045)!important;
}
.session-v5282 .session-tabs{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;
  padding:0!important;margin:0!important;overflow:visible!important;
}
.session-v5282 .session-tabs .workflow-step{
  width:auto!important;min-width:0!important;min-height:42px!important;
  padding:8px 6px!important;border:0!important;border-radius:11px!important;
  background:transparent!important;box-shadow:none!important;color:#35434F!important;
}
.session-v5282 .session-tabs .workflow-step.active{
  background:linear-gradient(180deg,#EA6931,var(--v5282-orange))!important;
  color:#FFF7E8!important;box-shadow:0 6px 12px rgba(224,90,36,.18)!important;
}
.session-v5282 .session-tabs .workflow-copy{display:block!important;width:100%!important;text-align:center!important}
.session-v5282 .session-tabs .workflow-copy b{display:block!important;color:inherit!important;font-size:.78rem!important;font-weight:850!important;white-space:nowrap!important}

/* Panels use only the content cards shown in approved screens. */
.session-v5282 .session-tab-panel{margin:0!important}
.session-v5282 .v5282-pre-shift-shell,
.session-v5282 .v5282-workday,
.session-v5282 .v5282-wrap-shell{
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
.session-v5282 .reuse-session-card{margin-bottom:9px!important}

/* PRE-SHIFT */
.session-v5282 .session-prep-layout{display:grid!important;gap:10px!important}
.session-v5282 .session-prep-card{
  padding:13px!important;border:1px solid var(--v5282-line)!important;border-radius:14px!important;
  background:var(--v5282-paper)!important;color:var(--v5282-ink)!important;
  box-shadow:0 4px 12px rgba(14,14,15,.04)!important;
}
.session-v5282 .session-prep-card-head{margin:0 0 11px!important;padding:0!important;display:block!important}
.session-v5282 .session-prep-card-head strong{color:var(--v5282-ink)!important;font-size:.92rem!important}
.session-v5282 .session-prep-card-head small{display:none!important}
.session-v5282 .session-prep-grid{gap:9px!important}
.session-v5282 #panel-pre-shift label{
  color:#66727A!important;font-size:.69rem!important;font-weight:800!important;
}
.session-v5282 #panel-pre-shift input,
.session-v5282 #panel-pre-shift select,
.session-v5282 #panel-pre-shift textarea{
  min-height:44px!important;border:1px solid #D5CBB4!important;border-radius:9px!important;
  background:#FFF!important;color:var(--v5282-ink)!important;font-size:16px!important;
}
.session-v5282 #panel-pre-shift textarea{padding-top:10px!important}
.session-v5282 #panel-pre-shift label small{color:#8B9499!important;font-size:.58rem!important}
.session-v5282 #panel-pre-shift .readout-field{
  padding:10px 11px!important;border:1px solid #DED4BE!important;border-radius:9px!important;background:#F8F1E4!important;
}
.session-v5282 #panel-pre-shift .readout-field span{color:#7A858B!important;font-size:.62rem!important}
.session-v5282 #panel-pre-shift .readout-field strong{color:var(--v5282-ink)!important;font-size:.86rem!important}
.session-v5282 #panel-pre-shift .form-actions{margin-top:10px!important}
.session-v5282 #panel-pre-shift .form-actions .btn{
  min-height:52px!important;border-radius:10px!important;font-size:.88rem!important;color:#FFF8E8!important;
}

/* WORK DAY */
.session-v5282 .workday-summary-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin:0 0 10px!important;
  padding:6px!important;border-radius:13px!important;background:#10202C!important;
}
.session-v5282 .workday-summary-grid>div{
  min-width:0;padding:8px 4px!important;border:0!important;border-radius:8px!important;background:transparent!important;text-align:center!important;
}
.session-v5282 .workday-summary-grid span{color:#9FA8AD!important;font-size:.5rem!important;font-weight:750!important;white-space:nowrap!important}
.session-v5282 .workday-summary-grid strong{display:block!important;margin-top:3px!important;color:#FFF7E6!important;font-size:.82rem!important;white-space:nowrap!important}
.session-v5282 .workday-timeline-card{
  padding:0!important;border:1px solid var(--v5282-line)!important;border-radius:14px!important;
  background:var(--v5282-paper)!important;box-shadow:0 4px 12px rgba(14,14,15,.04)!important;overflow:hidden!important;
}
.session-v5282 .v5282-workday-title{
  padding:11px 12px 8px!important;margin:0!important;border:0!important;background:transparent!important;
}
.session-v5282 .v5282-workday-title>div{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:8px!important}
.session-v5282 .v5282-workday-title strong{color:var(--v5282-ink)!important;font-size:.84rem!important}
.session-v5282 .v5282-workday-title small{color:#899198!important;font-size:.55rem!important}
.session-v5282 .workday-timeline-overview{display:block!important;margin:0!important}
.session-v5282 .workday-event-list{
  padding:0 12px 10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.session-v5282 .workday-event{
  grid-template-columns:18px 58px minmax(0,1fr) auto!important;gap:7px!important;min-height:54px!important;padding:9px 0!important;
}
.session-v5282 .workday-event:not(:last-child)::after{left:8px!important;top:27px!important;bottom:-10px!important;background:#D8CFBB!important}
.session-v5282 .workday-event-dot{width:15px!important;height:15px!important;margin-top:2px!important;box-shadow:none!important;border:3px solid #FFFDF7!important}
.session-v5282 .workday-event time{color:#263641!important;font-size:.62rem!important;font-weight:850!important}
.session-v5282 .workday-event>div strong{color:var(--v5282-ink)!important;font-size:.69rem!important}
.session-v5282 .workday-event>div small{color:#7C878D!important;font-size:.56rem!important}
.session-v5282 .workday-event aside span{color:#758087!important;font-size:.55rem!important}
.session-v5282 .workday-event aside strong{color:#2E8A5B!important;font-size:.61rem!important}
.session-v5282 .workday-fix-panel{
  margin:10px 12px 12px!important;padding:10px!important;border:1px solid rgba(224,90,36,.28)!important;border-radius:12px!important;
  background:#FFF5EA!important;
}
.session-v5282 .workday-fix-copy strong{color:#7B4427!important;font-size:.72rem!important}
.session-v5282 .workday-fix-copy small{color:#788187!important;font-size:.57rem!important}
.session-v5282 .workday-correction-guide{gap:6px!important}
.session-v5282 .workday-correction-guide>div{background:#FFF!important;border-color:#DED1BA!important}
.session-v5282 .workday-correction-guide strong{color:#6A4028!important;font-size:.62rem!important}
.session-v5282 .workday-correction-guide small{color:#798388!important;font-size:.53rem!important}
.session-v5282 .workday-timeline-body{padding:0 12px 12px!important}
.session-v5282 .shift-row,
.session-v5282 .break-checkpoint-audit,
.session-v5282 .shift-time-editor{
  border-color:#D9CFB8!important;background:#FFFDF7!important;color:var(--v5282-ink)!important;
}
.session-v5282 .shift-card-time,
.session-v5282 .break-checkpoint-heading strong,
.session-v5282 .shift-time-editor-head strong{color:var(--v5282-ink)!important}

/* WRAP-UP — exact step-by-step mobile flow. */
.session-v5282 .wrap-fidelity-stepper{
  position:relative;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;
  margin:0 0 10px!important;padding:8px 4px!important;border:1px solid var(--v5282-line)!important;border-radius:14px!important;
  background:var(--v5282-paper)!important;box-shadow:0 4px 12px rgba(14,14,15,.04)!important;
}
.session-v5282 .wrap-fidelity-stepper::before{
  content:"";position:absolute;left:10%;right:10%;top:20px;height:1px;background:#C8BFAE;z-index:0;
}
.session-v5282 .wrap-fidelity-stepper a{
  position:relative;z-index:1;display:flex!important;flex-direction:column!important;align-items:center!important;gap:5px!important;
  min-width:0!important;padding:0 2px!important;background:transparent!important;color:#78838A!important;text-decoration:none!important;
}
.session-v5282 .wrap-fidelity-stepper a span{
  display:grid!important;place-items:center!important;width:24px!important;height:24px!important;
  border:1.5px solid #7C878D!important;border-radius:50%!important;background:#FFFDF7!important;color:#55616A!important;font-size:.57rem!important;font-weight:900!important;
}
.session-v5282 .wrap-fidelity-stepper a strong{
  max-width:100%;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;text-align:center!important;
  color:#59646B!important;font-size:.46rem!important;line-height:1.05!important;
}
.session-v5282 .wrap-fidelity-stepper a.is-active span{background:var(--v5282-orange)!important;border-color:var(--v5282-orange)!important;color:#FFF!important}
.session-v5282 .wrap-fidelity-stepper a.is-active strong{color:var(--v5282-orange)!important}
.session-v5282 .v5282-wrap-shell{padding:0!important}
.session-v5282 .wrap-save-confirmation,
.session-v5282 .wrap-save-warning{margin:0 0 9px!important}
.session-v5282 .wrap-step{
  padding:13px!important;border:1px solid var(--v5282-line)!important;border-radius:14px!important;
  background:var(--v5282-paper)!important;color:var(--v5282-ink)!important;box-shadow:0 4px 12px rgba(14,14,15,.04)!important;
}
.session-v5282 .wrap-step-head{margin-bottom:11px!important}
.session-v5282 .wrap-step-head>div:first-child{align-items:flex-start!important}
.session-v5282 .wrap-step-number{background:#16110E!important;color:#ECA16F!important;border-color:#5A3A26!important}
.session-v5282 .wrap-step-head strong{color:var(--v5282-ink)!important;font-size:.84rem!important}
.session-v5282 .wrap-step-head small{color:#768188!important;font-size:.57rem!important}
.session-v5282 .wrap-step-badge{display:none!important}
.session-v5282 .wrap-odometer-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.session-v5282 .wrap-readonly-input{
  padding:11px 12px!important;border:1px solid #DDD3BD!important;border-radius:11px!important;background:#F7F0E3!important;
}
.session-v5282 .wrap-readonly-input span{color:#778188!important;font-size:.62rem!important}
.session-v5282 .wrap-readonly-input strong{color:var(--v5282-ink)!important;font-size:1rem!important}
.session-v5282 .wrap-readonly-input small{color:#879095!important;font-size:.56rem!important}
.session-v5282 .wrap-primary-field{
  padding:11px 12px!important;border:1px solid rgba(224,90,36,.48)!important;border-radius:12px!important;background:#121313!important;color:#A8AFB3!important;
}
.session-v5282 .wrap-primary-field input{
  min-height:48px!important;margin-top:7px!important;border:0!important;border-radius:10px!important;background:#FFF!important;color:var(--v5282-ink)!important;font-size:16px!important;font-weight:850!important;
}
.session-v5282 .wrap-primary-field small{color:#82766D!important;font-size:.55rem!important}
.session-v5282 .wrap-cost-grid,
.session-v5282 .wrap-simple-grid{grid-template-columns:1fr!important;gap:9px!important}
.session-v5282 .wrap-step label{color:#67737B!important}
.session-v5282 .wrap-step input,
.session-v5282 .wrap-step select,
.session-v5282 .wrap-step textarea{background:#FFF!important;border-color:#D5CBB4!important;color:var(--v5282-ink)!important;font-size:16px!important}
.session-v5282 .wrap-readout-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
.session-v5282 .wrap-readout-grid .readout-field{background:#F7F0E3!important;border-color:#DDD3BD!important}
.session-v5282 .wrap-readout-grid .readout-field strong{color:var(--v5282-ink)!important}
.session-v5282 .v5282-wrap-next{margin-top:11px!important;min-height:50px!important;color:#FFF8E8!important}
.session-v5282 .story-notes-collapse{border-color:#D9CFB8!important;background:#FFFDF7!important;color:var(--v5282-ink)!important}
.session-v5282 .v5282-wrap-form>.form-actions{margin-top:10px!important}
.session-v5282 .v5282-wrap-form>.form-actions .btn{min-height:52px!important;color:#FFF8E8!important}

/* Maintenance is intentionally quiet; it is not part of the main Session journey. */
.session-v5282 .session-maintenance{margin-top:12px!important;border-color:#D9CFB8!important;background:#FFFDF7!important;color:var(--v5282-ink)!important}

/* Phone-specific exact-screen behavior. */
@media(max-width:767px){
  .session-v5282 .session-page{padding:10px 12px calc(86px + env(safe-area-inset-bottom,0px))!important}
  .session-v5282 .v5282-datebar{grid-template-columns:44px minmax(0,1fr) 44px 44px!important}
  .session-v5282 .session-date-current strong{font-size:.91rem!important}
  .session-v5282 .session-tabs .workflow-step{min-height:42px!important;padding:7px 4px!important}
  .session-v5282 .session-tabs .workflow-copy b{font-size:.68rem!important}
  .session-v5282 #panel-pre-shift .session-prep-card-vehicle .readout-field{display:none!important}
  .session-v5282 .workday-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .session-v5282 .workday-fix-panel{display:none!important}
  .session-v5282 .workday-timeline-body{margin-top:6px!important}
  .session-v5282 .shift-list{margin-top:8px!important}
  .session-v5282 .wrap-save-confirmation{display:none!important}
  .session-v5282 .v5282-wrap-form[data-wrap-active-step] [data-wrap-step]{display:none!important}
  .session-v5282 .v5282-wrap-form[data-wrap-active-step="1"] [data-wrap-step="1"],
  .session-v5282 .v5282-wrap-form[data-wrap-active-step="2"] [data-wrap-step="2"],
  .session-v5282 .v5282-wrap-form[data-wrap-active-step="3"] [data-wrap-step="3"],
  .session-v5282 .v5282-wrap-form[data-wrap-active-step="4"] [data-wrap-step="4"],
  .session-v5282 .v5282-wrap-form[data-wrap-active-step="5"] [data-wrap-step="5"]{display:block!important}
  .session-v5282 .v5282-wrap-form[data-wrap-active-step]:not([data-wrap-active-step="5"])>.form-actions{display:none!important}
  .session-v5282 .story-notes-collapse{display:none!important}
  .session-v5282 .v5282-wrap-form[data-wrap-active-step="5"] .story-notes-collapse{display:block!important}
}

/* iPad: approved split workspace with compact tabs and two-column Pre-Shift. */
@media(min-width:768px) and (max-width:1199px){
  .session-v5282 .session-page{padding:16px!important}
  .session-v5282 .v5282-datebar{grid-template-columns:48px minmax(280px,1fr) 48px 48px!important;max-width:740px;margin:0 auto 9px!important}
  .session-v5282 .v5282-session-tabs-shell{max-width:740px;margin:0 auto 12px!important}
  .session-v5282 .session-workspace-content{max-width:980px;margin:0 auto!important}
  .session-v5282 .session-prep-layout{grid-template-columns:1fr 1fr!important;align-items:start!important}
  .session-v5282 .session-prep-card:nth-child(3){grid-column:2;grid-row:1}
  .session-v5282 .session-prep-card-vehicle{grid-column:1;grid-row:2}
  .session-v5282 #panel-pre-shift .form-actions{max-width:360px;margin:12px 0 0 auto!important}
  .session-v5282 .workday-timeline-overview{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)!important;gap:10px!important}
  .session-v5282 .workday-fix-panel{display:block!important;margin:0!important;align-self:start!important}
}

/* Desktop keeps the exact screen language, scaled rather than reinterpreted. */
@media(min-width:1200px){
  .session-v5282 .session-page{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;padding:18px!important}
  .session-v5282 .v5282-datebar{max-width:820px;margin:0 auto 10px!important}
  .session-v5282 .v5282-session-tabs-shell{max-width:820px;margin:0 auto 12px!important}
  .session-v5282 .session-prep-layout{grid-template-columns:1fr 1fr!important;align-items:start!important}
  .session-v5282 .session-prep-card:nth-child(3){grid-column:2;grid-row:1}
  .session-v5282 .session-prep-card-vehicle{grid-column:1;grid-row:2}
  .session-v5282 .workday-timeline-overview{grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr)!important}
}
@media(max-width:767px){
  .session-v5282 .app-version-footer{display:none!important}
}

/* ==============================================================
   v5.28.3 — WRAP-UP FLOW CORRECTION
   Approved exact screen previews are the visual source of truth.
   One active Wrap-Up step at a time on every breakpoint.
   ============================================================== */
.session-v5283 .wrap-save-confirmation,
.session-v5283 .wrap-save-warning{display:none!important}

.session-v5283 .v5283-wrap-form[data-wrap-active-step] [data-wrap-step]{display:none!important}
.session-v5283 .v5283-wrap-form[data-wrap-active-step="1"] [data-wrap-step="1"],
.session-v5283 .v5283-wrap-form[data-wrap-active-step="2"] [data-wrap-step="2"],
.session-v5283 .v5283-wrap-form[data-wrap-active-step="3"] [data-wrap-step="3"],
.session-v5283 .v5283-wrap-form[data-wrap-active-step="4"] [data-wrap-step="4"],
.session-v5283 .v5283-wrap-form[data-wrap-active-step="5"] [data-wrap-step="5"]{display:block!important}

.session-v5283 .v5283-wrap-workspace{display:block!important}
.session-v5283 .v5283-wrap-main{min-width:0!important}
.session-v5283 .v5283-step-kicker{
  display:block!important;margin-bottom:2px!important;color:#737D84!important;
  font-size:.57rem!important;font-weight:850!important;letter-spacing:.01em!important;
}
.session-v5283 .wrap-step-head strong{font-size:1rem!important;line-height:1.08!important}
.session-v5283 .wrap-step-head small{font-size:.66rem!important;line-height:1.35!important}
.session-v5283 .wrap-step-number{margin-top:1px!important}

.session-v5283 .v5283-wrap-summary{display:none}
.session-v5283 [data-wrap-submit]{display:none!important}
.session-v5283 .v5283-wrap-form[data-wrap-active-step="5"] [data-wrap-submit]{display:block!important}
.session-v5283 .story-notes-collapse{display:none!important}
.session-v5283 .v5283-wrap-form[data-wrap-active-step="5"] .story-notes-collapse{display:block!important}

.session-v5283 .wrap-step{
  padding:16px!important;
  border-radius:16px!important;
}
.session-v5283 .wrap-odometer-grid,
.session-v5283 .wrap-cost-grid,
.session-v5283 .wrap-simple-grid{gap:12px!important}
.session-v5283 .wrap-readonly-input{padding:13px 14px!important;border-radius:12px!important}
.session-v5283 .wrap-readonly-input span{font-size:.68rem!important}
.session-v5283 .wrap-readonly-input strong{font-size:1.15rem!important}
.session-v5283 .wrap-readonly-input small{font-size:.61rem!important}
.session-v5283 .wrap-primary-field{padding:13px 14px!important;border-radius:13px!important}
.session-v5283 .wrap-primary-field input{min-height:52px!important}
.session-v5283 .v5282-wrap-next,
.session-v5283 [data-wrap-submit] .btn{min-height:54px!important;border-radius:11px!important;font-size:.92rem!important}

.session-v5283 .v5283-review-grid{grid-template-columns:1fr!important;gap:7px!important}
.session-v5283 .v5283-review-grid .readout-field{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:3px 12px!important;
  align-items:center!important;padding:11px 12px!important;
}
.session-v5283 .v5283-review-grid .readout-field span{grid-column:1;color:#55616A!important;font-weight:800!important}
.session-v5283 .v5283-review-grid .readout-field strong{grid-column:2;grid-row:1;color:#17212B!important;font-size:.92rem!important}
.session-v5283 .v5283-review-grid .readout-field small{grid-column:1/3;color:#8A9297!important;font-size:.54rem!important}

/* Compact Session hierarchy: header -> date -> tabs -> Wrap-Up progress. */
@media(max-width:767px){
  .session-v5283 .app-header{
    min-height:62px!important;
    padding:calc(5px + env(safe-area-inset-top,0px)) 13px 5px!important;
  }
  .session-v5283 .header-leading{min-height:48px!important}
  .session-v5283 .brand-wordmark{display:block!important;width:108px!important;max-height:30px!important}
  .session-v5283 .header-back{width:38px!important;height:38px!important}
  .session-v5283 .header-settings-link{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .session-v5283 .session-page{padding-top:9px!important}
  .session-v5283 .v5282-datebar{margin-bottom:8px!important;padding:6px!important;border-radius:14px!important}
  .session-v5283 .v5282-session-tabs-shell{margin-bottom:8px!important}
  .session-v5283 .session-tabs .workflow-step{min-height:39px!important}
  .session-v5283 .session-tabs .workflow-copy b{font-size:.7rem!important}
  .session-v5283 .wrap-fidelity-stepper{margin-bottom:9px!important;padding:7px 3px!important;border-radius:13px!important}
  .session-v5283 .wrap-fidelity-stepper a span{width:23px!important;height:23px!important}
  .session-v5283 .wrap-fidelity-stepper a strong{font-size:.45rem!important}
  .session-v5283 .wrap-step{padding:14px!important}
  .session-v5283 .wrap-group-note{display:none!important}
  .session-v5283 .wrap-cost-grid,
  .session-v5283 .wrap-simple-grid{grid-template-columns:1fr!important}
  .session-v5283 .session-maintenance{margin-top:10px!important}
}

/* iPad + desktop: current step at left, persistent summary at right. */
@media(min-width:768px){
  .session-v5283 .session-workspace-content{max-width:1120px!important}
  .session-v5283 .v5283-wrap-workspace{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr)!important;
    gap:14px!important;
    align-items:start!important;
  }
  .session-v5283 .v5283-wrap-summary{
    display:block!important;
    position:sticky!important;top:96px!important;
    padding:16px!important;border:1px solid #D9CFB8!important;border-radius:16px!important;
    background:#FFFDF7!important;color:#17212B!important;box-shadow:0 5px 15px rgba(14,14,15,.05)!important;
  }
  .session-v5283 .v5283-summary-head{padding-bottom:11px;margin-bottom:8px;border-bottom:1px solid #E2D8C4}
  .session-v5283 .v5283-summary-head span{display:block;color:#E05A24;font-size:.62rem;font-weight:900;letter-spacing:.08em}
  .session-v5283 .v5283-summary-head strong{display:block;margin-top:4px;color:#17212B;font-size:.86rem}
  .session-v5283 .v5283-wrap-summary dl{margin:0}
  .session-v5283 .v5283-wrap-summary dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid #EEE4D1}
  .session-v5283 .v5283-wrap-summary dl>div:last-child{border-bottom:0}
  .session-v5283 .v5283-wrap-summary dt{color:#69757D;font-size:.68rem;font-weight:750}
  .session-v5283 .v5283-wrap-summary dd{margin:0;color:#17212B;font-size:.72rem;font-weight:900;text-align:right}
  .session-v5283 .wrap-step{min-height:0!important}
  .session-v5283 .wrap-cost-grid{grid-template-columns:1fr 1fr!important}
  .session-v5283 .wrap-simple-grid{grid-template-columns:1fr 1fr!important}
  .session-v5283 .v5283-review-grid{grid-template-columns:1fr 1fr!important}
  .session-v5283 [data-wrap-submit]{margin-top:10px!important}
}

@media(min-width:1200px){
  .session-v5283 .session-page{max-width:1320px!important}
  .session-v5283 .session-workspace-content{max-width:1180px!important}
  .session-v5283 .v5282-datebar,
  .session-v5283 .v5282-session-tabs-shell{max-width:980px!important}
  .session-v5283 .v5283-wrap-workspace{grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr)!important;gap:18px!important}
  .session-v5283 .wrap-step{padding:18px!important}
}

/* ==============================================================
   v5.28.4 — Session tab label fidelity corrective
   Approved preview requires full Pre-Shift / Work Day / Wrap-Up labels.
   Neutralize legacy workspace ellipsis rules for the three Session tabs.
   ============================================================== */
.session-v5283 .session-tabs .workflow-step{
  overflow:visible!important;
}
.session-v5283 .session-tabs .workflow-copy{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.session-v5283 .session-tabs .workflow-copy b{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:center!important;
}
@media(max-width:390px){
  .session-v5283 .session-tabs .workflow-copy b{font-size:.66rem!important;}
}


/* ==============================================================
   v5.29.0 — Challenges Redesign
   Approved exact-screen preview implementation.
   Challenge presentation only: no qualification/counting changes.
   ============================================================== */
.challenge-v529-body{
  --v529-cream:#F2E7C7;
  --v529-paper:#FFFDF7;
  --v529-paper-2:#F8F1E2;
  --v529-ink:#17212B;
  --v529-muted:#69757D;
  --v529-line:#D8CDB5;
  --v529-orange:#E05A24;
  --v529-gold:#B99A3C;
  background:var(--hd-asphalt-black,#0E0E0F);
}
.challenge-v529-body .challenge-workspace-page,
.challenge-v529-body .challenge-report-page{
  color:var(--v529-ink);
}
.challenge-v529-body .challenge-workspace-page,
.challenge-v529-body .challenge-report-v529{
  background:var(--v529-cream);
  border-radius:22px;
  padding:16px;
  box-shadow:inset 0 0 0 1px rgba(185,154,60,.16);
}
.challenge-v529-body .eyebrow{color:var(--v529-orange)!important}
.challenge-v529-body .positive{color:#23894a!important}
.challenge-v529-body .negative{color:#b64032!important}

/* Workspace tabs: the approved Active / Upcoming / History treatment. */
.challenge-workspace-nav-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  margin:0 auto 13px;
  max-width:1040px;
}
.challenge-v529-body .challenge-workspace-nav{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:3px!important;
  margin:0!important;
  padding:4px!important;
  border:1px solid var(--v529-line)!important;
  border-radius:13px!important;
  background:rgba(255,253,247,.92)!important;
  overflow:visible!important;
  box-shadow:0 4px 10px rgba(14,14,15,.04)!important;
}
.challenge-v529-body .challenge-workspace-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:39px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:9px!important;
  color:#65717A!important;
  background:transparent!important;
  text-decoration:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.challenge-v529-body .challenge-workspace-link strong{font-size:.68rem!important;color:inherit!important}
.challenge-v529-body .challenge-workspace-link.active{
  color:#fff!important;
  background:linear-gradient(180deg,#EF6931,#E05A24)!important;
  box-shadow:0 4px 9px rgba(224,90,36,.2)!important;
}
.challenge-performance-shortcut{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:43px;padding:0 15px;border:1px solid var(--v529-line);border-radius:11px;
  background:var(--v529-paper);color:#34424B;text-decoration:none;font-size:.63rem;font-weight:900;
}
.challenge-performance-shortcut.active{border-color:#E05A24;color:#E05A24;background:#FFF5EE}

/* Page title bar */
.v529-challenge-titlebar{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  max-width:1040px;margin:0 auto 13px;padding:8px 3px;
}
.v529-challenge-titlebar h1{margin:3px 0 2px;color:var(--v529-ink);font-size:1.35rem;line-height:1.08}
.v529-challenge-titlebar p{margin:0;color:var(--v529-muted);font-size:.62rem;line-height:1.4}
.v529-challenge-title-actions{display:flex;gap:7px;flex:0 0 auto}
.v529-challenge-title-actions .btn{min-height:38px;padding:0 13px;font-size:.58rem}

/* Active/upcoming workspace */
.v529-challenge-workspace-grid{
  display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr);gap:13px;
  max-width:1040px;margin:0 auto 13px;align-items:start;
}
.v529-challenge-list-panel,
.v529-challenge-detail-panel,
.v529-challenge-empty-state,
.v529-challenge-insight-strip>a,
.challenge-v529-body .v529-create-challenge{
  border:1px solid var(--v529-line);border-radius:16px;background:var(--v529-paper);
  box-shadow:0 5px 14px rgba(14,14,15,.045);
}
.v529-challenge-list-panel{padding:12px}
.v529-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;padding:0 2px}
.v529-panel-head span,.v529-panel-head strong{display:block}
.v529-panel-head span{color:var(--v529-orange);font-size:.48rem;font-weight:950;letter-spacing:.08em}
.v529-panel-head strong{margin-top:3px;color:var(--v529-ink);font-size:.78rem}
.v529-challenge-list{display:grid;gap:7px}
.v529-challenge-list-card{
  display:grid;grid-template-columns:32px minmax(0,1fr) 14px;gap:9px;align-items:center;
  padding:10px;border:1px solid #E4DAC4;border-radius:12px;background:#FFFDF9;text-decoration:none;color:inherit;
}
.v529-challenge-list-card.selected{border-color:#E05A24;background:#FFF5EE;box-shadow:inset 3px 0 0 #E05A24}
.v529-list-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#FFF2DF;font-size:1rem}
.v529-list-copy{min-width:0}.v529-list-copy strong,.v529-list-copy span,.v529-list-copy small{display:block}
.v529-list-copy strong{color:#1C2630;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v529-list-copy span{margin-top:2px;color:#77828A;font-size:.48rem}
.v529-list-copy small{margin-top:4px;color:#4B5861;font-size:.52rem;font-weight:800}
.v529-challenge-list-card>b{color:#7C878D;font-size:1rem;text-align:right}
.v529-mini-progress{height:4px;margin-top:6px;border-radius:999px;background:#E6E0D4;overflow:hidden}
.v529-mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#E05A24,#F08B51)}

.v529-challenge-detail-panel{padding:16px}
.v529-detail-hero{display:flex;align-items:flex-start;gap:11px}
.v529-detail-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#FFF2DE;font-size:1.35rem}
.v529-detail-heading{min-width:0;flex:1}.v529-detail-heading span,.v529-detail-heading h2,.v529-detail-heading p{display:block}
.v529-detail-heading span{color:#D56A30;font-size:.46rem;font-weight:950;letter-spacing:.07em}
.v529-detail-heading h2{margin:3px 0;color:#17212B;font-size:1.05rem;line-height:1.15}
.v529-detail-heading p{margin:0;color:#77828A;font-size:.54rem}
.v529-day-pill{flex:0 0 auto;padding:6px 8px;border-radius:999px;background:#FFF0E6;color:#C44B1C;font-size:.5rem;font-weight:950}
.v529-money-progress{margin-top:14px;padding:13px;border:1px solid #E2D7C0;border-radius:13px;background:#FBF7ED}
.v529-money-progress>div:first-child{display:flex;align-items:baseline;gap:4px}.v529-money-progress>div:first-child strong{color:#17212B;font-size:1.35rem}.v529-money-progress>div:first-child span{color:#77828A;font-size:.67rem}.v529-money-progress>div:first-child b{margin-left:auto;color:#27884A;font-size:.8rem}
.v529-progress-track{height:8px;margin:9px 0 6px;border-radius:999px;background:#DDD9D0;overflow:hidden}.v529-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#E05A24,#F47D40)}
.v529-money-progress small{color:#7A858B;font-size:.52rem}
.v529-daily-pace-card{margin-top:10px;padding:12px;border-radius:13px;background:#111B22;color:#fff}
.v529-daily-pace-card>div:first-child span,.v529-daily-pace-card>div:first-child strong{display:block}.v529-daily-pace-card>div:first-child span{color:#EAB18A;font-size:.44rem;font-weight:950;letter-spacing:.07em}.v529-daily-pace-card>div:first-child strong{margin-top:3px;font-size:.72rem}
.v529-daily-pace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
.v529-daily-pace-grid article{padding:8px;border:1px solid #31404A;border-radius:9px;background:#17242D}.v529-daily-pace-grid span,.v529-daily-pace-grid strong{display:block}.v529-daily-pace-grid span{color:#94A0A7;font-size:.43rem}.v529-daily-pace-grid strong{margin-top:4px;color:#F4E8CC;font-size:.72rem}
.v529-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.v529-detail-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.v529-detail-kpis article{padding:9px;border:1px solid #E0D6C0;border-radius:10px;background:#FBF7ED}.v529-detail-kpis span,.v529-detail-kpis strong{display:block}.v529-detail-kpis span{color:#7B868D;font-size:.43rem}.v529-detail-kpis strong{margin-top:4px;color:#17212B;font-size:.75rem}
.v529-projection-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;margin-top:10px;padding:10px 11px;border:1px solid #DAD0B9;border-radius:11px;background:#FFFDF8}.v529-projection-card span{grid-column:1;color:#C15C2E;font-size:.43rem;font-weight:950;letter-spacing:.07em}.v529-projection-card strong{grid-column:2;grid-row:1/3;color:#17212B;font-size:1rem}.v529-projection-card small{grid-column:1;color:#6F7A81;font-size:.5rem}
.v529-rule-strip{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.v529-rule-strip span{padding:5px 7px;border:1px solid #DCD0B8;border-radius:999px;background:#F8F0DF;color:#59656C;font-size:.45rem;font-weight:800}
.v529-detail-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;margin-top:12px}.v529-detail-actions .btn{min-height:43px;font-size:.57rem}
.v529-showdown-score{margin-top:12px;padding:18px;text-align:center;border-radius:13px;background:#111B22;color:#fff}.v529-showdown-score strong,.v529-showdown-score span{display:block}.v529-showdown-score strong{font-size:1.65rem}.v529-showdown-score span{margin-top:4px;color:#B9C2C7;font-size:.55rem}

.v529-challenge-empty-state{display:flex;align-items:center;gap:13px;max-width:1040px;margin:0 auto 13px;padding:18px}.v529-trophy-mark{font-size:1.7rem}.v529-challenge-empty-state>div:nth-child(2){flex:1}.v529-challenge-empty-state strong,.v529-challenge-empty-state span{display:block}.v529-challenge-empty-state strong{color:#17212B;font-size:.85rem}.v529-challenge-empty-state span{margin-top:4px;color:#717C83;font-size:.56rem}
.v529-challenge-insight-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:1040px;margin:0 auto 13px}.v529-challenge-insight-strip>a{display:block;padding:12px;text-decoration:none}.v529-challenge-insight-strip span,.v529-challenge-insight-strip strong,.v529-challenge-insight-strip small{display:block}.v529-challenge-insight-strip span{color:#E05A24;font-size:.43rem;font-weight:950;letter-spacing:.07em}.v529-challenge-insight-strip strong{margin-top:4px;color:#17212B;font-size:.66rem}.v529-challenge-insight-strip small{margin-top:3px;color:#77828A;font-size:.49rem;line-height:1.35}

/* New challenge form inherits the light creator surface. */
.challenge-v529-body .v529-create-challenge{max-width:1040px;margin:0 auto 14px;padding:0;overflow:hidden}
.challenge-v529-body .v529-create-challenge>summary{padding:14px 16px;background:#17242D;color:#F2E7C7}
.challenge-v529-body .v529-create-challenge>summary strong{color:#F2E7C7}.challenge-v529-body .v529-create-challenge>summary small{color:#AEB7BC}
.challenge-v529-body .v529-create-challenge form{padding:15px}
.challenge-v529-body .v529-create-challenge label,.challenge-v529-body .v529-create-challenge legend{color:#3A4650}
.challenge-v529-body .v529-create-challenge input,.challenge-v529-body .v529-create-challenge select{background:#FFFDF8!important;color:#17212B!important;border-color:#D8CDB5!important}
.challenge-v529-body .v529-create-challenge .challenge-type-picker label,.challenge-v529-body .v529-create-challenge .challenge-start-mode label,.challenge-v529-body .v529-create-challenge .challenge-rule-builder{background:#FBF6EA!important;border-color:#D8CDB5!important;color:#17212B!important}

/* History */
.challenge-history-v529 .challenge-history-current-link{max-width:1040px;margin:0 auto 10px}
.v529-history-count,.v529-performance-attempts{display:flex;align-items:baseline;gap:6px;padding:8px 11px;border:1px solid #D8CDB5;border-radius:11px;background:#FFFDF7}.v529-history-count strong,.v529-performance-attempts strong{color:#17212B;font-size:1rem}.v529-history-count span,.v529-performance-attempts span{color:#77828A;font-size:.52rem}
.v529-history-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:1040px;margin:0 auto 12px}.v529-history-search{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;padding:0 9px;border:1px solid #D8CDB5;border-radius:11px;background:#FFFDF7}.v529-history-search span{color:#6D7980;font-size:1rem}.v529-history-search input{min-height:42px;border:0!important;background:transparent!important;color:#17212B!important;box-shadow:none!important;font-size:.62rem}.v529-history-tools .btn{min-height:42px}
.challenge-history-v529 .section-head{max-width:1040px;margin:0 auto 8px}.challenge-history-v529 .challenge-card-list{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.challenge-history-v529 .challenge-card{padding:12px!important;border:1px solid #D8CDB5!important;background:#FFFDF8!important;color:#17212B!important;border-radius:13px!important}.challenge-history-v529 .challenge-card.is-success{border-left:4px solid #2C9B57!important}.challenge-history-v529 .challenge-card h3{color:#17212B!important}.challenge-history-v529 .challenge-card small,.challenge-history-v529 .challenge-card span{color:#69757D}.challenge-history-v529 .challenge-money-line strong,.challenge-history-v529 .challenge-card-stats b{color:#17212B!important}.challenge-history-v529 .challenge-progress-track{background:#DED9CF!important}

/* Performance analytics */
.challenge-performance-v529 .challenge-performance-hero-grid,
.challenge-performance-v529 .challenge-performance-metrics-card,
.challenge-performance-v529 .challenge-performance-two-col,
.challenge-performance-v529 .challenge-performance-recent,
.challenge-performance-v529 .challenge-performance-empty{max-width:1040px;margin-left:auto;margin-right:auto}
.challenge-performance-v529 .challenge-performance-hero{border-color:#D8CDB5!important;background:#FFFDF8!important}.challenge-performance-v529 .challenge-performance-hero.primary{border-color:#E3A37D!important;background:#FFF3E9!important}.challenge-performance-v529 .challenge-performance-hero span{color:#69757D!important}.challenge-performance-v529 .challenge-performance-hero strong{color:#17212B!important}.challenge-performance-v529 .challenge-performance-hero.primary strong{color:#D55220!important}.challenge-performance-v529 .challenge-performance-hero small{color:#7A858B!important}
.challenge-performance-v529 .card{border-color:#D8CDB5!important;background:#FFFDF8!important;color:#17212B!important}.challenge-performance-v529 .card h2{color:#17212B!important}.challenge-performance-v529 .challenge-performance-metric-grid article,.challenge-performance-v529 .challenge-duration-performance-list article,.challenge-performance-v529 .challenge-performance-highlights>a,.challenge-performance-v529 .challenge-performance-outcomes>a{border-color:#DED3BD!important;background:#FBF7ED!important}.challenge-performance-v529 .challenge-performance-metric-grid span,.challenge-performance-v529 .challenge-duration-performance-list span,.challenge-performance-v529 .challenge-performance-highlights>a small,.challenge-performance-v529 .challenge-performance-outcomes div small{color:#6F7B82!important}.challenge-performance-v529 .challenge-performance-metric-grid strong,.challenge-performance-v529 .challenge-duration-performance-list strong,.challenge-performance-v529 .challenge-performance-highlights>a strong,.challenge-performance-v529 .challenge-performance-outcomes div strong{color:#17212B!important}

/* Detail report */
.challenge-report-v529{max-width:1050px!important;margin-left:auto!important;margin-right:auto!important}
.v529-report-hero{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;margin-bottom:11px;padding:12px 14px;border:1px solid #D8CDB5;border-radius:14px;background:#FFFDF8}.v529-report-hero-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#FFF1DD;font-size:1.35rem}.v529-report-hero-copy span,.v529-report-hero-copy h1,.v529-report-hero-copy p{display:block}.v529-report-hero-copy span{color:#D65B25;font-size:.44rem;font-weight:950;letter-spacing:.08em}.v529-report-hero-copy h1{margin:2px 0;color:#17212B;font-size:1.05rem}.v529-report-hero-copy p{margin:0;color:#77828A;font-size:.53rem}.v529-report-more{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #D8CDB5;border-radius:10px;color:#55616A;text-decoration:none;background:#fff}
.challenge-report-v529 .challenge-progress-dashboard,.challenge-report-v529 .challenge-kpi-grid article,.challenge-report-v529 .card,.challenge-report-v529 .challenge-days-section,.challenge-report-v529 .challenge-maintenance{border-color:#D8CDB5!important;background:#FFFDF8!important;color:#17212B!important}.challenge-report-v529 .challenge-progress-dashboard strong,.challenge-report-v529 .challenge-kpi-grid strong,.challenge-report-v529 .card h2,.challenge-report-v529 .challenge-day-row strong{color:#17212B!important}.challenge-report-v529 .challenge-progress-dashboard span,.challenge-report-v529 .challenge-kpi-grid span,.challenge-report-v529 .challenge-kpi-grid small,.challenge-report-v529 .muted,.challenge-report-v529 .section-help{color:#6E7980!important}.challenge-report-v529 .challenge-progress-track{background:#DED9CF!important}
.v529-complete-banner{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:16px!important;border-radius:15px!important;background:#FFF8E9!important;border:1px solid #D9B86D!important;color:#17212B!important}.v529-complete-trophy{font-size:2rem}.v529-complete-copy span,.v529-complete-copy strong,.v529-complete-copy small{display:block}.v529-complete-copy span{color:#B97720;font-size:.46rem;font-weight:950;letter-spacing:.07em}.v529-complete-copy strong{margin-top:3px;color:#17212B!important;font-size:1rem}.v529-complete-copy small{margin-top:3px;color:#6E7980;font-size:.54rem}.v529-rerun-form{margin:0}

@media(max-width:760px){
  .challenge-v529-body .challenge-workspace-page,.challenge-v529-body .challenge-report-v529{border-radius:0;padding:10px 10px 84px;box-shadow:none}
  .challenge-workspace-nav-shell{grid-template-columns:1fr;margin-bottom:9px}
  .challenge-performance-shortcut{display:none}
  .challenge-v529-body .challenge-workspace-nav{width:100%}
  .v529-challenge-titlebar{align-items:flex-start;margin-bottom:8px;padding:4px 1px}.v529-challenge-titlebar h1{font-size:1.05rem}.v529-challenge-titlebar p{font-size:.55rem}.v529-challenge-title-actions{display:none}
  .v529-challenge-workspace-grid{grid-template-columns:1fr;gap:9px;margin-bottom:10px}.v529-challenge-detail-panel{order:-1;padding:13px}.v529-challenge-list-panel{padding:10px}
  .v529-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v529-daily-pace-grid{grid-template-columns:1fr 1fr}.v529-daily-pace-grid article:last-child{grid-column:1/-1}.v529-detail-actions{grid-template-columns:1fr}.v529-money-progress>div:first-child strong{font-size:1.2rem}
  .v529-challenge-insight-strip{grid-template-columns:1fr 1fr;gap:7px}.v529-challenge-insight-strip>a:last-child:nth-child(3){grid-column:1/-1}
  .challenge-history-v529 .challenge-card-list{grid-template-columns:1fr}.v529-history-tools{grid-template-columns:1fr}.v529-history-tools .btn{display:none}
  .challenge-performance-v529 .challenge-performance-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-performance-v529 .challenge-performance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-performance-v529 .challenge-performance-two-col{grid-template-columns:1fr}.challenge-performance-v529 .challenge-performance-outcomes>a{grid-template-columns:72px minmax(0,1fr)}
  .v529-report-hero{grid-template-columns:42px minmax(0,1fr) 34px;padding:10px}.v529-report-hero-copy h1{font-size:.9rem}.v529-complete-banner{grid-template-columns:44px 1fr!important}.v529-rerun-form{grid-column:1/-1}.v529-rerun-form .btn{width:100%}
}
@media(max-width:430px){
  .v529-challenge-insight-strip{grid-template-columns:1fr}.v529-challenge-insight-strip>a:last-child:nth-child(3){grid-column:auto}
  .v529-detail-kpis,.v529-daily-pace-grid{grid-template-columns:1fr 1fr}.v529-daily-pace-grid article:last-child{grid-column:1/-1}
  .challenge-performance-v529 .challenge-performance-hero-grid,.challenge-performance-v529 .challenge-performance-metric-grid{grid-template-columns:1fr 1fr}
}

/* ==========================================================================\n   v5.30.0 — History / Session Browser redesign\n   Approved preview implementation. History is a browsing/review surface;\n   operational corrections continue to flow through the existing Session tools.\n   ========================================================================== */
.history-v530-page{--v530-cream:#F2E7C7;--v530-orange:#E05A24;--v530-navy:#1B2A3A;--v530-black:#0E0E0F;--v530-gold:#B99A3C}
.history-v530-content{min-width:0}
.history-v530-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin:0 0 12px;padding:17px 19px;border-radius:16px;background:#FFFDF7;border:1px solid #d9ceb8;color:#17212b}
.history-v530-hero h1{margin:1px 0 4px;font-size:1.45rem;color:#17212b}.history-v530-hero p{margin:0;color:#67747d;font-size:.72rem}.history-v530-hero .eyebrow{color:var(--v530-orange)}
.history-v530-kpis{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:8px}.history-v530-kpis article{padding:9px 11px;border-radius:11px;background:#f7f2e8;border:1px solid #ded3bd}.history-v530-kpis span,.history-v530-kpis strong{display:block}.history-v530-kpis span{font-size:.43rem;color:#738089;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.history-v530-kpis strong{margin-top:3px;color:#17212b;font-size:.78rem}
.history-v530-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:12px!important;padding:11px 12px!important;background:#fffdf7!important;border-color:#d9ceb8!important}.history-v530-searchbar{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;align-items:end;gap:8px}.history-v530-searchbar label{display:grid;gap:4px}.history-v530-searchbar label>span{color:#65727b;font-size:.43rem;font-weight:900;text-transform:uppercase}.history-v530-searchbar input,.history-v530-searchbar select{min-height:41px!important;background:#fff!important;color:#17212b!important;border:1px solid #d8cdb6!important;border-radius:10px!important;font-size:.62rem!important}.history-v530-view-toggle{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:10px;background:#ede6d8;border:1px solid #d5c9b2}.history-v530-view-toggle a{padding:10px 14px;border-radius:8px;color:#5f6b73;text-decoration:none;font-size:.52rem;font-weight:950;text-align:center}.history-v530-view-toggle a.active{background:var(--v530-orange);color:#fff}
.history-v530-workspace{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:12px;align-items:start}.history-v530-master{padding:10px!important;background:#fffdf8!important;border-color:#d8cdb6!important;position:sticky;top:10px}.history-v530-monthnav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:7px;margin-bottom:9px}.history-v530-monthnav>a{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#fff;border:1px solid #d9ceb8;color:#17212b;text-decoration:none;font-size:1rem;font-weight:900}.history-v530-monthnav>div{text-align:center}.history-v530-monthnav small,.history-v530-monthnav strong{display:block}.history-v530-monthnav small{font-size:.38rem;color:#7b878e;font-weight:900}.history-v530-monthnav strong{font-size:.65rem;color:#17212b}
.history-v530-session-list{display:grid;gap:5px;max-height:calc(100vh - 275px);overflow:auto;padding-right:2px}.history-v530-session-list>a{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid #e1d7c3;border-radius:10px;background:#fff;color:#17212b;text-decoration:none}.history-v530-session-list>a.active{border-color:#e99876;background:#fff3ec;box-shadow:inset 3px 0 var(--v530-orange)}.history-v530-session-list span,.history-v530-session-list strong,.history-v530-session-list small,.history-v530-session-list em{display:block}.history-v530-session-list strong{font-size:.54rem}.history-v530-session-list small{margin-top:2px;color:#718089;font-size:.42rem}.history-v530-session-list em{margin-top:3px;color:#8a949a;font-size:.4rem;font-style:normal}.history-v530-session-list b{white-space:nowrap;color:#17212b;font-size:.5rem}.history-status-dot{width:7px;height:7px;border-radius:999px;background:#a1a9ad}.history-status-dot.completed{background:#2f9d58}.history-status-dot.progress{background:#e3a427}
.history-v530-calendar .weekdays,.history-v530-calendar .days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.history-v530-calendar .weekdays{margin:8px 0 4px}.history-v530-calendar .weekdays span{text-align:center;color:#7b868c;font-size:.38rem;font-weight:900}.history-v530-calendar .days a,.history-v530-calendar .days span{position:relative;display:grid;place-items:center;min-height:31px;border-radius:7px;color:#59666e;text-decoration:none;font-size:.48rem}.history-v530-calendar .days a.logged{background:#f5efe4;color:#17212b;font-weight:900}.history-v530-calendar .days a.active{background:var(--v530-orange);color:#fff}.history-v530-calendar .days a i{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#2f9d58}.history-v530-calendar .days a.active i{background:#fff}
.history-v530-detail{min-width:0}.history-v530-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 17px;border:1px solid #d8cdb6;border-radius:15px;background:#fffdf8;color:#17212b}.history-v530-detail-head h2{margin:0 0 3px;color:#17212b;font-size:1.05rem}.history-v530-detail-head p{margin:0;color:#748087;font-size:.55rem}.history-v530-status{display:inline-flex;margin-top:7px;padding:5px 8px;border-radius:999px;font-size:.42rem;font-weight:950}.history-v530-status.completed{background:#daf0df;color:#237445}.history-v530-detail-actions{display:flex;gap:7px}.history-v530-mobile-back{display:none}
.history-v530-summary-grid,.history-session-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.history-v530-summary-grid article,.history-session-summary-grid article{padding:13px;border-radius:12px;border:1px solid #ded3bd;background:#fffdf8;color:#17212b}.history-v530-summary-grid span,.history-v530-summary-grid strong,.history-session-summary-grid span,.history-session-summary-grid strong{display:block}.history-v530-summary-grid span,.history-session-summary-grid span{color:#728087;font-size:.44rem;font-weight:900}.history-v530-summary-grid strong,.history-session-summary-grid strong{margin-top:5px;font-size:.86rem;color:#17212b}.history-v530-detail-grid,.history-session-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:10px}.history-v530-detail-grid>.card,.history-session-two-col>.card{background:#fffdf8!important;border-color:#d8cdb6!important;color:#17212b!important}.history-v530-detail-grid h3,.history-session-two-col h3{color:#17212b!important}.history-v530-mini-timeline{display:grid;gap:8px}.history-v530-mini-timeline>div{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:start}.history-v530-mini-timeline i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#2f9d58}.history-v530-mini-timeline strong,.history-v530-mini-timeline small{display:block}.history-v530-mini-timeline strong{color:#17212b;font-size:.52rem}.history-v530-mini-timeline small{color:#758087;font-size:.43rem}.history-v530-actions{display:grid;gap:6px}.history-v530-actions a{display:flex;align-items:center;min-height:39px;padding:8px 10px;border:1px solid #ddd2bd;border-radius:9px;background:#fff;color:#17212b;text-decoration:none;font-size:.48rem;font-weight:900}.history-v530-actions a:after{content:'›';margin-left:auto;color:#8a969d;font-size:.8rem}

/* Session detail */
.history-session-detail-v530{max-width:1180px}.history-session-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px 16px;border-radius:15px;background:#fffdf8;border:1px solid #d8cdb6;color:#17212b}.history-session-detail-head h1{margin:2px 0;font-size:1.2rem;color:#17212b}.history-session-detail-head p{margin:0;color:#748087;font-size:.55rem}.history-session-tabs{display:flex;gap:3px;margin:10px 0;padding:4px;border-radius:11px;background:#fffdf8;border:1px solid #d8cdb6;overflow:auto}.history-session-tabs a{flex:1;min-width:74px;padding:10px 11px;border-radius:8px;color:#53616a;text-align:center;text-decoration:none;font-size:.49rem;font-weight:950;white-space:nowrap}.history-session-tabs a.active{background:var(--hd-route-orange,#E05A24);color:#fff}.history-session-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.history-session-summary-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.history-session-two-col>.card p{color:#56636b!important;font-size:.56rem;line-height:1.55}.history-session-timeline,.history-session-map,.history-session-edit-cta,.history-session-notes-grid>.card{background:#fffdf8!important;border-color:#d8cdb6!important;color:#17212b!important}.history-v530-event-list{display:grid;gap:0;margin-top:8px}.history-v530-event-list article{position:relative;display:grid;grid-template-columns:14px 70px minmax(0,1fr);gap:8px;min-height:48px;padding:8px 0}.history-v530-event-list article:not(:last-child):after{content:'';position:absolute;left:6px;top:25px;bottom:-9px;width:1px;background:#d5cbb8}.history-v530-event-list i{width:12px;height:12px;border-radius:50%;margin-top:3px;background:#2f9d58;z-index:1}.history-v530-event-list article.break i{background:#e05a24}.history-v530-event-list article.resume i{background:#b99a3c}.history-v530-event-list article.end i{background:#17212b}.history-v530-event-list time{color:#57656e;font-size:.48rem;font-weight:900}.history-v530-event-list strong,.history-v530-event-list small{display:block}.history-v530-event-list strong{color:#17212b;font-size:.55rem}.history-v530-event-list small{margin-top:2px;color:#7a858c;font-size:.45rem}.history-map-placeholder{min-height:390px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;border-radius:13px;background:linear-gradient(145deg,#eae6d8,#f8f4e9);border:1px dashed #c5b89c}.history-map-route{font-size:4rem;color:#e05a24}.history-map-placeholder strong{font-size:1rem;color:#17212b}.history-map-placeholder p{max-width:440px;margin:0;color:#6a777f;font-size:.55rem}.history-map-stats{display:flex;gap:9px}.history-map-stats span{min-width:100px;padding:9px 12px;border-radius:9px;background:#fff;color:#65727b;font-size:.45rem}.history-map-stats b{display:block;color:#17212b;font-size:.82rem}.history-v530-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.history-v530-platforms article{padding:11px;border:1px solid #dfd4c0;border-radius:10px;background:#fff}.history-v530-platforms span,.history-v530-platforms strong,.history-v530-platforms small{display:block}.history-v530-platforms span{color:#6f7c84;font-size:.45rem}.history-v530-platforms strong{margin-top:3px;color:#17212b;font-size:.7rem}.history-v530-platforms small{margin-top:2px;color:#899399;font-size:.42rem}.history-session-edit-cta{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.history-session-edit-cta h2{margin:1px 0;color:#17212b!important}.history-session-edit-cta p{margin:4px 0 0;color:#69767e!important;font-size:.52rem}.history-session-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.history-session-notes-grid article span{display:block;color:#e05a24;font-size:.45rem;font-weight:950;text-transform:uppercase}.history-session-notes-grid article p{margin:7px 0 0;color:#17212b!important;font-size:.58rem;line-height:1.5}

@media(max-width:980px){.history-v530-hero{grid-template-columns:1fr}.history-v530-kpis{grid-template-columns:repeat(4,1fr)}.history-v530-toolbar{grid-template-columns:1fr}.history-v530-workspace{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.history-v530-summary-grid,.history-session-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-session-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.history-v530-detail-grid,.history-session-two-col{grid-template-columns:1fr}.history-v530-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.history-v530-page .reports-nav{display:none}.history-v530-content{padding:0!important}.history-v530-hero{margin:0 0 8px;padding:11px 12px;border-radius:12px}.history-v530-hero h1{font-size:1.15rem}.history-v530-hero p{font-size:.56rem}.history-v530-kpis{grid-template-columns:repeat(2,1fr)}.history-v530-toolbar{padding:8px!important;border-radius:12px}.history-v530-searchbar{grid-template-columns:1fr 112px}.history-v530-searchbar .btn{grid-column:1/-1}.history-v530-view-toggle a{padding:9px 10px}.history-v530-workspace{grid-template-columns:1fr}.history-v530-master{position:static}.history-v530-session-list{max-height:none}.history-v530-detail{display:none}.history-v530-session-list>a{grid-template-columns:10px 1fr auto;padding:11px 10px}.history-v530-session-list>a:after{content:'›';color:#8d989e;margin-left:3px}.history-v530-session-list b{display:none}.history-v530-calendar .days a,.history-v530-calendar .days span{min-height:38px}.history-session-detail-v530{padding:10px!important}.history-session-detail-head{padding:11px 12px}.history-session-detail-head>.btn{display:none}.history-session-tabs{margin:8px 0}.history-session-tabs a{min-width:68px;padding:9px 8px}.history-session-summary-grid,.history-session-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.history-session-two-col{grid-template-columns:1fr}.history-v530-event-list article{grid-template-columns:14px 62px minmax(0,1fr)}.history-v530-platforms,.history-session-notes-grid{grid-template-columns:1fr}.history-session-edit-cta{align-items:stretch;flex-direction:column}.history-session-edit-cta .btn{width:100%}.history-map-placeholder{min-height:320px}}

/* =========================================================
   v5.31.0 — Reports & Analytics approved-screen redesign
   Exact preview contract: Reports Home, date range, key metrics,
   trends, markets, iPad dashboard, desktop analytics.
   ========================================================= */
.reports-v531{
  --v531-orange:#E05A24;
  --v531-cream:#F2E7C7;
  --v531-navy:#1B2A3A;
  --v531-black:#0E0E0F;
  --v531-gold:#B99A3C;
  --v531-ink:#17212B;
  --v531-muted:#758087;
  --v531-line:#DED3BD;
  --v531-paper:#FFFDF8;
}
.reports-v531>.report-workspace-sidebar{display:none!important}
.reports-v531 .report-workspace-content{
  max-width:1220px;
  margin:0 auto;
  padding:16px;
  border-radius:18px;
  background:#F5ECCD;
  color:var(--v531-ink);
}
.reports-v531-mobile{display:none}
.reports-v531-desktop{display:block}
.reports-v531-legacy{display:none!important}
.reports-v531 .up{color:#25894d!important}
.reports-v531 .down{color:#b54d3e!important}
.reports-v531 .neutral{color:#8a949a!important}

.reports-v531-desktop-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px
}
.reports-v531-desktop-head h1{margin:0;color:var(--v531-ink);font-size:1.5rem}
.reports-v531-desktop-head p{margin:3px 0 0;color:#69767e;font-size:.62rem}
.reports-v531-desktop-actions{display:flex;align-items:center;gap:8px}
.reports-v531-range-card{
  display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 8px;align-items:center;
  padding:10px 12px;border:1px solid var(--v531-line);border-radius:11px;background:#fff;
  color:var(--v531-ink);text-decoration:none
}
.reports-v531-range-card span{grid-row:1/3;color:var(--v531-orange);font-size:1rem}
.reports-v531-range-card strong{font-size:.58rem;white-space:nowrap}
.reports-v531-range-card small{color:#7c878d;font-size:.43rem}
.reports-v531-range-card.compact{min-width:280px;padding:8px 10px}
.reports-v531-top-tabs{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:10px;padding:4px;
  border:1px solid var(--v531-line);border-radius:10px;background:#fff
}
.reports-v531-top-tabs a{
  padding:8px 6px;border-radius:7px;color:#53616a;text-align:center;text-decoration:none;
  font-size:.47rem;font-weight:900;white-space:nowrap
}
.reports-v531-top-tabs a.active{background:var(--v531-orange);color:#fff}
.reports-v531-desktop-kpis{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px
}
.reports-v531-desktop-kpis article{
  min-width:0;padding:12px;border:1px solid var(--v531-line);border-radius:10px;background:#fff
}
.reports-v531-desktop-kpis span,.reports-v531-desktop-kpis strong,.reports-v531-desktop-kpis small{display:block}
.reports-v531-desktop-kpis span{color:#6d7980;font-size:.44rem;font-weight:900}
.reports-v531-desktop-kpis strong{margin-top:5px;color:var(--v531-ink);font-size:.88rem}
.reports-v531-desktop-kpis small{margin-top:4px;font-size:.43rem;font-weight:900}
.reports-v531-desktop-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(235px,.72fr);gap:10px;margin-bottom:10px}
.reports-v531-panel{padding:13px;border:1px solid var(--v531-line);border-radius:11px;background:#fff;color:var(--v531-ink)}
.reports-v531-panel h2{margin:0;color:var(--v531-ink);font-size:.68rem}
.reports-v531-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.reports-v531-desktop-bars,.reports-v531-bars{
  display:flex;align-items:flex-end;gap:3px;height:180px;margin-top:12px;padding:8px 7px 0;
  border-bottom:1px solid #d9cfba;background:linear-gradient(to bottom,rgba(224,90,36,.02),rgba(224,90,36,.00))
}
.reports-v531-desktop-bars i,.reports-v531-bars i{
  flex:1;min-width:2px;max-width:20px;border-radius:2px 2px 0 0;background:var(--v531-orange)
}
.reports-v531-chart-axis{display:flex;justify-content:space-between;margin-top:5px;color:#79848a;font-size:.4rem}
.reports-v531-frequency{display:flex;gap:4px}
.reports-v531-frequency>*{padding:7px 13px;border-radius:7px;color:#627078;text-decoration:none;font-size:.44rem;font-weight:900;background:#f5f2ea}
.reports-v531-frequency .active{background:var(--v531-orange);color:#fff}
.reports-v531-frequency.small>*{padding:5px 9px;font-size:.4rem}
.reports-v531-panel.summary>div{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:7px 0;border-bottom:1px solid #e9e0cf;align-items:center}
.reports-v531-panel.summary>div:last-child{border-bottom:0}
.reports-v531-panel.summary span{color:#66747c;font-size:.43rem}
.reports-v531-panel.summary strong{font-size:.48rem;color:var(--v531-ink)}
.reports-v531-panel.summary small{font-size:.4rem;font-weight:900}
.reports-v531-table{margin-top:8px;overflow:hidden;border:1px solid #e0d6c3;border-radius:8px}
.reports-v531-table>.head,.reports-v531-table>a{display:grid;grid-template-columns:1.1fr .55fr 1.25fr .9fr .7fr .7fr .65fr;gap:6px;align-items:center;padding:7px 9px}
.reports-v531-table>.head{background:#f5efe3;color:#6c7980;font-size:.39rem;font-weight:950}
.reports-v531-table>a{border-top:1px solid #eee6d7;color:#45535c;text-decoration:none;font-size:.42rem}
.reports-v531-table>a span:nth-child(4){color:#25894d;font-weight:900}
.reports-v531-panel.quick{display:grid;align-content:start;gap:6px}
.reports-v531-panel.quick a,.reports-v531-panel.quick button{
  display:flex;align-items:center;min-height:35px;padding:8px 10px;border:0;border-radius:8px;background:#f6f2e9;
  color:#31404a;text-decoration:none;font:inherit;font-size:.44rem;font-weight:900;cursor:pointer
}

/* phone Reports screens */
.reports-v531-mobile-title{text-align:center;margin:0 0 9px}
.reports-v531-mobile-title h1,.reports-v531-mobile-subhead h1{margin:0;color:var(--v531-ink);font-size:1.12rem}
.reports-v531-mobile-title p{margin:3px 0 0;color:#78848b;font-size:.56rem}
.reports-v531-range-row{
  display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;margin-bottom:8px;padding:11px 12px;
  border:1px solid var(--v531-line);border-radius:10px;background:#fff;color:var(--v531-ink);text-decoration:none
}
.reports-v531-range-row span{color:#2464b8}.reports-v531-range-row strong{font-size:.58rem}.reports-v531-range-row b{color:#8b969c}
.reports-v531-mobile-menu{display:grid;gap:7px}
.reports-v531-mobile-menu>a{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--v531-line);border-radius:10px;background:#fff;color:var(--v531-ink);text-decoration:none}
.reports-v531-mobile-menu i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;font-style:normal;font-size:.7rem;font-weight:950}
.reports-v531-mobile-menu i.blue{background:#2d79d9}.reports-v531-mobile-menu i.green{background:#22a567}.reports-v531-mobile-menu i.orange{background:#ef7b25}.reports-v531-mobile-menu i.purple{background:#7a55cc}.reports-v531-mobile-menu i.red{background:#e65242}.reports-v531-mobile-menu i.gold{background:#d99b26}
.reports-v531-mobile-menu span strong,.reports-v531-mobile-menu span small{display:block}.reports-v531-mobile-menu span strong{font-size:.62rem}.reports-v531-mobile-menu span small{margin-top:2px;color:#7d888e;font-size:.45rem}.reports-v531-mobile-menu b{color:#87939a}
.reports-v531-mobile-subhead{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:10px;text-align:center}
.reports-v531-mobile-subhead>a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--v531-line);border-radius:9px;background:#fff;color:#26343e;text-decoration:none;font-size:1.1rem}
.reports-v531-date-tabs,.reports-v531-trend-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;padding:4px;border:1px solid var(--v531-line);border-radius:10px;background:#fff}
.reports-v531-trend-tabs{grid-template-columns:repeat(4,1fr)}
.reports-v531-date-tabs>* , .reports-v531-trend-tabs>*{padding:9px 5px;border-radius:7px;color:#5c6971;text-align:center;text-decoration:none;font-size:.48rem;font-weight:900}
.reports-v531-date-tabs .active,.reports-v531-trend-tabs .active{background:var(--v531-orange);color:#fff}
.reports-v531-date-form{display:grid;gap:10px;padding:13px;border:1px solid var(--v531-line);border-radius:12px;background:#fff}
.reports-v531-date-form label{display:grid;gap:5px;color:#50606a;font-size:.51rem;font-weight:900}
.reports-v531-date-form input{min-height:44px;background:#fff;border:1px solid #d8ceb9;color:var(--v531-ink);font-size:16px}
.reports-v531-select-link{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 11px;border:1px solid #d8ceb9;border-radius:8px;color:#31404a;text-decoration:none;font-size:.54rem}
.reports-v531-range-card{margin-bottom:9px}
.reports-v531-mobile-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reports-v531-mobile-kpis article{padding:12px;border:1px solid var(--v531-line);border-radius:10px;background:#fff}
.reports-v531-mobile-kpis article.wide{grid-column:1/-1}
.reports-v531-mobile-kpis span,.reports-v531-mobile-kpis strong,.reports-v531-mobile-kpis small{display:block}
.reports-v531-mobile-kpis span{color:#68767e;font-size:.49rem;font-weight:900}
.reports-v531-mobile-kpis strong{margin-top:5px;color:var(--v531-ink);font-size:1rem}
.reports-v531-mobile-kpis small{margin-top:5px;font-size:.46rem;font-weight:950}
.reports-v531-mobile-chart-card{padding:13px;border:1px solid var(--v531-line);border-radius:11px;background:#fff}
.reports-v531-mobile-chart-card>strong{display:block;color:#10213a;font-size:1.45rem}
.reports-v531-mobile-chart-card>small{display:block;margin-top:3px;font-size:.48rem;font-weight:900}
.reports-v531-bars{height:210px;gap:4px;margin-top:15px}
.reports-v531-frequency{margin:9px 0;display:grid;grid-template-columns:repeat(3,1fr)}
.reports-v531-frequency>*{text-align:center}
.reports-v531-average-card{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:13px;border:1px solid var(--v531-line);border-radius:10px;background:#fff}
.reports-v531-average-card span{color:#68767e;font-size:.5rem}.reports-v531-average-card strong{grid-row:2;color:var(--v531-ink);font-size:1rem}.reports-v531-average-card small{grid-column:2;grid-row:2;font-size:.48rem;font-weight:950}
.reports-v531-market-list{display:grid;gap:8px}
.reports-v531-market-list article{display:grid;grid-template-columns:13px 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid var(--v531-line);border-radius:10px;background:#fff}
.reports-v531-market-list .market-dot{width:12px;height:12px;border-radius:50%;background:#2d79d9}.reports-v531-market-list .market-dot.c1{background:#35a866}.reports-v531-market-list .market-dot.c2{background:#ef8a2e}.reports-v531-market-list .market-dot.c3{background:#7958c8}.reports-v531-market-list .market-dot.c4{background:#9ba3a7}
.reports-v531-market-list div strong{display:block;color:#1a2935;font-size:.57rem}.reports-v531-market-list div span{display:block;height:6px;margin-top:6px;overflow:hidden;border-radius:99px;background:#dce0df}.reports-v531-market-list div b{display:block;height:100%;border-radius:99px;background:var(--v531-orange)}
.reports-v531-market-list em{color:#1c2b36;text-align:right;font-size:.56rem;font-style:normal;font-weight:950}.reports-v531-market-list em small{display:block;margin-top:3px;color:#839097;font-size:.43rem}

@media(max-width:720px){
  .reports-v531{padding:0!important}
  .reports-v531 .report-workspace-content{padding:10px 12px calc(88px + env(safe-area-inset-bottom,0px));border-radius:0;background:#F7F1E4;min-height:calc(100vh - 68px)}
  .reports-v531-mobile{display:block}
  .reports-v531-desktop{display:none!important}
  .reports-v531>.report-workspace-sidebar{display:none!important}
}
@media(min-width:721px) and (max-width:1180px){
  .reports-v531 .report-workspace-content{max-width:1040px;padding:14px}
  .reports-v531-desktop-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
  .reports-v531-desktop-grid{grid-template-columns:minmax(0,1.65fr) minmax(220px,.65fr)}
  .reports-v531-top-tabs a{font-size:.43rem;padding-left:3px;padding-right:3px}
  .reports-v531-table>.head,.reports-v531-table>a{grid-template-columns:1.05fr .5fr 1fr .85fr .65fr .65fr .6fr}
}
@media(min-width:1181px){
  .reports-v531 .report-workspace-content{max-width:1280px}
}
@media print{
  .reports-v531 .bottom-nav,.reports-v531 .app-header,.reports-v531 .app-version-footer{display:none!important}
  .reports-v531 .report-workspace-content{max-width:none!important;background:#fff!important}
}


/* ==============================================================
   v5.31.1 — Desktop Workspace Shell Correction
   Approved preview contract: full-width desktop workspace, fixed rail,
   no oversized outer page card. Modules retain their own boundaries.
   Desktop-only; phone and iPad layouts are unchanged.
   ============================================================== */
@media (min-width:1181px){
  /* Shared desktop canvas: occupy every usable pixel to the right of the rail. */
  html.sho-desktop .app-shell{
    box-sizing:border-box!important;
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 44px!important;
  }

  /* Session: the cream workspace itself is the canvas, not a centered card. */
  html.sho-desktop .session-v5282 .session-page{
    box-sizing:border-box!important;
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    min-height:calc(100vh - var(--desktop-header-height))!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 44px!important;
    border-radius:0!important;
    background:var(--hd-vintage-cream,#F2E7C7)!important;
  }
  html.sho-desktop .session-v5283 .session-workspace-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  html.sho-desktop .session-v5283 .v5282-datebar,
  html.sho-desktop .session-v5283 .v5282-session-tabs-shell{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  html.sho-desktop .session-v5283 .v5283-wrap-workspace{
    grid-template-columns:minmax(0,1.9fr) minmax(300px,.72fr)!important;
  }

  /* Challenges: remove the outer rounded cream card and let the internal
     list/detail modules define the visual structure. */
  html.sho-desktop .challenge-v529-body .challenge-workspace-page,
  html.sho-desktop .challenge-v529-body .challenge-report-v529{
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 44px!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:var(--v529-cream,#F2E7C7)!important;
  }
  html.sho-desktop .challenge-v529-body .challenge-workspace-nav-shell,
  html.sho-desktop .challenge-v529-body .v529-challenge-workspace-grid,
  html.sho-desktop .challenge-v529-body .v529-challenge-empty-state,
  html.sho-desktop .challenge-v529-body .v529-challenge-insight-strip,
  html.sho-desktop .challenge-v529-body .v529-create-challenge,
  html.sho-desktop .challenge-history-v529 .challenge-history-current-link,
  html.sho-desktop .challenge-history-v529 .v529-history-tools,
  html.sho-desktop .challenge-history-v529 .section-head,
  html.sho-desktop .challenge-history-v529 .challenge-card-list,
  html.sho-desktop .challenge-performance-v529 .challenge-performance-empty{
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  html.sho-desktop .challenge-v529-body .v529-challenge-workspace-grid{
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.55fr)!important;
  }

  /* History: full workspace background; browser/detail cards stay modular. */
  html.sho-desktop .history-v530-page{
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 44px!important;
    border-radius:0!important;
    background:var(--v530-cream,#F2E7C7)!important;
  }
  html.sho-desktop .history-v530-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.sho-desktop .history-v530-workspace{
    grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;
  }
  html.sho-desktop .history-session-detail-v530{
    max-width:none!important;
  }

  /* Reports: remove the centered cream wrapper. The full desktop workspace
     is cream, while charts/KPIs/tables remain individual white modules. */
  html.sho-desktop .reports-v531{
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 44px!important;
    border-radius:0!important;
    background:#F5ECCD!important;
  }
  html.sho-desktop .reports-v531 .report-workspace-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.sho-desktop .reports-v531-desktop-grid{
    grid-template-columns:minmax(0,2.45fr) minmax(280px,.65fr)!important;
  }
}


/* ==============================================================
   v5.32.0 — Export Studio / Data Export Redesign
   Data-only export workspace + Reports desktop inner-grid correction.
   ============================================================== */
:root{
  --v532-orange:#E05A24;
  --v532-cream:#F2E7C7;
  --v532-navy:#1B2A3A;
  --v532-black:#0E0E0F;
  --v532-gold:#B99A3C;
  --v532-line:#D8CDB5;
  --v532-ink:#17212B;
}
.export-studio-v532-body{background:#0E0E0F}
.export-studio-v532{background:var(--v532-cream);color:var(--v532-ink);min-height:calc(100vh - 68px);padding:16px}
.export-v532-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 auto 14px;max-width:1440px}
.export-v532-head h1{margin:2px 0 0;color:var(--v532-ink);font-size:1.45rem}.export-v532-head p{margin:4px 0 0;color:#68747c;font-size:.62rem}
.export-v532-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:1440px;margin:0 auto 14px}
.export-v532-presets>a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid var(--v532-line);border-radius:12px;background:#fffdf8;color:var(--v532-ink);text-decoration:none}
.export-v532-presets>a.active{border-color:#e98d66;background:#fff3e8;box-shadow:inset 0 0 0 1px rgba(224,90,36,.15)}
.export-v532-presets>a>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#182630;color:#f2e7c7;font-weight:950}.export-v532-presets>a.active>span{background:var(--v532-orange)}
.export-v532-presets strong,.export-v532-presets small{display:block}.export-v532-presets strong{font-size:.57rem}.export-v532-presets small{grid-column:2;color:#7c878d;font-size:.43rem;line-height:1.35}
.export-v532-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:12px;max-width:1440px;margin:0 auto 14px}.export-v532-workspace>.card,.export-v532-specialists{border-color:var(--v532-line)!important;background:#fffdf8!important;color:var(--v532-ink)!important}
.export-v532-builder,.export-v532-preview{padding:15px}.export-v532-builder h2,.export-v532-preview h2,.export-v532-specialists h2{color:var(--v532-ink)!important}
.export-v532-form{display:grid;gap:12px}.export-v532-two-col{display:grid;grid-template-columns:1fr 1fr;gap:9px}.export-v532-form label{color:#55636c;font-size:.5rem;font-weight:900}.export-v532-form input[type=date]{margin-top:5px;min-height:44px;background:#fff;color:var(--v532-ink);border:1px solid var(--v532-line);font-size:16px}
.export-v532-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border:0;padding:0;margin:0}.export-v532-choice legend,.export-v532-checks legend{margin-bottom:7px;color:#46545d;font-size:.5rem;font-weight:950}.export-v532-choice label{position:relative}.export-v532-choice input{position:absolute;opacity:0;pointer-events:none}.export-v532-choice span{display:block;padding:11px;border:1px solid var(--v532-line);border-radius:10px;background:#fbf6ea;text-align:center}.export-v532-choice input:checked+span{border-color:var(--v532-orange);background:#fff1e6;box-shadow:inset 0 0 0 1px var(--v532-orange)}.export-v532-choice b,.export-v532-choice small{display:block}.export-v532-choice b{color:var(--v532-ink);font-size:.58rem}.export-v532-choice small{margin-top:3px;color:#7a858b;font-size:.43rem}
.export-v532-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:0;padding:0;margin:0}.export-v532-checks label{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--v532-line);border-radius:9px;background:#fbf6ea}.export-v532-checks input{accent-color:var(--v532-orange)}.export-v532-checks.compact{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:9px}
.export-v532-columns{border:1px solid var(--v532-line);border-radius:10px;background:#fbf6ea}.export-v532-columns summary{display:flex;justify-content:space-between;gap:10px;padding:11px;cursor:pointer;color:var(--v532-ink);font-size:.54rem;font-weight:950}.export-v532-columns summary span{color:#7a858b;font-size:.43rem;font-weight:700}.export-v532-columns>div{padding:0 10px 10px}
.export-v532-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.export-v532-kpis article{padding:10px;border:1px solid var(--v532-line);border-radius:9px;background:#fbf6ea}.export-v532-kpis span,.export-v532-kpis strong{display:block}.export-v532-kpis span{color:#768188;font-size:.43rem;font-weight:900}.export-v532-kpis strong{margin-top:4px;color:var(--v532-ink);font-size:.76rem}
.export-v532-preview-table{margin-top:12px;border:1px solid var(--v532-line);border-radius:10px;overflow:hidden}.export-v532-preview-table>.head,.export-v532-preview-table>div:not(.empty){display:grid;grid-template-columns:1.1fr .9fr .7fr .65fr;gap:8px;padding:8px 10px}.export-v532-preview-table>.head{background:#f5efe3;color:#6e7980;font-size:.42rem;font-weight:950}.export-v532-preview-table>div:not(.head):not(.empty){border-top:1px solid #ebe1cf;color:#526069;font-size:.46rem}.export-v532-preview-table strong{color:#26874d}.export-v532-preview-note{margin:10px 1px 0;font-size:.46rem;line-height:1.45}
.export-v532-specialists{max-width:1440px;margin:0 auto;padding:14px;border:1px solid var(--v532-line);border-radius:13px}.export-v532-special-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.export-v532-special-grid>a{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:11px;border:1px solid var(--v532-line);border-radius:10px;background:#fbf6ea;color:var(--v532-ink);text-decoration:none}.export-v532-special-grid strong{font-size:.55rem}.export-v532-special-grid small{color:#7b868c;font-size:.43rem;line-height:1.35}.export-v532-special-grid b{grid-column:2;grid-row:1/3;align-self:center;color:var(--v532-orange);font-size:.9rem}

@media(max-width:720px){
  .export-studio-v532{padding:10px 12px calc(90px + env(safe-area-inset-bottom,0px));background:#f7f1e4}.export-v532-head{align-items:center;margin-bottom:10px}.export-v532-head .btn{display:none}.export-v532-head h1{font-size:1.12rem}.export-v532-head p{font-size:.53rem}
  .export-v532-presets{grid-template-columns:1fr;gap:7px}.export-v532-presets>a{grid-template-columns:32px 1fr auto}.export-v532-presets small{grid-column:2}.export-v532-presets>a:after{content:'›';grid-column:3;grid-row:1/3;align-self:center;color:#8a9499}
  .export-v532-workspace{grid-template-columns:1fr}.export-v532-preview{order:-1}.export-v532-preview-table{display:none}.export-v532-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.export-v532-two-col{grid-template-columns:1fr}.export-v532-choice{grid-template-columns:repeat(3,1fr)}.export-v532-checks,.export-v532-checks.compact{grid-template-columns:1fr 1fr}.export-v532-special-grid{grid-template-columns:1fr}
}
@media(min-width:721px) and (max-width:1180px){
  .export-v532-workspace{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.export-v532-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.export-v532-special-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1181px){
  html.sho-desktop .export-studio-v532{box-sizing:border-box;width:calc(100% - var(--desktop-rail-width));max-width:none;margin-left:var(--desktop-rail-width);margin-right:0;padding:20px 24px 44px;min-height:calc(100vh - var(--desktop-header-height));}
  html.sho-desktop .export-v532-head,html.sho-desktop .export-v532-presets,html.sho-desktop .export-v532-workspace,html.sho-desktop .export-v532-specialists{max-width:none;margin-left:0;margin-right:0}
  html.sho-desktop .export-v532-workspace{grid-template-columns:minmax(0,1.55fr) minmax(390px,.65fr)}
  /* Reports v5.31.x bug: the legacy hidden report sidebar still reserved 270px. */
  html.sho-desktop .reports-page.reports-v531{display:block!important;grid-template-columns:none!important;gap:0!important;}
  html.sho-desktop .reports-page.reports-v531>.report-workspace-content{grid-column:auto!important;width:100%!important;max-width:none!important;}
}

/* v5.32.0 visual-QA corrections caught before packaging. */
.export-v532-form input[type="date"]{
  background:#FFFDF8!important;
  color:var(--v532-ink)!important;
  border-color:var(--v532-line)!important;
  color-scheme:light;
}
@media(max-width:720px){
  .export-v532-preview{order:0}
}

/* ==============================================================
   v5.33.0 — Today + Session Redesign Fidelity Pass
   Approved exact-screen previews are the visual source of truth.
   Presentation-only: no delivery/shift/challenge/GPS calculation changes.
   ============================================================== */

/* ---------- TODAY ---------- */
.today-v5330 .today-v5330-workspace{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.today-v5330 .today-date-context{
  margin:0;
  padding:2px 2px 8px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.today-v5330 .today-date-context .eyebrow{display:none}
.today-v5330 .today-date-context strong{font-size:1rem;color:var(--hd-vintage-cream)}
.today-v5330 .today-date-calendar{width:38px;height:38px;min-width:38px;border-radius:11px}

.today-v5330-shift-card{
  padding:0!important;
  overflow:hidden;
  border:1px solid #d7cdb8!important;
  border-radius:16px!important;
  background:#fffdf7!important;
  color:#17212b!important;
  box-shadow:0 9px 24px rgba(0,0,0,.13)!important;
}
.today-v5330-state{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:40px;padding:8px 12px;color:#fff;font-size:.68rem;font-weight:900;
}
.today-v5330-state span{letter-spacing:.04em}
.today-v5330-state strong{font-size:.7rem;color:inherit}
.today-v5330-state.working{background:#258a58}
.today-v5330-state.break{background:#d79e2b;color:#17212b}
.today-v5330-state.complete{background:#69757d}
.today-v5330-primary-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e7dec9;
  border-bottom:1px solid #e2d8c4;
}
.today-v5330-primary-grid article{padding:14px 13px;background:#fffdf7;min-width:0}
.today-v5330-primary-grid span,.today-v5330-primary-grid strong{display:block}
.today-v5330-primary-grid span{color:#6f7a81;font-size:.64rem;font-weight:800}
.today-v5330-primary-grid strong{margin-top:4px;color:#17212b;font-size:1.18rem;line-height:1.05}
.today-v5330-primary-grid article:first-child strong{color:#258a58}
.today-v5330-efficiency-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#ebe2cf;
}
.today-v5330-efficiency-grid article{padding:10px 12px;background:#fffdf7;min-width:0}
.today-v5330-efficiency-grid span,.today-v5330-efficiency-grid strong{display:block}
.today-v5330-efficiency-grid span{color:#7b858c;font-size:.58rem;font-weight:750}
.today-v5330-efficiency-grid strong{margin-top:3px;color:#17212b;font-size:.91rem}
.today-v5330-shift-card .today-live-status-row{margin:0!important;padding:8px 10px!important;border-top:1px solid #eee4d1!important;background:#faf6eb}
.today-v5330-shift-card .today-refresh-status,.today-v5330-shift-card .today-wake-status{
  color:#69757d!important;border-color:#d9cfb8!important;background:#fffdf7!important;
}

.today-v5330-off-card{
  padding:20px 16px 14px!important;
  border:1px solid #d8cfbc!important;
  border-radius:16px!important;
  background:#fffdf7!important;color:#17212b!important;text-align:center!important;
  box-shadow:0 9px 24px rgba(0,0,0,.14)!important;
}
.today-v5330-off-icon{width:62px;height:62px;margin:0 auto 10px;display:grid;place-items:center;border-radius:16px;background:#f5f0e5;color:#1b2a3a}
.today-v5330-off-icon svg{width:38px;height:38px}
.today-v5330-off-card>strong{display:block;font-size:1.02rem}
.today-v5330-off-card>small{display:block;margin:4px 0 14px;color:#738087}
.today-v5330-off-card .btn{text-transform:none}
.today-v5330-goal-card{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;
  padding:12px 13px;border:1px solid #d9cfbb;border-radius:14px;background:#fffdf7;color:#17212b;text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.today-v5330-goal-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff0e8;color:#e05a24;font-weight:900}
.today-v5330-goal-card small,.today-v5330-goal-card strong{display:block}
.today-v5330-goal-card small{color:#78838a;font-size:.62rem;font-weight:800}
.today-v5330-goal-card strong{margin-top:2px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-v5330-goal-card>b{color:#7d878d;font-size:1.2rem}

.today-v5330 .today-v5330-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.today-v5330 .today-v5330-quick-actions .quick-link{
  min-width:0;padding:11px;border:1px solid #d9cfbb;border-radius:13px;background:#fffdf7;color:#17212b;box-shadow:0 5px 14px rgba(0,0,0,.07)
}
.today-v5330 .today-v5330-quick-actions .quick-link>span{color:#e05a24}
.today-v5330 .today-v5330-quick-actions .quick-link b{color:#17212b;font-size:.72rem}
.today-v5330 .today-v5330-quick-actions .quick-link small{color:#7b858b;font-size:.56rem}

.today-v5330 .today-challenges,
.today-v5330 .today-gps-strip,
.today-v5330 .today-active-delivery-card,
.today-v5330 .shift-controls,
.today-v5330 .delivery-row,
.today-v5330 .empty{
  border-color:#d9cfbb!important;background:#fffdf7!important;color:#17212b!important;
}
.today-v5330 .today-challenges h2,.today-v5330 .today-challenge-top strong,.today-v5330 .delivery-row strong{color:#17212b!important}
.today-v5330 .today-challenge-top small,.today-v5330 .delivery-row small,.today-v5330 .muted{color:#748087!important}
.today-v5330 .today-challenge-item{background:#faf6eb!important;border-color:#e4dac5!important}
.today-v5330 .today-challenge-money b{color:#17212b!important}
.today-v5330 .today-active-delivery-card input,
.today-v5330 .today-active-delivery-card select,
.today-v5330 .today-active-delivery-card textarea,
.today-v5330 .shift-controls input{
  background:#fff!important;color:#17212b!important;border-color:#d0c5ae!important;
}
.today-v5330 .shift-controls{padding:12px;border:1px solid #d9cfbb;border-radius:14px}
.today-v5330 .end-shift-safety-zone{background:#fff8f7!important;border-color:#e8c8c5!important}
.today-v5330 .end-shift-safety-label{color:#9a625e!important}
.today-v5330 .delivery-section-head h2{color:var(--hd-vintage-cream)}

/* Control the mobile visual order to match the approved state previews. */
.today-v5330 .today-date-context{order:1}
.today-v5330 .today-v5330-shift-card{order:2}
.today-v5330 .today-shift-launch-card{order:2}
.today-v5330 .today-v5330-goal-card{order:3}
.today-v5330 .today-active-delivery-card{order:3}
.today-v5330 .shift-controls{order:4}
.today-v5330 .today-v5330-quick-actions{order:5}
.today-v5330 .today-challenges{order:6}
.today-v5330 .today-gps-strip{order:7}
.today-v5330 .recap-cta{order:8}
.today-v5330 .delivery-section-head{order:9}
.today-v5330 .bulk-delivery-form,.today-v5330 .delivery-list,.today-v5330>.empty{order:10}

@media(max-width:767px){
  .today-v5330 .app-header{min-height:62px!important}
  .today-v5330 .today-v5330-workspace{padding:10px 12px 92px!important;background:#0f1418!important}
  .today-v5330 .today-date-context{padding:0 2px 3px!important}
  .today-v5330 .today-date-context strong{font-size:.76rem!important;color:#9ba4aa!important}
  .today-v5330 .today-date-calendar{display:none!important}
  .today-v5330 .today-state-off .today-date-context strong::before{content:"Today\A";white-space:pre;color:#f2e7c7;font-size:1.08rem;line-height:1.6}
  .today-v5330 .today-state-working .today-date-context strong::before,
  .today-v5330 .today-state-break .today-date-context strong::before{content:"Today\A";white-space:pre;color:#f2e7c7;font-size:1.08rem;line-height:1.6}
  .today-v5330 .today-gps-strip{padding:11px 12px!important}
  .today-v5330 .today-gps-strip span{color:#e05a24!important}
  .today-v5330 .today-gps-strip strong{color:#17212b!important}
  .today-v5330 .today-gps-strip small{color:#758088!important}
  .today-v5330 .today-active-delivery-card{padding:13px!important}
  .today-v5330 .today-active-delivery-card .delivery-timing-panel{background:#faf6eb!important;border-color:#e6dcc8!important}
  .today-v5330 .today-active-delivery-card label{color:#5f6b73!important}
  .today-v5330 .delivery-section-head{margin-top:8px}
}

@media(min-width:768px){
  .today-v5330 .today-v5330-workspace{background:#f8f4ea;color:#17212b;border-radius:18px}
  .today-v5330 .today-date-context strong{color:#17212b}
  .today-v5330 .delivery-section-head h2{color:#17212b}
  .today-v5330 .today-v5330-primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .today-v5330 .today-v5330-efficiency-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(min-width:1181px){
  html.sho-desktop .today-v5330 .today-v5330-workspace{
    box-sizing:border-box!important;width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;margin-right:0!important;padding:20px 24px 44px!important;
    border-radius:0!important;background:#f8f4ea!important;
    display:grid!important;grid-template-columns:minmax(0,1.9fr) minmax(320px,.65fr)!important;gap:14px!important;align-items:start!important;
  }
  html.sho-desktop .today-v5330 .today-date-context,
  html.sho-desktop .today-v5330 .today-v5330-shift-card,
  html.sho-desktop .today-v5330 .today-shift-launch-card{grid-column:1/-1!important}
  html.sho-desktop .today-v5330 .today-v5330-quick-actions{grid-column:2;grid-row:3}
  html.sho-desktop .today-v5330 .today-challenges{grid-column:1}
  html.sho-desktop .today-v5330 .today-gps-strip{grid-column:2}
  html.sho-desktop .today-v5330 .today-active-delivery-card{grid-column:2;grid-row:4/span 2}
  html.sho-desktop .today-v5330 .shift-controls{grid-column:2}
  html.sho-desktop .today-v5330 .delivery-section-head{grid-column:1}
  html.sho-desktop .today-v5330 .bulk-delivery-form,
  html.sho-desktop .today-v5330 .delivery-list,
  html.sho-desktop .today-v5330>.empty{grid-column:1}
}

/* ---------- SESSION ---------- */
.session-v5330 .session-v5330-checklist{
  margin-bottom:12px;padding:14px;border:1px solid #dfd5c0;border-radius:14px;background:#fffdf7;color:#17212b;
}
.session-v5330-checklist-head strong,.session-v5330-checklist-head small{display:block}
.session-v5330-checklist-head strong{font-size:.92rem}
.session-v5330-checklist-head small{margin-top:3px;color:#78838a;font-size:.63rem}
.session-v5330-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.session-v5330-checklist-grid span{
  position:relative;min-height:35px;display:flex;align-items:center;padding:7px 9px 7px 32px;border:1px solid #e1d7c3;border-radius:10px;background:#faf6eb;color:#69757d;font-size:.66rem;font-weight:750;
}
.session-v5330-checklist-grid span::before{
  content:"";position:absolute;left:10px;width:13px;height:13px;border:1.5px solid #879299;border-radius:50%;background:#fff;
}
.session-v5330-checklist-grid span.done{color:#1d5f3b}
.session-v5330-checklist-grid span.done::before{content:"✓";display:grid;place-items:center;border-color:#4ba875;background:#4ba875;color:white;font-size:.55rem;font-weight:900}

.session-v5330 .v5282-datebar,
.session-v5330 .v5282-session-tabs-shell{box-shadow:none!important}
.session-v5330 .v5282-datebar{border-color:#ded3bd!important;background:#fffdf7!important;color:#17212b!important}
.session-v5330 .session-date-current strong{color:#17212b!important}
.session-v5330 .session-date-context-label{color:#e05a24!important;background:#fff0e8!important;border-color:#edb99f!important}
.session-v5330 .session-date-step,
.session-v5330 .v5282-calendar-picker label{background:#fffdf7!important;color:#17212b!important;border-color:#d8cdb7!important}
.session-v5330 .v5282-session-tabs-shell{background:#fffdf7!important;border-color:#ded3bd!important}
.session-v5330 .session-tabs .workflow-step{color:#647078!important;background:transparent!important}
.session-v5330 .session-tabs .workflow-step.active{color:#fff!important;background:#e05a24!important;border-color:#ee7542!important}
.session-v5330 .session-tabs .workflow-step.active .workflow-copy b{color:#fff!important}

.session-v5330 .session-prep-card,
.session-v5330 .workday-timeline-card,
.session-v5330 .workday-fix-panel,
.session-v5330 .shift-row,
.session-v5330 .v5283-wrap-main,
.session-v5330 .session-maintenance{
  border-color:#ded3bd!important;background:#fffdf7!important;color:#17212b!important;box-shadow:none!important;
}
.session-v5330 .session-prep-card strong,
.session-v5330 .workday-timeline-card strong,
.session-v5330 .shift-row strong{color:#17212b!important}
.session-v5330 .session-prep-card small,
.session-v5330 .workday-timeline-card small,
.session-v5330 .shift-row small{color:#778188!important}
.session-v5330 .session-prep-card input,
.session-v5330 .session-prep-card select,
.session-v5330 .session-prep-card textarea{background:#fff!important;color:#17212b!important;border-color:#d2c7b0!important}
.session-v5330 .readout-field{background:#faf6eb!important;border-color:#dfd5c0!important;color:#17212b!important}
.session-v5330 .readout-field span{color:#6d7880!important}
.session-v5330 .readout-field strong{color:#17212b!important}
.session-v5330 .readout-field small{color:#8a9297!important}

.session-v5330 .workday-summary-grid>div{background:#fffdf7!important;border-color:#ddd2bd!important}
.session-v5330 .workday-summary-grid span{color:#78838a!important}
.session-v5330 .workday-summary-grid strong{color:#17212b!important}
.session-v5330 .workday-event-list{background:#fffdf7!important}
.session-v5330 .workday-event{border-bottom-color:#ece2cf!important}
.session-v5330 .workday-event time{color:#53616a!important}
.session-v5330 .workday-event>div strong{color:#17212b!important}

@media(max-width:767px){
  .session-v5330 .session-page{background:#f8f4ea!important;padding-left:10px!important;padding-right:10px!important}
  .session-v5330 .v5282-datebar{margin-top:0!important}
  .session-v5330 .session-v5330-checklist-grid{grid-template-columns:1fr!important}
  .session-v5330 .session-prep-layout{display:block!important}
  .session-v5330 .session-prep-card{margin-bottom:10px!important}
  .session-v5330 .session-prep-card-head small{font-size:.58rem!important}
  .session-v5330 .workday-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .session-v5330 .workday-timeline-overview{display:block!important}
  .session-v5330 .workday-fix-panel{margin-top:10px!important}
}

@media(min-width:768px){
  .session-v5330 .session-page{background:#f8f4ea!important}
  .session-v5330 .session-prep-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .session-v5330 .session-v5330-checklist{grid-column:1/-1}
}

@media(min-width:1181px){
  html.sho-desktop .session-v5330 .session-page{
    width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;margin-left:var(--desktop-rail-width)!important;margin-right:0!important;
    padding:20px 24px 44px!important;border-radius:0!important;background:#f8f4ea!important;
  }
  html.sho-desktop .session-v5330 .session-workspace-content{width:100%!important;max-width:none!important;margin:0!important}
  html.sho-desktop .session-v5330 .v5282-datebar,
  html.sho-desktop .session-v5330 .v5282-session-tabs-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
  html.sho-desktop .session-v5330 .session-prep-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important}
  html.sho-desktop .session-v5330 .workday-timeline-overview{grid-template-columns:minmax(0,1.7fr) minmax(320px,.58fr)!important;gap:14px!important}
  html.sho-desktop .session-v5330 .v5283-wrap-workspace{grid-template-columns:minmax(0,1.75fr) minmax(300px,.65fr)!important}
}

/* v5.33.0 render-gate corrections */
@media(max-width:767px){
  .today-v5330 .brand-wordmark{display:block!important;width:108px!important;max-height:30px!important;object-position:center!important}
  .today-v5330 .header-page-context{display:none!important}
  .today-v5330 .brand-logo{display:none!important}
  .today-v5330 .header-identity{justify-content:center!important}
  .today-v5330 .header-leading{width:100%!important;justify-content:center!important}
  .today-v5330 .today-date-context strong::before{content:"Today\A"!important;white-space:pre!important;color:#f2e7c7!important;font-size:1.08rem!important;line-height:1.6!important}

  .session-v5330 .brand-wordmark{display:block!important;width:108px!important;max-height:30px!important;object-position:center!important}
  .session-v5330 .header-page-context{display:none!important}
  .session-v5330 .brand-logo{display:none!important}
}

.session-v5330 .workday-v5330-details{
  margin-top:12px;border:1px solid #ded3bd;border-radius:14px;background:#fffdf7;overflow:hidden;
}
.session-v5330 .workday-v5330-details>summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;background:#faf6eb;color:#17212b;
}
.session-v5330 .workday-v5330-details>summary::-webkit-details-marker{display:none}
.session-v5330 .workday-v5330-details>summary>span{display:block;min-width:0}
.session-v5330 .workday-v5330-details>summary strong,.session-v5330 .workday-v5330-details>summary small{display:block}
.session-v5330 .workday-v5330-details>summary strong{font-size:.76rem}
.session-v5330 .workday-v5330-details>summary small{margin-top:3px;color:#7a858b;font-size:.58rem}
.session-v5330 .workday-v5330-details>summary::after{content:'›';font-size:1.3rem;color:#8a949a;transform:rotate(90deg);transition:transform .15s ease}
.session-v5330 .workday-v5330-details[open]>summary::after{transform:rotate(-90deg)}
.session-v5330 .workday-v5330-details-body{padding:12px}

@media(min-width:768px){
  .session-v5330 .workday-event-list{min-height:320px;padding:8px 12px!important}
  .session-v5330 .workday-event{display:grid!important;grid-template-columns:10px 72px minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;padding:11px 0!important}
  .session-v5330 .workday-event-dot{display:block!important;position:relative!important;left:auto!important;top:4px!important;width:9px!important;height:9px!important;border-radius:50%!important;background:#4ba875!important;box-shadow:0 0 0 3px rgba(75,168,117,.12)!important}
  .session-v5330 .workday-event time{font-size:.67rem!important;font-weight:800!important}
  .session-v5330 .workday-event aside{text-align:right!important}
  .session-v5330 .workday-fix-panel{padding:13px!important}
}

/* v5.33.0 final fidelity refinements from render comparison */
@media(max-width:767px){
  .today-v5330 .today-state-working .today-v5330-goal-card,
  .today-v5330 .today-state-break .today-v5330-goal-card,
  .today-v5330 .today-state-complete .today-v5330-goal-card{display:none!important}
  .today-v5330 .today-v5330-efficiency-grid article:nth-child(n+3){display:none!important}
}
@media(min-width:1181px){
  html.sho-desktop .today-v5330 .today-v5330-goal-card{grid-column:2;grid-row:4;align-self:start}
  html.sho-desktop .today-v5330.today-has-active-delivery .today-v5330-goal-card{grid-row:6}
}

/* =========================================================
   v5.34.0 — Settings & Utilities Redesign + Today desktop collapse
   ========================================================= */
.settings-v5340 .settings-app-shell{padding-top:14px}
.settings-v5340 .settings-v5340-home,
.settings-v5340 .settings-v5340-detail{color:#17212b}
.settings-v5340 .settings-v5340-titlebar,
.settings-v5340 .settings-v5340-detail-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 12px;
}
.settings-v5340 .settings-v5340-titlebar h1,
.settings-v5340 .settings-v5340-detail-head h1{margin:1px 0 2px;font-size:1.34rem;line-height:1.05;color:#17212b}
.settings-v5340 .settings-v5340-titlebar p,
.settings-v5340 .settings-v5340-detail-head p{margin:0;color:#6f7b83;font-size:.58rem;line-height:1.45}
.settings-v5340 .settings-v5340-version{
  min-width:136px;padding:10px 12px;border:1px solid #ddd2bc;border-radius:12px;background:#fffdf7;text-align:right;
}
.settings-v5340 .settings-v5340-version span,
.settings-v5340 .settings-v5340-version strong,
.settings-v5340 .settings-v5340-version em{display:block}
.settings-v5340 .settings-v5340-version span{color:#8a9499;font-size:.42rem;font-weight:900;letter-spacing:.08em}
.settings-v5340 .settings-v5340-version strong{margin-top:3px;font-size:.72rem;color:#17212b}
.settings-v5340 .settings-v5340-version em{margin-top:2px;color:#258a58;font-size:.48rem;font-style:normal;font-weight:850}
.settings-v5340 .settings-v5340-search{
  display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:0 12px;border:1px solid #ded3bd;border-radius:11px;background:#fffdf7;
}
.settings-v5340 .settings-v5340-search span{color:#64717a;font-size:1rem}
.settings-v5340 .settings-v5340-search input{
  width:100%;min-height:42px;padding:0;border:0!important;background:transparent!important;color:#17212b!important;box-shadow:none!important;font-size:.68rem;
}
.settings-v5340 .settings-v5340-search input:focus{outline:none}
.settings-v5340 .settings-v5340-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.settings-v5340 .settings-v5340-card{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:13px;
  border:1px solid #dfd4bf;border-radius:13px;background:#fffdf7;color:#17212b;text-decoration:none;box-shadow:0 4px 12px rgba(29,25,18,.04);
}
.settings-v5340 .settings-v5340-card:hover,.settings-v5340 .settings-v5340-card:focus-visible{border-color:#e05a24;box-shadow:0 7px 18px rgba(224,90,36,.09)}
.settings-v5340 .settings-v5340-card.is-static{opacity:.72;cursor:default}
.settings-v5340 .settings-v5340-card>span:nth-child(2){min-width:0}
.settings-v5340 .settings-v5340-card strong,.settings-v5340 .settings-v5340-card small{display:block}
.settings-v5340 .settings-v5340-card strong{font-size:.67rem;color:#17212b}
.settings-v5340 .settings-v5340-card small{margin-top:3px;color:#79848b;font-size:.51rem;line-height:1.35}
.settings-v5340 .settings-v5340-card>b{color:#7b868d;font-size:1.05rem}
.settings-v5340 .settings-v5340-card>em{color:#a18d60;font-size:.48rem;font-style:normal;font-weight:850}
.settings-v5340 .settings-v5340-card-icon{
  display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:.58rem;font-weight:950;letter-spacing:.02em;color:#fff;
}
.settings-v5340 .tone-gold{background:#a9853d}.settings-v5340 .tone-blue{background:#3c84db}.settings-v5340 .tone-teal{background:#2d9b92}
.settings-v5340 .tone-orange{background:#e05a24}.settings-v5340 .tone-purple{background:#7659b7}.settings-v5340 .tone-dark{background:#25333d}
.settings-v5340 .settings-v5340-quick{margin-top:14px;padding:13px;border:1px solid #dfd4bf;border-radius:14px;background:#fffdf7}
.settings-v5340 .settings-v5340-section-title span,.settings-v5340 .settings-v5340-section-title strong{display:block}
.settings-v5340 .settings-v5340-section-title span{color:#e05a24;font-size:.45rem;font-weight:950;letter-spacing:.1em}
.settings-v5340 .settings-v5340-section-title strong{margin-top:3px;font-size:.7rem;color:#17212b}
.settings-v5340 .settings-v5340-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.settings-v5340 .settings-v5340-quick-grid a{
  display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 10px;border:1px solid #e2d8c4;border-radius:10px;background:#faf6eb;color:#17212b;text-decoration:none;font-size:.56rem;
}
.settings-v5340 .settings-v5340-quick-grid a span{color:#e05a24;font-size:.8rem}.settings-v5340 .settings-v5340-quick-grid a strong{font-size:.56rem}
.settings-v5340 .settings-v5340-back{
  display:grid;place-items:center;width:36px;height:36px;min-width:36px;border:1px solid #ddd2bd;border-radius:10px;background:#fffdf7;color:#17212b;text-decoration:none;font-size:1.25rem;
}
.settings-v5340 .settings-v5340-detail-head{justify-content:flex-start}.settings-v5340 .settings-v5340-detail-head>div{min-width:0}
.settings-v5340 .settings-v5340-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.settings-v5340 .settings-v5340-health-grid article{padding:13px;border:1px solid #dfd4bf;border-radius:13px;background:#fffdf7}
.settings-v5340 .settings-v5340-health-grid span,.settings-v5340 .settings-v5340-health-grid strong,.settings-v5340 .settings-v5340-health-grid small{display:block}
.settings-v5340 .settings-v5340-health-grid span{color:#75818a;font-size:.44rem;font-weight:900;letter-spacing:.08em}
.settings-v5340 .settings-v5340-health-grid strong{margin-top:5px;color:#258a58;font-size:.75rem}
.settings-v5340 .settings-v5340-health-grid small{margin-top:3px;color:#7f8a90;font-size:.5rem;line-height:1.35}
.settings-v5340 .settings-v5340-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.settings-v5340 .settings-v5340-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-v5340 .settings-v5340-toolcard{margin:0!important;padding:14px!important;border-color:#dfd4bf!important;background:#fffdf7!important;color:#17212b!important;box-shadow:none!important}
.settings-v5340 .settings-v5340-toolcard h3{margin:3px 0 5px;color:#17212b;font-size:.78rem}.settings-v5340 .settings-v5340-toolcard p{margin:0 0 12px;color:#738087;font-size:.55rem;line-height:1.5}
.settings-v5340 .settings-v5340-action-list{display:grid;gap:7px;margin-top:8px}.settings-v5340 .settings-v5340-action-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e2d8c5;border-radius:10px;background:#faf6eb;color:#17212b;text-decoration:none;font-size:.58rem}.settings-v5340 .settings-v5340-action-list b{color:#879197;font-size:.9rem}
.settings-v5340 .settings-v5340-utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-v5340 .settings-v5340-utility-grid>a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:11px;row-gap:2px;padding:14px;border:1px solid #dfd4bf;border-radius:13px;background:#fffdf7;color:#17212b;text-decoration:none}.settings-v5340 .settings-v5340-utility-grid>a>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff0e8;color:#e05a24;font-size:.48rem;font-weight:950}.settings-v5340 .settings-v5340-utility-grid strong{font-size:.67rem}.settings-v5340 .settings-v5340-utility-grid small{color:#7d878d;font-size:.51rem;line-height:1.35}

/* Hide the legacy category rail on the new high-level Settings screens. */
.settings-v5340.settings-section-general .settings-sidebar-card,
.settings-v5340.settings-section-device .settings-sidebar-card,
.settings-v5340.settings-section-data .settings-sidebar-card,
.settings-v5340.settings-section-utilities .settings-sidebar-card,
.settings-v5340.settings-section-privacy .settings-sidebar-card,
.settings-v5340.settings-section-about .settings-sidebar-card{display:none!important}
.settings-v5340.settings-section-general .settings-workspace,
.settings-v5340.settings-section-device .settings-workspace,
.settings-v5340.settings-section-data .settings-workspace,
.settings-v5340.settings-section-utilities .settings-workspace,
.settings-v5340.settings-section-privacy .settings-workspace,
.settings-v5340.settings-section-about .settings-workspace{display:block!important}

@media(max-width:767px){
  .settings-v5340 .settings-app-shell{padding:10px 10px 90px!important;background:#0f1418!important}
  .settings-v5340 .settings-v5340-home,.settings-v5340 .settings-v5340-detail{padding:12px 10px 14px;border-radius:16px;background:#f8f4ea}
  .settings-v5340 .settings-v5340-titlebar{display:block;margin-bottom:10px}.settings-v5340 .settings-v5340-version{display:none}
  .settings-v5340 .settings-v5340-card-grid{grid-template-columns:1fr;gap:7px}
  .settings-v5340 .settings-v5340-card{min-height:58px;padding:10px 11px}
  .settings-v5340 .settings-v5340-card-icon{width:34px;height:34px}
  .settings-v5340 .settings-v5340-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-v5340 .settings-v5340-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-v5340 .settings-v5340-detail-grid,.settings-v5340 .settings-v5340-data-grid,.settings-v5340 .settings-v5340-utility-grid{grid-template-columns:1fr}
  .settings-v5340 .settings-v5340-detail-head h1{font-size:1.05rem}
}
@media(min-width:768px){
  .settings-v5340.settings-section-general .settings-app-shell,
  .settings-v5340.settings-section-device .settings-app-shell,
  .settings-v5340.settings-section-data .settings-app-shell,
  .settings-v5340.settings-section-utilities .settings-app-shell,
  .settings-v5340.settings-section-privacy .settings-app-shell,
  .settings-v5340.settings-section-about .settings-app-shell{background:#f8f4ea;color:#17212b}
  .settings-v5340 .settings-v5340-home,.settings-v5340 .settings-v5340-detail{max-width:1180px;margin:0 auto;padding:16px}
}
@media(min-width:1181px){
  html.sho-desktop .settings-v5340.settings-section-general .settings-app-shell,
  html.sho-desktop .settings-v5340.settings-section-device .settings-app-shell,
  html.sho-desktop .settings-v5340.settings-section-data .settings-app-shell,
  html.sho-desktop .settings-v5340.settings-section-utilities .settings-app-shell,
  html.sho-desktop .settings-v5340.settings-section-privacy .settings-app-shell,
  html.sho-desktop .settings-v5340.settings-section-about .settings-app-shell{
    box-sizing:border-box!important;width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;margin-left:var(--desktop-rail-width)!important;margin-right:0!important;padding:20px 24px 44px!important;border-radius:0!important;background:#f8f4ea!important;
  }
  html.sho-desktop .settings-v5340 .settings-v5340-home,
  html.sho-desktop .settings-v5340 .settings-v5340-detail{max-width:none!important;margin:0!important;padding:0!important}
}

/* Today desktop fidelity rule: no reserved empty hero/summary region. */
@media(min-width:1181px){
  html.sho-desktop .today-v5330.today-state-off .today-date-context{grid-column:1/-1!important;grid-row:1!important}
  html.sho-desktop .today-v5330.today-state-off .today-shift-launch-card{grid-column:1!important;grid-row:2!important;align-self:start!important}
  html.sho-desktop .today-v5330.today-state-off .today-v5330-quick-actions{grid-column:2!important;grid-row:2!important;align-self:start!important}
  html.sho-desktop .today-v5330.today-state-off .today-v5330-goal-card{grid-column:2!important;grid-row:3!important;align-self:start!important}
  html.sho-desktop .today-v5330.today-state-off .today-challenges{grid-column:1!important;grid-row:3!important;align-self:start!important}
  html.sho-desktop .today-v5330.today-state-off .recap-cta{grid-column:1/-1!important;grid-row:4!important}
  html.sho-desktop .today-v5330.today-state-off .delivery-section-head{grid-column:1!important;grid-row:5!important}
  html.sho-desktop .today-v5330.today-state-off .bulk-delivery-form,
  html.sho-desktop .today-v5330.today-state-off .delivery-list,
  html.sho-desktop .today-v5330.today-state-off>.empty{grid-column:1!important;grid-row:auto!important}
}

/* v5.34.0 pre-package render-gate refinements */
.settings-v5340 .settings-main-column,
.settings-v5340 .settings-v5340-home,
.settings-v5340 .settings-v5340-detail{width:100%;min-width:0;box-sizing:border-box}
@media(min-width:1181px){
  html.sho-desktop .today-v5330.today-state-off .today-v5330-workspace{
    grid-auto-rows:min-content!important;
    align-content:start!important;
  }
  html.sho-desktop .settings-v5340 .settings-main-column{width:100%!important;max-width:none!important}
}
.settings-v5340 .settings-v5340-home,
.settings-v5340 .settings-v5340-detail{background:#f8f4ea;padding:16px;border-radius:16px}
@media(min-width:1181px){
  html.sho-desktop .settings-v5340 .settings-v5340-home,
  html.sho-desktop .settings-v5340 .settings-v5340-detail{padding:0!important;border-radius:0!important}
}

/* =========================================================
   v5.35.0 — Redesign closeout: populated Today desktop layout
   Approved exact-screen target: no empty hero slot.
   ========================================================= */
.today-v5350-off-utilities{display:contents}
.today-v5350-glance,
.today-v5350-side-tools{display:none}

@media(min-width:1181px){
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off{
    box-sizing:border-box!important;
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 44px!important;
    border-radius:0!important;
    background:#f8f4ea!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.8fr) minmax(320px,.72fr)!important;
    grid-auto-rows:min-content!important;
    align-content:start!important;
    align-items:start!important;
    gap:14px!important;
  }

  /* Explicit populated state layout. */
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-date-context{
    grid-column:1/-1!important;grid-row:1!important;margin:0!important;min-height:48px!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-shift-launch-card{
    grid-column:1!important;grid-row:2!important;align-self:stretch!important;margin:0!important;min-height:176px!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-off-utilities{
    display:flex!important;grid-column:2!important;grid-row:2!important;flex-direction:column!important;gap:10px!important;align-self:stretch!important;min-width:0!important;
  }
  html.sho-desktop .today-v5350-off-utilities .today-v5330-quick-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;
  }
  html.sho-desktop .today-v5350-off-utilities .today-v5330-goal-card{display:flex!important;margin:0!important;min-height:68px!important}

  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-challenges{
    grid-column:1!important;grid-row:3!important;align-self:stretch!important;margin:0!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-glance{
    display:block!important;grid-column:2!important;grid-row:3!important;align-self:stretch!important;margin:0!important;padding:14px!important;background:#fffdf7!important;color:#17212b!important;border:1px solid #ded3bd!important;border-radius:14px!important;box-shadow:none!important;
  }
  .today-v5350-side-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#17212b}
  .today-v5350-side-heading>span{color:#e05a24;font-size:1rem}
  .today-v5350-side-heading>strong{font-size:.82rem}
  .today-v5350-glance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .today-v5350-glance-grid article{padding:10px;border:1px solid #e3dac7;border-radius:10px;background:#fff;color:#17212b;min-width:0}
  .today-v5350-glance-grid span,.today-v5350-glance-grid strong{display:block}
  .today-v5350-glance-grid span{font-size:.58rem;color:#79838a;font-weight:750}
  .today-v5350-glance-grid strong{margin-top:4px;font-size:.9rem}

  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.recap-cta{
    grid-column:1!important;grid-row:4!important;margin:0!important;align-self:start!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-side-tools{
    display:block!important;grid-column:2!important;grid-row:4 / span 3!important;align-self:start!important;margin:0!important;padding:14px!important;background:#fffdf7!important;color:#17212b!important;border:1px solid #ded3bd!important;border-radius:14px!important;box-shadow:none!important;
  }
  .today-v5350-tool-list{display:grid;gap:6px}
  .today-v5350-tool-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;padding:8px 9px;border:1px solid #ebe3d3;border-radius:9px;background:#faf6eb;color:#17212b;text-decoration:none}
  .today-v5350-tool-list a b{font-size:.65rem}
  .today-v5350-tool-list a small{grid-column:1;font-size:.54rem;color:#7a858b}
  .today-v5350-tool-list a>span{grid-column:2;grid-row:1/3;align-self:center;color:#8c969b;font-size:1rem}
  .today-v5350-recent-head{display:flex;justify-content:space-between;align-items:center;margin:12px -14px 0;padding:11px 14px 8px;border-top:1px solid #e2d9c7}
  .today-v5350-recent-head strong{font-size:.74rem}
  .today-v5350-recent-head a{font-size:.58rem;color:#e05a24;text-decoration:none;font-weight:800}
  .today-v5350-recent-list{display:grid;gap:0}
  .today-v5350-recent-list>div{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:6px;align-items:center;padding:8px 0;border-top:1px solid #eee6d6;font-size:.58rem}
  .today-v5350-recent-list>div:first-child{border-top:0}
  .today-v5350-recent-list time{color:#738087}
  .today-v5350-recent-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f5c64}
  .today-v5350-recent-list b{color:#258a58;font-size:.66rem}

  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.delivery-section-head{
    grid-column:1!important;grid-row:5!important;margin-top:10px!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.bulk-delivery-form,
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.delivery-list,
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.empty{
    grid-column:1!important;grid-row:auto!important;min-width:0!important;
  }

  /* Retire the obsolete off-shift placements from v5.34.0 by matching the real DOM relationship. */
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5330-quick-actions,
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5330-goal-card{display:none!important}
}
@media(min-width:1181px){
  html.sho-desktop .today-v5350-off-utilities>.today-v5330-quick-actions{order:1!important}
  html.sho-desktop .today-v5350-off-utilities>.today-v5330-goal-card{order:2!important}
}

/* =========================================================
   v5.36.0 — Redesign Coverage Sweep
   Secondary routes inherit the approved HustleDeck workspace system.
   ========================================================= */
.coverage-v536 .app-shell{
  --panel:#fffdf7;
  --panel2:#f7f0e2;
  --line:#ded3bd;
  --text:#17212b;
  --muted:#6f7981;
  --accent:#e05a24;
  --accent2:#b99a3c;
  --success:#2f8a5c;
  --danger:#c7483d;
  color:var(--text);
  background:#f8f4ea;
}
.coverage-v536 .app-shell .eyebrow{color:#e05a24}
.coverage-v536 .app-shell .muted{color:#6f7981}
.coverage-v536 .app-shell h1,
.coverage-v536 .app-shell h2,
.coverage-v536 .app-shell h3,
.coverage-v536 .app-shell strong{color:#17212b}
.coverage-v536 .app-shell .card,
.coverage-v536 .app-shell .stat-card,
.coverage-v536 .app-shell .mini-card,
.coverage-v536 .app-shell .delivery-card,
.coverage-v536 .app-shell .delivery-row,
.coverage-v536 .app-shell .platform-row,
.coverage-v536 .app-shell .shift-row,
.coverage-v536 .app-shell .session-detail-card,
.coverage-v536 .app-shell .page-intro-v4,
.coverage-v536 .app-shell .recap-hero,
.coverage-v536 .app-shell .recap-section,
.coverage-v536 .app-shell .route-audit-hero,
.coverage-v536 .app-shell .subworkspace-panel-intro,
.coverage-v536 .app-shell .import-panel,
.coverage-v536 .app-shell .backfill-section,
.coverage-v536 .app-shell .spark-import-card,
.coverage-v536 .app-shell .settings-shortcuts-card{
  background:#fffdf7;
  color:#17212b;
  border-color:#ded3bd;
  box-shadow:0 6px 18px rgba(27,42,58,.05);
}
.coverage-v536 .app-shell .card,
.coverage-v536 .app-shell .page-intro-v4,
.coverage-v536 .app-shell .recap-section,
.coverage-v536 .app-shell .route-audit-hero{border-radius:14px}
.coverage-v536 .app-shell input,
.coverage-v536 .app-shell select,
.coverage-v536 .app-shell textarea{
  background:#fff;
  color:#17212b;
  border-color:#d7ccb7;
  box-shadow:none;
}
.coverage-v536 .app-shell input:focus,
.coverage-v536 .app-shell select:focus,
.coverage-v536 .app-shell textarea:focus{border-color:#e05a24;box-shadow:0 0 0 2px rgba(224,90,36,.11)}
.coverage-v536 .app-shell label{color:#66727a}
.coverage-v536 .app-shell .btn.primary{background:#e05a24;color:#fff}
.coverage-v536 .app-shell .btn.secondary{background:#fff;color:#17212b;border-color:#d7ccb7}
.coverage-v536 .app-shell .btn.danger{background:#fff5f2;color:#a52f29;border-color:#e6b2aa}
.coverage-v536 .app-shell .status-pill,
.coverage-v536 .app-shell .count-badge,
.coverage-v536 .app-shell .save-state{background:#fff;border-color:#d7ccb7;color:#546069}
.coverage-v536 .app-shell .alert{background:#fff;border-color:#d7ccb7;color:#17212b}
.coverage-v536 .app-shell .alert.success{background:#edf8f1;border-color:#a9d7b9;color:#256b49}
.coverage-v536 .app-shell .alert.error{background:#fff2ef;border-color:#e4afa6;color:#96382e}
.coverage-v536 .app-shell .empty{background:rgba(255,255,255,.45);border-color:#d7ccb7;color:#758087}
.coverage-v536 .app-shell .page-intro-v4{padding:18px 20px;margin-bottom:14px}
.coverage-v536 .app-shell .page-intro-v4-heading h1{font-size:1.55rem;line-height:1.08;margin:.15rem 0}
.coverage-v536 .app-shell .page-intro-v4-content>p{color:#68747c}
.coverage-v536 .app-shell .page-intro-v4-note{background:#f7f0e2;border-color:#ded3bd;color:#17212b}
.coverage-v536 .app-shell .page-intro-v4-note small{color:#788289}
.coverage-v536 .app-shell .section-head{margin-top:20px}
.coverage-v536 .app-shell .section-heading-row{gap:10px}
.coverage-v536 .app-shell .compact-details{background:#fffdf7;border-color:#ded3bd}
.coverage-v536 .app-shell .compact-details>summary{color:#17212b}
.coverage-v536 .app-shell .danger-zone{background:#fff8f6;border-color:#edc6bf}
.coverage-v536 .app-shell .danger-zone summary{color:#a64a41}

/* Desktop shell: secondary pages are workspaces, not centered mobile cards. */
@media(min-width:1181px){
  html.sho-desktop body.coverage-v536 .app-shell{
    box-sizing:border-box!important;
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    margin-right:0!important;
    padding:20px 24px 48px!important;
    min-height:calc(100vh - var(--desktop-header-height))!important;
    border-radius:0!important;
    background:#f8f4ea!important;
  }
  html.sho-desktop body.coverage-v536 .shell.narrow-edit,
  html.sho-desktop body.coverage-v536 .shell.narrow{
    width:calc(100% - var(--desktop-rail-width))!important;
    max-width:none!important;
    margin-left:var(--desktop-rail-width)!important;
    padding:20px 24px 48px!important;
  }
  html.sho-desktop body.coverage-v536 .page-intro-v4{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  html.sho-desktop body.coverage-v536 .page-intro-v4-content{justify-self:end;max-width:420px}
}

/* Recap / end-of-day */
.recap-v536 .recap-shell{max-width:none}
.recap-v536 .recap-date-nav{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.recap-v536 .recap-date-nav a{background:#fff;color:#17212b;border-color:#ded3bd}
.recap-v536 .recap-date-nav span{color:#e05a24}
.recap-v536 .recap-live-control{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.recap-v536 .recap-live-control small{color:#758087}
.recap-v536 .recap-primary-grid{gap:10px}
.recap-v536 .recap-stat-card{background:#fffdf7!important;border-color:#ded3bd!important;box-shadow:none!important}
.recap-v536 .recap-stat-card span,.recap-v536 .recap-stat-card small{color:#748087!important}
.recap-v536 .recap-stat-card strong{color:#17212b!important}
.recap-v536 .recap-stat-card.hero-card strong{color:#278a5c!important}
.recap-v536 .recap-route-map,.recap-v536 .recap-route-preview{border-color:#ded3bd;background:#f3ecdd}
@media(min-width:1181px){
  html.sho-desktop .recap-v536 .recap-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);gap:14px;align-items:start}
  html.sho-desktop .recap-v536 .recap-date-nav,
  html.sho-desktop .recap-v536 .recap-live-control,
  html.sho-desktop .recap-v536 #recap-live-region{grid-column:1/-1}
  html.sho-desktop .recap-v536 #recap-live-region{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);gap:14px;align-items:start}
  html.sho-desktop .recap-v536 #recap-live-region>.recap-hero,
  html.sho-desktop .recap-v536 #recap-live-region>.recap-primary-grid{grid-column:1/-1}
  html.sho-desktop .recap-v536 #recap-live-region>.recap-section{grid-column:1/-1}
}

/* Day log / day detail */
.day-v536 .day-section-nav{background:#fffdf7;border-color:#ded3bd;gap:1px}
.day-v536 .day-section-nav a{color:#17212b;background:#fff}
.day-v536 .day-section-nav a span{color:#e05a24}
.day-v536 .stats-dashboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.day-v536 .stat-card.primary-stat{grid-column:auto;background:#fffdf7;border-color:#ded3bd}
.day-v536 .stat-card.primary-stat strong{font-size:1.55rem;color:#278a5c}
.day-v536 .tips-strip{background:#ded3bd;border-color:#ded3bd}
.day-v536 .tips-strip>div{background:#fffdf7;color:#17212b}
.day-v536 .tips-strip span{color:#748087}
.day-v536 .story-note{background:#f7f0e2;color:#526069}
@media(max-width:760px){.day-v536 .stats-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1181px){
  html.sho-desktop .day-v536 main.shell{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  html.sho-desktop .day-v536 .delivery-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Route & mileage audit */
.route-audit-v536 .route-audit-hero{background:#fffdf7!important}
.route-audit-v536 .route-audit-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.route-audit-v536 .route-audit-kpis article,.route-audit-v536 .route-loss-grid article{background:#fff;border-color:#ded3bd}
.route-audit-v536 .route-audit-map{border-radius:12px;overflow:hidden;border:1px solid #ded3bd}
.route-audit-v536 .route-map-legend,.route-audit-v536 .route-map-note{color:#66727a}

/* Editing forms */
.edit-delivery-v536 .narrow-edit,.edit-challenge-v536 .challenge-edit-page{max-width:none}
@media(min-width:1181px){
  html.sho-desktop .edit-delivery-v536 .narrow-edit>form,
  html.sho-desktop .edit-challenge-v536 .challenge-edit-form{max-width:1080px;margin-left:auto;margin-right:auto}
  html.sho-desktop .edit-delivery-v536 .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.edit-delivery-v536 .delivery-timing-corrections,.edit-challenge-v536 .challenge-rule-builder{background:#f7f0e2;border-color:#ded3bd;color:#17212b}

/* Challenge secondary pages */
.challenge-detail-v536 .challenge-report-page,
.challenge-showdown-v536 .challenge-report-page{max-width:none}
.challenge-detail-v536 .v529-report-hero,
.challenge-showdown-v536 .page-intro-v4{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.challenge-detail-v536 .challenge-kpi-grid>*,
.challenge-showdown-v536 .showdown-platform-card,
.challenge-showdown-v536 .showdown-current-hero{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.challenge-detail-v536 .challenge-progress-track,
.challenge-showdown-v536 .challenge-progress-track{background:#e8dfcc}
@media(min-width:1181px){
  html.sho-desktop .challenge-detail-v536 .challenge-v529-body,
  html.sho-desktop .challenge-showdown-v536 .challenge-report-page{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
}

/* Report drill-downs: one wide analytics canvas, no hidden/reserved internal sidebar. */
.report-drilldown-v536 .reports-page{background:#f8f4ea;color:#17212b}
.report-drilldown-v536 .report-workspace-content{min-width:0}
.report-drilldown-v536 .report-kpi-strip>*{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.report-drilldown-v536 .report-primary-visual,
.report-drilldown-v536 .report-secondary-disclosure,
.report-drilldown-v536 .compare-controls-card,
.report-drilldown-v536 .compare-metrics-card,
.report-drilldown-v536 .compare-chart-card,
.report-drilldown-v536 .metric-chart-card,
.report-drilldown-v536 .report-navigation-card{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.report-drilldown-v536 .report-range-chip,.report-drilldown-v536 .save-state{background:#fff;border-color:#ded3bd;color:#17212b}
@media(min-width:1181px){
  html.sho-desktop .report-drilldown-v536 .reports-page>.report-workspace-sidebar{display:none!important}
  html.sho-desktop .report-drilldown-v536 .reports-page>.report-workspace-content{grid-column:1/-1!important;width:100%!important;max-width:none!important}
  html.sho-desktop .report-drilldown-v536 .reports-page{display:block!important}
}

/* Taxes */
.taxes-v536 .tax-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.taxes-v536 .tax-kpi-grid article,.taxes-v536 .tax-rate-breakdown article,.taxes-v536 .tax-component-grid article,.taxes-v536 .tax-mileage-source-grid>div{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.taxes-v536 .tax-waterfall>div{background:#fff;border-color:#e4dac6;color:#17212b}
.taxes-v536 .tax-caution-note{background:#fff5ef;border-color:#e5c0b5;color:#7f463a}
@media(max-width:760px){.taxes-v536 .tax-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1181px){html.sho-desktop .taxes-v536 .reports-page>.report-workspace-sidebar{display:none!important}.taxes-v536 .report-workspace-content{width:100%!important}}

/* Locations / Insights use a clean master-detail subworkspace. */
.locations-v536 .subworkspace,.insights-v536 .subworkspace{background:#f8f4ea;color:#17212b}
.locations-v536 .subworkspace-sidebar,.insights-v536 .subworkspace-sidebar{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.locations-v536 .subworkspace-nav a,.insights-v536 .subworkspace-nav a{background:#fff;border-color:#e1d6c1;color:#17212b}
.locations-v536 .subworkspace-nav a.active,.insights-v536 .subworkspace-nav a.active{background:#fff4ee;border-color:#e05a24;color:#17212b}
.locations-v536 .subworkspace-nav-icon,.insights-v536 .subworkspace-nav-icon{background:#f7f0e2;color:#e05a24}
.locations-v536 .service-market-node,.locations-v536 .service-store-row,.insights-v536 .insight-list-row{background:#fff;border-color:#e1d6c1;color:#17212b}
@media(min-width:1181px){
  html.sho-desktop .locations-v536 .subworkspace,
  html.sho-desktop .insights-v536 .subworkspace{grid-template-columns:260px minmax(0,1fr);gap:14px}
}

/* Spark reconciliation / trip / historical import */
.reconcile-v536 .spark-queue-item,.reconcile-v536 .spark-queue-day,.reconcile-v536 .spark-candidate-card,
.spark-trip-v536 .spark-source-card,.spark-trip-v536 .spark-detail-group,
.backfill-v536 .historical-row,.backfill-v536 .import-receipt{background:#fffdf7;border-color:#ded3bd;color:#17212b}
.reconcile-v536 .spark-status-tabs a,.backfill-v536 .import-workspace-nav a{background:#fff;border-color:#ded3bd;color:#17212b}
.reconcile-v536 .spark-status-tabs a.active,.backfill-v536 .import-workspace-nav a.active{background:#e05a24;color:#fff;border-color:#e05a24}
@media(min-width:1181px){
  html.sho-desktop .reconcile-v536 .reports-page>.report-workspace-sidebar,
  html.sho-desktop .backfill-v536 .reports-page>.report-workspace-sidebar{display:none!important}
  html.sho-desktop .reconcile-v536 .report-workspace-content,
  html.sho-desktop .backfill-v536 .report-workspace-content{width:100%!important;max-width:none!important}
}

/* Login closeout */
.login-v536{background:#0e0e0f;color:#f2e7c7}
.login-v536 .login-shell{width:min(440px,calc(100% - 32px));padding-top:5vh}
.login-v536 .login-logo{width:118px;height:auto;filter:drop-shadow(0 10px 28px rgba(0,0,0,.28))}
.login-v536 .login-card{background:#151b20;border-color:#343c42;box-shadow:0 18px 54px rgba(0,0,0,.28)}
.login-v536 .login-card input{background:#0e0e0f;color:#f6f1e5;border-color:#3a4248}
.login-v536 .login-card .btn.primary{background:#e05a24;color:#fff}

/* Mobile/tablet consistency for the coverage pages. */
@media(max-width:1180px){
  body.coverage-v536:not(.login-v536){background:#f8f4ea}
  body.coverage-v536 .app-shell{width:100%;max-width:980px;margin:0 auto;padding:14px 14px 110px;background:#f8f4ea}
  body.coverage-v536 .page-intro-v4{padding:14px}
  body.coverage-v536 .page-intro-v4-heading h1{font-size:1.35rem}
}
@media(max-width:620px){
  .coverage-v536 .app-shell .two-col{grid-template-columns:1fr}
  .coverage-v536 .export-bar,.coverage-v536 .export-bar.three-actions{grid-template-columns:1fr}
  .coverage-v536 .tips-strip{grid-template-columns:repeat(2,1fr)}
  .coverage-v536 .day-section-nav{overflow-x:auto;display:flex}
  .coverage-v536 .day-section-nav a{min-width:120px}
  .route-audit-v536 .route-audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* v5.36 desktop class-based fallbacks: device class is authoritative. */
html.sho-desktop body.coverage-v536 .app-shell{
  box-sizing:border-box!important;width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;
  margin-left:var(--desktop-rail-width)!important;margin-right:0!important;padding:20px 24px 48px!important;
  min-height:calc(100vh - var(--desktop-header-height))!important;border-radius:0!important;background:#f8f4ea!important;
}
html.sho-desktop body.coverage-v536 .shell.narrow-edit,
html.sho-desktop body.coverage-v536 .shell.narrow{
  box-sizing:border-box!important;width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;
  margin-left:var(--desktop-rail-width)!important;margin-right:0!important;padding:20px 24px 48px!important;
}
html.sho-desktop .report-drilldown-v536 .reports-page>.report-workspace-sidebar,
html.sho-desktop .taxes-v536 .reports-page>.report-workspace-sidebar,
html.sho-desktop .reconcile-v536 .reports-page>.report-workspace-sidebar,
html.sho-desktop .backfill-v536 .reports-page>.report-workspace-sidebar{display:none!important}
html.sho-desktop .report-drilldown-v536 .reports-page>.report-workspace-content,
html.sho-desktop .taxes-v536 .report-workspace-content,
html.sho-desktop .reconcile-v536 .report-workspace-content,
html.sho-desktop .backfill-v536 .report-workspace-content{width:100%!important;max-width:none!important;grid-column:1/-1!important}
/* v5.36 coverage hardening for pages that do not use .app-shell and legacy high-specificity surfaces. */
body.coverage-v536 main.shell{
  --panel:#fffdf7;--panel2:#f7f0e2;--line:#ded3bd;--text:#17212b;--muted:#6f7981;--accent:#e05a24;--accent2:#b99a3c;--success:#2f8a5c;--danger:#c7483d;
  color:#17212b;background:#f8f4ea;
}
body.coverage-v536 main.shell .card,
body.coverage-v536 main.shell .stat-card,
body.coverage-v536 main.shell .mini-card,
body.coverage-v536 main.shell .delivery-card,
body.coverage-v536 main.shell .delivery-row,
body.coverage-v536 main.shell .platform-row,
body.coverage-v536 main.shell .shift-row,
body.coverage-v536 main.shell .session-detail-card,
body.coverage-v536 main.shell .page-intro-v4,
body.coverage-v536 main.shell .subworkspace-panel-intro,
body.coverage-v536 main.shell .import-panel,
body.coverage-v536 main.shell .backfill-section,
body.coverage-v536 main.shell .spark-import-card{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important;box-shadow:0 6px 18px rgba(27,42,58,.05)!important}
body.coverage-v536 main.shell input,
body.coverage-v536 main.shell select,
body.coverage-v536 main.shell textarea{background:#fff!important;color:#17212b!important;border-color:#d7ccb7!important}
body.coverage-v536 main.shell label{color:#66727a!important}
body.coverage-v536 main.shell .btn.primary{background:#e05a24!important;color:#fff!important}
body.coverage-v536 main.shell .btn.secondary{background:#fff!important;color:#17212b!important;border-color:#d7ccb7!important}
body.coverage-v536 main.shell .eyebrow{color:#e05a24!important}
body.coverage-v536 main.shell .muted,body.coverage-v536 main.shell small{color:#748087}
body.coverage-v536 main.shell h1,body.coverage-v536 main.shell h2,body.coverage-v536 main.shell h3,body.coverage-v536 main.shell strong{color:#17212b}

/* Edit surfaces match the light correction cards from the approved sweep. */
.edit-delivery-v536 main.narrow-edit,.edit-challenge-v536 main.challenge-edit-page{background:#f8f4ea!important}
.edit-delivery-v536 .delivery-timing-corrections,.edit-delivery-v536 .delivery-timing-correction-body,
.edit-challenge-v536 .challenge-rule-builder,.edit-challenge-v536 .challenge-offer-type-section,.edit-challenge-v536 .challenge-timeline-lock,.edit-challenge-v536 .challenge-edit-impact{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}

/* Locations/insights legacy subworkspace colors. */
.locations-v536 main.locations-workspace-page,.insights-v536 main.insights-workspace-page{background:#f8f4ea!important;color:#17212b!important}
.locations-v536 .subworkspace,.insights-v536 .subworkspace{background:#f8f4ea!important;color:#17212b!important}
.locations-v536 .subworkspace-sidebar,.insights-v536 .subworkspace-sidebar{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}
.locations-v536 .subworkspace-head,.insights-v536 .subworkspace-head{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}
.locations-v536 .subworkspace-content,.insights-v536 .subworkspace-content{background:#f8f4ea!important;color:#17212b!important}
.locations-v536 .subworkspace-nav a,.insights-v536 .subworkspace-nav a,.locations-v536 .subworkspace-quicklinks a,.insights-v536 .subworkspace-quicklinks a{background:#fff!important;color:#17212b!important;border-color:#ded3bd!important}
.locations-v536 .subworkspace-nav a.active,.insights-v536 .subworkspace-nav a.active{background:#fff1e9!important;border-color:#e05a24!important;color:#17212b!important}

/* Spark and import queues: remove remaining dark cards. */
.reconcile-v536 .spark-queue-item,.reconcile-v536 .spark-queue-day,.reconcile-v536 .spark-queue-toolbar,
.reconcile-v536 .spark-candidate-card,.reconcile-v536 .spark-import-receipt,
.spark-trip-v536 .spark-source-card,.spark-trip-v536 .spark-detail-group,.spark-trip-v536 .spark-linked-delivery,.spark-trip-v536 .spark-review-warning,
.backfill-v536 .historical-row,.backfill-v536 .import-receipt,.backfill-v536 .spark-import-card,.backfill-v536 .backfill-section{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}

/* Report drill-down tables and charts use the same light analytics canvas. */
.report-drilldown-v536 .reporting-suite-page,
.report-drilldown-v536 .report-workspace-content{background:#f8f4ea!important;color:#17212b!important}
.report-drilldown-v536 .offer-performance-table-wrap,
.report-drilldown-v536 .store-performance-table-card,
.report-drilldown-v536 .report-ranked-bars,
.report-drilldown-v536 .saved-report-views,
.report-drilldown-v536 .compare-metric-table{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}

/* =========================================================
   v5.37.0 — Complete redesign sweep + theme system
   Light / Dark / System resolve through html[data-hd-theme].
   ========================================================= */
html[data-hd-theme="light"]{
  --bg:#f8f4ea;
  --panel:#fffdf7;
  --panel2:#f7f0e2;
  --line:#ded3bd;
  --text:#17212b;
  --muted:#6f7981;
  --accent:#e05a24;
  --accent2:#b99a3c;
  --danger:#c7483d;
  --success:#2f8a5c;
  background:#f8f4ea;
}
html[data-hd-theme="dark"]{
  --bg:#0e0e0f;
  --panel:#172129;
  --panel2:#1b2a34;
  --line:#34424b;
  --text:#f4efe2;
  --muted:#a8b0b6;
  --accent:#e05a24;
  --accent2:#b99a3c;
  --danger:#e1665d;
  --success:#59b883;
  background:#0e0e0f;
}
html[data-hd-theme] body{background:var(--bg);color:var(--text)}
html[data-hd-theme] main.app-shell,
html[data-hd-theme] main.shell:not(.login-shell){background:var(--bg);color:var(--text)}

/* Theme all common content surfaces; navigation/header retain their dedicated dark shell. */
html[data-hd-theme] .app-shell .card,
html[data-hd-theme] .app-shell .mini-card,
html[data-hd-theme] .app-shell .stat-card,
html[data-hd-theme] .app-shell .delivery-card,
html[data-hd-theme] .app-shell .delivery-row,
html[data-hd-theme] .app-shell .platform-row,
html[data-hd-theme] .app-shell .shift-row,
html[data-hd-theme] .app-shell .session-detail-card,
html[data-hd-theme] .app-shell .page-intro-v4,
html[data-hd-theme] .app-shell .recap-hero,
html[data-hd-theme] .app-shell .recap-section,
html[data-hd-theme] .app-shell .route-audit-hero,
html[data-hd-theme] .app-shell .subworkspace-panel-intro,
html[data-hd-theme] .app-shell .import-panel,
html[data-hd-theme] .app-shell .backfill-section,
html[data-hd-theme] .app-shell .spark-import-card,
html[data-hd-theme] .app-shell .settings-shortcuts-card,
html[data-hd-theme] .app-shell .report-primary-visual,
html[data-hd-theme] .app-shell .report-secondary-disclosure,
html[data-hd-theme] .app-shell .compare-controls-card,
html[data-hd-theme] .app-shell .compare-metrics-card,
html[data-hd-theme] .app-shell .compare-chart-card,
html[data-hd-theme] .app-shell .metric-chart-card,
html[data-hd-theme] .app-shell .report-navigation-card,
html[data-hd-theme] .app-shell .offer-performance-table-wrap,
html[data-hd-theme] .app-shell .store-performance-table-card,
html[data-hd-theme] .app-shell .report-ranked-bars,
html[data-hd-theme] .app-shell .saved-report-views,
html[data-hd-theme] .app-shell .compare-metric-table,
html[data-hd-theme] .app-shell .spark-queue-item,
html[data-hd-theme] .app-shell .spark-queue-day,
html[data-hd-theme] .app-shell .spark-queue-toolbar,
html[data-hd-theme] .app-shell .spark-candidate-card,
html[data-hd-theme] .app-shell .spark-import-receipt,
html[data-hd-theme] .app-shell .spark-source-card,
html[data-hd-theme] .app-shell .spark-detail-group,
html[data-hd-theme] .app-shell .spark-linked-delivery,
html[data-hd-theme] .app-shell .historical-row,
html[data-hd-theme] .app-shell .import-receipt,
html[data-hd-theme] .app-shell .service-market-node,
html[data-hd-theme] .app-shell .service-store-row,
html[data-hd-theme] .app-shell .insight-list-row{
  background:var(--panel)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.06)!important;
}
html[data-hd-theme] .app-shell h1,
html[data-hd-theme] .app-shell h2,
html[data-hd-theme] .app-shell h3,
html[data-hd-theme] .app-shell strong{color:var(--text)}
html[data-hd-theme] .app-shell .muted,
html[data-hd-theme] .app-shell small{color:var(--muted)}
html[data-hd-theme] .app-shell label{color:var(--muted)}
html[data-hd-theme] .app-shell input,
html[data-hd-theme] .app-shell select,
html[data-hd-theme] .app-shell textarea{
  background:color-mix(in srgb,var(--panel) 94%,#fff 6%)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
html[data-hd-theme="dark"] .app-shell input,
html[data-hd-theme="dark"] .app-shell select,
html[data-hd-theme="dark"] .app-shell textarea{background:#0f171d!important;color:#f4efe2!important}
html[data-hd-theme] .app-shell .btn.primary{background:#e05a24!important;color:#fff!important}
html[data-hd-theme] .app-shell .btn.secondary{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important}
html[data-hd-theme] .app-shell .btn.danger{background:color-mix(in srgb,var(--danger) 10%,var(--panel) 90%)!important;color:var(--danger)!important;border-color:color-mix(in srgb,var(--danger) 45%,var(--line) 55%)!important}
html[data-hd-theme] .app-shell .alert,
html[data-hd-theme] .app-shell .status-pill,
html[data-hd-theme] .app-shell .count-badge,
html[data-hd-theme] .app-shell .save-state{background:var(--panel2)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .app-shell .empty{background:color-mix(in srgb,var(--panel) 65%,transparent)!important;color:var(--muted)!important;border-color:var(--line)!important}

/* Coverage pages must stop forcing light surfaces when Dark is selected. */
html[data-hd-theme="dark"] body.coverage-v536 main.shell,
html[data-hd-theme="dark"] body.coverage-v536 .app-shell,
html[data-hd-theme="dark"] body.coverage-v536 .reports-page,
html[data-hd-theme="dark"] body.coverage-v536 .report-workspace-content,
html[data-hd-theme="dark"] body.coverage-v536 .subworkspace,
html[data-hd-theme="dark"] body.coverage-v536 .subworkspace-content{
  --panel:#172129;--panel2:#1b2a34;--line:#34424b;--text:#f4efe2;--muted:#a8b0b6;
  background:#10171d!important;color:#f4efe2!important;
}
html[data-hd-theme="dark"] body.coverage-v536 main.shell .card,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .stat-card,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .mini-card,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .delivery-card,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .delivery-row,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .platform-row,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .shift-row,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .session-detail-card,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .page-intro-v4,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .subworkspace-panel-intro,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .import-panel,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .backfill-section,
html[data-hd-theme="dark"] body.coverage-v536 main.shell .spark-import-card,
html[data-hd-theme="dark"] .recap-v536 .recap-stat-card,
html[data-hd-theme="dark"] .challenge-detail-v536 .v529-report-hero,
html[data-hd-theme="dark"] .challenge-showdown-v536 .page-intro-v4,
html[data-hd-theme="dark"] .challenge-detail-v536 .challenge-kpi-grid>*,
html[data-hd-theme="dark"] .challenge-showdown-v536 .showdown-platform-card,
html[data-hd-theme="dark"] .challenge-showdown-v536 .showdown-current-hero,
html[data-hd-theme="dark"] .locations-v536 .subworkspace-sidebar,
html[data-hd-theme="dark"] .insights-v536 .subworkspace-sidebar,
html[data-hd-theme="dark"] .locations-v536 .subworkspace-head,
html[data-hd-theme="dark"] .insights-v536 .subworkspace-head,
html[data-hd-theme="dark"] .reconcile-v536 .spark-queue-item,
html[data-hd-theme="dark"] .reconcile-v536 .spark-queue-day,
html[data-hd-theme="dark"] .reconcile-v536 .spark-queue-toolbar,
html[data-hd-theme="dark"] .reconcile-v536 .spark-candidate-card,
html[data-hd-theme="dark"] .spark-trip-v536 .spark-source-card,
html[data-hd-theme="dark"] .spark-trip-v536 .spark-detail-group,
html[data-hd-theme="dark"] .backfill-v536 .historical-row,
html[data-hd-theme="dark"] .backfill-v536 .import-receipt{
  background:#172129!important;color:#f4efe2!important;border-color:#34424b!important;box-shadow:none!important;
}
html[data-hd-theme="dark"] body.coverage-v536 main.shell h1,
html[data-hd-theme="dark"] body.coverage-v536 main.shell h2,
html[data-hd-theme="dark"] body.coverage-v536 main.shell h3,
html[data-hd-theme="dark"] body.coverage-v536 main.shell strong{color:#f4efe2!important}
html[data-hd-theme="dark"] body.coverage-v536 main.shell .muted,
html[data-hd-theme="dark"] body.coverage-v536 main.shell small{color:#a8b0b6!important}
html[data-hd-theme="dark"] body.coverage-v536 main.shell input,
html[data-hd-theme="dark"] body.coverage-v536 main.shell select,
html[data-hd-theme="dark"] body.coverage-v536 main.shell textarea{background:#0f171d!important;color:#f4efe2!important;border-color:#34424b!important}

/* Recap normalization: no orphan dark metric cards in Light mode. */
html[data-hd-theme="light"] .recap-v536 .recap-metric-card,
html[data-hd-theme="light"] .recap-v536 .recap-mileage-card,
html[data-hd-theme="light"] .recap-v536 .recap-cycle-card,
html[data-hd-theme="light"] .recap-v536 .recap-earnings-card,
html[data-hd-theme="light"] .recap-v536 .recap-cost-card,
html[data-hd-theme="light"] .recap-v536 .recap-fuel-card,
html[data-hd-theme="light"] .recap-v536 .recap-platform-card,
html[data-hd-theme="light"] .recap-v536 [class*="metric"],
html[data-hd-theme="light"] .recap-v536 [class*="kpi"]{
  background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important;
}
html[data-hd-theme="dark"] .recap-v536 .recap-stat-card,
html[data-hd-theme="dark"] .recap-v536 [class*="metric"],
html[data-hd-theme="dark"] .recap-v536 [class*="kpi"]{
  background:#172129!important;color:#f4efe2!important;border-color:#34424b!important;
}

/* v5.37 Today desktop: structural top row instead of CSS-only empty-slot recovery. */
.today-v5370-off-top{display:contents}
@media(min-width:1181px){
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off{
    grid-template-columns:minmax(0,1.8fr) minmax(320px,.72fr)!important;
    grid-auto-rows:min-content!important;align-content:start!important;gap:14px!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-date-context{grid-column:1/-1!important;grid-row:1!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5370-off-top{
    display:grid!important;grid-column:1/-1!important;grid-row:2!important;
    grid-template-columns:minmax(0,1.8fr) minmax(320px,.72fr)!important;gap:14px!important;align-items:stretch!important;
  }
  html.sho-desktop .today-v5370-off-top>.today-v5330-off-card{grid-column:1!important;margin:0!important;min-height:176px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  html.sho-desktop .today-v5370-off-top>.today-v5350-off-utilities{grid-column:2!important;display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important}
  html.sho-desktop .today-v5370-off-top .today-v5330-quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important}
  html.sho-desktop .today-v5370-off-top .today-v5330-goal-card{display:flex!important;margin:0!important;min-height:68px!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-challenges{grid-column:1!important;grid-row:3!important;margin:0!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-glance{display:block!important;grid-column:2!important;grid-row:3!important;margin:0!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.recap-cta{grid-column:1!important;grid-row:4!important;margin:0!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-side-tools{display:block!important;grid-column:2!important;grid-row:4 / span 3!important;margin:0!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.delivery-section-head{grid-column:1!important;grid-row:5!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.bulk-delivery-form,
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.delivery-list,
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.empty{grid-column:1!important;grid-row:auto!important}
}

/* Today secondary panels theme correctly. */
html[data-hd-theme="light"] .today-v5330 .today-v5350-glance,
html[data-hd-theme="light"] .today-v5330 .today-v5350-side-tools,
html[data-hd-theme="light"] .today-v5330 .today-v5350-glance-grid article,
html[data-hd-theme="light"] .today-v5330 .today-v5350-tool-list a{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}
html[data-hd-theme="dark"] .today-v5330 .today-v5350-glance,
html[data-hd-theme="dark"] .today-v5330 .today-v5350-side-tools,
html[data-hd-theme="dark"] .today-v5330 .today-v5350-glance-grid article,
html[data-hd-theme="dark"] .today-v5330 .today-v5350-tool-list a{background:#172129!important;color:#f4efe2!important;border-color:#34424b!important}
html[data-hd-theme="dark"] .today-v5330 .today-v5350-side-heading,
html[data-hd-theme="dark"] .today-v5330 .today-v5350-tool-list a b{color:#f4efe2!important}
html[data-hd-theme="dark"] .today-v5330 .today-v5350-tool-list a small,
html[data-hd-theme="dark"] .today-v5330 .today-v5350-recent-list time,
html[data-hd-theme="dark"] .today-v5330 .today-v5350-recent-list span{color:#a8b0b6!important}

/* Challenges desktop: match the full-width app workspace and remove awkward left list when one active challenge is the product focus. */
@media(min-width:1181px){
  html.sho-desktop .challenge-v529-body .challenge-workspace-page{box-sizing:border-box!important;width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;margin-left:var(--desktop-rail-width)!important;padding:20px 24px 48px!important;border-radius:0!important;background:var(--bg)!important}
  html.sho-desktop .challenge-v529-body .v529-challenge-workspace-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  html.sho-desktop .challenge-v529-body .v529-challenge-list-panel{display:none!important}
  html.sho-desktop .challenge-v529-body .v529-challenge-detail-panel{width:100%!important;max-width:none!important;margin:0!important}
  html.sho-desktop .challenge-v529-body .v529-challenge-insight-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:none!important}
}
html[data-hd-theme="light"] .challenge-v529-body .v529-challenge-detail-panel,
html[data-hd-theme="light"] .challenge-v529-body .v529-challenge-insight-strip>a,
html[data-hd-theme="light"] .challenge-v529-body .v529-money-progress,
html[data-hd-theme="light"] .challenge-v529-body .v529-detail-kpis article,
html[data-hd-theme="light"] .challenge-v529-body .v529-projection-card{background:#fffdf7!important;color:#17212b!important;border-color:#ded3bd!important}
html[data-hd-theme="dark"] .challenge-v529-body .v529-challenge-detail-panel,
html[data-hd-theme="dark"] .challenge-v529-body .v529-challenge-insight-strip>a,
html[data-hd-theme="dark"] .challenge-v529-body .v529-money-progress,
html[data-hd-theme="dark"] .challenge-v529-body .v529-detail-kpis article,
html[data-hd-theme="dark"] .challenge-v529-body .v529-projection-card{background:#172129!important;color:#f4efe2!important;border-color:#34424b!important}

/* Reports top navigation must behave as real navigation, not mobile-only state changes. */
.reports-v531-top-tabs a{pointer-events:auto!important;cursor:pointer!important}

/* Settings theme chooser. */
.settings-v5370-theme{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text)}
.settings-v5370-theme>p{margin:3px 0 14px;color:var(--muted);font-size:.82rem}
.settings-v5370-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.settings-v5370-theme-grid button{display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;align-items:center;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer}
.settings-v5370-theme-grid button>span{grid-row:1/3;font-size:1.25rem;color:#e05a24}
.settings-v5370-theme-grid button strong{font-size:.86rem}.settings-v5370-theme-grid button small{font-size:.68rem;color:var(--muted)}
.settings-v5370-theme-grid button.active{border-color:#e05a24;box-shadow:0 0 0 2px rgba(224,90,36,.12)}
@media(max-width:620px){.settings-v5370-theme-grid{grid-template-columns:1fr}.settings-v5370-theme-grid button{min-height:58px}}

/* Settings and its cards now follow the selected theme rather than forcing cream. */
html[data-hd-theme="dark"] .settings-v5340.settings-section-general .settings-app-shell,
html[data-hd-theme="dark"] .settings-v5340.settings-section-device .settings-app-shell,
html[data-hd-theme="dark"] .settings-v5340.settings-section-data .settings-app-shell,
html[data-hd-theme="dark"] .settings-v5340.settings-section-utilities .settings-app-shell,
html[data-hd-theme="dark"] .settings-v5340.settings-section-privacy .settings-app-shell,
html[data-hd-theme="dark"] .settings-v5340.settings-section-about .settings-app-shell,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-home,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-detail{background:#10171d!important;color:#f4efe2!important}
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-card,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-quick,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-toolcard,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-health-grid article,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-version{background:#172129!important;color:#f4efe2!important;border-color:#34424b!important}
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-card strong,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-titlebar h1,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-detail h1,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-toolcard h3{color:#f4efe2!important}
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-card small,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-titlebar p,
html[data-hd-theme="dark"] .settings-v5340 .settings-v5340-detail p{color:#a8b0b6!important}

/* v5.37.0 final Today DOM placement: real-route structure. */
@media(min-width:1181px){
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5330-off-card{
    grid-column:1!important;grid-row:2!important;margin:0!important;min-height:176px!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-off-utilities{
    grid-column:2!important;grid-row:2!important;display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;min-width:0!important;
  }
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5370-right-rail{
    grid-column:2!important;grid-row:3 / span 4!important;display:grid!important;gap:12px!important;align-self:start!important;min-width:0!important;
  }
  html.sho-desktop .today-v5370-right-rail>.today-v5350-glance,
  html.sho-desktop .today-v5370-right-rail>.today-v5350-side-tools{display:block!important;margin:0!important;position:static!important;inset:auto!important}
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-glance,
  html.sho-desktop body.today-v5330 main.today-v5330-workspace.today-state-off>.today-v5350-side-tools{display:none!important}
}

/* v5.37.0 app-wide fallback: any semantic card/panel token follows the theme.
   Uses background-color only so intentional gradients/images are preserved. */
html[data-hd-theme="light"] .app-shell :is([class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]){
  background-color:#fffdf7!important;
  border-color:#ded3bd!important;
  color:#17212b!important;
}
html[data-hd-theme="dark"] .app-shell :is([class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]){
  background-color:#172129!important;
  border-color:#34424b!important;
  color:#f4efe2!important;
}

/* =========================================================
   v5.38.0 — Reports navigation + app-wide typography tokens
   ========================================================= */
:root{
  --hd-type-page:clamp(1.55rem,1.35rem + .45vw,1.9rem);
  --hd-type-section:clamp(1.15rem,1.06rem + .22vw,1.35rem);
  --hd-type-card:clamp(.98rem,.94rem + .1vw,1.08rem);
  --hd-type-body:1rem;
  --hd-type-control:.9375rem;
  --hd-type-small:.875rem;
  --hd-type-meta:.8125rem;
  --hd-type-micro:.78rem;
}

/* Reports drill-down context: every report has a clear path home and the same
   primary section navigation that appears on the dashboard. */
.reports-context-v538{
  grid-column:1/-1;
  width:100%;
  display:grid;
  gap:10px;
  margin:0 0 14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  color:var(--text);
}
.reports-context-v538-head{display:flex;align-items:center;gap:14px;min-width:0}
.reports-back-v538{
  display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:9px 12px;
  border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);
  text-decoration:none;font-size:var(--hd-type-control);font-weight:850;white-space:nowrap;
}
.reports-back-v538:hover,.reports-back-v538:focus-visible{border-color:#e05a24;outline:none}
.reports-context-v538-copy{display:grid;gap:2px;min-width:0}
.reports-context-v538-copy>strong{font-size:var(--hd-type-card);line-height:1.2}
.reports-primary-tabs-v538{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:4px;
  border:1px solid var(--line);border-radius:10px;background:var(--panel2);min-width:0;
}
.reports-primary-tabs-v538 a{
  display:grid;place-items:center;min-height:38px;padding:7px 5px;border-radius:7px;
  color:var(--muted);text-align:center;text-decoration:none;font-size:var(--hd-type-meta);font-weight:850;
}
.reports-primary-tabs-v538 a:hover,.reports-primary-tabs-v538 a:focus-visible{color:var(--text);background:color-mix(in srgb,var(--panel) 80%,transparent);outline:none}
.reports-primary-tabs-v538 a.active{background:#e05a24;color:#fff}
@media(max-width:820px){
  .reports-context-v538{margin:0 0 10px;padding:10px;border-radius:0;border-left:0;border-right:0}
  .reports-context-v538-head{justify-content:space-between}
  .reports-context-v538-copy{display:none}
  .reports-back-v538{min-height:44px;font-size:.9375rem}
  .reports-primary-tabs-v538{display:flex;overflow-x:auto;scrollbar-width:none;gap:5px;padding:4px}
  .reports-primary-tabs-v538::-webkit-scrollbar{display:none}
  .reports-primary-tabs-v538 a{flex:0 0 auto;min-width:92px;min-height:40px;font-size:.8125rem;padding:8px 10px}
}
@media(min-width:1181px){
  html.sho-desktop .reports-page>.reports-context-v538{grid-column:1/-1!important;width:100%!important;max-width:none!important}
}

/* Shared typography floor. Titles keep their hierarchy while ordinary UI
   text no longer drops into unreadable 8–11px legacy sizing. */
html[data-hd-theme] .app-shell h1{font-size:var(--hd-type-page)!important;line-height:1.12}
html[data-hd-theme] .app-shell h2{font-size:var(--hd-type-section)!important;line-height:1.18}
html[data-hd-theme] .app-shell h3{font-size:var(--hd-type-card)!important;line-height:1.22}
html[data-hd-theme] .app-shell p{font-size:var(--hd-type-body);line-height:1.5}
html[data-hd-theme] .app-shell label{font-size:var(--hd-type-small)!important;line-height:1.35}
html[data-hd-theme] .app-shell small{font-size:var(--hd-type-meta)!important;line-height:1.35}
html[data-hd-theme] .app-shell .eyebrow{font-size:var(--hd-type-meta)!important;line-height:1.25}
html[data-hd-theme] .app-shell :is(input,select,textarea){font-size:1rem!important;line-height:1.3}
html[data-hd-theme] .app-shell :is(.btn,button:not(.icon-button)){font-size:var(--hd-type-control);line-height:1.25}
html[data-hd-theme] .app-shell :is(table,td,th){font-size:var(--hd-type-small)!important;line-height:1.35}

/* Core legacy metadata that repeatedly rendered too small. */
html[data-hd-theme] .app-shell :is(
  .form-hint,.page-subtitle,.delivery-number,.calendar-legend,.shift-break-text,
  .report-nav-group-label,.report-workspace-link-copy small,.report-range-chip span,
  .save-state,.status-pill,.count-badge,.workflow-copy small,.challenge-progress-meta,
  .challenge-card-rules,.challenge-card-stats,.challenge-kpi-grid span,.challenge-kpi-grid small,
  .recap-detail-list span,.recap-platform-grid span,.recap-breakdown-grid span,
  .today-v5350-tool-list a small,.today-v5350-recent-list time,.session-v5330-checklist-head small
){font-size:var(--hd-type-meta)!important;line-height:1.35!important}

/* Reports: this area had the most severe tiny-text regression. */
.reports-v531 :is(.reports-v531-top-tabs a,.reports-v531-table,.reports-v531-table span,.reports-v531-panel,.reports-v531-panel span,.reports-v531-panel small,.reports-v531-frequency>*),
.report-drilldown-v536 :is(.report-view-tabs a,.report-section-tabs a,.report-kpi span,.report-kpi small,.period-tabs a,.period-navigation label,.report-secondary-strip span,.report-chart-legend strong,.reporting-filter-grid label,.cycle-stack-times,.cycle-stack-legend,.compare-metric-table,.store-performance-table,.offer-performance-table),
.reports-page :is(.report-workspace-sidebar .report-section-tabs a,.report-workspace-link-copy strong,.report-workspace-link-copy small){
  font-size:var(--hd-type-small)!important;
  line-height:1.35!important;
}
.reports-v531 .reports-v531-top-tabs a{min-height:40px;padding:8px 7px!important}
.reports-v531 .reports-v531-table>.head,.reports-v531 .reports-v531-table>a{font-size:var(--hd-type-small)!important;min-height:38px;align-items:center}

/* Today / Session / Challenges / Recap. */
.today-v5330 :is(.today-v5330-state,.today-v5330-state strong,.today-v5330-primary-grid span,.today-v5330-efficiency-grid span,.today-v5330-goal-card small,.quick-link small,.today-v5350-glance-grid span,.today-v5350-tool-list a b,.today-v5350-tool-list a small,.today-v5350-recent-list>div,.today-v5350-recent-head a),
.session-v5330 :is(.workflow-copy b,.workflow-copy small,.wrap-numeric-grid label,.workday-summary-grid span,.session-v5330-checklist-grid span,.session-prep-card-head small,.workday-v5330-details>summary small,.workday-event time),
.challenge-v529-body :is(.challenge-card small,.challenge-card-stats,.challenge-card-stats span,.challenge-kpi-grid span,.challenge-kpi-grid small,.challenge-progress-meta,.challenge-day-main span,.challenge-day-money span,.v529-challenge-detail-panel small,.v529-challenge-insight-strip small),
.recap-v536 :is(.recap-stat-card small,.recap-breakdown-grid span,.recap-platform-grid span,.recap-detail-list span,.recap-detail-list strong,.recap-platform-grid small){
  font-size:var(--hd-type-meta)!important;
  line-height:1.35!important;
}

/* Settings / Export Studio / secondary utilities. */
.settings-v5340 :is(.settings-v5340-detail-head p,.settings-v5340-version span,.settings-v5340-version em,.settings-v5340-card strong,.settings-v5340-card small,.settings-v5340-card>em,.settings-v5340-section-title span,.settings-v5340-section-title strong,.settings-v5340-action-list a,.settings-v5340-health-grid span,.settings-v5340-health-grid small,.settings-v5340-utility-grid strong,.settings-v5340-utility-grid small),
.export-v532 :is(.export-v532-presets strong,.export-v532-presets small,.export-v532-form label,.export-v532-choice legend,.export-v532-checks legend,.export-v532-choice b,.export-v532-choice small,.export-v532-columns summary,.export-v532-columns summary span,.export-v532-kpis span,.export-v532-preview-table,.export-v532-preview-note,.export-v532-special-grid strong,.export-v532-special-grid small){
  font-size:var(--hd-type-meta)!important;
  line-height:1.35!important;
}

/* Mobile maintains readable controls and metadata instead of shrinking further. */
@media(max-width:620px){
  :root{--hd-type-page:1.65rem;--hd-type-section:1.22rem;--hd-type-card:1rem;--hd-type-body:1rem;--hd-type-control:1rem;--hd-type-small:.9375rem;--hd-type-meta:.875rem;--hd-type-micro:.8125rem}
  html[data-hd-theme] .app-shell :is(input,select,textarea,.btn,button:not(.icon-button)){font-size:1rem!important}
}

/* The new v5.38 Reports context bar replaces the legacy secondary Reports
   sidebar on drill-down pages so there is only one navigation model. */
.reports-context-superseded-v538{display:none!important}
.reports-page>.reports-context-superseded-v538 + .report-workspace-content,
.reports-page>.reports-context-superseded-v538 ~ .report-workspace-content{
  width:100%!important;max-width:none!important;grid-column:1/-1!important;min-width:0!important;
}

/* =========================================================
   v5.39.0 — Theme & visual system closeout
   System-level hardening only; no business-metric semantics.
   ========================================================= */

/* Shared semantic surfaces used by pages that still carry legacy component
   selectors. These intentionally sit at the end of the cascade so theme
   tokens win over old one-off black/light declarations. */
html[data-hd-theme]{
  --hd-surface:var(--panel);
  --hd-surface-soft:var(--panel2);
  --hd-surface-input:color-mix(in srgb,var(--panel) 92%,#fff 8%);
  --hd-focus:color-mix(in srgb,var(--accent) 65%,#fff 35%);
  --hd-map-shell:var(--panel2);
  --hd-chart-grid:color-mix(in srgb,var(--muted) 24%,transparent);
}
html[data-hd-theme="dark"]{
  --hd-surface-input:#0f171d;
  --hd-focus:#f18a5b;
  --hd-map-shell:#10171d;
  --hd-chart-grid:rgba(168,176,182,.22);
}

/* Recap: normalize every card family called out during real-device QA. */
html[data-hd-theme] .recap-v536 :is(
  .recap-stat-card,
  .recap-mileage-efficiency,
  .recap-mileage-efficiency-grid>article,
  .recap-cycle-grid>article,
  .recap-timing-detail-strip>div,
  .recap-breakdown-grid>article,
  .recap-platform-grid>article,
  .recap-detail-list>div,
  .fuel-recap-grid>article,
  .timing-phase-share,
  .recap-story-grid>article
){
  background:var(--hd-surface)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
html[data-hd-theme] .recap-v536 :is(
  .recap-stat-card span,.recap-stat-card small,
  .recap-mileage-efficiency-grid span,.recap-mileage-efficiency-grid small,
  .recap-cycle-grid span,.recap-cycle-grid small,
  .recap-timing-detail-strip span,.recap-timing-detail-strip small,
  .recap-breakdown-grid span,.recap-platform-grid span,.recap-platform-grid small,
  .recap-detail-list span,.fuel-recap-grid span,.fuel-recap-grid small,
  .timing-phase-share-head small,.timing-phase-legend span
){color:var(--muted)!important}
html[data-hd-theme] .recap-v536 :is(
  .recap-stat-card strong,
  .recap-mileage-efficiency-grid strong,
  .recap-cycle-grid strong,
  .recap-timing-detail-strip strong,
  .recap-breakdown-grid strong,
  .recap-platform-grid strong,
  .recap-detail-list strong,
  .fuel-recap-grid strong
){color:var(--text)!important}
html[data-hd-theme] .recap-v536 .recap-stat-card.hero-card strong,
html[data-hd-theme] .recap-v536 .recap-cycle-grid article.primary strong,
html[data-hd-theme] .recap-v536 .recap-mileage-efficiency-grid article.trusted strong{color:var(--success)!important}
html[data-hd-theme] .recap-v536 .recap-mileage-efficiency-grid article.experimental{background:var(--hd-surface-soft)!important}
html[data-hd-theme] .recap-v536 .recap-mileage-efficiency-grid article.trusted{border-color:color-mix(in srgb,var(--success) 55%,var(--line) 45%)!important}

/* Settings search: complete Light/Dark/System state treatment. */
html[data-hd-theme] .settings-v5340 .settings-v5340-search{
  background:var(--hd-surface)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
html[data-hd-theme] .settings-v5340 .settings-v5340-search span{color:var(--muted)!important}
html[data-hd-theme] .settings-v5340 .settings-v5340-search input{
  min-height:46px!important;
  background:transparent!important;
  color:var(--text)!important;
  caret-color:var(--accent)!important;
  font-size:1rem!important;
}
html[data-hd-theme] .settings-v5340 .settings-v5340-search input::placeholder{color:color-mix(in srgb,var(--muted) 86%,transparent)!important;opacity:1}
html[data-hd-theme] .settings-v5340 .settings-v5340-search:hover{border-color:color-mix(in srgb,var(--muted) 70%,var(--line) 30%)!important}
html[data-hd-theme] .settings-v5340 .settings-v5340-search:focus-within{
  border-color:var(--hd-focus)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}

/* Phone header: always honor the top safe area rather than waiting until a
   scroll state is applied. Keep both actions at a reliable 44px tap target. */
@media(max-width:899px){
  html:not(.sho-desktop):not(.sho-ipad) .app-header,
  html:not(.sho-desktop):not(.sho-ipad) .app-header.is-scrolled{
    padding-top:calc(9px + env(safe-area-inset-top,0px))!important;
    min-height:calc(62px + env(safe-area-inset-top,0px))!important;
    align-items:flex-end!important;
  }
  html:not(.sho-desktop):not(.sho-ipad) .header-actions .icon-link,
  html:not(.sho-desktop):not(.sho-ipad) .header-settings-link,
  html:not(.sho-desktop):not(.sho-ipad) .header-logout-link{
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  }
  html:not(.sho-desktop):not(.sho-ipad) .header-actions{align-self:flex-end;padding-bottom:1px}
}

/* Challenge Performance: use the desktop workspace instead of a narrow
   centered report column. Metrics/calculations remain untouched. */
@media(min-width:1181px){
  html.sho-desktop .challenge-performance-v529{
    width:100%!important;max-width:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    padding-left:22px!important;padding-right:22px!important;
  }
  html.sho-desktop .challenge-performance-v529 :is(
    .challenge-performance-hero-grid,
    .challenge-performance-metrics-card,
    .challenge-performance-two-col,
    .challenge-performance-recent,
    .challenge-performance-empty
  ){
    width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
  }
  html.sho-desktop .challenge-performance-v529 .challenge-performance-hero-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  html.sho-desktop .challenge-performance-v529 .challenge-performance-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  html.sho-desktop .challenge-performance-v529 .challenge-performance-two-col{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)!important;gap:14px!important}
}

/* Theme Challenge Performance legacy cards in both directions. */
html[data-hd-theme] .challenge-performance-v529 :is(
  .challenge-performance-hero,
  .challenge-performance-metrics-card,
  .challenge-performance-breakdown,
  .challenge-performance-highlights,
  .challenge-performance-recent,
  .challenge-performance-metric-grid>article,
  .challenge-duration-performance-list>article,
  .challenge-performance-highlights>a,
  .challenge-performance-outcomes>a
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .challenge-performance-v529 :is(
  .challenge-performance-hero span,.challenge-performance-hero small,
  .challenge-performance-metric-grid span,.challenge-performance-metric-grid small,
  .challenge-duration-performance-list span,
  .challenge-performance-highlights>a small,
  .challenge-performance-outcomes div small
){color:var(--muted)!important}
html[data-hd-theme] .challenge-performance-v529 :is(
  .challenge-performance-hero strong,.challenge-performance-metric-grid strong,
  .challenge-duration-performance-list strong,.challenge-performance-highlights>a strong,
  .challenge-performance-outcomes div strong
){color:var(--text)!important}

/* Map/chart containers and Mapbox chrome follow the resolved theme. */
html[data-hd-theme] :is(.hd-route-map,.recap-route-map,.report-chart-card canvas,.metric-chart-card canvas,.compare-chart-card canvas){background:var(--hd-map-shell)!important}
html[data-hd-theme] .mapboxgl-popup-content{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important}
html[data-hd-theme] .mapboxgl-popup-tip{border-top-color:var(--panel)!important;border-bottom-color:var(--panel)!important}
html[data-hd-theme] .mapboxgl-ctrl-group{background:var(--panel)!important;border:1px solid var(--line)!important}
html[data-hd-theme="dark"] .mapboxgl-ctrl-group button{filter:invert(.9)}

/* Typography second-pass floors for legacy analytics/settings metadata. */
html[data-hd-theme] .settings-v5340 :is(.settings-v5340-card small,.settings-v5340-nav small,.settings-v5340-version span,.settings-v5340-version em),
html[data-hd-theme] .challenge-performance-v529 :is(.challenge-performance-hero span,.challenge-performance-hero small,.challenge-performance-metric-grid span,.challenge-performance-metric-grid small,.challenge-duration-performance-list span,.challenge-performance-outcomes div small),
html[data-hd-theme] .recap-v536 :is(.recap-stat-card span,.recap-stat-card small,.recap-breakdown-grid span,.recap-platform-grid span,.recap-platform-grid small,.recap-mileage-efficiency-grid span,.recap-mileage-efficiency-grid small,.recap-cycle-grid span,.recap-cycle-grid small,.recap-timing-detail-strip span,.recap-timing-detail-strip small){font-size:var(--hd-type-meta)!important;line-height:1.35!important}

/* v5.39 real-route QA: remaining legacy control and secondary surfaces. */
html[data-hd-theme] main.app-shell :is(
  .settings-v5340-quick-grid a,.recap-date-nav,.recap-date-nav a,.recap-live-control,
  .page-intro-v4-note,.report-range-chip,.report-kpi-strip>*,.btn.secondary,
  .challenge-workspace-nav,.challenge-performance-shortcut,.v529-performance-attempts,
  .tax-kpi-grid>*,.tax-component-grid>*,.tax-mileage-source-grid>*,
  .tax-rate-breakdown,.tax-rate-breakdown>*,.tax-waterfall,.tax-waterfall>*,
  .compact-details,.compact-details>summary,
  .session-date-toolbar,.session-date-picker-form,.session-date-step,
  .session-workspace-sidebar,.session-maintenance,.v5283-wrap-summary,
  .wrap-fidelity-stepper,.wrap-primary-field,.wrap-readonly-input,
  .workday-v5330-details>summary,.today-v5330-goal-card
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .app-shell :is(
  .settings-v5340-quick-grid a strong,.recap-date-nav strong,
  .report-range-chip strong,.page-intro-v4-note strong,.report-kpi-strip strong,
  .tax-kpi-grid strong,.tax-component-grid strong,.tax-mileage-source-grid strong,
  .session-date-toolbar strong,.v5283-wrap-summary strong,.wrap-readonly-input strong
){color:var(--text)!important}
html[data-hd-theme] .settings-v5340 [data-settings-card][hidden]{display:none!important}
html[data-hd-theme] .settings-v5340-quick-grid a:hover{border-color:var(--accent)!important;background:var(--hd-surface-soft)!important}

/* The Reports overview has a separate desktop/mobile component family. */
html[data-hd-theme] .reports-v531{
  --v531-bg:var(--bg);--v531-ink:var(--text);--v531-line:var(--line);
  background:var(--bg)!important;color:var(--text)!important;
}
html[data-hd-theme] .reports-v531 :is(
  .reports-v531-top-tabs,.reports-v531-desktop-kpis>*,.reports-v531-mobile-kpis>*,
  .reports-v531-mobile-menu>a,.reports-v531-range-row,.reports-v531-range-card,
  .reports-v531-mobile-chart-card,.reports-v531-average-card,.reports-v531-market-list>article,
  .reports-v531-date-card,.reports-v531-date-tabs,.reports-v531-table>.head,
  .reports-v531-panel.quick>a,.reports-v531-panel.quick>button,.reports-v531-frequency>*,
  .reports-v531-desktop-bars,.reports-v531-bars
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .reports-v531 :is(.reports-v531-top-tabs a.active,.reports-v531-frequency>.active){background:var(--accent)!important;color:#fff!important}
html[data-hd-theme] .reports-v531 :is(
  .reports-v531-desktop-kpis strong,.reports-v531-mobile-kpis strong,
  .reports-v531-desktop-head h1,.reports-v531-mobile-title h1,.reports-v531-mobile-chart-card>strong,
  .reports-v531-average-card strong,.reports-v531-market-list strong,.reports-v531-market-list em,
  .reports-v531-table>a>span:not(:nth-child(4)),.reports-v531-mobile-menu strong
){color:var(--text)!important}
html[data-hd-theme] .reports-v531 :is(.reports-v531-table>.head,.reports-v531-chart-axis,.reports-v531-top-tabs a:not(.active)){color:var(--muted)!important}

/* Floor ordinary text without reducing the large headline/metric values. */
html[data-hd-theme] .app-shell :is(span,em,time,code,b):not(h1 *,h2 *,h3 *,svg *,[aria-hidden="true"]){font-size:var(--hd-type-small)!important;line-height:1.35}
html[data-hd-theme] .app-shell a:not(.icon-button,.icon-link),
html[data-hd-theme] .app-shell :is(button,.btn):not(.icon-button,.info-button){font-size:var(--hd-type-control)!important}
html[data-hd-theme] .app-shell :is(
  .settings-v5340-quick-grid a strong,.settings-v5340-card strong,.settings-sidebar-nav-copy strong,
  .settings-sidebar-quicklinks a,.settings-v5340-version strong,
  .challenge-performance-highlights>a strong,.challenge-performance-outcomes strong,
  .challenge-duration-performance-list strong,.challenge-workspace-link,
  .fuel-recap-grid strong,.recap-timing-detail-strip strong,.recap-detail-list strong,
  .recap-status,.report-kpi-strip strong,.metric-switch-grid strong,
  .compare-metric-row,.compare-metric-row strong,.compare-period-heads strong,
  .compare-platform-list strong,.reports-v531-panel.summary strong,
  .tax-section-nav strong,.tax-secondary-result strong,
  .tax-rate-breakdown strong,.wrap-fidelity-stepper strong
){font-size:var(--hd-type-small)!important;line-height:1.35!important}
html[data-hd-theme] .app-shell .report-kpi-strip strong{font-size:var(--hd-type-card)!important}
html[data-hd-theme] .bottom-nav .nav-label{font-size:.875rem!important}
html[data-hd-theme] .desktop-rail-tools :is(a,.desktop-rail-tools-label){font-size:.8125rem!important}
@media(max-width:699px){
  html[data-hd-theme] .app-shell a:not(.icon-button,.icon-link),
  html[data-hd-theme] .app-shell :is(button,.btn):not(.icon-button,.info-button){font-size:1rem!important}
}
html[data-hd-theme] body main.app-shell .btn.secondary{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-v5330 main.app-shell .today-v5330-goal-card,
html[data-hd-theme] body.today-v5330 main.app-shell .today-date-calendar,
html[data-hd-theme] body.today-v5330 main.app-shell .quick-link{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .app-shell :is(
  .settings-panel-shell strong,.report-range-chip strong,.reports-v531-range-card strong,
  .page-intro-v4-note strong,.cycle-stack-row strong,.store-performance-row strong,
  .offer-performance-row strong,.report-ranked-bars strong,.saved-report-views strong,
  .tax-waterfall strong,.tax-day-row strong,.tax-method-note strong,.tax-component-grid strong,
  .compare-period-heads strong,.v5283-wrap-summary dt
){font-size:var(--hd-type-small)!important;line-height:1.35!important}
html[data-hd-theme] .app-shell .tax-total-card strong{font-size:1.5rem!important}
html[data-hd-theme] .challenge-workspace-nav-shell :is(a,strong){font-size:var(--hd-type-small)!important}
html[data-hd-theme] .settings-sidebar-status-grid strong,
html[data-hd-theme] .app-shell :is(.recap-date-nav strong,.tax-mileage-source-grid strong,.today-v5350-recent-head strong,.today-v5330-goal-card strong,.danger-copy strong){font-size:var(--hd-type-small)!important}
html[data-hd-theme] .session-page .v5283-wrap-summary dd{font-size:var(--hd-type-small)!important;color:var(--text)!important}
html[data-hd-theme] .session-v5283 .session-date-picker-form.v5282-calendar-picker label{background:var(--hd-surface)!important;color:var(--text)!important}
html[data-hd-theme] .session-v5330 main.session-page{
  --v5282-ink:var(--text);background:var(--bg)!important;color:var(--text)!important;
}
html[data-hd-theme] .session-v5330 main.session-page :is(
  .session-prep-card,.workday-timeline-card,.workday-fix-panel,.shift-row,.wrap-step,
  .readout-field,.workday-summary-grid>div,.workday-event-list,.session-v5330-checklist-grid span
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-v5330 main.session-page :is(h1,h2,h3,strong,dt,dd){color:var(--text)!important}
html[data-hd-theme] .session-v5330 main.session-page :is(small,.workflow-step:not(.active),.wrap-step-head small){color:var(--muted)!important}
html[data-hd-theme] .session-v5330 main.session-page .session-prep-card :is(input,select,textarea){background:var(--hd-surface-input)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-page[data-session-active-tab] #wrap-up .wrap-step{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-page #wrap-up .wrap-step-head strong{color:var(--text)!important;font-size:var(--hd-type-card)!important}
html[data-hd-theme] .session-page #wrap-up .wrap-step-head small{color:var(--muted)!important;font-size:var(--hd-type-meta)!important}
html[data-hd-theme] .app-shell :is(h1,h2,h3){color:var(--text)!important}
html[data-hd-theme] .app-shell :is(.muted,.section-help,.reports-v531-desktop-kpis span,.reports-v531-mobile-kpis span,.report-headline-value span,.metric-switch-grid span),
html[data-hd-theme] .challenge-performance-v529 p{color:var(--muted)!important}
/* Settings' category rail and expanded panels share the workspace palette. */
html[data-hd-theme] .settings-v5340 .settings-app-shell :is(
  .settings-sidebar-status-grid>article,.settings-sidebar-nav>a,.settings-sidebar-status,
  .service-location-summary-grid>*,.tracking-toggle-row,.tracking-insights-link,
  .update-status-grid>*,.update-feed-note,.update-feed-meta,.update-version-info,
  .home-icon-diagnostic,.update-safety-flow>*,.fuel-default-preview
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .settings-v5340 .settings-app-shell :is(
  .settings-sidebar-nav-copy strong,.settings-sidebar-quicklinks a,.tracking-toggle-row strong,
  .tracking-insights-link strong,.service-location-summary-grid strong,.update-status-grid strong,
  .update-feed-note strong,.update-feed-meta strong,.update-version-info strong,.home-icon-diagnostic strong
){color:var(--text)!important}
html[data-hd-theme] .settings-v5340 .settings-sidebar-nav>a.active{border-color:var(--accent)!important;background:var(--hd-surface-soft)!important}
html[data-hd-theme] .settings-v5340 .settings-sidebar-nav>a{grid-template-columns:34px minmax(0,1fr)!important}
html[data-hd-theme] .settings-v5340 .settings-sidebar-status{grid-column:2;justify-self:start}
html[data-hd-theme] .settings-v5340 .settings-sidebar-nav-copy :is(strong,small,em){white-space:normal!important;overflow:visible!important;text-overflow:clip!important}

/* Expanded Session steps and work-day support cards retain the same palette. */
html[data-hd-theme] .session-page #wrap-up :is(
  .wrap-cost-grid label,.wrap-simple-grid label,.wrap-group-note,.readout-field,
  .story-notes-collapse,.story-notes-collapse>summary
),
html[data-hd-theme] .session-v5330 main.session-page :is(
  .session-v5330-checklist,.workday-timeline-overview,.workday-correction-guide,
  .break-checkpoint-audit,.break-checkpoint-card,.break-checkpoint-values>div,
  .break-checkpoint-summary,.shift-protection-note,.danger-details,.danger-details>summary,
  .reset-session-form,.danger-copy,.workday-fix-panel a,.workday-fix-panel button,
  .shift-action-button,.shift-time-edit-button,.session-section>summary
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-page #panel-work-day :is(.readout-field,.break-checkpoint-card,.break-checkpoint-values>div){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-v5330 main.session-page .session-v5330-checklist strong,
html[data-hd-theme] .session-page #panel-work-day strong{color:var(--text)!important}
html[data-hd-theme] .session-page .btn.danger{background:var(--hd-surface-soft)!important;color:var(--danger)!important;border-color:var(--danger)!important}
html[data-hd-theme] .settings-v5340 .settings-app-shell :is(.settings-panel-intro,.settings-version-card,.settings-version-card>summary,.settings-v5340-utility-grid>a){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .settings-v5340 .settings-app-shell .btn.primary{background:var(--accent)!important;color:#fff!important}
html[data-hd-theme] .session-page :is(.compact-reuse-card .readout-field,.shift-correction-reasons>*,.shift-break-event-main,.shift-break-event-odo){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-page #panel-work-day .shift-break-event :is(strong,b){color:var(--text)!important}
html[data-hd-theme] .session-page #wrap-up .readout-field :is(span,small){font-size:var(--hd-type-meta)!important;color:var(--muted)!important}
html[data-hd-theme] .settings-v5340 .settings-version-card .session-collapse>summary{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .settings-v5340 .settings-version-card .session-collapse>summary strong{color:var(--text)!important}
html[data-hd-theme] .session-page #panel-pre-shift .readout-field,
html[data-hd-theme] .session-page #panel-work-day .workday-correction-guide>div{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
@media(max-width:899px){
  /* The header owns the safe inset; do not add it a second time on body. */
  html:not(.sho-desktop):not(.sho-ipad) body:has(.app-header){padding-top:0!important}
}
@media(max-width:699px){
  html[data-hd-theme] .bottom-nav .nav-items{grid-template-columns:.8fr 1.25fr .75fr .95fr 1fr!important;column-gap:3px!important}
}
/* Light report drill-downs must also replace the legacy dark inner panels. */
html[data-hd-theme] body.coverage-v536 main.app-shell :is(
  .compare-period-heads>*,.compare-preset-row>a,.compare-chart-metric-tabs>button,
  .compare-metric-table,.compare-metric-row,.compare-platform-list>article,
  .metric-switch-grid>a,.cycle-stack-row,.store-performance-row,.offer-performance-row,
  .report-ranked-bars,.report-ranked-bar,.saved-view-list>a,.tax-method-note,
  .compare-chart-wrap,.metric-chart-wrap,.report-canvas-wrap
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.coverage-v536 main.app-shell :is(.compare-metric-row.header,.compare-preset-row>a,.compare-chart-metric-tabs>button,.compare-period-heads>*){background:var(--hd-surface-soft)!important}
html[data-hd-theme] body main.app-shell :is(
  .timing-phase-bar,.period-tabs,.period-tabs>a,.reporting-scope-note,.report-ranked-bar-row,
  .report-ranked-bar-track,.cycle-insight-callout,.cycle-stack-bar,.tax-section-nav>a,
  .tax-day-row,.tax-source-list>a,.tax-secondary-result,.route-audit-kpis>*,.route-loss-grid>*
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body main.app-shell :is(.reporting-scope-note strong,.report-ranked-bar-row strong,.cycle-insight-callout strong,.tax-section-nav strong,.tax-day-row strong,.tax-secondary-result strong,.route-audit-kpis strong,.route-loss-grid strong){color:var(--text)!important}
html[data-hd-theme] body main.app-shell :is(.period-tabs>a.active,.metric-switch-grid>a.active,.compare-chart-metric-tabs>button.active){background:var(--hd-surface-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}
html[data-hd-theme] body.today-v5330 main.app-shell.today-v5330-workspace{background:var(--bg)!important;color:var(--text)!important}
html[data-hd-theme] body.today-v5330 main.app-shell.today-v5330-workspace .quick-link{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.settings-v5340 main.app-shell.settings-app-shell{background:var(--bg)!important;color:var(--text)!important}
html[data-hd-theme] body main.app-shell.reports-v531 .report-workspace-content{background:var(--bg)!important;color:var(--text)!important}
html[data-hd-theme] .reports-v531 :is(.reports-v531-mobile-subhead strong,.reports-v531-mobile-title strong){color:var(--text)!important}
html[data-hd-theme] .reports-v531 .reports-v531-trend-tabs{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body main.app-shell .report-nav-shell.reports-context-superseded-v538{display:none!important}
html[data-hd-theme] .session-page #panel-pre-shift :is(input,select,textarea){background:var(--hd-surface-input)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .session-page #panel-work-day :is(.workday-summary-grid,.shift-break-event,.workday-timeline-body){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-v5330 main.app-shell.today-v5330-workspace :is(.delivery-row-main strong,.quick-link b){color:var(--text)!important}
html[data-hd-theme] body main.app-shell .tax-section-nav{background:var(--hd-surface-soft)!important;border-color:var(--line)!important}
html[data-hd-theme] body main.app-shell :is(.tax-waterfall>div>span,.tax-method-note>span){color:var(--muted)!important}
html[data-hd-theme] body main.app-shell .tax-rate-breakdown strong{color:var(--success)!important}

/* v5.39.1 — Active-state surfaces must resolve with their metric text. */
html[data-hd-theme] body.today-v5330 main.app-shell :is(
  .today-v5330-shift-card,.today-v5330-primary-grid article,
  .today-v5330-efficiency-grid article,.today-live-status-row
){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-v5330 main.app-shell :is(
  .today-v5330-primary-grid,.today-v5330-efficiency-grid
){background:var(--line)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-v5330 main.app-shell :is(
  .today-v5330-primary-grid strong,.today-v5330-efficiency-grid strong
){color:var(--text)!important}
html[data-hd-theme] body.today-v5330 main.app-shell :is(
  .today-v5330-primary-grid span,.today-v5330-efficiency-grid span
){color:color-mix(in srgb,var(--muted) 80%,var(--text) 20%)!important}
html[data-hd-theme] body.today-v5330 main.app-shell .today-v5330-state strong{color:inherit!important}
html[data-hd-theme] body.today-v5330 main.app-shell :is(.today-wake-status,.today-refresh-status){background:var(--hd-surface)!important;color:color-mix(in srgb,var(--muted) 80%,var(--text) 20%)!important;border-color:var(--line)!important}

html[data-hd-theme] .challenge-v529-body main.app-shell .v529-daily-pace-grid article{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] .challenge-v529-body main.app-shell .v529-daily-pace-grid span{color:color-mix(in srgb,var(--muted) 80%,var(--text) 20%)!important}
html[data-hd-theme] .challenge-v529-body main.app-shell .v529-daily-pace-grid strong{color:var(--text)!important}
html[data-hd-theme] .challenge-v529-body main.app-shell .v529-daily-pace-grid strong.positive{color:color-mix(in srgb,var(--success) 86%,var(--text) 14%)!important}
html[data-hd-theme] .challenge-v529-body main.app-shell .v529-daily-pace-grid strong.negative{color:var(--danger)!important}
html[data-hd-theme] .challenge-v529-body main.app-shell .v529-daily-pace-card>div>span{color:var(--text)!important}

/* Keep period links inside the chart panel at tablet widths and large type. */
.reports-page.reports-v531{display:block!important}
.reports-v531 .report-workspace-content{width:100%;max-width:none;min-width:0;grid-column:1/-1}
.reports-v531 .reports-v531-panel{min-width:0}
.reports-v531 .reports-v531-panel .panel-head{flex-wrap:wrap}
.reports-v531 .reports-v531-frequency{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-width:100%;min-width:0}
.reports-v531 .reports-v531-frequency>a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;padding:8px 10px;text-decoration:none}
.reports-v531 .reports-v531-top-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center;white-space:normal}
.reports-v531 .reports-v540-average .reports-v540-average-label{grid-column:1/-1;color:var(--muted);font-size:var(--hd-type-small);line-height:1.4}
.reports-v531 .reports-v540-average strong{min-width:0;overflow-wrap:anywhere}
.reports-v531 .reports-v540-average p{margin:3px 0 0;color:var(--muted);font-size:var(--hd-type-small);line-height:1.4}
.reports-v531 .reports-v540-average .reports-v540-average-basis{grid-column:1/-1;grid-row:3}
.reports-v531 .reports-v540-average .reports-v540-average-comparison{grid-column:1/-1;grid-row:4}
@media(min-width:721px) and (max-width:1180px){
  .reports-v531 .reports-v531-desktop-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .reports-v531 .reports-v531-desktop-head{flex-wrap:wrap}
}
html[data-hd-theme] body main.app-shell .compare-metric-row em.up{color:var(--success)!important}
html[data-hd-theme] body main.app-shell .compare-metric-row em.down{color:var(--danger)!important}
html[data-hd-theme] body main.app-shell .compare-metric-row em.flat{color:var(--muted)!important}

/* v5.40.0 — Today Concept A.3. Scoped to Today; existing forms and theme tokens. */
html[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace{
  display:flex!important;flex-direction:column!important;gap:18px!important;
  width:100%!important;max-width:1440px!important;margin:0 auto!important;
  padding:20px 20px calc(100px + env(safe-area-inset-bottom))!important;
}
html[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace>*{
  grid-column:auto!important;grid-row:auto!important;order:initial!important;min-width:0;width:100%;margin:0!important;
}
html[data-hd-theme] body.today-a3 main.app-shell :is(.card,.today-gps-strip,.today-v5330-goal-card,.delivery-row,.empty,.break-odometer-form,.end-shift-safety-zone,.today-v5350-side-tools,.today-v5350-glance,.recap-cta){
  background:var(--hd-surface)!important;color:var(--text)!important;border:1px solid var(--line)!important;box-shadow:none!important;
}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid article,.today-v5330-efficiency-grid article,.today-challenge-item,.delivery-cycle-live,.delivery-phase-timer,.today-v5350-glance-grid article,.today-driving-item){
  background:var(--hd-surface-soft)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:12px;
}
html[data-hd-theme] body.today-a3 main.app-shell :is(h2,h3,strong,b,.delivery-big strong,.today-challenge-money b,.today-challenge-top strong,.today-v5330-state strong){color:var(--text)!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.muted,small,.completion-field-note,.service-location-offer-note,.break-odo-reference,.end-shift-safety-label,.delivery-row-main span,.delivery-row-stats span,.today-challenge-money span){color:var(--muted)!important}
html[data-hd-theme] body.today-a3 main.app-shell .eyebrow{color:var(--accent)!important}
html[data-hd-theme] body.today-a3 main.app-shell .card{padding:20px!important;margin-bottom:0!important;border-radius:18px!important;min-width:0}
.today-a3-primary,.today-a3-secondary{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.today-a3-primary>*,.today-a3-secondary>*{min-width:0;margin:0!important}
.today-a3-delivery{container-type:inline-size}
.today-a3-shift-summary .today-v5330-state{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0!important;padding:0!important;border:0!important;background:none!important}
html[data-hd-theme] body.today-a3 .today-a3-shift-summary .today-v5330-state span{color:var(--text)!important;font-size:.875rem!important;letter-spacing:.08em}
html[data-hd-theme] body.today-a3 .today-a3-shift-summary .today-v5330-state strong{font-size:1rem!important}
.today-driving-status{display:grid;gap:12px}
.today-driving-item{padding:14px;min-width:0}
.today-driving-item h3{font-size:1rem;margin:0 0 8px}
.today-driving-item p{margin:8px 0;font-size:.875rem;line-height:1.5}
.today-a3 .today-driving-gps .today-gps-strip{display:flex!important;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:10px 0!important;padding:12px!important}
.today-a3 .today-driving-gps .today-gps-strip>div{min-width:0;flex:1}
.today-a3 .today-driving-gps .today-gps-strip small{display:block;margin-top:8px;line-height:1.5}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-wake-status,.today-refresh-status){
  display:block!important;white-space:normal!important;text-align:left!important;width:100%;font-size:.875rem!important;line-height:1.4;min-height:48px;padding:12px!important;border-radius:10px;
}
html[data-hd-theme] body.today-a3 main.app-shell .today-driving-gps .quick-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px;margin:14px 0 0!important}
.today-a3 .today-driving-gps .quick-link{min-height:64px!important;min-width:0}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid,.today-v5330-efficiency-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:10px 0 0!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid,.today-v5330-efficiency-grid) article{min-width:0;padding:14px!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid,.today-v5330-efficiency-grid) strong{display:block;font-size:1.25rem!important;margin-top:6px}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid,.today-v5330-efficiency-grid) span{color:var(--muted)!important;font-size:.875rem!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(input,select,textarea){font-size:16px!important;min-height:48px;max-width:100%;min-width:0;background:var(--hd-surface-input)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-a3 main.app-shell label{color:var(--text)!important;min-width:0;font-size:1rem!important}
html[data-hd-theme] body.today-a3 main.app-shell .two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(button,.btn,.small-edit-link,.today-date-calendar,.today-challenge-item,.today-v5330-goal-card,.today-v5350-tool-list a,.today-gps-strip>a){min-height:48px;min-width:44px}
.today-a3 :is(.small-edit-link,.today-date-calendar,.today-gps-strip>a){display:inline-flex;align-items:center;justify-content:center;padding:10px}
.today-a3 main.app-shell :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--hd-focus)!important;outline-offset:3px!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.shift-controls,.today-v5370-right-rail,.today-v5350-off-utilities){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;min-width:0}
html[data-hd-theme] body.today-a3 main.app-shell .shift-controls{margin-top:14px!important;padding-top:24px!important;border-top:2px solid var(--line)}
html[data-hd-theme] body.today-a3 main.app-shell :is(.break-odometer-form,.end-shift-safety-zone){padding:18px!important;border-radius:16px;min-width:0;margin:0!important}
html[data-hd-theme] body.today-a3 main.app-shell .end-shift-safety-zone{border:2px solid var(--danger)!important}
html[data-hd-theme] body.today-a3 main.app-shell .end-shift-safety-zone .btn.danger{background:var(--hd-surface)!important;color:var(--text)!important;border:2px solid var(--danger)!important;font-weight:800}
.today-a3 .end-shift-safety-label{margin-bottom:12px;font-size:.8125rem;letter-spacing:.06em}
.today-a3 .end-shift-safety-zone small{display:block;margin-top:12px;line-height:1.5}
.today-a3 .delivery-timing-panel{display:grid;gap:12px}
.today-a3 .delivery-phase-timer{flex-wrap:wrap;gap:12px}
.today-a3 .delivery-phase-timer form{width:100%}
.today-a3 .delivery-phase-timer button{width:100%;white-space:normal}
.today-a3 .gps-device-conflict-banner{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:12px;padding:14px;background:var(--hd-surface-soft);border:1px solid var(--line);border-radius:12px;color:var(--text)}
.today-a3 .gps-device-conflict-banner>div{min-width:0}
.today-a3 .gps-device-conflict-banner button{width:100%;white-space:normal}
.today-a3 main.app-shell :is(strong,p,small,b,.delivery-row-main span){overflow-wrap:anywhere}
.today-a3 .today-v5330-goal-card{padding:18px!important;border-radius:16px;min-height:80px}
.today-a3 .bottom-spacer{height:0!important;min-height:0!important}
.today-a3 .bulk-delivery-toolbar{flex-wrap:wrap;gap:12px}
.today-a3 .bulk-delivery-toolbar[hidden]{display:none!important}
@container (max-width:420px){html[data-hd-theme] body.today-a3 main.app-shell .two-col{grid-template-columns:minmax(0,1fr)!important}}
@container (min-width:714px){
  .today-a3-primary{grid-template-columns:minmax(380px,1.65fr) minmax(300px,1fr)}
  .today-a3-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid,.today-v5330-efficiency-grid){grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:699px){html[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace{padding:16px 12px calc(112px + env(safe-area-inset-bottom))!important;gap:16px!important}html[data-hd-theme] body.today-a3 main.app-shell .card{padding:16px!important}}
/* Match the unchanged navigation rail; do not position content underneath it. */
@media(min-width:900px){html.sho-desktop[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace{width:calc(100% - var(--desktop-rail-width))!important;max-width:none!important;margin-left:var(--desktop-rail-width)!important;margin-right:0!important}}
@media(min-width:768px) and (max-width:1400px){html.sho-ipad[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace{width:calc(100% - var(--ipad-rail-width, 0px))!important;max-width:none!important;margin-left:var(--ipad-rail-width, 0px)!important;margin-right:0!important}}
html[data-hd-theme] body.today-a3 main.app-shell .today-v5330-efficiency-grid article:nth-child(n){display:block!important}
html[data-hd-theme] body.today-a3 main.app-shell .delivery-row{display:block!important;width:100%!important;padding:16px!important;margin:0 0 10px!important}
html[data-hd-theme] body.today-a3 main.app-shell .delivery-row-main{display:flex!important;justify-content:space-between;gap:12px;width:100%}
html[data-hd-theme] body.today-a3 main.app-shell .delivery-row-identity{min-width:0}
html[data-hd-theme] body.today-a3 main.app-shell .delivery-row-stats{display:flex!important;flex-wrap:wrap;gap:12px;border:0!important;justify-content:flex-start!important;margin-top:12px;padding:0!important}

html[data-hd-theme] body.today-a3 main.app-shell .today-a3-secondary>*{grid-column:auto!important;grid-row:auto!important;order:initial!important;align-self:start;min-width:0;margin:0!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-v5330-primary-grid,.today-v5330-efficiency-grid){background:transparent!important;border:0!important}

/* The existing iPad rail presentation also applies to its detected Today class.
   This closes the 700–767px split-view gap without a second navigation instance. */
@media(min-width:700px) and (max-width:1400px){
 html.sho-ipad[data-hd-theme] body.today-a3{--ipad-rail-width:104px;--ipad-header-height:88px}
 html.sho-ipad body.today-a3 .bottom-nav{position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;width:var(--ipad-rail-width)!important;height:auto!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:max(18px,calc(env(safe-area-inset-top) + 8px)) 8px max(14px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;border-top:0!important;border-right:1px solid var(--line)!important;background:var(--hd-asphalt,#0E0E0F)!important;z-index:55!important}
 html.sho-ipad body.today-a3 .bottom-nav .nav-rail-brand{display:flex!important;flex-direction:column;align-items:center;gap:5px;min-height:76px;margin:0 2px 12px;padding:5px 0 10px;border-bottom:1px solid var(--line);text-decoration:none}
 html.sho-ipad body.today-a3 .nav-rail-mini-mark{width:54px!important;height:54px!important;object-fit:contain}
 html.sho-ipad body.today-a3 .nav-rail-wordmark{width:80px!important;height:auto!important;object-fit:contain}
 html.sho-ipad body.today-a3 .nav-rail-parent{font-size:.49rem;text-align:center;color:var(--muted)}
 html.sho-ipad body.today-a3 .bottom-nav .nav-items{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;width:100%!important}
 html.sho-ipad body.today-a3 .bottom-nav .nav-item{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:5px;min-height:66px!important;padding:9px 4px!important}
 html.sho-ipad body.today-a3 .bottom-nav .nav-label{font-size:.66rem!important;line-height:1.15;white-space:normal}
 html.sho-ipad body.today-a3 .desktop-rail-tools{display:none!important}
 html.sho-ipad[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace{width:calc(100% - var(--ipad-rail-width))!important;margin-left:var(--ipad-rail-width)!important;margin-right:0!important;max-width:none!important}
 html.sho-ipad body.today-a3 .app-header{width:calc(100% - var(--ipad-rail-width))!important;margin-left:var(--ipad-rail-width)!important}
}

html[data-hd-theme] body.today-a3 main.app-shell.today-v5330-workspace{container-type:inline-size;background:var(--bg)!important;color:var(--text)!important;border-radius:0!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-date-context,.today-date-calendar,.today-v5330-off-icon){background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-a3 main.app-shell .today-date-context strong{color:var(--text)!important}
html[data-hd-theme] body.today-a3 main.app-shell .shift-controls{background:transparent!important;box-shadow:none!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(small,.eyebrow,.today-challenge-state,.today-challenge-money,.today-challenge-more,.today-gps-strip span,.delivery-cycle-live span,.delivery-phase-timer span,.end-shift-safety-label){font-size:.8125rem!important;line-height:1.5!important}
html[data-hd-theme] body.today-a3 main.app-shell :is(.today-challenge-top strong,.today-v5330-goal-card strong,.today-v5350-side-heading strong){font-size:1rem!important}
html[data-hd-theme] body.today-a3 main.app-shell .bulk-delivery-check{min-width:44px;min-height:44px}
@media(min-width:700px) and (max-width:1400px){
 html.sho-ipad body.today-a3 .sho-number-pad{right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;left:auto!important;width:min(360px,calc(100vw - var(--ipad-rail-width) - 32px))!important;max-width:none!important;max-height:calc(100dvh - 32px);overflow:auto;grid-template-columns:minmax(0,1fr)!important}
 html.sho-ipad body.today-a3 :is(.sho-number-pad-head,.sho-number-pad-grid,.sho-number-pad-actions){grid-column:auto!important;grid-row:auto!important}
 html.sho-ipad body.today-a3 .sho-number-pad button{min-height:48px;min-width:44px}
 html.sho-ipad.sho-keypad-open body.today-a3 main.app-shell.today-v5330-workspace{padding-bottom:460px!important}
}
html[data-hd-theme] body.today-a3 main.app-shell .today-date-context strong::before{color:var(--text)!important}
html[data-hd-theme] body.today-v5330.today-a3 main.app-shell.today-v5330-workspace > .today-v5350-glance{display:block!important}
html[data-hd-theme] body.today-a3 main.app-shell .today-v5350-glance-grid strong{font-size:1.25rem!important}
.today-a3-primary:has(>.today-driving-gps:only-child){grid-template-columns:minmax(0,1fr)}
@container (min-width:714px){.today-a3-primary:has(>.today-driving-gps:only-child) .today-driving-status{grid-template-columns:repeat(3,minmax(0,1fr))}}
html[data-hd-theme] body.today-a3 .sho-number-pad{background:var(--hd-surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-a3 .sho-number-pad :is(button,.sho-number-pad-title){color:var(--text)!important}
html[data-hd-theme] body.today-a3 .sho-number-pad button{background:var(--hd-surface-soft)!important;border-color:var(--line)!important}
html[data-hd-theme] body.today-a3 .sho-number-pad .key-done{border-color:var(--accent)!important}
html[data-hd-theme] body.today-a3 .sho-number-pad-value{color:var(--accent)!important}

/* v5.40.0 CERT-VIS-01: use the approved iPad rail on Reports in every engine.
   Device detection already selects this class at 700–1400px. Keep navigation
   and report space coordinated rather than falling back to the legacy grid. */
@media(min-width:700px) and (max-width:1400px){
 html.sho-ipad[data-hd-theme] body:has(main.reports-page,main>.reports-context-v538){--ipad-rail-width:6.5rem}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .bottom-nav{
  position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;
  width:var(--ipad-rail-width)!important;height:auto!important;display:flex!important;flex-direction:column!important;gap:0!important;
  padding:max(18px,calc(env(safe-area-inset-top) + 8px)) 8px max(6em,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
  border-top:0!important;border-right:1px solid var(--line)!important;background:var(--hd-asphalt,#0E0E0F)!important;z-index:55!important;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .nav-rail-brand{
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;
  min-height:76px;margin:0 2px 12px;padding:5px 0 10px;border-bottom:1px solid var(--line);text-decoration:none;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .bottom-nav .nav-items{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;width:100%!important;flex:0 1 auto!important;min-height:0!important;overflow-y:auto;grid-auto-rows:max-content!important;align-content:start!important;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .bottom-nav .nav-item{
  display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;
  gap:5px;min-height:66px!important;height:auto!important;padding:9px 0!important;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .bottom-nav .nav-label{line-height:1.15;white-space:normal;overflow-wrap:anywhere;flex-shrink:0!important}
 html.sho-ipad[data-hd-theme] body:has(main.reports-page,main>.reports-context-v538) :is(.app-header,main.app-shell){
  box-sizing:border-box!important;width:calc(100% - var(--ipad-rail-width))!important;max-width:none!important;
  margin-left:var(--ipad-rail-width)!important;margin-right:0!important;min-width:0!important;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .app-version-footer{
  position:fixed!important;left:8px!important;right:auto!important;bottom:max(11px,env(safe-area-inset-bottom))!important;
  width:calc(var(--ipad-rail-width) - 16px)!important;z-index:56!important;white-space:normal;overflow-wrap:anywhere;pointer-events:none;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) :is(.reports-primary-tabs-v538,.reports-v531-top-tabs){
  display:flex;flex-wrap:wrap;overflow:visible;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) :is(.reports-primary-tabs-v538,.reports-v531-top-tabs)>a{
  flex:1 1 auto;min-width:max-content;min-height:44px;
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-table>:is(.head,a)>span{min-width:0;overflow-wrap:anywhere}
 @media(max-width:1180px){
  html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-desktop-grid.bottom{grid-template-columns:minmax(0,1fr)}
 }
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-desktop-grid.top{display:flex;flex-wrap:wrap}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-desktop-grid.top>.reports-v531-panel{flex:3.2 1 0;min-width:min-content;max-width:100%}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-desktop-grid.top>.summary{flex-grow:1}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) :is(.tax-section-nav,.tax-kpi-grid,.tax-component-grid,.tax-mileage-source-grid){display:flex;flex-wrap:wrap}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .tax-section-nav>a{flex:1 1 max-content;max-width:100%}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) :is(.tax-kpi-grid,.tax-component-grid,.tax-mileage-source-grid)>*{flex:1 1 min-content;min-width:0;max-width:100%}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-frequency{grid-template-columns:repeat(3,minmax(max-content,1fr));min-width:min-content}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) :is(.reports-v531-desktop-head,.reports-v531-desktop-actions){flex-wrap:wrap}
 html.sho-ipad body:has(main.reports-page,main>.reports-context-v538) .reports-v531-range-card strong{white-space:normal}
}

/* CERT-VIS-01 accessibility: Taxes keeps complete text and actions as their
   intrinsic sizes grow. Leave the accepted Reports rail and other routes alone. */
body.taxes-v536 .app-header{flex-wrap:wrap}
body.taxes-v536 .header-leading{flex:1 1 24rem;flex-wrap:wrap;min-width:min(100%,24rem)}
body.taxes-v536 .header-identity{flex:1 1 16rem;flex-wrap:wrap}
body.taxes-v536 .header-page-context{flex:1 1 10rem}
body.taxes-v536 .app-header :is(.page-title,.page-subtitle){
 white-space:normal;overflow:visible;text-overflow:clip;max-width:none;overflow-wrap:anywhere;
}
body.taxes-v536 .header-actions{flex:0 0 auto;flex-wrap:wrap;max-width:100%}
html[data-hd-theme] body.taxes-v536 .app-header .header-actions .header-settings-link{width:auto!important;height:auto!important;min-width:44px!important;min-height:44px!important}
body.taxes-v536 .tax-mileage-card>.section-heading-row{flex-wrap:wrap}
body.taxes-v536 .tax-mileage-card>.section-heading-row>div{flex:1 1 18rem;min-width:0;overflow-wrap:anywhere}
body.taxes-v536 .tax-mileage-card>.section-heading-row>.small-edit-link{flex:0 0 auto}
/* The header height grows with text; avoid the old fixed 64px sticky offset. */
body.taxes-v536 .tax-section-nav{position:static}

/* v5.40.0 NAV-A11Y: preserve readable actions as text grows. The theme
   focus token is a color, so use it as an outline rather than a shadow. */
html[data-hd-theme] :focus-visible{
 outline:3px solid var(--hd-focus)!important;outline-offset:3px!important;
}

/* Overview dates must wrap before they can enlarge the phone layout viewport. */
.reports-v531 .reports-v531-range-card strong{white-space:normal;overflow-wrap:anywhere}

body.taxes-v536 #tax-mileage .small-edit-link{scroll-margin-block:12rem 8rem}

/* Intrinsic label widths let the phone navigation form additional rows at
   enlarged text sizes. Keep the full labels and the existing safe insets. */
@media(max-width:699px){
 html[data-hd-theme] .bottom-nav{width:100vw!important;right:auto!important;box-sizing:border-box}
 html[data-hd-theme] .bottom-nav .nav-items{display:flex!important;flex-wrap:wrap;gap:4px!important;min-width:0}
 html[data-hd-theme] .bottom-nav .nav-item{flex:1 0 auto;max-width:100%;min-height:58px!important;padding:5px 2px!important}
 html[data-hd-theme] .bottom-nav .nav-label{white-space:normal;overflow-wrap:anywhere}
 html:not(.sho-desktop):not(.sho-ipad) body{padding-bottom:calc(8rem + env(safe-area-inset-bottom))!important}
}

@media(min-width:900px){
 /* The rail grows with the user's text; workspace offsets already use this
    shared variable. Labels may wrap instead of silently becoming ellipses. */
 html.sho-desktop{--desktop-rail-width:11rem}
 html.sho-desktop .bottom-nav{overflow-y:auto}
 html.sho-desktop .bottom-nav .nav-label{white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}
 html.sho-desktop .desktop-rail-tools :is(a,strong,.desktop-rail-tools-label){min-width:0;white-space:normal;overflow-wrap:anywhere}
 /* Fixed 280px summary tracks cannot contain enlarged numeric comparisons.
    Reflow whole modules using their text-scaled bases; retain the full width. */
 html.sho-desktop .reports-v531-desktop-grid{display:flex;flex-wrap:wrap}
 html.sho-desktop .reports-v531-desktop-grid>.reports-v531-panel{flex:3.2 1 30rem;min-width:0;max-width:100%}
 html.sho-desktop .reports-v531-desktop-grid>:is(.summary,.quick){flex:1 1 18rem}
 html.sho-desktop .reports-v531-panel.summary>div{display:flex;flex-wrap:wrap}
 html.sho-desktop .reports-v531-panel.summary>div>span{flex:1 1 auto}
 html.sho-desktop .reports-v531-table>:is(.head,a)>span{min-width:0;overflow-wrap:anywhere}
 html.sho-desktop :is(.reports-v531-desktop-head,.reports-v531-desktop-actions,.reports-v531-panel .panel-head,.reports-v531-frequency){flex-wrap:wrap}
 html.sho-desktop .reports-v531-range-card strong{white-space:normal}
 html.sho-desktop .reports-v531-top-tabs{display:flex;flex-wrap:wrap}
 html.sho-desktop .reports-v531-top-tabs>a{flex:1 1 auto;min-width:max-content;min-height:44px}
 html.sho-desktop .reports-v531-desktop-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
}

/* Enlarged text must leave date controls reachable between sticky chrome.
   On phones, expand the existing date panel in flow instead of placing it
   behind the fixed navigation. Filter values and submission stay unchanged. */
.report-control-bar[data-report-header-controls] .report-control-icon-summary{
 scroll-margin-block:6rem 9rem;
}
@media(max-width:699px){
 .report-heading-actions{flex-wrap:wrap}
 .report-control-host{flex:1 1 100%;width:100%}
 .report-control-bar[data-report-header-controls].report-controls-mounted{flex-wrap:wrap;width:100%!important}
 .report-control-bar[data-report-header-controls] .report-date-disclosure[open]{display:block!important;width:100%!important}
 .report-control-bar[data-report-header-controls] .report-date-disclosure>.report-control-body{
  position:static;width:100%;max-height:none;box-sizing:border-box;
 }
}
.report-date-disclosure :is(a,button,input,select){scroll-margin-block:6rem 9rem}
.report-date-disclosure .period-tabs{display:flex;flex-wrap:wrap}
.report-date-disclosure .period-tabs>a{flex:1 1 auto;min-width:max-content;min-height:44px}
@media(max-width:699px){
 /* Unbroken KPI words and intrinsic tax columns must not enlarge the layout
    viewport and push fixed navigation below the visible phone viewport. */
 .report-kpi-strip :is(span,small){overflow-wrap:anywhere}
 .tax-waterfall>div{display:flex;flex-wrap:wrap;gap:.25rem .5rem;min-width:0;max-width:100%}
 .tax-waterfall>div>span{flex:1 1 8rem;min-width:0}
 .tax-waterfall>div>strong{flex:0 0 auto;margin-left:auto}
}

/* Custom Range: give enlarged native date segments the full filter width. */
.report-date-disclosure .custom-range-form{grid-template-columns:minmax(0,1fr)}
.report-date-disclosure .custom-range-separator{padding-top:0}
.report-date-disclosure .custom-range-form .btn{width:100%}
/* v5.41.0 — Edit Delivery status contrast; retain existing badge geometry. */
html[data-hd-theme] body.edit-delivery-v536 main.shell .page-intro-v4-note{
  background:var(--hd-surface-soft);color:var(--text);
}
html[data-hd-theme] body.edit-delivery-v536 main.shell .page-intro-v4-note strong{
  color:var(--text)!important;
}
html[data-hd-theme] body.edit-delivery-v536 main.shell .page-intro-v4-note :is(span,small){
  color:color-mix(in srgb,var(--text) 80%,var(--muted) 20%)!important;
}


/* v5.41.0 responsive form, status and connection-notice clearance. */
body.edit-delivery-v536 form[action="actions/update_delivery.php"],
body.edit-delivery-v536 form[action="actions/update_delivery.php"] :is(.two-col,label,details){min-width:0}
@media(max-width:699px){
  body.edit-delivery-v536 form[action="actions/update_delivery.php"],
  body.edit-delivery-v536 form[action="actions/update_delivery.php"] .two-col{
    grid-template-columns:minmax(0,1fr);
  }
}
body.recap-v536 .recap-hero{flex-wrap:wrap}
body.recap-v536 .recap-hero>div{min-width:0}
body.recap-v536 .recap-status{max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Keep two ordinary mobile columns; let the useful card width grow with text. */
@media(max-width:620px){
  body.recap-v536 .recap-primary-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,max(8.5rem,calc((100% - 10px)/2))),1fr));
  }
}
body.recap-v536 .recap-primary-grid .recap-stat-card > :is(span,strong,small) {
  overflow-wrap: anywhere;
}
body.recap-v536 .recap-detail-list > div {
  flex-wrap: wrap;
}

/* Reserve the warning's own flow space instead of guessing the wrapped nav's height.
   Only the genuine visible application notice activates this layout. */
body:has(>.sho-connection-notice:not([hidden])){
  display:flex;
  flex-direction:column;
  padding-top:0!important;
}
body:has(>.sho-connection-notice:not([hidden]))>.sho-connection-notice{
  order:-1;
  flex:0 0 auto;
  align-self:center;
  position:sticky;
  top:max(.5rem,env(safe-area-inset-top));
  bottom:auto;
  left:auto;
  transform:none;
  width:min(520px,calc(100% - max(1rem,env(safe-area-inset-left)) - max(1rem,env(safe-area-inset-right))));
  max-height:calc(100dvh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow:auto;
  margin:max(.5rem,env(safe-area-inset-top)) auto .5rem;
}
/* The warning owns the sticky top edge while shown; header controls remain in flow. */
body:has(>.sho-connection-notice:not([hidden])) .app-header{position:relative!important;top:auto!important}
html:has(body>.sho-connection-notice:not([hidden])){
  scroll-padding-top:calc(8rem + env(safe-area-inset-top));
  scroll-padding-bottom:calc(9rem + env(safe-area-inset-bottom));
}
body:has(>.sho-connection-notice:not([hidden])) :is(main,.app-header) :is(a,button,input,select,textarea,summary){scroll-margin-block:1rem}
@media(max-width:699px){
  html:not(.sho-desktop):not(.sho-ipad) body:has(>.sho-connection-notice:not([hidden])){
    padding-bottom:calc(9rem + env(safe-area-inset-bottom))!important;
  }
}
