/* TOWI brand layer — visual override only. No workflow/dispatch/payment logic changes. */
:root{
  --towi-deep:#003d33;
  --towi-deep-2:#075649;
  --towi-green:#0a8f64;
  --towi-mint:#27cf8f;
  --towi-mint-2:#59e2b1;
  --towi-ice:#f3f8f6;
  --towi-line:#d8e7e1;
  --towi-ink:#063b33;
  --navy:#003d33!important;
  --navy2:#075649!important;
  --dark:#003d33!important;
  --yellow:#27cf8f!important;
  --yellow2:#59e2b1!important;
  --green:#0a8f64!important;
  --blue:#0a8f64!important;
  --bg:#f3f8f6!important;
  --line:#d8e7e1!important;
}
html{accent-color:var(--towi-green)}
body{background:var(--towi-ice)}
a{transition:color .15s ease,background .15s ease,border-color .15s ease}

/* Wordmarks */
.towi-brand img{display:block;width:142px;max-width:42vw;height:auto}.home .towi-brand img{width:148px}
.towi-brand-mini img{display:block;width:126px;height:auto}
.towi-brand-dark{display:flex!important;align-items:center!important;gap:10px!important}.towi-brand-dark img{display:block;width:132px;height:auto}.towi-brand-dark>span{font-size:13px!important;font-weight:800!important;color:#658177!important;letter-spacing:.04em}
.partner .head .towi-brand-dark img,.admin-header .towi-brand-lockup img{filter:none}
.towi-brand-lockup{display:flex!important;align-items:center!important;gap:10px!important}.towi-brand-lockup img{width:128px;height:auto}.towi-brand-lockup small{margin-left:0!important;color:#b8d2c8!important}
.towi-public-logo{display:block;width:112px;height:auto}.footer-brand .towi-public-logo{width:118px}
.brand-mini.towi-brand-mini{display:flex;align-items:center}

/* Global surfaces */
.admin-header,.admin-sidebar,.partner .head,.partner .tabs,body.partner.partner-authenticated .partner-tabs,.site-head,.active-public-order .active-inner,.price-promise,.final-cta,.phone-head,.job-detail-dark,.job-detail-top,.job-detail-actions{background:var(--towi-deep)!important}
.partner-login{background:linear-gradient(180deg,var(--towi-deep),#062d27)!important}
.mobile,.admin-main,body.client,.app{background:var(--towi-ice)}
.panel,.card,.kpi,.record-card,.settings-card,.public-service,.tracking-card,.price-facts div,.login-card,.partner .card{border-color:var(--towi-line)!important}

/* Primary actions and focus */
.btn.primary,.btn.green,.head-order,.cta-main,.home .primary,.work-primary,.job-detail-done,.pwa-actions .primary,.gps,.primary,.payopt.selected,.service.selected{border-color:var(--towi-green)!important}
.btn.primary,.head-order,.cta-main,.home .primary,.work-primary,.job-detail-done,.pwa-actions .primary{background:var(--towi-green)!important;color:#fff!important;box-shadow:0 10px 28px rgba(10,143,100,.18)!important}
.btn.green{background:var(--towi-green)!important;color:#fff!important}
.btn.primary:hover,.head-order:hover,.cta-main:hover{background:#077b57!important}
.secondary.light,.gps,.mini-btn,.support-action{background:#e8f7f1!important;color:#067252!important}

/* Navigation */
.nav-item:hover,.nav-item.active{background:#0b594a!important;color:#fff!important}.nav-item.active span,.nav-item:hover span{color:var(--towi-mint)!important}
.partner .tabs button.active,.brand-sos,.sosmark,.partner-status-card .eyebrow,.job-detail-id{color:var(--towi-mint)!important}
.partner .tabs button{color:#b7d0c7!important}
.partner .tabs button.active{background:#0a594a!important;border-radius:16px}

/* Accent components */
.eyebrow{color:#087b58!important}
.hero-copy .eyebrow,.price-promise .eyebrow{color:var(--towi-mint)!important}
.hero-copy h1 em,.public-service footer span,.inline-cta,.tracking-bottom span,.live-link{color:#087b58!important}
.trust-strip i,.experience-copy li:before{background:#def6ec!important;color:#087b58!important}
.service-icon,.fleet-icon{background:#e4f7ef!important;color:#087b58!important}
.how-grid article>span{background:var(--towi-deep)!important;color:var(--towi-mint)!important}
.car-dot,.map-car,.route-node i,.audit-dot,.timeline-row i,.job-timeline i{background:var(--towi-mint)!important;color:var(--towi-deep)!important}
.status-chip.driver_offered{background:#dff7ed!important;color:#087b58!important}
.offer-card,.partner .offer-card{border-left-color:var(--towi-mint)!important}
.offer-expiry,.eta-delay-quick [data-eta-delay].selected,.reject-sheet .reject-choice.selected{background:#0b594a!important;color:#fff!important;border-color:var(--towi-mint)!important}
.own-fleet-badge,.peak-load-chip{background:var(--towi-mint)!important;color:var(--towi-deep)!important}
.pwa-icon,.reset-mark{background:var(--towi-mint)!important;color:var(--towi-deep)!important}

/* Partner finance / current-work dark panels */
.partner-status-card,.pwa-card,.active-route,.job-summary-card,.job-detail-card,.offer-detail .detail-block{background:linear-gradient(145deg,#06483c,#07352e)!important;border-color:#176d5a!important}
.work-icon-btn,.pwa-actions .gray,.security-list.actionable button{background:#0a5043!important;border-color:#216f5e!important}

/* Client visual states */
.step.on,.active-client-order{border-color:var(--towi-green)!important}.step.on{background:var(--towi-green)!important}.active-client-order{background:#f2fbf7!important}
.spinner{border-color:#d8efe6!important;border-top-color:var(--towi-green)!important}
.payopt.selected,.service.selected{background:#f2fbf7!important}
.price-hint,.route-summary{background:#e8f7f1!important;color:#087b58!important}

/* Public website */
.site-brand span{color:var(--towi-mint)!important}.cta-dark{background:var(--towi-deep)!important}.phone-demo{border-color:var(--towi-deep)!important}.phone-head span:before{content:''!important}
.hero-photo-market{box-shadow:0 32px 80px rgba(0,61,51,.18)!important}.active-public-order .active-inner>span{background:var(--towi-mint)!important;color:var(--towi-deep)!important}

/* Forms */
input:focus,select:focus,textarea:focus{outline:2px solid rgba(39,207,143,.22)!important;border-color:var(--towi-green)!important}

/* Toast / non-error positive emphasis */
.toast:not(.bad):not(.warn){background:var(--towi-deep)!important}

@media(max-width:720px){.towi-public-logo{width:96px}.towi-brand-lockup img{width:112px}.towi-brand-dark img{width:118px}.home .towi-brand img{width:132px}}


/* TOWI rebrand polish v1.1 — eliminate legacy yellow/white-on-mint states. */
body.client .steps .step.on{background:var(--towi-green)!important;color:#fff!important}
body.client .topbar .back{color:var(--towi-mint)!important}
body.client button.primary,body.client .primary{background:var(--towi-green)!important;color:#fff!important;border-color:var(--towi-green)!important;box-shadow:0 10px 28px rgba(10,143,100,.16)!important}
body.client button.primary:active,body.client .primary:active{background:#077b57!important}
body.client .service.selected{background:#edf9f4!important;border-color:var(--towi-green)!important;box-shadow:0 10px 28px rgba(0,61,51,.10)!important}
body.client .service.selected h3,body.client .service.selected p,body.client .service.selected .service-price,body.client .service.selected strong,body.client .service.selected span{color:#082c27!important}
body.client .service.selected .ico{background:var(--towi-mint)!important;border-color:var(--towi-green)!important}
body.client .service.selected .ico img{filter:none!important}
body.client .access-options button.selected{background:var(--towi-deep)!important;color:#fff!important;border-color:var(--towi-green)!important}
body.client .payopt.selected{background:#edf9f4!important;border-color:var(--towi-green)!important;box-shadow:0 0 0 3px rgba(10,143,100,.10)!important}
.partner-page .offer-live{color:#056347!important;background:#dff7ed!important}
.partner-page .offer-price>b{color:#087b58!important}
.partner-page .offer-detail-button{color:#087b58!important}
.partner-page .eta-delay-quick [data-eta-delay].selected{background:var(--towi-deep)!important;color:#fff!important;border-color:var(--towi-mint)!important}
.partner-page .partner-tabs button.active{background:#0b594a!important;color:#fff!important}
.partner-page .partner-tabs button.active .nav-icon{color:var(--towi-mint)!important}
.admin-page .mobile-admin-tabs button.active{background:#0b594a!important;color:#fff!important}
.admin-page .mobile-admin-tabs button.active:after{background:var(--towi-mint)!important}
.price-facts b,.final-cta .eyebrow{color:#087b58!important}
.partner-card{background:#f1fbf7!important;border-color:#cde9df!important}

/* TOWI 20.12.16 – töö lõpetamise mobiilivaate töökindlus */
body.finish-modal-open .partner-tabs,
body.finish-modal-open .tabs,
body.modal-open .partner-tabs,
body.modal-open nav.partner-tabs{display:none!important;visibility:hidden!important;pointer-events:none!important}
.partner-page .finish-sheet{max-height:calc(100dvh - env(safe-area-inset-top,0px));display:flex;flex-direction:column;overflow:hidden}
.partner-page .finish-sheet .finish-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:32px!important}
.partner-page .finish-sheet .finish-actions{position:sticky!important;bottom:0!important;z-index:40!important;background:var(--towi-deep,#0c4f42)!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 -10px 28px rgba(5,45,37,.18)!important}
.partner-page .finish-sheet .finish-actions #mFinish{width:100%!important;min-height:54px!important;background:var(--towi-green,#159b72)!important;color:#fff!important;border:0!important}
.partner-page .finish-sheet .finish-note-label textarea{min-height:110px!important;resize:vertical!important;font-size:16px!important;line-height:1.35!important;touch-action:manipulation}
.partner-page .finish-sheet .photo-preview{min-height:0!important}
.partner-page .finish-sheet #mUploadState{padding:8px 0;font-weight:700;color:#5d746c}


/* 20.12.16 production UX hardening */
.partner-page .assignment-banner,.partner-page .order-change-banner{border-radius:15px;padding:13px 15px;margin:12px 0;display:grid;gap:4px}
.partner-page .assignment-banner{background:#dff7ec!important;border:1px solid #76c9a8!important;color:#07513f!important}
.partner-page .order-change-banner{background:#e7f3ef!important;border:1px solid #9fcbbb!important;color:#123d35!important}
.partner-page .assignment-banner b,.partner-page .order-change-banner b{font-weight:950;letter-spacing:.02em}
.partner-page .assignment-banner span,.partner-page .order-change-banner span{font-size:13px;line-height:1.35}
.partner-page .active-facts.pro-money{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.partner-page .active-facts.pro-money>div:nth-child(4) b{color:#47d397!important}
.partner-page .active-facts.pro-money>div:nth-child(5) b{font-size:16px!important}
.partner-page .active-client-note{background:#e9f4f0;border:1px solid #a8d2c4;border-radius:14px;padding:13px 15px;margin:12px 0;color:#103c34;display:grid;gap:5px}
.partner-page .active-client-note small{color:#52766e;font-weight:800}
.partner-page .offer-contact-locked{background:#f2f7f5!important;color:#153e36!important;border-color:#bdd8cf!important}
.partner-page .partner-next-queue .queue-state{display:block;color:#76bca5!important;margin-top:4px}
@media(max-width:860px){.partner-page .active-facts.pro-money{grid-template-columns:repeat(2,minmax(0,1fr))!important}.partner-page .active-facts.pro-money>div:first-child{grid-column:1/-1}}
.client-order-edit .edit-order-sheet{display:grid;gap:13px;max-width:600px}
.client-order-edit .edit-order-sheet h2{margin:0;padding-right:45px}
.client-order-edit .edit-order-sheet label{display:grid;gap:7px;font-weight:850;color:#22324a}
.client-order-edit input,.client-order-edit textarea{width:100%;box-sizing:border-box;border:1px solid #cbd8e2;border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:#0b1729}
.client-order-edit textarea{resize:vertical;min-height:100px}
.client-edit-address{position:relative}.client-edit-address .suggestions{position:absolute;z-index:5;left:0;right:0;top:100%;background:#fff;border:1px solid #cbd8e2;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.12);display:none}.client-edit-address .suggestions.show{display:block}.client-edit-address .suggestions button{display:block;width:100%;border:0;border-bottom:1px solid #edf2f5;background:#fff;padding:11px;text-align:left;color:#172235}
#editClientOrder{min-height:48px}


/* TOWI 20.12.19 – live-test UX/state fixes */
/* Finish flow: the main action must never sit below the fixed partner nav on iPhone. */
body.partner.partner-authenticated.finish-modal-open > .partner-tabs,
body.partner.partner-authenticated.finish-modal-open .partner-tabs,
body.partner.partner-authenticated.modal-open > .partner-tabs,
body.partner.partner-authenticated.modal-open .partner-tabs{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.partner.finish-modal-open{overflow:hidden!important}
body.partner.finish-modal-open #partnerModal.sos-modal.show{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  z-index:2147483000!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--towi-deep,#07111f)!important;
}
body.partner.finish-modal-open #partnerModal .sos-modal-card{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  border-radius:0!important;
  overflow:hidden!important;
  padding:0!important;
}
body.partner.finish-modal-open #partnerModal .finish-sheet{
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body.partner.finish-modal-open #partnerModal .finish-sheet .modal-head{
  position:relative!important;
  flex:0 0 auto!important;
  z-index:45!important;
}
body.partner.finish-modal-open #partnerModal .finish-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))!important;
}
body.partner.finish-modal-open #partnerModal .finish-actions{
  position:relative!important;
  flex:0 0 auto!important;
  bottom:auto!important;
  z-index:50!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px))!important;
  background:#07111f!important;
  border-top:1px solid #26334a!important;
  box-shadow:0 -14px 30px rgba(0,0,0,.24)!important;
}
body.partner.finish-modal-open #partnerModal .finish-actions #mFinish{
  display:block!important;
  width:100%!important;
  min-height:58px!important;
  margin:0!important;
  opacity:1;
}
body.partner.finish-modal-open #partnerModal .finish-actions #mFinish:disabled{opacity:.72!important}

/* Partner customer/work photos: in-app gallery, never a raw-image dead end. */
body.partner-photo-open{overflow:hidden!important;touch-action:none!important}
.customer-photo-viewer,.job-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.photo-thumb{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#e9eef4!important;
  cursor:pointer!important;
}
.photo-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.partner-photo-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100vw!important;
  height:100dvh!important;
  background:#05090f!important;
  color:#fff!important;
}
.photo-lightbox-bar{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px!important;
  min-height:56px!important;
  background:rgba(5,9,15,.96)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.photo-lightbox-bar button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  min-height:44px!important;
  font-size:21px!important;
  font-weight:800!important;
  padding:6px 8px!important;
}
.photo-lightbox-bar [data-photo-close]{justify-self:start!important;display:flex!important;align-items:center!important;gap:6px!important}
.photo-lightbox-bar [data-photo-x]{justify-self:end!important;font-size:34px!important;line-height:1!important}
.photo-lightbox-bar [data-photo-count]{font-size:14px!important;color:#d9e1ec!important;white-space:nowrap!important}
.photo-lightbox-stage{
  position:relative!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))!important;
}
.photo-lightbox-stage>img{
  display:block!important;
  max-width:100vw!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
.photo-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:3!important;
  width:48px!important;
  height:58px!important;
  border:0!important;
  border-radius:15px!important;
  background:rgba(0,0,0,.46)!important;
  color:#fff!important;
  font-size:38px!important;
  line-height:1!important;
}
.photo-arrow.prev{left:8px!important}.photo-arrow.next{right:8px!important}
.photo-arrow:disabled{display:none!important}
@media(max-width:720px){
  .photo-lightbox-stage{padding-left:0!important;padding-right:0!important}
  .photo-arrow{width:42px!important;height:54px!important}
}

/* Every full-screen/detail modal keeps its exit control reachable. */
body.partner .sos-modal.show .modal-head{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
}
