/* KBM 1.9.8.20 — final field-regression layer. */
:root{--kbm-field-navy:#071a33;--kbm-field-ink:#10213a;--kbm-field-yellow:#ffc400;--kbm-field-line:#dfe7f0;--kbm-field-soft:#f3f7fb}
body.kbm-field-stability{overflow-x:clip}
body.kbm-field-stability :where(.kbm-ads-recode-card,.kbm-mk-card,.kbm-drivers-recode-card,.kbm-dashboard-recode-card){writing-mode:horizontal-tb!important;text-orientation:mixed!important;min-width:0!important}
body.kbm-field-stability :where(.kbm-ads-recode-card *,.kbm-mk-card *,.kbm-drivers-recode-card *,.kbm-dashboard-recode-card *){word-break:normal;overflow-wrap:break-word}

/* The field video showed white text on a near-white hero. Keep the image but
 * make contrast deterministic even when an image variable or overlay is stale. */
.kbm-mlec-home .kbm-mlec-hero{background-color:var(--kbm-field-navy)!important;background-image:linear-gradient(90deg,rgba(5,19,38,.96),rgba(7,26,51,.76)),var(--kbm-ahc-home-image,none)!important;background-size:cover!important;background-position:center!important}
.kbm-mlec-home .kbm-mlec-hero :where(h1,p,.kbm-ahc-home__proof span){color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.28)}
.kbm-mlec-home .kbm-ahc-home__kicker{color:#ffe27b!important;background:rgba(7,26,51,.7)!important;border-color:rgba(255,205,17,.68)!important;text-shadow:none}
.kbm-mlec-home .kbm-ahc-home__hero-actions a{min-height:48px;align-items:center;justify-content:center;text-align:center}
.kbm-mlec-section--latest .kbm-mlec-section__head>span{display:none!important}
.kbm-mlec-categories i{overflow:hidden}
.kbm-mlec-categories i img{display:block;width:100%;height:100%;padding:7px;object-fit:contain}

/* A real image fills its media region; library artwork is intentionally
 * contained and never rendered as a broken browser-image icon. */
body.kbm-field-stability img.kbm-media-fallback{object-fit:contain!important;object-position:center!important;padding:10px!important;background:linear-gradient(145deg,#f6f9fc,#eaf0f7)!important}
.kbm-drivers-recode-card__placeholder{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;min-height:180px!important;padding:18px!important;color:#64748b!important;background:#eef3f8!important;font-weight:900!important;text-align:center!important}

/* Dashboard convergence 1.0.1 accidentally reintroduced stretch-to-tallest. */
.kbm-dashboard-recode-list{align-items:start!important}
.kbm-dashboard-recode-list>.kbm-dashboard-recode-card{height:auto!important;min-height:0!important;align-self:start!important;grid-template-rows:auto!important}
.kbm-dashboard-recode-card-body{height:auto!important;min-height:0!important}

/* Submit/Divar completion header and action dock remain legible and in flow. */
.kbm-submit-recode-head{background-color:var(--kbm-field-navy)!important;background-image:linear-gradient(135deg,rgba(7,26,51,.98),rgba(18,59,109,.92))!important;border:1px solid rgba(255,255,255,.08)!important}
.kbm-submit-recode-head :where(h1,p,.kbm-submit-recode-step-label){color:#fff!important;text-shadow:none!important}
.kbm-submit-recode-head p{color:#d8e5f2!important}
.kbm-submit-recode-source{color:#19202b!important}
.kbm-rh23-status__card p{overflow-wrap:anywhere}

/* The authoritative mobile contract is a physical-device class. It remains
 * effective when Chrome exposes 720px or a desktop-like layout viewport. */
:is(body.kbm-device-mobile,body.kbm-is-handset){--kbm-field-gutter:10px;scroll-padding-bottom:110px}
:is(body.kbm-device-mobile,body.kbm-is-handset) :where(.kbm-mlec-home,.kbm-drivers-recode,.kbm-dashboard-recode,.kbm-submit-recode,.kbm-mlec-pay){max-width:calc(100% - (var(--kbm-field-gutter) * 2))!important;margin-inline:auto!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-mlec-hero{min-height:0!important;margin:8px 0 0!important;padding:18px 14px 20px!important;display:block!important;border-radius:24px!important;background-image:radial-gradient(circle at 12% 18%,rgba(245,184,0,.22),transparent 31%),linear-gradient(145deg,#123b6d,#071a33 62%)!important;background-position:center!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__hero-copy{padding:10px 4px 14px!important;max-width:none!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__hero-copy h1{font-size:clamp(27px,7vw,40px)!important;line-height:1.45!important;margin-block:15px 10px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__hero-copy>p{font-size:14px!important;line-height:1.95!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__hero-actions a{white-space:nowrap!important;padding:9px 7px!important;font-size:13px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__hero-actions a:nth-child(n+3){grid-column:1/-1}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home .kbm-ahc-home__proof{display:none!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-ahc-auth__visual{background-image:radial-gradient(circle at 20% 15%,rgba(245,184,0,.24),transparent 28%),linear-gradient(145deg,#123b6d,#071a33 66%)!important;min-height:280px!important}

/* Category cards can stay two-up on larger phones, but use actual visual
 * assets and keep every label horizontal. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-categories>a{min-height:176px!important;padding:13px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-categories :where(strong,small,b){writing-mode:horizontal-tb!important;word-break:normal!important}

/* Home rental cards — one readable compact row, inspired by marketplace list
 * cards: image, identity/meta, then price/action. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid>.kbm-ads-recode-card{display:grid!important;grid-template-columns:clamp(126px,31vw,190px) minmax(0,1fr)!important;height:auto!important;min-height:190px!important;align-self:start!important;border-radius:19px!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-media{grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-height:190px!important;max-height:none!important;aspect-ratio:auto!important;align-self:stretch!important;border-radius:0!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-media>img{width:100%!important;height:100%!important;object-fit:cover!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-media>img.kbm-media-fallback{object-fit:contain!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-body{grid-column:2!important;grid-row:1!important;display:flex!important;min-width:0!important;height:auto!important;padding:12px!important;gap:8px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-title{margin:0!important;font-size:14px!important;line-height:1.65!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-meta{display:flex!important;gap:5px!important;max-height:65px!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-meta>*{font-size:10.5px!important;padding:4px 7px!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-meta>*:nth-child(n+4){display:none!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-foot{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-top:auto!important;align-items:stretch!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-price{display:flex!important;align-items:baseline!important;gap:3px!important;min-width:0!important;font-size:12.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-price small{display:inline!important;white-space:nowrap!important;font-size:10.5px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid .kbm-ads-recode-card-cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;width:100%!important;padding:7px!important;border-radius:11px!important;white-space:nowrap!important;font-size:11.5px!important}

/* Home driver cards: one card per row, no vertical character wrapping. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver{display:grid!important;grid-template-columns:clamp(120px,32vw,180px) minmax(0,1fr)!important;min-height:190px!important;height:auto!important;border-radius:19px!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__media{grid-column:1!important;width:100%!important;height:100%!important;min-height:190px!important;aspect-ratio:auto!important;border-radius:0!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__media img.kbm-media-fallback{object-fit:contain!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__body{grid-column:2!important;padding:12px!important;min-width:0!important;gap:8px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__title{font-size:15px!important;line-height:1.65!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__foot{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-top:auto!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver .kbm-mk-card__cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:39px!important;width:100%!important;white-space:nowrap!important;word-break:keep-all!important;font-size:12px!important}

/* Driver archive: broken/missing portraits no longer expand into an empty page. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card{display:grid!important;grid-template-columns:clamp(122px,32vw,180px) minmax(0,1fr)!important;height:auto!important;min-height:205px!important;align-self:start!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card__media{grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-height:205px!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important;align-self:stretch!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card__media img.kbm-media-fallback{object-fit:contain!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card__body{grid-column:2!important;grid-row:1!important;min-width:0!important;padding:12px!important;gap:7px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card__body h3{font-size:15px!important;line-height:1.65!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-view-badge{inset:9px auto auto 9px!important;right:auto!important;left:9px!important;white-space:nowrap!important;writing-mode:horizontal-tb!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-meta>*:nth-child(n+3),:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-excerpt{display:none!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-actions a{white-space:nowrap!important;word-break:keep-all!important;font-size:12px!important}

/* Dashboard cards stack media above content. This removes the empty side rail
 * and gives edit/view/delete controls consistent tap targets. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-list{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:12px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;width:100%!important;height:auto!important;min-height:0!important;align-self:start!important;border-radius:20px!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card-media{grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:270px!important;aspect-ratio:16/9!important;align-self:start!important;border-radius:0!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card-media>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card-media>img.kbm-media-fallback{object-fit:contain!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card-body{grid-column:1!important;grid-row:2!important;width:100%!important;height:auto!important;padding:13px!important;gap:8px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card-meta{max-height:64px!important;overflow:hidden!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important;margin-top:5px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-act{display:flex!important;align-items:center!important;justify-content:center!important;min-height:43px!important;padding:8px!important;white-space:nowrap!important;word-break:keep-all!important;font-size:12px!important}

/* Completion/direct-submit action remains visible without covering a field or
 * footer; while the keyboard is open it becomes a normal in-flow block. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-submit-recode{padding-top:10px!important;padding-bottom:32px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-submit-recode-head{min-height:0!important;padding:18px 15px!important;margin-bottom:12px!important;border-radius:21px!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-submit-recode-head h1{font-size:clamp(23px,6.6vw,34px)!important;line-height:1.55!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-submit-recode-actions{position:sticky!important;inset:auto!important;bottom:0!important;z-index:80!important;min-height:72px!important;margin-top:8px!important;padding:9px!important;border:1px solid var(--kbm-field-line)!important;border-radius:18px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 -8px 24px rgba(7,26,51,.10)!important;backdrop-filter:blur(12px)!important}
:is(body.kbm-device-mobile,body.kbm-is-handset).kbm-keyboard-open .kbm-submit-recode-actions,:is(body.kbm-device-mobile,body.kbm-is-handset).kbm-submit-mobile-editing .kbm-submit-recode-actions{position:static!important;inset:auto!important;box-shadow:0 8px 22px rgba(7,26,51,.08)!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-submit-recode-group{scroll-margin-block:86px 130px!important}

/* Payment services and result state retain comfortable phone proportions. */
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-pay__form{grid-template-columns:1fr!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-pay__summary{position:static!important;grid-column:1!important;grid-row:auto!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-rh23-status{padding:12px!important;min-height:auto!important}
:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-rh23-status__card{width:100%!important;padding:22px 16px!important;border-radius:22px!important}

@media(max-width:420px){
  :is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-categories{grid-template-columns:1fr!important}
  :is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-categories>a{min-height:145px!important}
  :is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mlec-home-grid>.kbm-ads-recode-card{grid-template-columns:112px minmax(0,1fr)!important}
  :is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-mk-card--driver,:is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-drivers-recode-card{grid-template-columns:112px minmax(0,1fr)!important}
  :is(body.kbm-device-mobile,body.kbm-is-handset) .kbm-dashboard-recode-card-top{display:grid!important}
}

@media(prefers-reduced-motion:reduce){body.kbm-field-stability *,body.kbm-field-stability *:before,body.kbm-field-stability *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
