/* 2026-09-29 — unified onboarding + dense mobile customer experience */
@media(max-width:680px){
  .view{padding-left:13px!important;padding-right:13px!important}
  .section-intro{gap:7px!important;margin-bottom:10px!important}
  .section-intro h2{font-size:clamp(26px,8.4vw,34px)!important;line-height:.98!important}
  .section-intro .eyebrow{font-size:9px!important}
  .section-actions{gap:7px!important}.section-actions button{min-height:42px!important;padding:9px 12px!important}
  .metric-grid.compact{display:flex!important;gap:6px!important;overflow-x:auto!important;margin-bottom:10px!important;padding-bottom:2px;scrollbar-width:none}
  .metric-grid.compact::-webkit-scrollbar{display:none}.metric-grid.compact .metric-card{flex:1 0 30%;min-width:100px!important;min-height:72px!important;padding:10px!important;border-radius:14px!important}.metric-grid.compact .metric-card span{font-size:9px!important;line-height:1.1}.metric-grid.compact .metric-card strong{font-size:clamp(19px,6vw,27px)!important;margin-top:5px!important}
  #leadsTable,#invoicesTable,#mileageTable,#timeEntriesTable{gap:7px!important}
  .mobile-record-card{padding:11px!important;border-radius:15px!important;gap:5px!important}
  .mobile-record-card>.record-primary{padding-bottom:6px!important}.mobile-record-card>.record-primary strong{font-size:15px!important}.mobile-record-card>.record-primary small{font-size:10px!important}
  .mobile-record-card>.record-field{grid-template-columns:66px minmax(0,1fr)!important;min-height:22px!important;gap:7px!important;font-size:12px!important;padding:2px 0!important}.mobile-record-card>.record-field:before{font-size:8px!important}
  .mobile-record-card>.record-actions{position:relative;padding-top:6px!important;display:flex!important;gap:6px!important;align-items:center!important}.mobile-record-card .safe-actions{display:contents!important}.mobile-record-card .safe-actions button:not(.mobile-primary-action),.mobile-record-card .record-delete-btn{display:none!important}.mobile-record-card .mobile-primary-action{display:block!important;flex:1;min-height:36px!important;padding:7px 9px!important;font-size:10px!important}.mobile-more-actions{display:block!important;width:42px;min-height:36px;border:1px solid var(--line);border-radius:11px;background:#f5f2ec;font-weight:900}
  .mobile-record-card .record-actions.mobile-actions-open{display:grid!important;grid-template-columns:1fr 42px!important}.mobile-record-card .record-actions.mobile-actions-open .safe-actions{display:grid!important;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:6px;order:3}.mobile-record-card .record-actions.mobile-actions-open .safe-actions button{display:block!important;min-height:34px!important;padding:7px!important;font-size:10px!important}.mobile-record-card .record-actions.mobile-actions-open .record-delete-btn{display:block!important;grid-column:1/-1;order:4;min-height:34px!important;padding:7px!important}
  .client-grid,.service-grid,.supplies-grid{grid-template-columns:1fr!important;gap:7px!important}.client-card,.service-card,.supply-card,.kanban-col article{padding:11px!important;border-radius:15px!important;gap:5px!important}.client-avatar{width:34px!important;height:34px!important;border-radius:11px!important;margin-bottom:3px!important}.service-card>strong,.client-card>strong,.supply-card strong{font-size:15px!important}.service-card>span,.client-card>span,.client-card>small{font-size:10px!important}.service-card .addon-list{gap:5px!important;margin:5px 0 2px!important;padding-top:6px!important}.service-card .addon-row{padding:7px 8px!important;border-radius:10px!important}.service-card .card-actions,.client-card .card-actions,.supply-card .card-actions{gap:5px!important;margin-top:4px!important;display:flex!important;flex-wrap:wrap}.service-card .card-actions button,.client-card .card-actions button,.supply-card .card-actions button{min-height:32px!important;padding:6px 8px!important;font-size:9px!important}
  .supply-qty{padding:7px 0!important}.supply-qty strong{font-size:26px!important}.supply-meta{font-size:9px!important}
  .job-block{grid-template-columns:48px minmax(0,1fr)!important;gap:8px!important;padding:10px!important;border-radius:12px!important}.job-block>.record-actions{grid-column:1/-1!important;display:flex!important;gap:5px!important;flex-wrap:wrap}.job-block>.record-actions button{min-height:32px!important;padding:6px 8px!important;font-size:9px!important}
  .kanban{grid-template-columns:1fr!important;gap:8px!important}.kanban-col{padding:9px!important;border-radius:15px!important}.kanban-col h3{margin:1px 0 7px!important}
  .empty-table,.empty-card,.empty-inline{padding:15px!important;gap:5px!important}.empty-table strong,.empty-card strong,.empty-inline strong{font-size:14px!important}.empty-table span,.empty-card span,.empty-inline span{font-size:11px!important;line-height:1.35}
  .onboarding-card{left:12px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;padding:14px!important;border-radius:17px!important}.onboarding-card h3{font-size:19px!important;margin-bottom:5px!important}.onboarding-card p{font-size:12px!important;line-height:1.4!important}.onboarding-card small{font-size:9px!important;margin-top:6px!important}.onboarding-actions{margin-top:10px!important;gap:6px!important}.onboarding-actions button{min-height:36px!important;padding:7px 10px!important;font-size:10px!important}
}
@media(min-width:681px){.mobile-more-actions{display:none!important}}

/* 2026-09-29 — simplified IA, progressive setup, global search */
.nav-list.simplified-nav{gap:5px}.nav-group{border:1px solid rgba(25,25,25,.08);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.34)}.nav-group summary{list-style:none;cursor:pointer;padding:10px 12px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.nav-group summary::-webkit-details-marker{display:none}.nav-group[open] summary span{transform:rotate(180deg)}.nav-group-items{padding:0 5px 5px}.nav-group-items .nav-item{margin:1px 0}.nav-primary{margin-bottom:3px!important}
.global-search-shell{position:relative}.global-search-popover{position:absolute;right:0;top:calc(100% + 8px);width:min(390px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(25,25,25,.16);z-index:120}.global-search-field{display:grid;gap:5px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.global-search-field input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;font:inherit;text-transform:none;letter-spacing:0}.global-search-results{display:grid;gap:5px;margin-top:8px;max-height:390px;overflow:auto}.global-search-result{display:grid;text-align:left;gap:2px;border:0;border-radius:11px;background:#f7f5f0;padding:9px 10px;cursor:pointer}.global-search-result small{font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.global-search-result strong{font-size:13px}.global-search-result span{font-size:10px;color:var(--muted)}
.first-win-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;margin-bottom:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.first-win-card[hidden]{display:none!important}.first-win-card h3{margin:2px 0 4px;font-size:20px}.first-win-card p{margin:0;color:var(--muted);max-width:620px}.booking-step-nav{display:flex;gap:7px;overflow:auto;margin-bottom:10px;padding-bottom:2px;scrollbar-width:none}.booking-step-nav::-webkit-scrollbar{display:none}.booking-step-nav button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:900;font-size:10px}.booking-step-nav button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.booking-step-panel[hidden]{display:none!important}
.settings-accordion>.settings-section{overflow:hidden}.settings-accordion>.settings-section:not(.settings-open)>:not(.panel-head):not(h3){display:none!important}.settings-accordion>.settings-section:not(.settings-open)>h3{margin-bottom:0}.settings-accordion-trigger{cursor:pointer;position:relative;padding-right:30px}.settings-accordion-trigger:after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:900}.settings-section.settings-open>.settings-accordion-trigger:after{content:"−"}
@media(max-width:680px){.nav-group{border-radius:12px}.nav-group summary{padding:9px 10px}.global-search-popover{position:fixed;left:12px;right:12px;top:74px;width:auto}.first-win-card{align-items:flex-start;flex-direction:column;padding:13px;margin-bottom:10px}.first-win-card h3{font-size:17px}.first-win-card p{font-size:11px;line-height:1.4}.first-win-card button{width:100%;min-height:39px}.booking-step-nav{margin:-1px 0 8px}.booking-step-nav button{padding:8px 10px}.booking-requests-always{order:-1}.settings-accordion{gap:7px!important}.settings-accordion>.settings-section{padding:11px!important;border-radius:14px!important}.settings-accordion>.settings-section:not(.settings-open){min-height:48px!important}.settings-accordion-trigger{min-height:28px!important}}

/* 2026-09-29 — time-aware card palette: airy day / rich night */
.app-shell[data-palette-mode="day"]{--unified-card-bg:#F7F4EE}
.app-shell[data-palette-mode="day"].quarter-color-0{--unified-card-bg:#FFF7D6}
.app-shell[data-palette-mode="day"].quarter-color-1{--unified-card-bg:#EDF6FC}
.app-shell[data-palette-mode="day"].quarter-color-2{--unified-card-bg:#F8F5EE}
.app-shell[data-palette-mode="day"].quarter-color-3{--unified-card-bg:#F1EEFF}
#todayHeroCard[data-palette-mode="day"].quarter-color-0{background:#FFF2B8!important;color:#191919!important}
#todayHeroCard[data-palette-mode="day"].quarter-color-1{background:#E4F2FB!important;color:#191919!important}
#todayHeroCard[data-palette-mode="day"].quarter-color-2{background:#F7F3E9!important;color:#191919!important}
#todayHeroCard[data-palette-mode="day"].quarter-color-3{background:#ECE9FF!important;color:#191919!important}

.app-shell[data-palette-mode="night"]{--unified-card-bg:#24202F;color-scheme:dark}
.app-shell[data-palette-mode="night"].quarter-color-0{--unified-card-bg:#302711}
.app-shell[data-palette-mode="night"].quarter-color-1{--unified-card-bg:#132C40}
.app-shell[data-palette-mode="night"].quarter-color-2{--unified-card-bg:#29242D}
.app-shell[data-palette-mode="night"].quarter-color-3{--unified-card-bg:#2D2350}
.app-shell[data-palette-mode="night"] .metric-card,
.app-shell[data-palette-mode="night"] .quick-card,
.app-shell[data-palette-mode="night"] .table-card,
.app-shell[data-palette-mode="night"] .client-card,
.app-shell[data-palette-mode="night"] .service-card,
.app-shell[data-palette-mode="night"] .supply-card,
.app-shell[data-palette-mode="night"] .share-access-card,
.app-shell[data-palette-mode="night"] .timer-card,
.app-shell[data-palette-mode="night"] .empty-card,
.app-shell[data-palette-mode="night"] .mobile-record-card,
.app-shell[data-palette-mode="night"] .review-settings-card,
.app-shell[data-palette-mode="night"] .support-contact-card,
.app-shell[data-palette-mode="night"] .worker-job-card,
.app-shell[data-palette-mode="night"] .trial-card,
.app-shell[data-palette-mode="night"] .inquiry-detail-card,
.app-shell[data-palette-mode="night"] .install-card,
.app-shell[data-palette-mode="night"] .onboarding-help-card{color:#FFFDF8!important;border-color:rgba(255,255,255,.16)!important}
.app-shell[data-palette-mode="night"] .metric-card span,
.app-shell[data-palette-mode="night"] .quick-card p,
.app-shell[data-palette-mode="night"] .empty-card span,
.app-shell[data-palette-mode="night"] .mobile-record-card small{color:rgba(255,255,255,.72)!important}
#todayHeroCard[data-palette-mode="night"]{color:#FFFDF8!important;border-color:rgba(255,255,255,.15)!important}
#todayHeroCard[data-palette-mode="night"].quarter-color-0{background:linear-gradient(135deg,#3D3010,#705B12)!important}
#todayHeroCard[data-palette-mode="night"].quarter-color-1{background:linear-gradient(135deg,#102C43,#155D7A)!important}
#todayHeroCard[data-palette-mode="night"].quarter-color-2{background:linear-gradient(135deg,#242028,#4A354F)!important}
#todayHeroCard[data-palette-mode="night"].quarter-color-3{background:linear-gradient(135deg,#271C49,#6240A2)!important}
#todayHeroCard[data-palette-mode="night"] #todayMomentCopy,
#todayHeroCard[data-palette-mode="night"] .eyebrow{color:rgba(255,255,255,.78)!important}

/* 2026-09-29 — root mobile scroll ownership fix
   The authenticated app owns vertical scrolling. Prevent iOS/PWA from
   scrolling the animated shell behind the dashboard. */
@media(max-width:860px){
  html:has(body.shell-app),
  body.shell-app{
    height:100%;
    min-height:100%;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.shell-app #appShell{
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.shell-app #appShell>.main{
    height:100dvh!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    padding-bottom:max(30px,env(safe-area-inset-bottom))!important;
  }
  body.shell-app #appShell>.main>.view.active{
    min-height:max-content;
  }
  body.shell-app #appShell>.sidebar{
    overscroll-behavior:contain!important;
  }
}


/* 2026-09-29 — Growth-focused owner experience */
.business-pulse{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
.pulse-card{
  min-width:0;
  min-height:132px;
  padding:18px;
  border:1px solid rgba(25,25,25,.10);
  border-radius:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.pulse-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(25,25,25,.07)}
.pulse-card span{font-size:10px;font-weight:900;letter-spacing:.04em;color:#69645D}
.pulse-card strong{font-size:clamp(28px,3vw,42px);line-height:1;letter-spacing:-.055em;margin:13px 0 8px}
.pulse-card small{font-size:10px;line-height:1.35;color:#756F67;font-weight:700}
.app-shell[data-palette-mode="day"] .pulse-money{background:#FFF4C8}
.app-shell[data-palette-mode="day"] .pulse-collected{background:#E9F5EC}
.app-shell[data-palette-mode="day"] .pulse-jobs{background:#EAF4FB}
.app-shell[data-palette-mode="day"] .pulse-clients{background:#F0ECFF}
.app-shell:not([data-palette-mode]) .pulse-money{background:#FFF4C8}
.app-shell:not([data-palette-mode]) .pulse-collected{background:#E9F5EC}
.app-shell:not([data-palette-mode]) .pulse-jobs{background:#EAF4FB}
.app-shell:not([data-palette-mode]) .pulse-clients{background:#F0ECFF}

.growth-grid{grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr)!important;align-items:stretch}
.capacity-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  overflow:hidden;
  position:relative;
}
.capacity-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.capacity-top h3{margin:3px 0 0;font-size:22px}
.capacity-top>strong{font-size:34px;line-height:1;letter-spacing:-.05em}
.capacity-track{height:11px;border-radius:999px;background:rgba(25,25,25,.08);overflow:hidden}
.capacity-track>span{display:block;height:100%;width:0;border-radius:inherit;background:#191919;transition:width .55s cubic-bezier(.2,.8,.2,1)}
.capacity-message{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.capacity-card .text-btn{margin-top:auto;align-self:flex-start;padding-left:0}

.next-move-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0 0 18px;
  padding:22px 24px!important;
  background:linear-gradient(120deg,#FFF7D5 0%,#FFFDF7 62%,#EEF6FB 100%)!important;
  border-color:rgba(25,25,25,.12)!important;
}
.next-move-copy{min-width:0}
.next-move-copy h3{font-size:clamp(22px,2.5vw,34px);letter-spacing:-.04em;margin:4px 0 7px;max-width:720px}
.next-move-copy p:last-child{margin:0;color:#676159;max-width:760px;line-height:1.5}
.next-move-panel>.dark-btn{flex:0 0 auto;min-height:46px;padding-inline:20px}

.quick-actions-panel{margin-bottom:18px}
.growth-quick-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.growth-quick-grid .quick-card{
  min-height:94px;
  border-radius:18px;
  padding:14px 12px!important;
  gap:5px;
  align-content:space-between;
}
.quick-icon{
  display:grid!important;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:10px;
  background:rgba(25,25,25,.07);
  font-size:17px!important;
  line-height:1!important;
  margin:0!important;
}
.growth-quick-grid .quick-card>span:last-child{margin-top:10px!important}

.growth-lower{grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr)!important}
.week-growth-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#191919 0%,#2B2830 100%)!important;
  color:#FFFDF8!important;
  border-color:#191919!important;
}
.week-growth-card .eyebrow{color:rgba(255,255,255,.62)!important}
.week-growth-card>h3{font-size:clamp(27px,3.3vw,42px);line-height:1;letter-spacing:-.055em;margin:6px 0 9px;color:#FFFDF8!important}
.week-growth-card>p{color:rgba(255,255,255,.72)!important;line-height:1.45;margin:0 0 20px}
.week-growth-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px}
.week-growth-stats>span{display:grid;gap:5px;padding:11px;border-radius:14px;background:rgba(255,255,255,.08)}
.week-growth-stats small{font-size:9px;color:rgba(255,255,255,.6);font-weight:800}
.week-growth-stats b{font-size:16px;color:#fff}
.week-growth-card>.dark-btn{background:#FFFDF8!important;color:#191919!important;border-color:#FFFDF8!important}
.attention-panel .attention-pending{border-radius:14px}

.presence-panel-compact{
  padding:15px 18px!important;
  grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)!important;
  align-items:center!important;
  gap:16px!important;
}
.presence-panel-compact .presence-copy h3{font-size:18px!important;margin:2px 0 3px!important}
.presence-panel-compact .presence-copy p:last-child{font-size:10px!important;margin:0!important}
.presence-panel-compact .presence-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.presence-panel-compact .presence-btn{min-height:56px!important;padding:9px 10px!important;border-radius:14px!important}
.presence-panel-compact .presence-btn strong{font-size:10px!important}
.presence-panel-compact .presence-btn small{font-size:8px!important}

/* Growth context inside client cards */
.growth-client-card{gap:12px!important}
.growth-client-card .client-card-head{align-items:center}
.client-balance{
  margin-left:auto;
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#EDF6EE;
  color:#315C38;
  font-size:9px;
  font-weight:900;
}
.client-balance.has-balance{background:#FFF1DD;color:#875C18}
.client-business-snapshot{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.client-business-snapshot>span{
  display:grid;
  gap:4px;
  padding:10px 11px;
  border-radius:13px;
  background:rgba(25,25,25,.035);
  min-width:0;
}
.client-business-snapshot small{font-size:8px!important;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.client-business-snapshot b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Service catalog polish */
.service-catalog-card{gap:15px!important}
.service-catalog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.service-catalog-top>div{display:grid;gap:7px;min-width:0}
.service-catalog-top>div>strong{font-size:20px;letter-spacing:-.03em}
.service-status-pill{
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.service-status-pill.bookable{background:#E6F4E8;color:#2F6638}
.service-status-pill.quote{background:#FFF2CC;color:#775B12}
.service-status-pill.off{background:#ECE9E4;color:#756F67}
.service-price{font-size:26px!important;line-height:1;letter-spacing:-.04em;white-space:nowrap}
.service-catalog-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.service-catalog-meta>span{display:grid;gap:4px;padding:10px;border-radius:13px;background:rgba(25,25,25,.035)}
.service-catalog-meta small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.service-catalog-meta b{font-size:11px}
.service-description{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.service-card-actions{margin-top:auto}

/* Amount and status should lead on money screens */
[data-page="invoices"] .mobile-record-card .record-field[data-label="Amount"] strong{
  font-size:19px!important;
  letter-spacing:-.03em;
}
[data-page="invoices"] .mobile-record-card .record-primary strong{font-size:12px}
[data-page="quotes"] .kanban-col>article>small:first-of-type{font-size:13px;font-weight:800;color:var(--ink)}
[data-page="quotes"] .kanban-col>article.accepted{border-color:rgba(61,124,76,.28)!important}

/* Night keeps the same semantic system, with richer tones instead of one dark card color */
.app-shell[data-palette-mode="night"] .pulse-card{border-color:rgba(255,255,255,.13);color:#FFFDF8}
.app-shell[data-palette-mode="night"] .pulse-card span,
.app-shell[data-palette-mode="night"] .pulse-card small{color:rgba(255,255,255,.67)}
.app-shell[data-palette-mode="night"] .pulse-money{background:linear-gradient(145deg,#3A2D0D,#6B5310)!important}
.app-shell[data-palette-mode="night"] .pulse-collected{background:linear-gradient(145deg,#17351F,#286B3A)!important}
.app-shell[data-palette-mode="night"] .pulse-jobs{background:linear-gradient(145deg,#102B42,#155E7C)!important}
.app-shell[data-palette-mode="night"] .pulse-clients{background:linear-gradient(145deg,#2C2150,#6042A0)!important}
.app-shell[data-palette-mode="night"] .next-move-panel{
  background:linear-gradient(120deg,#31270F 0%,#27232B 54%,#123246 100%)!important;
  color:#FFFDF8!important;
}
.app-shell[data-palette-mode="night"] .next-move-panel .eyebrow,
.app-shell[data-palette-mode="night"] .next-move-panel p{color:rgba(255,255,255,.72)!important}
.app-shell[data-palette-mode="night"] .capacity-track{background:rgba(255,255,255,.12)}
.app-shell[data-palette-mode="night"] .capacity-track>span{background:#FFFDF8}
.app-shell[data-palette-mode="night"] .client-business-snapshot>span,
.app-shell[data-palette-mode="night"] .service-catalog-meta>span{background:rgba(255,255,255,.07)}
.app-shell[data-palette-mode="night"] .client-balance{background:rgba(94,191,115,.16);color:#CFF0D6}
.app-shell[data-palette-mode="night"] .client-balance.has-balance{background:rgba(240,188,77,.16);color:#FFE2A1}

/* Phone: business pulse is swipeable, everything else stays easy to scan */
@media(max-width:680px){
  .business-pulse{
    display:flex;
    overflow-x:auto;
    gap:9px;
    margin:0 -12px 14px;
    padding:0 12px 3px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .business-pulse::-webkit-scrollbar{display:none}
  .pulse-card{
    flex:0 0 min(72vw,245px);
    min-height:116px;
    padding:15px;
    border-radius:18px;
    scroll-snap-align:start;
  }
  .pulse-card strong{font-size:31px}
  .growth-grid,.growth-lower{grid-template-columns:1fr!important}
  .capacity-card{min-height:190px}
  .next-move-panel{display:grid;gap:16px;padding:18px!important}
  .next-move-panel>.dark-btn{width:100%}
  .next-move-copy h3{font-size:24px}
  .growth-quick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .growth-quick-grid .quick-card{min-height:86px!important;padding:11px!important}
  .week-growth-stats{grid-template-columns:repeat(3,1fr)}
  .presence-panel-compact{grid-template-columns:1fr!important}
  .presence-panel-compact .presence-actions{
    display:flex!important;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .presence-panel-compact .presence-btn{flex:0 0 132px}
  .client-business-snapshot{grid-template-columns:1fr 1fr}
  .service-catalog-top>div>strong{font-size:18px}
  .service-price{font-size:22px!important}
  .service-catalog-meta{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:681px) and (max-width:1100px){
  .business-pulse{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
  .pulse-card{min-height:112px;padding:14px}
  .pulse-card strong{font-size:29px}
  .growth-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .presence-panel-compact{grid-template-columns:1fr!important}
}


/* 2026-09-29 — premium money hierarchy */
.quote-growth-col>h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.quote-growth-col>h3 span{
  min-width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(25,25,25,.06);
  font-size:10px;
}
.quote-growth-card{
  display:grid;
  gap:13px;
  padding:16px!important;
  border:1px solid rgba(25,25,25,.09)!important;
  border-radius:18px!important;
  background:#FCFBF8!important;
}
.quote-growth-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.quote-status-pill{
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quote-status-requested{background:#FFF2CC;color:#765B12}
.quote-status-draft{background:#ECE9E4;color:#6E675F}
.quote-status-sent{background:#E7F1FA;color:#315F7E}
.quote-status-accepted{background:#E5F3E7;color:#35663D}
.quote-status-declined{background:#F9E7E4;color:#8A433A}
.quote-amount{
  font-size:25px!important;
  line-height:1;
  letter-spacing:-.04em;
}
.quote-growth-customer{display:grid;gap:3px}
.quote-growth-customer>strong{font-size:16px}
.quote-growth-customer>small{color:var(--muted);font-size:10px}
.quote-next-step{
  display:grid;
  gap:3px;
  padding:10px 11px;
  border-radius:12px;
  background:rgba(25,25,25,.035);
}
.quote-next-step span{font-size:10px;color:var(--muted)}
.quote-next-step b{font-size:10px}

.invoice-growth-row{
  grid-template-columns:minmax(132px,.8fr) minmax(180px,1.2fr) minmax(128px,.75fr) minmax(150px,.85fr) auto!important;
  align-items:center!important;
}
.invoice-growth-primary{
  display:grid!important;
  gap:3px!important;
}
.invoice-growth-primary .invoice-number{
  font-size:8px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.invoice-growth-amount{
  font-size:25px!important;
  line-height:1!important;
  letter-spacing:-.045em;
}
.invoice-client-field,
.invoice-total-field,
.invoice-status-field{display:grid!important;gap:4px!important}
.invoice-client-field>strong{font-size:13px}
.invoice-total-field>strong{font-size:15px!important}
.invoice-next-action{
  font-size:10px;
  line-height:1.3;
  color:var(--ink);
}
.app-shell[data-palette-mode="night"] .quote-growth-card{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#FFFDF8!important;
}
.app-shell[data-palette-mode="night"] .quote-growth-customer small,
.app-shell[data-palette-mode="night"] .quote-next-step span{color:rgba(255,255,255,.66)!important}
.app-shell[data-palette-mode="night"] .quote-next-step{background:rgba(255,255,255,.06)}
.app-shell[data-palette-mode="night"] .quote-growth-col>h3 span{background:rgba(255,255,255,.08)}
.app-shell[data-palette-mode="night"] .invoice-next-action{color:#FFFDF8}

@media(max-width:680px){
  .quote-growth-card{padding:14px!important}
  .quote-amount{font-size:23px!important}
  .invoice-growth-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .invoice-growth-primary{grid-column:1!important}
  .invoice-client-field{grid-column:2!important}
  .invoice-total-field{grid-column:1!important}
  .invoice-status-field{grid-column:2!important}
  .invoice-growth-row>.record-actions{grid-column:1/-1!important}
  .invoice-growth-amount{font-size:24px!important}
}


/* 2026-09-29 — simpler Settings + independent customer email language */
.settings-intro{margin-bottom:14px!important}
.settings-simple-grid{gap:10px!important}
.settings-simple-grid>.settings-section{
  border-radius:18px!important;
  border:1px solid rgba(25,25,25,.09)!important;
  padding:16px 18px!important;
  background:#fff;
}
.settings-simple-grid .panel-head{
  align-items:flex-start!important;
  gap:14px!important;
}
.settings-simple-grid .panel-head h3{
  margin:2px 0 2px!important;
  font-size:19px!important;
  letter-spacing:-.025em;
}
.settings-simple-grid .panel-note{
  display:block;
  margin-top:3px;
  font-size:10px;
  line-height:1.4;
  color:var(--muted);
  font-weight:650;
  max-width:560px;
}
.settings-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.settings-summary-grid>div{
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 11px;
  border-radius:13px;
  background:#F7F5F0;
}
.settings-summary-grid small{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  font-weight:900;
}
.settings-summary-grid strong{
  font-size:11px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
}
.settings-inline-edit{
  margin-top:10px;
  width:max-content;
}

.communication-language-current{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(180px,.8fr) auto;
  gap:10px;
  align-items:end;
  padding:14px;
  border-radius:16px;
  background:#F8F6F1;
  margin-bottom:12px;
}
.communication-language-current>span{
  display:grid;
  gap:4px;
}
.communication-language-current>span small,
.communication-language-current label>span{
  font-size:9px;
  font-weight:850;
  color:var(--muted);
}
.communication-language-current>span strong{
  font-size:22px;
  letter-spacing:-.035em;
}
.communication-language-current label{
  display:grid;
  gap:6px;
}
.communication-language-current select{
  width:100%;
  min-height:42px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:0 11px;
  font:inherit;
  font-size:11px;
  font-weight:800;
}
.communication-language-current .primary-btn{min-height:42px}
.settings-email-flow{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:4px 0 10px;
}
.settings-email-flow span{
  padding:6px 9px;
  border-radius:999px;
  background:#EEF5FA;
  font-size:9px;
  font-weight:900;
}
.settings-email-flow b{
  color:var(--muted);
  font-size:10px;
}
.settings-action-card .setting-row{
  margin-top:2px;
}
.settings-simple-grid .review-settings-card .settings-link-field{
  margin-top:5px;
}

/* Settings night mode remains readable without becoming visually heavy. */
.app-shell[data-palette-mode="night"] .settings-simple-grid>.settings-section{
  background:#27232C!important;
  border-color:rgba(255,255,255,.12)!important;
}
.app-shell[data-palette-mode="night"] .settings-summary-grid>div,
.app-shell[data-palette-mode="night"] .communication-language-current{
  background:rgba(255,255,255,.06)!important;
}
.app-shell[data-palette-mode="night"] .communication-language-current select{
  background:#201D24!important;
  color:#FFFDF8!important;
  border-color:rgba(255,255,255,.14)!important;
}
.app-shell[data-palette-mode="night"] .settings-email-flow span{
  background:rgba(88,166,214,.15)!important;
  color:#EAF6FF!important;
}

@media(max-width:680px){
  .settings-simple-grid{gap:8px!important}
  .settings-simple-grid>.settings-section{padding:13px!important}
  .settings-summary-grid{grid-template-columns:1fr 1fr;gap:7px}
  .settings-summary-grid>div{padding:9px 10px}
  .communication-language-current{
    grid-template-columns:1fr;
    align-items:stretch;
    padding:12px;
  }
  .communication-language-current .primary-btn{width:100%}
  .settings-email-flow{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .settings-email-flow::-webkit-scrollbar{display:none}
  .settings-email-flow span{white-space:nowrap}
}


/* 2026-09-29 — mobile drawer + data-view reliability fixes */
@media(max-width:860px){
  body.shell-app #appShell>.sidebar{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    padding-bottom:max(20px,env(safe-area-inset-bottom))!important;
  }
  body.shell-app #appShell>.sidebar .nav-list{
    flex:0 0 auto!important;
    min-height:auto!important;
    overflow:visible!important;
    padding-bottom:18px!important;
  }
  body.shell-app #appShell>.sidebar .sidebar-session-actions{
    position:static!important;
    margin-top:10px!important;
  }
}

/* Public booking/quote links must read and behave like real links. */
.link-box{
  grid-template-columns:minmax(0,1fr) auto auto!important;
}
.link-box a{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:12px;
  font-weight:750;
}
.link-box button{
  min-height:38px;
  padding:8px 10px;
  border:1px solid var(--line)!important;
  border-radius:10px;
  background:#fff!important;
}
@media(max-width:520px){
  .link-box{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .link-box a{grid-column:1/-1}
}

/* Keep the phone calendar visibly present even when there are no jobs. */
[data-page="calendar"].active #calendarWeekRow{
  display:grid!important;
  min-height:152px;
}

/* Custom payment method field */
.custom-payment-method{
  display:grid;
  gap:7px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.custom-payment-method>span{
  font-size:12px;
  font-weight:850;
  color:var(--muted);
}
.custom-payment-method input{
  width:100%;
}

/* 2026-09-29 — customer-authored text translation */
.customer-authored-text{
  display:grid!important;
  gap:7px!important;
}
.customer-authored-text p,
.customer-authored-text strong{
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.customer-translate-btn{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:6px 9px;
  border-radius:999px;
  background:#EEF5FA;
  color:#234E67;
  border:1px solid rgba(35,78,103,.12);
  font-size:9px;
  line-height:1.1;
  font-weight:900;
  text-decoration:none;
  margin-top:2px;
}
.customer-translate-btn:active{transform:translateY(1px)}
.app-shell[data-palette-mode="night"] .customer-translate-btn{
  background:rgba(88,166,214,.14);
  color:#D9F1FF;
  border-color:rgba(217,241,255,.12);
}
.form-grid label>.customer-translate-btn{
  margin-top:7px;
  align-self:flex-start;
}
@media(max-width:680px){
  .customer-translate-btn{min-height:34px;padding:7px 10px;font-size:10px}
}


/* 2026-09-29 — surface-aware contrast system v208
   Shared tablet/desktop rules. Phone-specific rules live in release-mobile.css. */
:root{
  --tle-surface-light:#FFFDF9;
  --tle-surface-white:#FFFFFF;
  --tle-surface-dark:#242321;
  --tle-text-strong:#191919;
  --tle-text-muted:#6F6A62;
  --tle-text-on-dark:#FFFDF8;
  --tle-text-on-dark-muted:rgba(255,253,248,.78);
}

/* Time Tracking is intentionally dark in every palette. */
[data-page="time"] .timer-card{
  background:#12324A!important;
  color:var(--tle-text-on-dark)!important;
  border-color:rgba(255,253,248,.18)!important;
}
[data-page="time"] .timer-card :is(h3,strong){color:var(--tle-text-on-dark)!important}
[data-page="time"] .timer-card>span{color:var(--tle-text-on-dark-muted)!important}
[data-page="time"] .timer-card .ghost-btn{
  background:#FFF8EE!important;
  color:var(--tle-text-strong)!important;
  border-color:rgba(255,253,248,.72)!important;
}

@media(min-width:681px){
  /* Day/default surfaces: always dark readable copy. */
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) :is([data-page="leads"],[data-page="invoices"]) .mobile-record-card,
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) [data-page="quotes"] .quote-growth-card,
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) [data-page="clients"] .client-card.client-card-compact{
    color:var(--tle-text-strong)!important;
    opacity:1!important;
  }
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) :is([data-page="leads"],[data-page="invoices"]) .mobile-record-card :is(.record-primary>strong,.record-field),
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) [data-page="quotes"] :is(.quote-growth-customer strong,.quote-amount,.quote-next-step b),
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) [data-page="clients"] .client-card.client-card-compact :is(.client-card-identity strong,.client-business-snapshot b,.client-location){
    color:var(--tle-text-strong)!important;
  }
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) :is([data-page="leads"],[data-page="invoices"]) .mobile-record-card small:not(.customer-open-status):not(.payment-choice-note):not(.dispute-alert),
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) [data-page="quotes"] :is(.quote-growth-customer small,.quote-next-step span),
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) [data-page="clients"] .client-card.client-card-compact :is(.client-card-identity span,.client-business-snapshot small),
  .app-shell:is([data-palette-mode="day"],:not([data-palette-mode])) :is([data-page="leads"],[data-page="invoices"]) .mobile-record-card>.record-field::before{
    color:var(--tle-text-muted)!important;
  }

  /* Clients, Mileage and Time use dark operational cards on larger devices. */
  .app-shell [data-page="clients"] .client-card.client-card-compact,
  .app-shell :is([data-page="mileage"],[data-page="time"]) .table-card .table-row:not(.table-head){
    background:var(--tle-surface-dark)!important;
    color:var(--tle-text-on-dark)!important;
    border-color:rgba(255,253,248,.14)!important;
    opacity:1!important;
  }
  .app-shell [data-page="clients"] .client-card.client-card-compact :is(.client-card-identity strong,.client-business-snapshot b,.client-location),
  .app-shell :is([data-page="mileage"],[data-page="time"]) .table-card .table-row:not(.table-head) :is(.record-primary>strong,.record-field,.record-note){
    color:var(--tle-text-on-dark)!important;
  }
  .app-shell [data-page="clients"] .client-card.client-card-compact :is(.client-card-identity span,.client-business-snapshot small),
  .app-shell :is([data-page="mileage"],[data-page="time"]) .table-card .table-row:not(.table-head) :is(.record-primary>small,.record-field::before){
    color:var(--tle-text-on-dark-muted)!important;
  }
  .app-shell [data-page="clients"] .client-avatar{color:var(--tle-text-strong)!important}
  .app-shell [data-page="clients"] .client-card-actions button:not(.record-delete-btn){
    background:#FFF8EE!important;color:var(--tle-text-strong)!important;
    border-color:rgba(255,253,248,.38)!important;
  }
  .app-shell [data-page="clients"] .client-card-actions .record-delete-btn{
    background:#FFF3F1!important;color:#8F332C!important;border-color:#E8B8B1!important;
  }
}
