/* Zygo / Refined interface · 2026-09
   Presentation only. Keep routes, validation, maps and transactional state intact.
   Loaded after the existing page styles; no build tools or external assets needed. */
.zygo-refined {
    --zr-ink: #172019;
    --zr-muted: #626b65;
    --zr-accent: #a6e82d;
    --zr-line: #e2e6e2;
    --zr-canvas: #f6f7f5;
    --zr-surface: #fff;
    --zr-radius: 12px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.zygo-refined :where(a, button):focus-visible {
    outline: 3px solid #397524;
    outline-offset: 3px;
}
.zygo-refined :where(button, a) { touch-action: manipulation; }
.zygo-refined :where(.zl-hero-copy, .zl-hero-visual, .zy-login-panel, .zy-reg-grid > *, .sf-prod-body) { min-width: 0; }
.zygo-refined :where(.zygo-inline-icon) { width: 22px; height: 22px; flex: 0 0 auto; }

/* Public home: editorial typography, real photography and clear actions. */
body.zygo-refined.zygo-landing-shell {
    --zl-ink: #172019;
    --zl-text: #39453d;
    --zl-muted: #626b65;
    --zl-bg: #fff;
    --zl-surface-soft: #f4f6f2;
    --zl-border: #e0e5de;
    --zl-accent: #a6e82d;
    --zl-accent-hover: #94d423;
    --zl-accent-deep: #35621d;
    --zl-container: 1264px;
    background: #fff;
}
.zygo-refined .zl-site-header { background: #fff; border-bottom: 1px solid var(--zr-line); box-shadow: none; backdrop-filter: none; }
.zygo-refined .zl-brand img { width: 105px; height: auto; }
.zygo-refined .zl-header-inner { gap: 24px; }
.zygo-refined .zl-desktop-nav { gap: 26px; }
.zygo-refined .zl-desktop-nav a { font-weight: 500; font-size: 13px; }
.zygo-refined .zl-button { border-radius: 8px; box-shadow: none; font-weight: 600; min-height: 46px; transition: background .16s ease, border-color .16s ease; }
.zygo-refined .zl-button:hover { transform: none; box-shadow: none; }
.zygo-refined .zl-button--large { min-height: 54px; padding: 14px 22px; }
.zygo-refined .zl-button--primary { background: var(--zr-ink); border-color: var(--zr-ink); color: #fff; }
.zygo-refined .zl-button--primary:hover { background: #2b3b2d; border-color: #2b3b2d; color: #fff; }
.zygo-refined .zl-header-cta { background: var(--zr-accent); border-color: var(--zr-accent); color: var(--zr-ink); }
.zygo-refined .zl-header-cta:hover { background: #94d423; color: var(--zr-ink); border-color: #94d423; }
.zygo-refined .zl-button--secondary { background: #fff; border-color: #d6dcd5; color: var(--zr-ink); }
.zygo-refined .zl-hero { background: #fff; padding: 58px 0 64px; }
.zygo-refined .zl-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.zygo-refined .zl-hero-copy h1 { font-size: clamp(42px, 4.5vw, 66px); font-weight: 700; letter-spacing: -.055em; line-height: 1.04; max-width: none; margin-bottom: 24px; }
.zygo-refined .zl-eyebrow { color: #53644c; font-size: 11px; font-weight: 600; letter-spacing: .13em; }
.zygo-refined .zl-hero-copy .zl-eyebrow { margin-bottom: 22px; }
.zr-brand-tick { width: 10px; height: 10px; border-radius: 2px; background: var(--zr-accent); display: inline-block; }
.zygo-refined .zl-hero-summary { font-size: 17px; line-height: 1.65; max-width: 43ch; color: var(--zr-muted); margin-bottom: 26px; }
.zr-dispatch-prompt { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; }
.zr-dispatch-prompt__icon { display: grid; place-items: center; width: 44px; height: 44px; background: #f0f3ec; border-radius: 10px; }
.zr-dispatch-prompt strong { display: block; font-size: 15px; color: var(--zr-ink); font-weight: 600; }
.zr-dispatch-prompt div > span { display: block; font-size: 13px; color: var(--zr-muted); }
.zygo-refined .zl-hero-assurance { gap: 6px; margin-top: 22px; }
.zygo-refined .zl-hero-assurance li { font-size: 12px; }
.zygo-refined .zl-hero-visual { min-height: 548px; border-radius: 16px; overflow: hidden; background: #172019; }
.zygo-refined .zl-hero-visual picture { border: 0; border-radius: 0; bottom: 96px; height: auto; }
.zygo-refined .zl-hero-visual picture img { object-position: 50% 50%; }
.zygo-refined .zl-hero-visual picture::after { background: linear-gradient(180deg,rgba(0,0,0,.40),transparent 56%); }
.zr-photo-caption { position: relative; z-index: 1; color: #fff; padding: 30px; }
.zr-photo-caption > span { display: block; font-size: 10px; font-weight: 500; letter-spacing: .16em; margin-bottom: 14px; color: #e5e9e1; }
.zr-photo-caption strong { display: block; font-size: clamp(26px,2.5vw,36px); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.zygo-refined .zl-hero-status { background: #f1f4ed; color: var(--zr-ink); border: 0; border-radius: 0; left: 0; right: 0; bottom: 0; padding: 20px 26px; }
.zygo-refined .zl-status-label { margin: 0 0 12px; font-size: 10px; letter-spacing: .1em; color: #64725c; }
.zr-delivery-stages { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.zr-delivery-stages > span { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.zr-delivery-stages > span svg { width: 18px; height: 18px; }
.zr-delivery-stages > svg { width: 14px; height: 14px; color: #899680; }
.zygo-refined .zl-trust-strip { border-top: 1px solid var(--zr-line); border-bottom: 1px solid var(--zr-line); background: #f7f8f5; }
.zygo-refined .zl-trust-list { gap: 20px; justify-content: space-between; }
.zygo-refined .zl-trust-list span { font-size: 12px; font-weight: 500; }
.zygo-refined .zl-section { padding-block: 80px; }
.zygo-refined .zl-section h2 { font-weight: 600; letter-spacing: -.04em; }
.zygo-refined :is(.zl-journey, .zl-commerce-panel, .zl-marketplace-card, .zl-security-card) { box-shadow: none; border-radius: 12px; }
.zygo-refined .zl-step-list > li { border-radius: 0; border-bottom: 1px solid var(--zr-line); background: transparent; box-shadow: none; }
.zygo-refined .zl-step-list > li > span { background: #edf2e7; color: #384e27; border-radius: 8px; font-weight: 500; }
.zygo-refined .zl-cta { background: #172019; }

/* Client app: one prominent task and predictable bottom navigation. */
body.zygo-refined.zygo-pwa-order-page,
body.zygo-refined.zygo-pwa-order-page #app,
body.zygo-refined.zygo-pwa-order-page #app > .section { background: var(--zr-canvas) !important; }
.zygo-refined .zy-app {
    --ink: #172019; --ink-2: #3f4942; --muted: #626b65; --faint: #727a73;
    --line: #e2e6df; --field: #f5f6f3; --field-line: #dce1d9;
    --bg: #f6f7f5; --lime: #a6e82d; --green-soft: #f0f5e8; --green-line: #dfe8d1;
    animation: none; background: #fff; max-width: 520px; padding-inline: 22px;
}
.zygo-refined .zy-head { min-height: 76px; border-bottom: 1px solid var(--zr-line); margin-bottom: 26px; }
.zygo-refined .zy-head-brand img { width: 86px; height: auto; }
.zygo-refined .zy-head-brand > span { border-left: 1px solid #dce2d8; padding-left: 12px; font-size: 12px; color: var(--zr-muted); font-weight: 500; }
.zygo-refined .zy-head-avatar { height: 40px; width: 40px; box-shadow: none; border: 1px solid var(--zr-line); background: #f0f3eb; }
.zygo-refined .zy-title-row h1 { font-size: 26px; line-height: 1.2; letter-spacing: -.035em; font-weight: 700; overflow-wrap: anywhere; }
.zygo-refined .zy-page-hint { color: var(--zr-muted); font-size: 14px; margin-top: 8px; }
.zygo-refined .zy-count { background: #edf5e3; color: #355321; border: 1px solid #dce8cd; border-radius: 6px; font-size: 11px; white-space: nowrap; }
.zr-send-panel { margin-top: 24px; background: #edf3e5; padding: 24px; border: 1px solid #e4ebdc; border-radius: 16px; }
.zr-send-panel__top { display: flex; align-items: center; justify-content: space-between; font-size: 10px; letter-spacing: .12em; font-weight: 600; color: #56674a; }
.zr-send-panel__top svg { width: 25px; height: 25px; color: #527139; }
.zygo-refined .zr-send-panel h2 { font-size: 30px; line-height: 1.13; color: var(--zr-ink); font-weight: 650; letter-spacing: -.04em; margin: 20px 0 12px; }
.zr-send-panel p { font-size: 13px; line-height: 1.6; color: #5d6956; margin: 0 0 22px; }
.zygo-refined .zr-send-link { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; background: #172019; color: #fff; padding: 12px 16px; border-radius: 8px; text-decoration: none; font-size: 14px; font-weight: 600; }
.zygo-refined .zr-send-link:hover { background: #2d402b; color: #fff; }
.zr-send-link > svg { width: 19px; height: 19px; }
.zr-send-link > svg:last-child { margin-left: auto; }
.zr-send-panel__foot { display: flex; align-items: center; gap: 7px; color: #526046; margin-top: 19px; font-size: 11px; }
.zr-route-dot { width: 7px; height: 7px; border-radius: 50%; background: #627c4a; }
.zr-route-square { width: 7px; height: 7px; background: #172019; }
.zr-route-line { height: 1px; background: #c6d1bc; flex: 1; margin-inline: 5px; }
.zygo-refined .zy-app .zr-quick-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0 30px; }
.zygo-refined .zy-app .zr-quick-actions .zy-client-action { display: grid; grid-template-columns: 1fr 18px; gap: 12px 6px; min-height: 124px; padding: 17px; border-radius: 12px; border-color: var(--zr-line); background: #fff; }
.zygo-refined .zr-quick-actions .zy-client-action__icon { grid-column: 1 / -1; width: 24px; height: 24px; background: transparent; color: #34432d; border-radius: 0; }
.zygo-refined .zr-quick-actions .zy-client-action > svg { width: 16px; height: 16px; color: #72816b; align-self: center; }
.zygo-refined .zr-quick-actions .zy-client-action strong { font-size: 14px; font-weight: 600; }
.zygo-refined .zr-quick-actions .zy-client-action small { font-size: 11px; color: #626b65; }
.zygo-refined .zy-section-row h2 { font-size: 17px; font-weight: 650; letter-spacing: -.02em; }
.zygo-refined .zy-section-row > span { font-size: 11px; color: var(--zr-muted); }
.zygo-refined :is(.zy-card, .zy-map-card, .zy-order-card, .zy-market-card, .zy-empty) { border-radius: 12px; border-color: var(--zr-line); box-shadow: none; }
.zygo-refined .zy-empty { background: #f7f8f5; padding: 26px 18px; }
.zygo-refined .zy-empty > i { font-size: 26px; color: #657759; margin-bottom: 12px; }
.zygo-refined .zy-empty strong { font-size: 14px; font-weight: 600; }
.zygo-refined .zy-empty p { color: var(--zr-muted); font-size: 12px; line-height: 1.6; }
.zygo-refined :is(.zy-news, .zy-order-head, .zy-order-foot) { min-width: 0; }
.zygo-refined .zy-news-body h3 { font-weight: 650; font-size: 17px; }
.zygo-refined .zy-news-body p { color: var(--zr-muted); font-size: 13px; }
.zygo-refined :is(.zy-input, .zy-control, .zy-select select) { background: #f6f7f4; border-color: #dce2d7; border-radius: 9px; box-shadow: none; }
.zygo-refined .zy-field label { color: #414d3b; font-size: 12px; font-weight: 600; }
.zygo-refined .zy-input input { font-size: 16px; }
.zygo-refined .zy-control { font-size: 16px; }
.zygo-refined .zy-input:focus-within { border-color: #688f39; box-shadow: 0 0 0 3px #e8f0dd; }
.zygo-refined :is(.zy-btn-primary, .zy-track-btn) { border-radius: 8px; background: #172019; border-color: #172019; box-shadow: none; color: #fff; font-weight: 600; }
.zygo-refined :is(.zy-btn-primary, .zy-track-btn):hover { background: #2c3d2a; color: #fff; }
.zygo-refined .zy-btn-primary:disabled { background: #dce1d8; border-color: #dce1d8; color: #66705f; box-shadow: none; }
.zygo-refined .zy-btn-ghost { border-radius: 8px; box-shadow: none; font-weight: 600; }
.zygo-refined .zy-filters { gap: 8px; scrollbar-width: thin; }
.zygo-refined .zy-filter { border-radius: 8px; background: #f2f4ef; border: 1px solid transparent; color: #58624f; font-size: 12px; font-weight: 500; }
.zygo-refined .zy-filter.is-active { background: #172019; border-color: #172019; color: #fff; }
.zygo-refined .zy-filter.is-active b { background: #364431; color: #fff; }
.zygo-refined .zy-order-id { font-weight: 650; font-size: 15px; }
.zygo-refined .zy-order-price { font-weight: 700; font-variant-numeric: tabular-nums; }
.zygo-refined .zy-status { border-radius: 6px; font-weight: 600; }
.zygo-refined .zy-dock { max-width: 520px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: #fff; border: 0; border-top: 1px solid var(--zr-line); border-radius: 0; box-shadow: 0 -3px 16px rgba(20,30,15,.035); backdrop-filter: none; -webkit-backdrop-filter: none; align-items: center; }
.zygo-refined .zy-dock-item { color: #67715f; font-weight: 500; font-size: 10px; min-height: 52px; gap: 5px; border-radius: 8px; }
.zygo-refined .zy-dock-item.is-active { color: #263d1e; background: #f0f5e8; font-weight: 600; }
.zygo-refined .zy-dock-item.is-active::after { display: none; }
.zygo-refined .zy-dock-fab { min-height: 52px; gap: 4px; font-size: 10px; font-weight: 600; justify-content: center; color: #344529; }
.zygo-refined .zy-dock-fab b { margin: 0; width: 38px; height: 30px; border-radius: 8px; box-shadow: none; background: #a6e82d; }
.zygo-refined .zy-dock-fab svg { width: 19px; height: 19px; }
.zygo-refined .zy-dock-fab.is-active b { background: #172019; color: #fff; }
.zygo-refined .zy-dock-item:active { transform: none; }
.zygo-refined .zy-sheet { box-shadow: 0 -8px 32px rgba(20,30,15,.12); border-radius: 18px 18px 0 0; }
.zygo-refined .zy-confetti { display: none; }

/* Sign in and registration: photos stay in their column, forms stay in flow. */
body.zygo-refined.zygo-auth-body:has(.zy-login-v2--desktop) { background: #fff; }
.zygo-refined.zygo-auth-body:has(.zy-login-v2--desktop) .zygo-auth-shell { padding: 0; }
.zygo-refined .zy-login-v2 { --zy-login-green: #a6e82d; --zy-login-green-dark: #365d20; --zy-login-radius-lg: 12px; --zy-login-radius-md: 9px; animation: none; }
.zygo-refined .zy-login-v2--desktop { grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 100svh; max-width: none; border: 0; border-radius: 0; box-shadow: none; }
.zygo-refined .zy-login-story { min-height: 760px; padding: clamp(28px,4.4vw,66px); display: flex; flex-direction: column; justify-content: flex-start; }
.zygo-refined .zy-login-story::after { display: none; }
.zygo-refined .zy-login-story__photo { transform: none; object-position: 50% center; }
.zygo-refined .zy-login-story__shade { background: linear-gradient(180deg,rgba(12,22,12,.15) 20%,rgba(12,22,12,.90) 100%); }
.zygo-refined .zy-login-brand--story { align-self: flex-start; background: #fff; border-radius: 8px; box-shadow: none; padding: 9px 12px; }
.zygo-refined .zy-login-brand--story img { width: 88px; }
.zygo-refined .zy-login-story__content { position: relative; inset: auto; margin: auto 0 28px; padding-top: 100px; }
.zygo-refined .zy-login-story__content h2 { font-size: clamp(40px,4.4vw,64px); font-weight: 650; line-height: 1.06; letter-spacing: -.045em; }
.zygo-refined .zy-login-story__content > p:last-child { max-width: 36ch; font-size: 15px; color: #e0e6da; }
.zygo-refined .zy-login-eyebrow { font-weight: 500; font-size: 10px; letter-spacing: .13em; }
.zr-login-benefits { display: flex; flex-wrap: wrap; gap: 14px 24px; border-top: 1px solid #ffffff40; padding-top: 22px; color: #eef2ea; }
.zr-login-benefits span { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.zr-login-benefits svg { width: 18px; height: 18px; color: #b4e56b; }
.zygo-refined .zy-login-panel { display: grid; align-items: center; padding: 56px clamp(24px,5vw,80px); background: #fff; }
.zygo-refined .zy-login-panel__inner { width: 100%; max-width: 420px; margin: auto; }
.zygo-refined .zy-login-brand--panel img { width: 100px; }
.zygo-refined .zy-login-heading h1 { font-size: 34px; font-weight: 650; letter-spacing: -.04em; }
.zygo-refined .zy-login-heading > p:last-child { font-size: 14px; color: var(--zr-muted); }
.zygo-refined .zy-auth-field > label { font-size: 13px; font-weight: 600; }
.zygo-refined .zy-auth-input { background: #f7f8f5; border: 1px solid #dce2d7; border-radius: 8px; box-shadow: none; min-height: 54px; }
.zygo-refined .zy-auth-input input { font-size: 16px; }
.zygo-refined .zy-auth-submit { border-radius: 8px; background: #172019; color: #fff; box-shadow: none; font-weight: 600; min-height: 52px; }
.zygo-refined .zy-auth-submit:hover { background: #2c3d2a; box-shadow: none; transform: none; }
.zygo-refined .zy-auth-submit:disabled { background: #5b6854; cursor: wait; }
.zygo-refined .zy-auth-register { padding: 14px 12px; border-radius: 8px; background: #f4f6f0; border: 1px solid #e2e7da; }
.zygo-refined .zy-auth-security { color: #626e59; font-size: 11px; }
.zygo-refined .zy-login-mobile-hero::before,
.zygo-refined .zy-login-mobile-hero__glow { display: none; }
.zygo-refined .zy-login-v2--pwa { background: #172019; box-shadow: none; }
.zygo-refined .zy-login-mobile-panel { border-radius: 20px 20px 0 0; box-shadow: none; }
.zygo-refined .zy-register-page--desktop { grid-template-columns: minmax(0,40%) minmax(0,60%); }
.zygo-refined .zy-register-story { box-shadow: none; }
.zygo-refined .zy-register-story__content { position: relative; inset: auto; min-height: 700px; height: 100%; padding: 32px; gap: 24px; }
.zygo-refined .zy-register-story__copy h1 { font-size: clamp(34px,3.5vw,52px); font-weight: 650; letter-spacing: -.04em; line-height: 1.08; }
.zygo-refined .zy-register-story__points { gap: 12px; grid-template-columns: 1fr; background: transparent; }
.zygo-refined .zy-register-story__points > div { background: transparent; border: 0; padding: 0; box-shadow: none; backdrop-filter: none; border-radius: 0; }
.zygo-refined .zy-register-story__points > div > span { background: #ffffff20; border: 1px solid #ffffff30; border-radius: 8px; }
.zygo-refined .zy-register-page__main { padding: 32px clamp(24px,3.5vw,56px); }
.zygo-refined .zy-reg-account__card { border-radius: 10px; box-shadow: none; }
.zygo-refined .zy-reg-account__icon { border-radius: 8px; box-shadow: none; }
.zygo-refined .zy-register-step { border-radius: 12px; box-shadow: none; }
.zygo-refined .zy-reg-control { border-radius: 8px; box-shadow: none; }
.zygo-refined .zy-reg-button { border-radius: 8px; box-shadow: none; font-weight: 600; }

/* Commerce, driver and administration: restrained surfaces and legible data. */
.zygo-refined .zbiz .zbiz__hero { background: #172019; border: 0; border-radius: 12px; box-shadow: none; }
.zygo-refined .zbiz .zbiz__hero h1 { font-weight: 650; letter-spacing: -.035em; }
.zygo-refined .zbiz .zbiz__saldo { border-radius: 8px; box-shadow: none; }
.zygo-refined .zbiz .zbiz__accion { border-radius: 10px; box-shadow: none; border-color: var(--zr-line); }
.zygo-refined .zbiz .zbiz__accion:hover { transform: none; box-shadow: none; border-color: #a5b597; }
.zygo-refined .zc-btn { border-radius: 8px; box-shadow: none; font-weight: 600; }
body.zygo-refined.driver-panel-page .zygo-driver-hero { background: #172019; border-radius: 12px; box-shadow: none; }
body.zygo-refined.driver-panel-page :is(.zygo-driver-panel,.zygo-driver-kpi) { border-radius: 10px; box-shadow: none; border-color: var(--zr-line); }
body.zygo-refined.admin-page :is(.card,.za-card,.za-stat,.za-metric) { border-radius: 10px; box-shadow: none; border-color: #e0e5dd; }
body.zygo-refined.admin-page .btn { border-radius: 7px; box-shadow: none; }
body.zygo-refined.admin-page .form-control { border-radius: 7px; box-shadow: none; }
body.zygo-refined.admin-page .table thead th { background: #f4f6f1; font-weight: 600; }
body.zygo-refined.admin-page .table td { font-variant-numeric: tabular-nums; }

/* Storefront and live tracking. Store-specific brand colors remain available. */
.zygo-refined .sf-prod { border-radius: 12px; box-shadow: none; transition: border-color .16s; }
.zygo-refined .sf-prod:hover { transform: none; box-shadow: none; border-color: #aebda4; }
.zygo-refined :is(.sf-btn,.sf-input) { border-radius: 8px; min-height: 44px; }
.zygo-refined .sf-card { border-radius: 12px; }
.zygo-refined :is(.sf-section-title,.sf-card h2,.sf-prod-body h3) { font-weight: 650; }
.zygo-refined .sf-prod-body .desc { color: #626b65; }
.zygo-refined .sf-market-dock { background: #172019; backdrop-filter: none; box-shadow: 0 2px 8px #00000015; border-radius: 10px; }
.zygo-refined .sf-cartbar { padding-bottom: calc(14px + env(safe-area-inset-bottom)); box-shadow: 0 -2px 12px #00000010; }
.zygo-refined :is(.tracking-status-card,.tracking-metric,.tracking-content-card) { border-radius: 10px; box-shadow: none; }
.zygo-refined .tracking-bottom-sheet { border-radius: 18px 18px 0 0; }
.zygo-refined :is(.tracking-action-btn,.tracking-action-link) { border-radius: 8px; box-shadow: none; }

@media (min-width: 1000px) {
    .zygo-refined .zr-home { max-width: 960px; padding-inline: 32px; }
    .zr-home-body { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 32px; align-items: start; }
    .zr-home-primary, .zr-home-news { min-width: 0; }
    .zr-home-news { padding-top: 24px; }
    .zygo-refined .zr-home .zr-send-panel { margin-top: 24px; }
    body.zygo-refined:has(.zr-home) .zy-dock { max-width: 960px; }
}
@media (max-width: 1100px) {
    .zygo-refined .zl-hero-grid { gap: 30px; }
    .zygo-refined .zl-desktop-nav { gap: 16px; }
    .zygo-refined .zl-header-inner { gap: 18px; }
    .zygo-refined .zl-hero-visual { min-height: 520px; }
    .zygo-refined .zl-hero-status { padding-inline: 18px; }
    .zr-delivery-stages > span { font-size: 10px; gap: 4px; }
}
@media (max-width: 980px) {
    .zygo-refined .zy-register-page--desktop { grid-template-columns: 1fr; }
    .zygo-refined .zy-register-story { min-height: 380px; }
    .zygo-refined .zy-register-story__content { padding: 26px; min-height: 430px; }
}
@media (max-width: 800px) {
    .zygo-refined .zl-hero { padding: 36px 0 40px; }
    .zygo-refined .zl-hero-grid { grid-template-columns: 1fr; gap: 30px; }
    .zygo-refined .zl-hero-copy { max-width: 600px; }
    .zygo-refined .zl-hero-copy h1 { font-size: clamp(40px,7vw,58px); }
    .zygo-refined .zl-hero-visual { min-height: 410px; }
    .zygo-refined .zl-hero-visual picture img { object-position: center 55%; }
    .zr-delivery-stages > span { font-size: 12px; }
    .zygo-refined .zl-section { padding-block: 52px; }
    .zygo-refined .zy-login-v2--desktop { grid-template-columns: 1fr; }
    .zygo-refined .zy-login-v2--desktop .zy-login-story { display: none; }
    .zygo-refined .zy-login-panel { min-height: 100svh; padding: 38px 24px; }
}
@media (max-width: 600px) {
    .zygo-refined .zl-container { padding-inline: 20px; }
    .zygo-refined .zl-header-inner { gap: 12px; }
    .zygo-refined .zl-brand img { width: 86px; }
    .zygo-refined .zl-hero-copy .zl-eyebrow { font-size: 10px; margin-bottom: 18px; }
    .zygo-refined .zl-hero-copy h1 { font-size: clamp(37px,10vw,52px); margin-bottom: 18px; }
    .zygo-refined .zl-hero-summary { font-size: 15px; margin-bottom: 22px; }
    .zygo-refined .zl-hero .zl-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.8fr); gap: 10px; }
    .zygo-refined .zl-hero .zl-button--large { font-size: 12px; padding: 12px 10px; min-height: 50px; gap: 7px; }
    .zygo-refined .zl-hero .zl-button svg { width: 17px; height: 17px; }
    .zygo-refined .zl-hero-visual { min-height: 350px; border-radius: 12px; }
    .zr-photo-caption { padding: 22px; }
    .zr-photo-caption strong { font-size: 28px; }
    .zygo-refined .zl-hero-status { padding: 18px; }
    .zr-delivery-stages { gap: 5px; }
    .zr-delivery-stages > span { font-size: 10px; gap: 5px; }
    .zr-delivery-stages > span svg { width: 16px; height: 16px; }
    .zygo-refined .zl-trust-list { justify-content: flex-start; gap: 15px 24px; }
    .zygo-refined .zy-app { padding-inline: 20px; }
    .zygo-refined .zy-order-create { padding-inline: 16px; }
    .zygo-refined .zy-order-create .zy-head { margin-bottom: 14px; min-height: 64px; }
    .zygo-refined .zy-order-create .zy-title-row h1 { font-size: 23px; }
    .zygo-refined .zy-order-create .zy-field label { font-size: 12px; }
    .zygo-refined .zy-order-create .zy-input input { font-size: 16px; }
    .zygo-refined .zy-order-create :is(.zy-location-btn,.zy-retry-btn) { font-weight: 600; border-radius: 8px; }
    .zygo-refined .zy-register-page__main { padding: 22px 16px; }
    .zygo-refined .zy-reg-control input,
    .zygo-refined .zy-reg-control select,
    .zygo-refined .zy-reg-control textarea { font-size: 16px !important; }
}
@media (max-width: 360px) {
    .zygo-refined .zy-app { padding-inline: 14px; }
    .zr-send-panel { padding: 20px; }
    .zygo-refined .zr-send-panel h2 { font-size: 27px; }
    .zygo-refined .zy-app .zr-quick-actions .zy-client-action { padding: 13px; }
    .zygo-refined .zl-hero .zl-actions { grid-template-columns: 1fr; }
    .zr-delivery-stages > span { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .zygo-refined *, .zygo-refined *::before, .zygo-refined *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}


/* Zygo / Unified field states · 2026-09-30
   A compound field owns its focus border. Its inner input never draws a second ring.
   Keyboard focus, validation and disabled controls retain distinct states. */
body:is(.zygo-refined, .zr-recovery-page) {
    --zy-field-border: #dce1e7;
    --zy-field-hover: #b5bdc8;
    --zy-field-focus: #667085;
    --zy-field-halo: rgba(30, 41, 59, .08);
    --zy-field-error: #b9473c;
    --zy-field-error-halo: rgba(185, 71, 60, .09);
}

/* The rounded outer field includes its leading icon and trailing control. */
body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field) {
    border: 1px solid var(--zy-field-border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field):hover:not(:focus-within):not(:has(:disabled)) {
    border-color: var(--zy-field-hover) !important;
}
body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field):focus-within {
    border-color: var(--zy-field-focus) !important;
    box-shadow: 0 0 0 2px var(--zy-field-halo) !important;
}
body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field) :is(input, select, textarea):is(:focus, :focus-visible) {
    outline: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Standalone text fields: same subtle treatment, without wrapping markup changes. */
body:is(.zygo-refined, .zr-recovery-page) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]), select, textarea):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)) {
    border-radius: 10px !important;
}
body:is(.zygo-refined, .zr-recovery-page) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]), select, textarea):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)):is(:focus, :focus-visible) {
    border-color: var(--zy-field-focus) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px var(--zy-field-halo) !important;
}

/* Errors take precedence over hover and focus. Never recolor invalid fields as valid. */
body:is(.zygo-refined, .zr-recovery-page) :is(.has-error, .is-invalid, .zy-reg-field--error, .merchant-field.has-error) :is(.zy-auth-input, .zy-reg-control, .zy-input, .auth-input-shell, .password-field, .form-control, .merchant-input, .merchant-select, .merchant-textarea):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)),
body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field):is(.is-invalid, :has([aria-invalid="true"]), :has(.is-invalid)),
body:is(.zygo-refined, .zr-recovery-page) :is(input, select, textarea):is(.is-invalid, [aria-invalid="true"]):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)) {
    border-color: var(--zy-field-error) !important;
    box-shadow: none !important;
}
body:is(.zygo-refined, .zr-recovery-page) :is(.has-error, .is-invalid, .zy-reg-field--error, .merchant-field.has-error) :is(.zy-auth-input, .zy-reg-control, .zy-input, .auth-input-shell, .password-field, .form-control, .merchant-input, .merchant-select, .merchant-textarea):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)):focus-within,
body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field):is(.is-invalid, :has([aria-invalid="true"]), :has(.is-invalid)):focus-within,
body:is(.zygo-refined, .zr-recovery-page) :is(input, select, textarea):is(.is-invalid, [aria-invalid="true"]):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)):focus {
    border-color: var(--zy-field-error) !important;
    box-shadow: 0 0 0 2px var(--zy-field-error-halo) !important;
}

/* Selectable cards: one quiet border, a soft surface and the existing check indicator. */
body.zygo-refined :is(.zy-reg-account__card, .zy-reg-vehicle__option, .paymentMethodCard) {
    border: 1px solid var(--zy-field-border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transform: none !important;
}
body.zygo-refined :is(.zy-reg-account__card, .zy-reg-vehicle__option, .paymentMethodCard):hover {
    border-color: var(--zy-field-hover) !important;
}
body.zygo-refined :is(.zy-reg-account__card, .zy-reg-vehicle__option, .paymentMethodCard):is(.is-active, .is-selected, :has(input:checked)) {
    border-color: var(--zy-field-focus) !important;
    background: #f5f6f7 !important;
    color: #26392b !important;
    box-shadow: none !important;
}
body.zygo-refined :is(.zy-reg-account__card.is-active .zy-reg-account__check, .paymentMethodCard.is-selected .paymentMethodCheck) {
    background: #304c39 !important;
    border-color: #304c39 !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.zygo-refined .paymentMethodCard.is-selected .paymentMethodCheck::after { background: #fff !important; }

/* A compact charcoal ring remains for keyboard navigation, including hidden radios. */
body:is(.zygo-refined, .zr-recovery-page) :is(a, button, summary, [role="button"], input[type="checkbox"], input[type="radio"], input[type="range"], input[type="color"], input[type="file"], input[type="submit"], input[type="button"], input[type="reset"]):focus-visible,
body.zygo-refined :is(.zy-reg-account__card, .zy-reg-vehicle__option):has(input:focus-visible),
body.zygo-refined .zy-auth-remember input:focus-visible + .zy-auth-remember__control {
    outline: 2px solid #667085 !important;
    outline-offset: 3px !important;
}
body.zygo-refined :is(.zy-reg-account__card, .zy-reg-vehicle__option) input:focus-visible,
body.zygo-refined .zy-auth-remember input:focus-visible {
    outline: none !important; /* Their visible label/control owns the ring. */
}
@media (forced-colors: active) {
    body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field):focus-within {
        outline: 2px solid Highlight !important;
        outline-offset: 2px !important;
    }
    body:is(.zygo-refined, .zr-recovery-page) :is(input, select, textarea):not(:where(.zy-auth-input *, .zy-reg-control *, .zy-input *, .zr-recovery-input *, .auth-input-shell *, .password-field *)):focus-visible {
        outline: 2px solid Highlight !important;
        outline-offset: 2px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    body:is(.zygo-refined, .zr-recovery-page) :is(.zy-auth-input, .zy-reg-control, .zy-input, .zr-recovery-input, .auth-input-shell, .password-field) { transition: none; }
}
