body,html{max-width:100%;overflow-x:clip}canvas,img,svg,video{max-width:100%}img{height:auto}a,button,input,select,textarea{touch-action:manipulation}iframe{max-width:100%;border:0}.kbfx-table-wrap,.nt-table-wrap,.result-table-wrap,.safe-table-wrap,.table-wrap,.vehicle-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.mobile-nav{overscroll-behavior:contain}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}dialog[open]{contain:layout paint}@supports(content-visibility:auto){.faq-list,.feature-grid,.footer-grid,.port-grid,.related-tools-card,main>section:nth-of-type(n+2){content-visibility:auto;contain-intrinsic-size:auto 640px}dialog:not([open]){content-visibility:hidden}}@media(max-width:768px){.container{width:calc(100% - 28px)!important}input,select,textarea{font-size:16px!important}.mobile-nav{max-height:calc(100dvh - 68px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.form-wrap,.kbfx-card,.nt-card,.panel,.related-tools-card,.shell-body,.tool-shell,.vehicle-card{min-width:0;max-width:100%;box-shadow:0 8px 24px rgba(18,38,76,.08)!important}.footer-grid,.form-grid,.guide-grid,.kb-tool-links,.launch,.result-grid,.tool-nav{min-width:0}.kbfx-table,.nt-table,.vehicle-table{white-space:nowrap}.kb-top-button,.top-btn{right:14px!important;bottom:max(14px,env(safe-area-inset-bottom))!important}.btn,.header-btn,.menu-btn,.mobile-nav a,.mobile-nav button{min-height:44px}dialog::backdrop{backdrop-filter:none!important}.mobile-nav,.nav-dropdown-menu{backdrop-filter:none!important}}@media(max-width:520px){.container{width:calc(100% - 24px)!important}.footer-grid{grid-template-columns:1fr!important}.shell-body{padding-left:14px!important;padding-right:14px!important}.nt-card,.panel{padding-left:16px!important;padding-right:16px!important}.hero h1{overflow-wrap:anywhere}}@media(hover:none){.hero-choice-card:hover,.tool-card:hover,.vehicle-card:hover{transform:none!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,::after,::before{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}
/* KBRIDGE FINAL COMPACT UI 2026-07-11 */
:root{--kb-compact-select-h:40px;--kb-compact-tab-h:34px}
/* Selection controls: compact without reducing readable text size. */
.field select,.vehicle-field select,.nt-field select,.kbfx-control input[type=date],.kbfx-control input[type=search]{height:var(--kb-compact-select-h)!important;min-height:var(--kb-compact-select-h)!important;padding-top:0!important;padding-bottom:0!important}
.category-tabs button,.filter-tabs button,.filter-chips button,.type-filter button,.nt-seg button,.nt-subtabs button,.pallet-toggle button,.charge-chip span,.safe-search-tab,#calculator .tab{height:var(--kb-compact-tab-h)!important;min-height:var(--kb-compact-tab-h)!important;padding-top:0!important;padding-bottom:0!important;line-height:1.15!important}
.quote-mode-tabs{gap:7px!important;margin-top:11px!important}
.quote-mode-tabs button{min-height:44px!important;padding:6px 10px!important;border-radius:10px!important}
.quote-mode-tabs button strong{font-size:13px!important;line-height:1.2!important}
.quote-mode-tabs button span{margin-top:2px!important;font-size:10px!important;line-height:1.25!important}
.formal-service-grid span{min-height:34px!important;padding:6px 8px!important;font-size:11.5px!important}
.dialog .field select,.quote-dialog .field select{height:40px!important;min-height:40px!important}
.dialog .field input:not([type=checkbox]):not([type=radio]):not([type=file]),.quote-dialog .field input:not([type=checkbox]):not([type=radio]):not([type=file]){height:42px!important;min-height:42px!important}
.kbfx-control button{height:40px!important;min-height:40px!important;padding:0 15px!important}
@media(max-width:768px){
  dialog.quote-dialog{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}
  .quote-dialog .dialog-body{padding:14px!important}
  .quote-dialog .form-card{padding:17px!important}
  .quote-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
  .quote-mode-tabs button{min-width:0!important;min-height:42px!important;padding:6px 5px!important;text-align:center!important}
  .quote-mode-tabs button strong{font-size:11.5px!important;line-height:1.25!important;word-break:keep-all!important}
  .quote-mode-tabs button span{display:none!important}
  .formal-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .field select,.vehicle-field select,.nt-field select{height:40px!important;min-height:40px!important}
  .category-tabs{gap:6px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .category-tabs button{flex:0 0 auto!important;white-space:nowrap!important}
}
@media(max-width:380px){
  .quote-mode-tabs button strong{font-size:11px!important}
  .quote-dialog .form-card{padding:15px!important}
}

/* Final cascade guards for quote dialogs */
html body .quote-dialog .field select,html body .formal-quote-dialog .field select{height:40px!important;min-height:40px!important}
html body .quote-dialog .field input:not([type=checkbox]):not([type=radio]):not([type=file]),html body .formal-quote-dialog .field input:not([type=checkbox]):not([type=radio]):not([type=file]){height:42px!important;min-height:42px!important}
