/* TOWI LUXPRO 20.12.29 — unified brand + mobile state hardening */
:root{
  --towi-deep:#0b463b;
  --towi-deeper:#073a31;
  --towi-green:#3f946f;
  --towi-green-strong:#0f8a64;
  --towi-mint:#dff3eb;
  --towi-bg:#f3f8f6;
  --towi-surface:#ffffff;
  --towi-ink:#0b1728;
  --towi-muted:#68798c;
  --towi-line:#d6e4df;
  --towi-yellow:#f4c84c;
  --towi-danger:#a53a35;
}
html,body{background:var(--towi-bg)}

/* ---------- PUBLIC ---------- */
body:not(.partner-page):not(.admin-page) .site-head{background:var(--towi-deep)!important}
body:not(.partner-page):not(.admin-page) .head-order,
body:not(.partner-page):not(.admin-page) .cta-main{background:var(--towi-green)!important;color:#fff!important}
body:not(.partner-page):not(.admin-page) .eyebrow{color:#55c992}

/* ---------- CUSTOMER ACCOUNT ---------- */
body.client.account-only{background:var(--towi-bg)!important;color:var(--towi-ink)!important;overflow-x:hidden!important}
body.client.account-only .app{background:var(--towi-bg)!important;min-height:100dvh!important;padding-bottom:0!important}
body.client.account-only #home,
body.client.account-only #services,
body.client.account-only #location,
body.client.account-only #quote,
body.client.account-only #payment,
body.client.account-only #searching,
body.client.account-only #tracking,
body.client.account-only #completed,
body.client.account-only #orders{display:none!important}
body.client.account-only #profile{display:block!important;min-height:100dvh!important;background:var(--towi-bg)!important}
body.client.account-only .client-tabs{display:none!important}
body.client.account-only #profile>.topbar{position:sticky!important;top:0!important;z-index:50!important;background:var(--towi-deep)!important;border:0!important;color:#fff!important;padding-top:env(safe-area-inset-top)!important}
body.client.account-only #profile>.topbar h1{color:#fff!important}
body.client.account-only #profile>.topbar .back{color:var(--towi-yellow)!important;text-decoration:none!important}
body.client.account-only #profile>.content{padding:20px 16px calc(28px + env(safe-area-inset-bottom))!important}
body.client.account-only .account-head{background:var(--towi-deep)!important;color:#fff!important;border:0!important}
body.client.account-only .account-head h2,
body.client.account-only .account-head .note{color:#fff!important}
body.client.account-only .billing-badge{background:var(--towi-mint)!important;color:var(--towi-deeper)!important}
body.client.account-only .account-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.client.account-only .account-grid>button{background:linear-gradient(145deg,var(--towi-deep),#102f2a)!important;border:1px solid #225f51!important;color:#fff!important;min-height:164px!important;padding:18px!important}
body.client.account-only .account-grid>button b{color:#fff!important;font-size:21px!important;line-height:1.12!important}
body.client.account-only .account-grid>button>span:not(.account-icon){color:#b9d3ca!important}
body.client.account-only .account-icon{background:var(--towi-mint)!important;color:var(--towi-deeper)!important}
body.client.account-only #logoutBtn{background:var(--towi-deep)!important;color:#fff!important}
body.client.account-only #profileLoggedIn.account-subview-open>.account-head,
body.client.account-only #profileLoggedIn.account-subview-open>.account-grid,
body.client.account-only #profileLoggedIn.account-subview-open>#logoutBtn{display:none!important}
body.client.account-only #profileLoggedIn.account-subview-open #accountPanel{display:block!important;margin:0!important}
body.client.account-only .account-panel-modern{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.account-subview-shell{min-height:calc(100dvh - 108px);background:var(--towi-bg);color:var(--towi-ink)}
.account-subview-head{position:sticky;top:calc(66px + env(safe-area-inset-top));z-index:20;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;background:rgba(243,248,246,.98);backdrop-filter:blur(14px);padding:8px 0 14px;border-bottom:1px solid var(--towi-line);margin-bottom:16px}
.account-subview-head button{width:46px;height:46px;border:0;border-radius:14px;background:var(--towi-deep);color:var(--towi-yellow);font-size:34px;line-height:1;display:grid;place-items:center}
.account-subview-head h2{margin:0!important;text-align:center!important;color:var(--towi-ink)!important;font-size:26px!important}
.account-subview-body{display:grid;gap:12px;padding-bottom:24px}
.account-subview-body h3,.account-subview-body b,.account-subview-body label{color:var(--towi-ink)!important}
.account-subview-body .note,.account-subview-body small{color:var(--towi-muted)!important}
.account-subview-body .vehicle-list-item,.account-subview-body .card,.account-subview-body .support-card{background:#fff!important;color:var(--towi-ink)!important;border:1px solid var(--towi-line)!important;border-radius:18px!important;box-shadow:none!important}
.account-subview-body .support-card b{color:var(--towi-deep)!important}
.account-subview-body .support-action{background:var(--towi-mint)!important;color:var(--towi-deeper)!important}
.account-subview-body .mini-btn,.account-subview-body .primary{background:var(--towi-green-strong)!important;color:#fff!important;border-color:var(--towi-green-strong)!important}
.account-subview-body .mini-btn.danger{background:#fff0ef!important;color:var(--towi-danger)!important;border-color:#efc7c3!important}
.account-subview-body input,.account-subview-body select,.account-subview-body textarea{background:#fff!important;color:var(--towi-ink)!important;border:1px solid #cbdad5!important}
.account-subview-body .order-profile-row{width:100%;text-align:left;display:flex!important;justify-content:space-between!important;gap:12px!important}
.account-subview-body .order-arrow{color:var(--towi-green-strong)!important}
.account-empty-state{background:#fff;border:1px dashed #bcd2ca;border-radius:18px;padding:24px;text-align:center;color:var(--towi-muted)}
@media(max-width:430px){body.client.account-only .account-grid{grid-template-columns:1fr 1fr!important}.account-subview-head h2{font-size:23px!important}}

/* Auth/readability remains TOWI branded everywhere. */
body.client .account-auth-focus{background:var(--towi-deep)!important}
body.client .auth-focus-card{background:#fff!important;color:var(--towi-ink)!important}
body.client .auth-focus-card h2,body.client .auth-focus-card label{color:var(--towi-ink)!important}
body.client .auth-focus-card p,body.client .auth-focus-card .pw-strength span{color:var(--towi-muted)!important}
body.client .auth-focus-card input,body.client .auth-focus-card select{background:#fff!important;color:var(--towi-ink)!important}
body.client .auth-focus-brand span{color:#fff!important}
body.client .auth-focus-back{background:#fff!important;color:var(--towi-deep)!important}

/* ---------- PARTNER ---------- */
html:has(body.partner-page),body.partner-page{background:var(--towi-bg)!important;overflow-x:hidden!important;transform:none!important;filter:none!important;perspective:none!important;contain:none!important}
body.partner-page #partnerApp{background:var(--towi-bg)!important;transform:none!important;filter:none!important;perspective:none!important;contain:none!important;overflow:visible!important;min-height:100dvh!important}
body.partner-page .head{background:var(--towi-deep)!important;border-bottom:0!important;color:#fff!important}
body.partner-page .head small,body.partner-page .head span{color:#c2d8d1!important}
body.partner-page #partnerApp>.pad{padding-bottom:calc(108px + env(safe-area-inset-bottom))!important}
body.partner-page .section{background:transparent!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
body.partner-page>.partner-tabs.partner-nav-stable,
body.partner-page>.partner-tabs.v46-portal-nav{
  display:grid!important;visibility:visible!important;opacity:1!important;
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;
  width:100vw!important;width:100dvw!important;max-width:100dvw!important;
  height:calc(76px + env(safe-area-inset-bottom))!important;min-height:calc(76px + env(safe-area-inset-bottom))!important;
  margin:0!important;padding:5px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;
  background:var(--towi-deep)!important;border:0!important;border-radius:0!important;
  box-shadow:0 -10px 30px rgba(4,47,39,.22)!important;
  transform:translate3d(0,0,0)!important;contain:none!important;overflow:hidden!important;
  pointer-events:auto!important;z-index:2147483000!important;-webkit-backface-visibility:hidden!important;
}
body.partner-page>.partner-tabs button{background:transparent!important;color:#b7cec6!important;border:0!important}
body.partner-page>.partner-tabs button.active{background:#17614f!important;color:#fff!important}
body.partner-page>.partner-tabs button.active .nav-icon{color:#55d79c!important}
body.partner-page>.partner-tabs button.active:after{background:var(--towi-yellow)!important}
body.partner-page .driver-command-card,
body.partner-page .history-head,
body.partner-page .finance-hero,
body.partner-page .profile-hero,
body.partner-page .active-work-shell{background:linear-gradient(145deg,#083e34,#0b2e29)!important;color:#fff!important;border-color:#1b5d4f!important}
body.partner-page .history-head h2,body.partner-page .history-head p,
body.partner-page .finance-hero h2,body.partner-page .finance-hero p,
body.partner-page .active-work-shell h2,body.partner-page .active-work-shell h3,
body.partner-page .active-work-shell b,body.partner-page .active-work-shell label,
body.partner-page .profile-hero h2{color:#fff!important}
body.partner-page .history-head .eyebrow,body.partner-page .finance-hero .eyebrow,body.partner-page .active-work-shell .eyebrow{color:#57d39b!important}
body.partner-page .history-head input{background:#fff!important;color:var(--towi-ink)!important;border-color:#c8d8d3!important}
body.partner-page .history-filters button{color:#d4e3de!important;border-color:#426f63!important}
body.partner-page .history-filters button.active{background:var(--towi-yellow)!important;color:#13201d!important;border-color:var(--towi-yellow)!important}
body.partner-page .job-card,body.partner-page .ledger-card,body.partner-page .today-job{background:#fff!important;color:var(--towi-ink)!important;border-color:var(--towi-line)!important}
body.partner-page .job-card b,body.partner-page .job-card-route,body.partner-page .job-card-money b{color:var(--towi-ink)!important}
body.partner-page .job-card span,body.partner-page .job-card-meta{color:var(--towi-muted)!important}
body.partner-page .status-pill.completed{background:#ddf5e8!important;color:#14784f!important}

/* Completion screen: never dark-on-dark, never hide its action. */
body.partner-page .sos-modal.show{background:#071f1b!important}
body.partner-page .finish-sheet{background:#071f1b!important;color:#fff!important;min-height:100dvh!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important}
body.partner-page .finish-sheet .modal-head{background:#0b463b!important;color:#fff!important;border-bottom:1px solid #286557!important}
body.partner-page .finish-sheet h2,body.partner-page .finish-sheet h3,body.partner-page .finish-sheet label,body.partner-page .finish-sheet b{color:#fff!important}
body.partner-page .finish-sheet .muted,body.partner-page .finish-sheet p,body.partner-page .finish-sheet small{color:#c7d8d3!important}
body.partner-page .finish-sheet input,body.partner-page .finish-sheet textarea,body.partner-page .finish-sheet select{background:#fff!important;color:var(--towi-ink)!important;border:1px solid #bfd1cb!important}
body.partner-page .finish-sheet input::placeholder,body.partner-page .finish-sheet textarea::placeholder{color:#9ba7a3!important}
body.partner-page .photo-button{background:#123b35!important;color:#fff!important;border-color:#386b60!important}
body.partner-page .finish-actions{position:sticky!important;bottom:0!important;background:#071f1b!important;border-top:1px solid #28584e!important;padding:14px 0 calc(12px + env(safe-area-inset-bottom))!important;z-index:5!important}
body.partner-page .finish-actions .green{background:var(--towi-green-strong)!important;color:#fff!important}
body.partner-page.modal-open>.partner-tabs{display:none!important}

/* ---------- ADMIN ---------- */
body.admin-page .admin-topbar,body.admin-page .admin-sidebar{background:var(--towi-deep)!important}
body.admin-page .mobile-admin-tabs{background:var(--towi-deep)!important}
body.admin-page .mobile-admin-tabs button.active{background:#17614f!important;color:#fff!important}
body.admin-page .btn.primary,body.admin-page .btn.success{background:var(--towi-green-strong)!important;color:#fff!important;border-color:var(--towi-green-strong)!important}
body.admin-page .eyebrow{color:var(--towi-green-strong)!important}
