/* TOWI LUXPRO20.11-REPAIR — mobile nav + stability hotfixes */
:root{--sos-admin-nav-h:72px;--sos-partner-nav-h:72px}

@media(max-width:820px){
  /* ADMIN bottom navigation: one real app-level bar, compact and never over content */
  body.admin{padding-bottom:calc(var(--sos-admin-nav-h) + env(safe-area-inset-bottom) + 10px)!important}
  body.admin>.mobile-admin-tabs,
  body.admin #mobileAdminTabs.admin-nav-portal{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100vw!important;max-width:100vw!important;
    height:calc(66px + env(safe-area-inset-bottom))!important;
    min-height:calc(66px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px max(6px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;
    overflow:hidden!important;
    background:#07111f!important;
    border:0!important;border-radius:0!important;
    box-shadow:0 -8px 26px rgba(7,17,31,.18)!important;
    z-index:9000!important;
    transform:none!important;
  }
  body.admin>.mobile-admin-tabs button,
  body.admin #mobileAdminTabs.admin-nav-portal button{
    min-width:0!important;width:auto!important;height:56px!important;min-height:56px!important;
    box-sizing:border-box!important;padding:4px 1px!important;margin:0!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;
    border-radius:12px!important;background:transparent!important;color:#a9b7c9!important;
    font-size:10px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;
  }
  body.admin>.mobile-admin-tabs button.active,
  body.admin #mobileAdminTabs.admin-nav-portal button.active{background:#122a47!important;color:#fff!important}
  body.admin>.mobile-admin-tabs button.active .mnav-icon,
  body.admin #mobileAdminTabs.admin-nav-portal button.active .mnav-icon{color:#f7c53d!important}
  body.admin>.mobile-admin-tabs .mnav-icon,
  body.admin #mobileAdminTabs.admin-nav-portal .mnav-icon{width:21px!important;height:21px!important;display:block!important;flex:0 0 21px!important}
  body.admin>.mobile-admin-tabs .mnav-icon svg,
  body.admin #mobileAdminTabs.admin-nav-portal .mnav-icon svg{width:21px!important;height:21px!important}
  body.admin>.mobile-admin-tabs button>span:last-child,
  body.admin #mobileAdminTabs.admin-nav-portal button>span:last-child{font-size:10px!important;line-height:1!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  body.admin .admin-main{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  body.admin .admin-section{padding-bottom:8px!important}
  body.admin .admin-map.big,body.admin #adminBigMap,body.admin #adminLiveMap{margin-bottom:10px!important}

  /* PARTNER bottom navigation: never disappears during ordinary views/refreshes */
  body.partner.partner-authenticated>.partner-tabs,
  body.partner.partner-authenticated>.partner-tabs.v46-portal-nav,
  body.partner.partner-authenticated>.partner-tabs.partner-nav-portal{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100vw!important;max-width:100vw!important;
    height:calc(68px + env(safe-area-inset-bottom))!important;
    min-height:calc(68px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px max(6px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;
    visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    overflow:hidden!important;transform:none!important;
    background:#07111f!important;border:0!important;border-radius:0!important;
    box-shadow:0 -8px 26px rgba(7,17,31,.2)!important;
    z-index:9000!important;
  }
  body.partner.partner-authenticated>.partner-tabs button{min-width:0!important;width:auto!important;height:58px!important;min-height:58px!important;box-sizing:border-box!important;padding:4px 1px!important;margin:0!important;border-radius:12px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important}
  body.partner.partner-authenticated>.partner-tabs button>span:last-child{font-size:10px!important;line-height:1!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  body.partner.partner-authenticated>.partner-tabs .nav-icon{width:22px!important;height:22px!important;flex:0 0 22px!important}
  body.partner.partner-authenticated #partnerApp>.pad{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  body.partner.partner-authenticated{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}

  /* Only a genuinely visible fullscreen modal may cover/hide navigation. Stale modal-open state must not. */
  body.partner.partner-authenticated.modal-open:not(:has(.modal-overlay:not(.hidden),.modal-backdrop:not(.hidden),.sos-modal.show,.lux-stable-overlay,.pro10-overlay))>.partner-tabs,
  body.partner.partner-authenticated.modal-open:not(:has(.modal-overlay:not(.hidden),.modal-backdrop:not(.hidden),.sos-modal.show,.lux-stable-overlay,.pro10-overlay))>.partner-tabs.v46-portal-nav{
    display:grid!important;visibility:visible!important;opacity:1!important;
  }

  body.admin.admin-section-loading #companiesCards{min-height:140px!important}

  /* Real overlays must stay above the persistent bottom navigation. */
  body.admin .modal-backdrop,body.admin .pro2-modal,body.admin .pro7-dialog-layer,
  body.partner .modal-backdrop,body.partner .modal-overlay,body.partner .sos-modal.show,body.partner .lux-stable-overlay,body.partner .pro10-overlay{z-index:20000!important}
}

@media(min-width:821px){
  body.admin>#mobileAdminTabs.admin-nav-portal{display:none!important}
}


/* 20.11.6 — partner bottom nav guaranteed on authenticated mobile views */
@media(max-width:820px){
  body.partner.partner-authenticated .partner-tabs,
  body.partner .partner-tabs.partner-nav-portal{
    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;max-width:100vw!important;
    height:calc(68px + env(safe-area-inset-bottom))!important;
    min-height:calc(68px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    padding:4px max(6px,env(safe-area-inset-right)) max(5px,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:#07111f!important;border:0!important;border-radius:0!important;
    box-shadow:0 -8px 26px rgba(7,17,31,.2)!important;
    z-index:2147482000!important;transform:none!important;pointer-events:auto!important;overflow:hidden!important;
  }
  body.partner.partner-authenticated{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  body.partner.partner-authenticated #partnerApp>.pad{padding-bottom:calc(98px + env(safe-area-inset-bottom))!important}
}

/* LUXPRO20.12.10 — partneri töö lõpetamise sularahakinnitus */
.cash-finish-box{background:#f6f8fb;border:1px solid #dbe4ee;border-radius:16px;padding:14px;display:grid;gap:10px;margin:4px 0 14px}
.cash-finish-box>b{font-size:16px}
.cash-finish-box label{margin:0}
.cash-confirm{display:flex!important;align-items:center;gap:10px;font-weight:800}
.cash-confirm input{width:20px!important;height:20px;min-height:20px!important;flex:0 0 20px}
.cash-finish-box small{color:#64748b;line-height:1.45}

/* LUXPRO20.12.12 · tipukoormuse dispatch + TOWI oma autopark */
.own-fleet-badge{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#f7c53d;color:#07111f;font-size:10px;font-style:normal;font-weight:900;vertical-align:middle;letter-spacing:.04em}
.peak-load-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#f7c53d;color:#07111f;font-size:11px;font-weight:950;letter-spacing:.07em;white-space:nowrap}
.status-chip.queued{background:#fff4c8;color:#775400;border:1px solid #f1d36a}
.partner-next-queue{margin-top:16px;border:1px solid rgba(148,163,184,.3);border-radius:18px;overflow:hidden;background:#fff}
.next-queue-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:#07111f;color:#fff}
.next-queue-head span{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#f7c53d;color:#07111f;font-weight:900}
.partner-next-queue article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid #e8edf2}
.partner-next-queue article:first-of-type{border-top:0}.partner-next-queue article i{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:#fff4c8;color:#775400;font-style:normal;font-weight:900}.partner-next-queue article div{display:grid;gap:3px}.partner-next-queue article small{color:#64748b}.partner-next-queue article strong{font-size:13px;white-space:nowrap}
@media(max-width:640px){.partner-next-queue article{grid-template-columns:auto 1fr}.partner-next-queue article strong{grid-column:2}.peak-load-chip{font-size:10px}}


/* LUXPRO20.12.13 · partneri loetav statistika, stabiilne iPhone nav, kliendifotod */
.partner .today-stats>div{background:#fff!important;border-color:#d6e0ec!important;box-shadow:none!important}.partner .today-stats b{color:#0b1729!important;font-weight:900!important}.partner .today-stats span{color:#75859c!important}.partner.partner-authenticated{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.partner nav.partner-tabs,.partner .tabs.partner-tabs{position:fixed!important;inset:auto 0 0 0!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none!important;transform:none!important;margin:0!important;z-index:12000!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important;contain:layout paint;background:#07111f!important}.partner nav.partner-tabs[hidden],.partner .tabs.partner-tabs[hidden]{display:none!important}.customer-photo-viewer,.job-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.customer-photo-viewer a{display:block}.customer-photo-viewer img,.job-photo-grid img{display:block;width:100%;height:110px;object-fit:cover;border-radius:12px;border:1px solid #d8e0ea}.active-passenger-info{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;margin:10px 0;border-radius:14px;background:#eef4fb;color:#0b1729}.active-passenger-info .transport-needed{color:#a14716;font-size:12px;font-weight:800}.customer-photo-block{margin-top:12px}.transport-alert{border-color:#f4bd50!important;background:#fff8e6!important}.fleet-toolbar{margin:0 0 14px}.fleet-toolbar input{min-width:240px}@media(max-width:600px){.customer-photo-viewer img,.job-photo-grid img{height:90px}.active-passenger-info{align-items:flex-start;flex-direction:column}.fleet-toolbar input{min-width:0}}
\n\n/* LUXPRO20.12.14 · partneri alumine nav – üks allikas, päriselt vajutatav */\n@media(max-width:820px){\n body.partner.partner-authenticated>.partner-tabs.partner-nav-stable{\n  display:grid!important;visibility:visible!important;opacity:1!important;\n  position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;\n  width:100%!important;max-width:none!important;height:auto!important;min-height:calc(70px + env(safe-area-inset-bottom))!important;\n  grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;\n  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;\n  background:#07111f!important;border:0!important;border-radius:0!important;box-shadow:0 -8px 26px rgba(7,17,31,.22)!important;\n  transform:none!important;contain:none!important;overflow:visible!important;pointer-events:auto!important;touch-action:manipulation!important;z-index:15000!important;\n }\n body.partner.partner-authenticated>.partner-tabs.partner-nav-stable button{\n  position:relative!important;z-index:1!important;pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important;\n  min-width:0!important;width:100%!important;height:58px!important;min-height:58px!important;margin:0!important;padding:4px 1px!important;border-radius:12px!important;\n }\n body.partner.partner-authenticated>.partner-tabs.partner-nav-stable button>*{pointer-events:none!important}\n body.partner.partner-authenticated #partnerApp>.pad{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}\n}\n