/* TOWI v46 PRO/LUX — final responsive/operational hardening */
:root{--v46-navy:#071321;--v46-navy2:#10243b;--v46-yellow:#ffc83d;--v46-line:#dbe4ee;--v46-bg:#f3f7fb;--v46-ink:#0b1728;--v46-muted:#68788e;--v46-green:#168c5b;--v46-red:#ba3029}
html{scroll-behavior:auto}body{overscroll-behavior-y:none}

/* Client: during order/quote/payment/tracking the app is an immersive flow, not a tabbed page. */
body.client.client-flow-mode .client-tabs{display:none!important}
body.client.client-flow-mode .app{padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
body.client.client-flow-mode .screen.active{padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
body.client .client-tabs{padding-bottom:env(safe-area-inset-bottom)!important;height:calc(72px + env(safe-area-inset-bottom))!important;box-sizing:border-box!important}

/* Partner navigation: BODY portal + viewport units makes this stable on iOS, Android and desktop. */
body.partner-page>.partner-tabs.v46-portal-nav{position:fixed!important;inset:auto 0 0 0!important;width:100dvw!important;max-width:100dvw!important;height:calc(72px + env(safe-area-inset-bottom))!important;min-height:calc(72px + 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;transform:none!important;border-radius:0!important;z-index:2147483000!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;background:#071321!important;box-shadow:0 -10px 30px rgba(7,19,33,.16)!important;overflow:hidden!important}
body.partner-page>.partner-tabs.v46-portal-nav button{min-width:0!important;width:auto!important;height:62px!important;padding:5px 1px!important;font-size:10px!important;letter-spacing:-.015em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;border-radius:10px!important}
body.partner-page>.partner-tabs.v46-portal-nav button>span:last-child{font-size:10px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}
body.partner-page>.partner-tabs.v46-portal-nav .nav-icon{width:23px!important;height:23px!important}
body.partner-page>.partner-tabs.v46-portal-nav svg{width:22px!important;height:22px!important}
body.partner-page #partnerApp>.pad{padding-bottom:calc(102px + env(safe-area-inset-bottom))!important}
body.partner-page .section{scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom))}
body.partner-page.modal-open>.partner-tabs.v46-portal-nav,body.partner-page:has(.sos-modal.show)>.partner-tabs.v46-portal-nav{display:none!important}
@media(max-width:390px){body.partner-page>.partner-tabs.v46-portal-nav button,body.partner-page>.partner-tabs.v46-portal-nav button>span:last-child{font-size:8.8px!important}}
@media(min-width:901px){body.partner-page>.partner-tabs.v46-portal-nav{left:50%!important;right:auto!important;width:min(760px,calc(100dvw - 40px))!important;max-width:760px!important;transform:translateX(-50%)!important;border-radius:18px 18px 0 0!important}}

/* Partner modal safety */
body.partner-page .sos-modal.show{display:block!important;position:fixed!important;inset:0!important;z-index:2147483500!important;width:100dvw!important;height:100dvh!important;background:#071321!important}
body.partner-page .sos-modal-card{width:100%!important;height:100dvh!important;max-height:100dvh!important;box-sizing:border-box!important;overflow:auto!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}

/* Admin: exactly one workspace at once, with comfortable responsive touch targets. */
body.admin-page .admin-section{display:none!important;visibility:hidden!important}
body.admin-page .admin-section.active{display:block!important;visibility:visible!important;animation:v46fade .12s ease-out}
@keyframes v46fade{from{opacity:.72;transform:translateY(3px)}to{opacity:1;transform:none}}
body.admin-page .dispatcher-actions .btn{min-height:44px!important}
body.admin-page .btn.success{background:#168c5b!important;color:#fff!important;border-color:#168c5b!important}
body.admin-page .btn.danger.soft{background:#fff2f1!important;color:#a92c26!important;border-color:#f0c7c3!important}
@media(max-width:900px){body.admin-page .mobile-admin-tabs{width:100%!important;box-sizing:border-box!important;overflow:hidden!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}body.admin-page .mobile-admin-tabs button{min-width:0!important;overflow:hidden!important}body.admin-page .mobile-admin-tabs button span:last-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}}

/* Larger touch areas, while retaining the v44 visual direction. */
@media(max-width:700px){body.admin-page button,body.admin-page .btn,body.partner-page button,body.partner-page .btn{min-height:44px}body.admin-page input,body.admin-page select,body.partner-page input,body.partner-page select{min-height:44px}body.admin-page .record-card{padding:14px!important}body.partner-page .offer-card-pro{padding:15px!important}}
/* Compact SLA radar: useful operational signal, never a decorative dashboard block. */
.admin-page .v46-sla-radar{background:#071321;color:#fff;border-radius:18px;padding:14px;margin:0 0 14px;box-shadow:0 10px 28px rgba(7,19,33,.10)}
.admin-page .v46-sla-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-page .v46-sla-head span{display:block;color:#f6c744;font-size:10px;font-weight:900;letter-spacing:.12em}.admin-page .v46-sla-head b{font-size:18px}.admin-page .v46-sla-head button{min-height:38px;border:1px solid #31455f;background:#10243b;color:#fff;border-radius:10px;padding:0 11px;font-weight:800}.admin-page .v46-sla-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-page .v46-sla-grid>div{background:#10243b;border:1px solid #203852;border-radius:12px;padding:10px}.admin-page .v46-sla-grid span,.admin-page .v46-sla-grid small{display:block;color:#aab8c9;font-size:10px}.admin-page .v46-sla-grid b{display:block;font-size:20px;margin:3px 0}.admin-page .v46-sla-grid .bad b{color:#ff8b83}.admin-page .v46-sla-grid .warn b{color:#ffd76b}.admin-page .v46-sla-grid .good b{color:#68d7a1}@media(max-width:650px){.admin-page .v46-sla-grid{grid-template-columns:1fr 1fr}.admin-page .v46-sla-head b{font-size:16px}}
