:root{
  --graphite:#252A2E;
  --graphite-2:#303942;
  --graphite-3:#182127;
  --paper:#f3f6f8;
  --panel:#ffffff;
  --soft:#f7f9fb;
  --line:#dfe7ee;
  --line-2:#edf1f5;
  --text:#17212b;
  --muted:#687789;
  --accent:#315cf6;
  --accent-soft:#edf3ff;
  --ok:#16805a;
  --danger:#b42318;
  --radius:22px;
  --shadow:0 18px 44px rgba(23,32,39,.10);
}
*{box-sizing:border-box}
html{min-height:100%;background:linear-gradient(155deg,#f8fbff 0%,#f1f5f8 45%,#e8edf2 100%)}
body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:transparent;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.mx-app-topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(208,218,228,.72);box-shadow:0 10px 30px rgba(23,32,39,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mx-app-topbar-inner{width:min(760px,100%);margin:0 auto;padding:10px clamp(12px,3vw,22px);display:flex;align-items:center;min-height:58px}
.mx-app-logo{display:block;width:clamp(188px,47vw,292px);height:auto;max-height:38px;object-fit:contain}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
button:disabled{opacity:.72;cursor:not-allowed}
.mx-app-shell{width:min(760px,100%);margin:0 auto;padding:clamp(10px,3vw,22px);padding-bottom:calc(106px + env(safe-area-inset-bottom,0))}
.mx-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.hidden{display:none!important}

.mx-hero{position:relative;overflow:hidden;display:flex;gap:14px;align-items:center;margin-bottom:12px;padding:15px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f9fbff 57%,#edf2ff 100%);box-shadow:0 12px 28px rgba(23,32,39,.07)}
.mx-hero:after{content:"";position:absolute;right:-40px;top:-48px;width:150px;height:150px;border-radius:999px;background:radial-gradient(circle,rgba(49,92,246,.16),transparent 68%)}
.mx-hero-logo{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:linear-gradient(160deg,var(--graphite),var(--graphite-3));color:#fff;box-shadow:0 10px 22px rgba(23,32,39,.18)}
.mx-hero-logo span{font-size:22px;font-weight:800;font-style:italic;letter-spacing:-.03em}
.mx-hero-copy{position:relative;z-index:1;min-width:0}.mx-kicker{font-size:9px;font-weight:800;letter-spacing:.13em;color:#556273;text-transform:uppercase}.mx-hero h1{margin:1px 0 2px;font-size:23px;line-height:1.06;letter-spacing:-.04em}.mx-hero p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}

.mx-form{display:block}.mx-screen{animation:mxFade .18s ease-out}.mx-panel{margin:10px 0;padding:16px;border-radius:var(--radius);background:rgba(255,255,255,.88);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.mx-choice-panel{padding:18px}.mx-choice-panel-clean{padding:12px}.mx-choice-panel--compact{padding:12px}.mx-step-chip,.mx-panel-eyebrow{display:inline-flex;align-items:center;width:max-content;margin-bottom:7px;padding:4px 9px;border-radius:999px;background:#eef4ff;border:1px solid #d9e5ff;color:#2455d8;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.mx-choice-panel h2,.mx-panel h2,.mx-form-top h2{margin:0;color:#101827;line-height:1.15;letter-spacing:-.03em}.mx-choice-panel h2{font-size:23px}.mx-panel h2,.mx-form-top h2{font-size:20px}.mx-panel h3{margin:0 0 10px;font-size:15px;line-height:1.2;letter-spacing:-.02em}.mx-muted{margin:6px 0 15px;color:var(--muted);font-size:13px}

.mx-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mx-category-card{appearance:none;width:100%;min-height:112px;padding:13px 12px;text-align:left;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc);color:var(--text);box-shadow:0 7px 18px rgba(23,32,39,.06);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.mx-category-card:active{transform:scale(.985)}.mx-category-card:hover{border-color:#cbd6e2;box-shadow:0 12px 25px rgba(23,32,39,.09)}.mx-category-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:10px;border-radius:14px;background:#edf3f8;border:1px solid #dfe7ee;font-size:20px}.mx-category-title{display:block;margin-bottom:4px;font-size:16px;font-weight:750;letter-spacing:-.025em}.mx-category-text{display:block;color:var(--muted);font-size:11.5px;line-height:1.25}

.mx-form-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:6px 0 10px;padding:13px 14px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(23,32,39,.07)}.mx-form-top--clean{grid-template-columns:44px minmax(0,1fr);padding:12px 14px}.mx-form-top--clean h2{align-self:center}.mx-back-btn{border:1px solid var(--line);background:#f8fafc;color:#23303a;border-radius:14px;padding:10px 11px;font-weight:650}.mx-back-btn--icon{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;font-weight:900}.mx-mini-badge{align-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#e9f7f1;color:#0b815d;font-size:11px;font-weight:800;white-space:nowrap}

.mx-air-mode-panel{padding:14px}.mx-air-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mx-air-option{appearance:none;display:grid;gap:3px;min-height:78px;padding:10px;border-radius:17px;border:1px solid var(--line);background:#f8fafc;color:#1c2630;text-align:left;cursor:pointer;transition:.16s ease}.mx-air-option span{font-size:17px}.mx-air-option b{font-size:13px}.mx-air-option small{color:var(--muted);font-size:10.5px;line-height:1.15}.mx-air-option.active{background:var(--graphite);border-color:var(--graphite);color:#fff;box-shadow:0 12px 28px rgba(23,32,39,.16)}.mx-air-option.active small{color:rgba(255,255,255,.72)}

.mx-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.mx-panel-head.compact{margin-bottom:10px}.mx-chip-row{display:flex;gap:7px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.mx-chip-row::-webkit-scrollbar{display:none}.mx-chip{flex:0 0 auto;border:1px solid #dbe4ed;background:#f7fafc;color:#31404e;border-radius:999px;padding:7px 10px;font-size:11.5px;font-weight:650}.mx-chip.is-used{border-color:var(--graphite);background:var(--graphite);color:#fff}

.mx-route-grid{display:grid;grid-template-columns:1fr 38px 1fr;gap:8px;align-items:end}.mx-field-grid,.mx-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:block;color:#344252;font-size:11.5px;font-weight:700;letter-spacing:-.01em}input,select,textarea{width:100%;margin-top:6px;border:1px solid #d7e1ea;background:#fff;color:var(--text);border-radius:14px;padding:12px 13px;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input:focus,select:focus,textarea:focus{border-color:#98b4ff;box-shadow:0 0 0 4px rgba(49,92,246,.10)}textarea{resize:vertical;min-height:92px}.mx-swap{height:43px;border-radius:14px;border:1px solid var(--line);background:#f7fafc;color:#4b5967;font-weight:800}.mx-toggle-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mx-pill{border:1px solid var(--line);background:#f8fafc;color:#2d3845;border-radius:999px;padding:8px 11px;font-size:11.5px;font-weight:800}.mx-pill.active{background:var(--graphite);border-color:var(--graphite);color:#fff}.date-back-field{display:none}.date-back-field.show{display:block}

.mx-contact-line{display:grid;grid-template-columns:1fr 58px;gap:8px;align-items:center}.mx-contact-btn{align-self:end;height:45px;margin-top:6px;border:0;border-radius:14px;background:var(--graphite);color:#fff;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(23,32,39,.17)}.mx-help{margin:7px 0 12px;color:#7a8794;font-size:10.8px}.mx-comment-label{margin-top:10px}

.mx-summary{display:none;margin:10px 0;padding:13px 14px;border-radius:18px;border:1px solid #dbe6f3;background:#f7fbff;color:#273340;font-size:12.5px}.mx-summary.show{display:block}.mx-result{display:none;margin:10px 0;padding:14px;border-radius:18px;font-size:13px}.mx-result.ok{display:block;border:1px solid #b9ead5;background:#effaf5;color:#116244}.mx-result.err{display:block;border:1px solid #fac5bf;background:#fff3f1;color:#9f261b}.mx-success-title{display:block;margin-bottom:4px;font-weight:850}.mx-success-actions{margin-top:10px}.mx-success-actions button{border:0;border-radius:14px;background:var(--graphite);color:#fff;padding:11px 13px;font-weight:800}

.mx-sticky-submit{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);padding:8px clamp(10px,3vw,22px) calc(10px + env(safe-area-inset-bottom,0));background:linear-gradient(180deg,rgba(243,246,248,0),rgba(243,246,248,.96) 28%,rgba(243,246,248,1));}.mx-submit-note{text-align:center;color:#778491;font-size:10.5px;margin-bottom:6px}.mx-submit{width:100%;border:0;border-radius:16px;background:linear-gradient(135deg,var(--graphite),var(--graphite-3));color:#fff;padding:14px 16px;font-weight:850;letter-spacing:-.01em;box-shadow:0 14px 26px rgba(23,32,39,.20)}

@keyframes mxFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:560px){body{font-size:13px}.mx-app-topbar-inner{min-height:52px;padding:8px 10px}.mx-app-logo{width:clamp(176px,58vw,246px);max-height:32px}.mx-app-shell{padding:10px 8px;padding-bottom:calc(106px + env(safe-area-inset-bottom,0))}.mx-hero{border-radius:18px;padding:13px}.mx-hero-logo{width:43px;height:43px;flex-basis:43px}.mx-hero h1{font-size:20px}.mx-hero p{font-size:10.8px}.mx-panel{border-radius:18px;padding:13px;margin:8px 0}.mx-choice-panel--compact{padding:10px}.mx-choice-panel h2{font-size:20px}.mx-panel h2,.mx-form-top h2{font-size:17px}.mx-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mx-category-card{min-height:104px;border-radius:17px;padding:11px 10px}.mx-category-icon{width:34px;height:34px;border-radius:12px;margin-bottom:9px;font-size:17px}.mx-category-title{font-size:14px}.mx-category-text{font-size:10.5px}.mx-form-top{border-radius:18px;padding:11px}.mx-form-top--clean{grid-template-columns:40px minmax(0,1fr);padding:10px 12px}.mx-back-btn{padding:8px 9px}.mx-back-btn--icon{width:40px;height:40px;padding:0;font-size:22px}.mx-mini-badge{font-size:10px;padding:4px 8px}.mx-air-options{gap:7px}.mx-air-option{min-height:72px;padding:9px}.mx-route-grid{grid-template-columns:1fr 34px 1fr;gap:7px}.mx-field-grid,.mx-date-grid{grid-template-columns:1fr 1fr;gap:8px}input,select,textarea{padding:11px 12px;font-size:13px;border-radius:13px}.mx-swap{height:41px}.mx-chip{font-size:10.8px;padding:7px 9px}.mx-contact-line{grid-template-columns:1fr 54px}.mx-contact-btn{height:43px}.mx-submit{padding:13px 15px}}
@media (max-width:380px){.mx-field-grid,.mx-date-grid{grid-template-columns:1fr}.mx-route-grid{grid-template-columns:1fr}.mx-swap{width:44px;justify-self:center}.mx-air-options{grid-template-columns:1fr}.mx-toggle-row{justify-content:flex-start}.mx-form-top{grid-template-columns:auto 1fr}.mx-form-top--clean{grid-template-columns:40px 1fr}.mx-mini-badge{grid-column:1 / -1;justify-self:start}.mx-contact-line{grid-template-columns:1fr}.mx-contact-btn{width:100%}}

/* v4.9 — финальная полировка стартового экрана MiniApp */
html{background:linear-gradient(155deg,#f7fafc 0%,#eef3f7 48%,#e8eef3 100%)}
.mx-app-topbar{background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(23,32,39,.055)}
.mx-app-topbar-inner{min-height:50px;padding:8px clamp(12px,3vw,22px);align-items:center;justify-content:flex-start}
.mx-app-logo{width:clamp(162px,42vw,248px);max-height:30px}
.mx-choice-panel--compact{padding:10px;background:#fff;border-color:#d9e3ec;box-shadow:0 18px 44px rgba(23,32,39,.08)}
.mx-category-grid{gap:9px}.mx-category-card{min-height:94px;padding:11px 10px;border-radius:17px;background:#fff;border-color:#d7e1ea;box-shadow:0 7px 18px rgba(23,32,39,.045)}
.mx-category-card:hover{background:#fff;border-color:#c7d4df;box-shadow:0 12px 24px rgba(23,32,39,.075)}
.mx-category-icon{width:32px;height:32px;margin-bottom:8px;border-radius:12px;font-size:17px;background:#f0f5f9}.mx-category-title{font-size:14.5px;margin-bottom:3px}.mx-category-text{font-size:10.5px;line-height:1.22;color:#728092}
@media (max-width:560px){.mx-app-topbar-inner{min-height:46px;padding:7px 10px}.mx-app-logo{width:clamp(145px,45vw,204px);max-height:25px}.mx-app-shell{padding-top:9px}.mx-choice-panel--compact{padding:9px}.mx-category-grid{gap:8px}.mx-category-card{min-height:92px;padding:10px 9px;border-radius:16px}.mx-category-icon{width:30px;height:30px;margin-bottom:7px;border-radius:11px;font-size:16px}.mx-category-title{font-size:13.5px}.mx-category-text{font-size:10px}}
@media (max-width:380px){.mx-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-category-card{min-height:88px}.mx-category-title{font-size:13px}.mx-category-text{font-size:9.5px}}

/* v5.0 — Aviation compact booking flow */
.mx-flight-panel{padding:12px;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 12px 30px rgba(23,32,39,.08)}
.mx-flight-tabs{display:none!important}.mx-flight-tab{min-height:38px;border:0;border-radius:13px;background:transparent;color:#536172;font-weight:700;font-size:12px}.mx-flight-tab.active{background:var(--graphite);color:#fff;box-shadow:0 7px 16px rgba(23,32,39,.14)}
.mx-flight-quick{display:flex;gap:6px;overflow-x:auto;margin:0 -2px 10px;padding:0 2px 2px;scrollbar-width:none}.mx-flight-quick::-webkit-scrollbar{display:none}.mx-flight-chip{flex:0 0 auto;border:1px solid #d9e4ef;background:#f6f9fc;color:#324152;border-radius:999px;padding:7px 9px;font-size:11.5px;font-weight:650}.mx-flight-chip.is-used{background:#eaf2ff;border-color:#c7d9ff;color:#2350bf}
.mx-flight-card{position:relative;display:grid;gap:7px}.mx-flight-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:48px;margin:0;padding:9px 12px;border:1px solid #dce5ee;border-radius:15px;background:#fff;color:var(--text);box-shadow:0 4px 12px rgba(23,32,39,.04);text-align:left}.mx-flight-row input{height:auto;min-height:28px;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;font-weight:650;color:#1d2935}.mx-flight-row input:focus{outline:0}.mx-flight-prefix{font-size:11px;font-weight:800;color:#647386;text-transform:uppercase;letter-spacing:.04em}.mx-flight-passengers{cursor:pointer}.mx-flight-passengers strong{font-size:14px;line-height:1.2}.mx-flight-swap{position:absolute;right:10px;top:43px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;border:1px solid #d8e2ec;background:#f9fbfd;color:#324252;font-weight:800;box-shadow:0 5px 12px rgba(23,32,39,.08)}
.mx-flight-return-row{display:grid}.mx-flight-return-row.show{display:grid}.mx-flight-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;margin-top:10px}.mx-flight-trip-toggle{display:flex;gap:6px}.mx-flight-trip-toggle .mx-pill{flex:1;min-height:42px;font-size:11.5px}.mx-flight-baggage{margin:0!important;font-size:11.5px;font-weight:700;color:#344153}.mx-flight-baggage select{margin-top:5px;min-height:42px}.mx-flight-help{margin-top:10px;padding:9px 11px;border-radius:14px;background:#f4f7fa;color:#6a7788;font-size:11.5px;line-height:1.35}
.mx-sheet{position:fixed;inset:0;z-index:200;display:block}.mx-sheet.hidden{display:none!important}.mx-sheet-backdrop{position:absolute;inset:0;background:rgba(12,18,24,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.mx-sheet-panel{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:min(760px,100%);max-height:88vh;overflow:auto;padding:16px 14px calc(18px + env(safe-area-inset-bottom,0));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 50px rgba(0,0,0,.20)}.mx-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.mx-sheet-head h2{margin:0;font-size:21px;line-height:1.1;letter-spacing:-.03em}.mx-sheet-close{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;border:1px solid #dbe5ef;background:#f7f9fb;color:#1d2934;font-size:24px;line-height:1}.mx-passenger-tabs{display:grid;grid-template-columns:1fr 1fr;margin:8px 0 12px;border:1px solid var(--graphite);border-radius:16px;overflow:hidden}.mx-passenger-tab{min-height:44px;border:0;background:#fff;color:var(--graphite);font-weight:750}.mx-passenger-tab.active{background:var(--graphite);color:#fff}.mx-business-row{display:flex!important;align-items:center;gap:8px;margin:0 0 10px!important;padding:11px 12px;border:1px solid #e0e8f0;border-radius:15px;background:#fbfcfe;color:#1e2933;font-weight:650}.mx-business-row input{width:18px;height:18px;min-height:0;margin:0}.mx-passenger-list{display:grid;gap:8px}.mx-passenger-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e0e8f0;border-radius:16px;background:#fff}.mx-passenger-row strong{display:block;font-size:14px}.mx-passenger-row small{display:block;margin-top:2px;color:#7a8795;font-size:10.5px}.mx-counter{display:flex;align-items:center;gap:8px}.mx-counter button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:12px;background:#eef3f8;color:var(--graphite);font-size:22px;font-weight:800}.mx-counter button:disabled{opacity:.36}.mx-counter output{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid #dbe5ee;border-radius:12px;font-size:16px;font-weight:750}.mx-subsidy-box{display:grid;gap:9px;margin-top:10px;padding:10px;border:1px dashed #c9d8e8;border-radius:16px;background:#f7fbff}.mx-sheet-done{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:16px;background:var(--graphite);color:#fff;font-weight:800}.mx-no-scroll{overflow:hidden}
@media (max-width:420px){.mx-flight-bottom{grid-template-columns:1fr}.mx-flight-row{grid-template-columns:68px minmax(0,1fr);min-height:46px;padding:8px 11px}.mx-flight-tabs{gap:4px}.mx-flight-tab{font-size:11px}.mx-flight-swap{right:9px;top:41px}.mx-sheet-panel{border-radius:22px 22px 0 0}}

/* v5.1 — subsidized passenger categories */
.mx-passenger-list.hidden{display:none!important}
.mx-passenger-list--subsidy .mx-passenger-row{border:0;border-radius:0;padding:9px 0;background:transparent;box-shadow:none}
.mx-passenger-list--subsidy .mx-passenger-row + .mx-passenger-row{border-top:1px solid #eef2f5}
.mx-passenger-list--subsidy .mx-counter button{background:transparent;color:#ff6a00;font-size:26px;border-radius:8px}
.mx-passenger-list--subsidy .mx-counter output{min-width:44px;height:44px;border-radius:0;border:2px solid #d8d8d8;background:#fff;color:#111;font-size:16px}
.mx-passenger-list--subsidy .mx-passenger-row strong{font-size:15px;color:#111}
.mx-passenger-list--subsidy .mx-passenger-row small{font-size:9px;color:#8a929c}
.mx-flight-quick{margin-top:0}


/* v5.2 — aviation cleanup and phone mask polish */
.mx-flight-quick,.mx-chip-row{display:none!important}
.mx-flight-bottom{display:none!important}
.mx-flight-trip-toggle{display:none!important}
.mx-flight-baggage{display:none!important}
.mx-flight-passengers{grid-template-columns:1fr!important;gap:4px;align-items:flex-start;padding-top:10px;padding-bottom:10px}
.mx-flight-passengers .mx-flight-prefix{font-size:10.5px;letter-spacing:.055em;line-height:1.1}
.mx-flight-passengers strong{display:block;min-width:0;width:100%;font-size:14px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;color:#1d2935}
.mx-contact-line input[data-phone-mask]{font-variant-numeric:tabular-nums;letter-spacing:.01em}
@media (max-width:420px){.mx-flight-passengers strong{font-size:13.5px}.mx-flight-bottom{margin-top:9px}}

/* v5.6 — smart city / airport autocomplete */
.mx-location-menu {
  position: fixed;
  z-index: 10050;
  max-height: min(320px, 52vh);
  overflow: auto;
  padding: 6px;
  border: 1px solid rgba(119, 136, 153, .24);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
  backdrop-filter: blur(14px);
}
.mx-location-menu.hidden { display: none; }
.mx-location-item {
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 12px;
  padding: 10px 11px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
  color: #1f2937;
}
.mx-location-item:hover,
.mx-location-item.active {
  background: #f1f5f9;
}
.mx-location-main {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}
.mx-location-code {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef4ff;
  border: 1px solid #dbeafe;
  color: #2563eb;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
}
.mx-location-meta {
  font-size: 12px;
  line-height: 1.25;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 420px) {
  .mx-location-menu {
    max-height: 46vh;
    border-radius: 14px;
  }
  .mx-location-main { font-size: 13px; }
  .mx-location-meta { font-size: 11px; }
}

/* v5.7 — aviation return date as ordinary optional field */
.mx-flight-return-row{display:grid!important}
.mx-flight-panel .mx-flight-card{gap:8px}
.mx-flight-help{margin-top:9px;background:#f6f8fa;color:#6d7a89}
@media (max-width:420px){.mx-flight-help{font-size:11px;padding:8px 10px}}


/* v5.8 — compact Tour and Rail flows */
.mx-rail-panel,
.mx-tour-panel{
  padding:12px;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 12px 30px rgba(23,32,39,.08);
}

.mx-compact-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding:11px 12px;
  border:1px solid #e3ebf3;
  border-radius:16px;
  background:#f7fafc;
}
.mx-compact-intro strong{
  display:block;
  font-size:15px;
  line-height:1.12;
  color:#17212b;
}
.mx-compact-intro span{
  display:block;
  max-width:68%;
  color:#687789;
  font-size:11.5px;
  line-height:1.35;
  text-align:right;
}
.mx-compact-intro--tour{
  background:linear-gradient(135deg,#f7fbff,#fff7ef);
}

.mx-travel-card{
  position:relative;
  display:grid;
  gap:7px;
}
.mx-travel-row{
  position:relative;
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:8px;
  align-items:center;
  width:100%;
  min-height:48px;
  margin:0;
  padding:9px 12px;
  border:1px solid #dce5ee;
  border-radius:15px;
  background:#fff;
  color:var(--text);
  box-shadow:0 4px 12px rgba(23,32,39,.04);
}
.mx-travel-row input{
  height:auto;
  min-height:28px;
  padding:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-weight:650;
  color:#1d2935;
}
.mx-travel-row input:focus{outline:0}
.mx-travel-prefix{
  font-size:11px;
  font-weight:800;
  color:#647386;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.mx-travel-row--stack{
  display:block;
}
.mx-travel-row--stack .mx-travel-prefix{
  display:block;
  margin-bottom:5px;
}
.mx-travel-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.mx-travel-swap{
  position:absolute;
  right:10px;
  top:43px;
  z-index:2;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid #d8e2ec;
  background:#f9fbfd;
  color:#324252;
  font-weight:800;
  box-shadow:0 5px 12px rgba(23,32,39,.08);
}

.mx-tour-block{
  margin:10px 0;
}
.mx-tour-label{
  margin:0 0 7px;
  color:#536172;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mx-chip-scroll{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:0 1px 2px;
  scrollbar-width:none;
}
.mx-chip-scroll::-webkit-scrollbar{display:none}
.mx-chip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.mx-mini-chip{
  border:1px solid #d9e4ef;
  background:#f6f9fc;
  color:#324152;
  border-radius:999px;
  min-height:34px;
  padding:7px 10px;
  font-size:11.5px;
  font-weight:700;
  white-space:nowrap;
}
.mx-mini-chip.active{
  background:var(--graphite);
  border-color:var(--graphite);
  color:#fff;
  box-shadow:0 8px 18px rgba(23,32,39,.13);
}
.mx-tour-comment{
  display:block;
  margin-top:10px!important;
}
.mx-tour-comment textarea{
  min-height:76px;
}

@media (max-width:430px){
  .mx-compact-intro{
    display:block;
  }
  .mx-compact-intro span{
    max-width:none;
    margin-top:4px;
    text-align:left;
  }
  .mx-travel-row{
    grid-template-columns:76px minmax(0,1fr);
    min-height:46px;
    padding:8px 10px;
  }
  .mx-travel-grid-2{
    grid-template-columns:1fr 1fr;
  }
  .mx-chip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* v5.9 compact tour/rail corrections */
.mx-travel-picker-row{
  border:1px solid #dce5ee;
  cursor:pointer;
  text-align:left;
  appearance:none;
  -webkit-appearance:none;
}
.mx-travel-picker-row strong{
  display:block;
  min-width:0;
  font-size:14px;
  line-height:1.25;
  color:#1d2935;
  font-weight:750;
  white-space:normal;
  overflow-wrap:anywhere;
}
.mx-tour-select-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
.mx-tour-select{
  display:block;
  margin:0!important;
  color:#536172;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mx-tour-select select{
  width:100%;
  min-height:46px;
  margin-top:7px;
  padding:0 12px;
  border:1px solid #dce5ee;
  border-radius:15px;
  background:#fff;
  color:#1d2935;
  font-size:13px;
  font-weight:700;
  outline:0;
  box-shadow:0 4px 12px rgba(23,32,39,.04);
}
.mx-party-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.mx-party-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid #edf1f5;
}
.mx-party-row:last-child{border-bottom:0}
.mx-party-row strong{
  display:block;
  color:#111827;
  font-size:16px;
  line-height:1.2;
}
.mx-party-row small{
  display:block;
  margin-top:2px;
  color:#8491a1;
  font-size:10px;
}
.mx-party-counter{
  display:grid;
  grid-template-columns:34px 42px 34px;
  align-items:center;
  gap:6px;
}
.mx-party-counter button{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#f05a00;
  font-size:24px;
  line-height:1;
  font-weight:900;
}
.mx-party-counter button:disabled{
  color:#cfd6de;
}
.mx-party-counter output{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:2px solid #d6d6d6;
  background:#fff;
  color:#111;
  font-size:16px;
}
@media (max-width:430px){
  .mx-tour-select-grid{grid-template-columns:1fr;gap:9px}
  .mx-travel-picker-row strong{font-size:13.5px}
}

/* v6.0 — compact certificate flow */
.mx-cert-panel{
  padding:12px;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 12px 30px rgba(23,32,39,.08);
}
.mx-compact-intro--cert{
  background:linear-gradient(135deg,#f7fbff,#f8f7ff);
}
.mx-cert-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0 0 10px;
}
.mx-cert-type{
  min-height:40px;
  padding:8px 9px;
  border:1px solid #dce5ee;
  border-radius:14px;
  background:#f8fbfe;
  color:#334155;
  font-size:12px;
  line-height:1.1;
  font-weight:800;
  text-align:center;
}
.mx-cert-type.active{
  background:var(--graphite);
  border-color:var(--graphite);
  color:#fff;
  box-shadow:0 8px 18px rgba(23,32,39,.13);
}
.mx-cert-card{
  margin-top:0;
}
.mx-travel-row--textarea{
  align-items:start;
  grid-template-columns:86px minmax(0,1fr);
  padding-top:11px;
  padding-bottom:11px;
}
.mx-travel-row--textarea textarea{
  min-height:54px;
  resize:vertical;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0;
  color:#1d2935;
  font-size:13.5px;
  line-height:1.35;
  font-weight:650;
  outline:0;
}
.mx-cert-select-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.mx-cert-select-grid label{
  display:block;
  margin:0!important;
  color:#536172;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mx-cert-select-grid select{
  width:100%;
  min-height:46px;
  margin-top:7px;
  padding:0 12px;
  border:1px solid #dce5ee;
  border-radius:15px;
  background:#fff;
  color:#1d2935;
  font-size:13px;
  font-weight:700;
  outline:0;
  box-shadow:0 4px 12px rgba(23,32,39,.04);
}
@media (max-width:430px){
  .mx-cert-type-grid{grid-template-columns:1fr;gap:7px}
  .mx-cert-type{min-height:38px;text-align:left;padding-left:12px}
  .mx-cert-select-grid{grid-template-columns:1fr;gap:9px}
  .mx-travel-row--textarea{grid-template-columns:76px minmax(0,1fr)}
}

/* v6.6 — спокойный success-state MiniApp */
.mx-result-success-v66{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:flex-start;padding:15px!important;border-radius:20px!important;background:linear-gradient(180deg,#f0fbf6,#ffffff)!important;border:1px solid #bdebd6!important;color:#113d2f!important;box-shadow:0 14px 30px rgba(22,128,90,.10)}
.mx-success-icon-v66{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#16805a;color:#fff;font-size:25px;font-weight:900;line-height:1;box-shadow:0 10px 18px rgba(22,128,90,.22)}
.mx-success-copy-v66 p{margin:.18rem 0 .22rem;font-size:13px;color:#154b3a}.mx-success-copy-v66 small{display:block;color:#5f796f;font-size:11.5px;line-height:1.35}.mx-result-success-v66 .mx-success-title{font-size:16px;font-weight:850;color:#0d3327;letter-spacing:-.02em}.mx-result-success-v66 .mx-success-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3px}.mx-result-success-v66 .mx-success-actions button{min-height:42px;border-radius:14px}.mx-result-success-v66 .mx-success-secondary-v66{background:#eef7f3;color:#154b3a;border:1px solid #cde9dc}
@media (max-width:420px){.mx-result-success-v66{grid-template-columns:38px minmax(0,1fr);gap:9px}.mx-success-icon-v66{width:38px;height:38px}.mx-result-success-v66 .mx-success-actions{grid-template-columns:1fr}}


/* v7.1 — MiniApp visual polish after CRM redesign */
:root{
  --mx-line:#d8e3ec;
  --mx-soft-line:#edf3f7;
  --mx-soft-shadow:0 14px 34px rgba(23,32,39,.075);
}
html{background:linear-gradient(160deg,#f7fafc 0%,#eef3f7 50%,#e9eff4 100%)}
body{font-size:13px;color:#17212b}
.mx-app-topbar{box-shadow:0 5px 18px rgba(23,32,39,.045);border-bottom-color:#dbe4ec;background:rgba(255,255,255,.97)}
.mx-app-topbar-inner{min-height:48px;padding:7px clamp(12px,3vw,20px)}
.mx-app-logo{width:clamp(156px,38vw,220px);max-height:27px}
.mx-app-shell{padding:12px clamp(10px,3vw,18px) calc(18px + env(safe-area-inset-bottom,0))}
.mx-panel{border-radius:20px;border-color:var(--mx-line);box-shadow:var(--mx-soft-shadow);background:rgba(255,255,255,.93);margin:10px 0;padding:14px}
.mx-choice-panel--compact{padding:12px;box-shadow:0 16px 38px rgba(23,32,39,.075)}
.mx-category-grid{gap:9px}
.mx-category-card{min-height:90px;padding:11px 12px;border-radius:18px;background:#fff;border-color:#dbe5ee;box-shadow:0 8px 18px rgba(23,32,39,.045)}
.mx-category-card:hover,.mx-category-card:focus,.mx-category-card:focus-visible{background:#fff;border-color:#cbd8e3;box-shadow:0 12px 24px rgba(23,32,39,.07);outline:0}
.mx-category-card:active{background:#f7fafc;transform:scale(.992)}
.mx-category-icon{width:31px;height:31px;margin-bottom:8px;border-radius:11px;font-size:16px;background:#eef4f8}
.mx-category-title{font-size:14px;font-weight:760;letter-spacing:-.025em}.mx-category-text{font-size:10.5px;color:#6f7f91;line-height:1.22}
.mx-form-top{margin:7px 0 10px;border-radius:20px;padding:12px 14px;box-shadow:0 10px 26px rgba(23,32,39,.06)}
.mx-form-top--clean{grid-template-columns:42px minmax(0,1fr)}
.mx-form-top h2{font-size:18px;font-weight:800;letter-spacing:-.035em}
.mx-back-btn--icon{width:42px;height:42px;border-radius:15px;font-size:23px;background:#f9fbfd}
.mx-flight-panel,.mx-rail-panel,.mx-tour-panel,.mx-cert-panel{padding:12px;background:#fff;box-shadow:var(--mx-soft-shadow)}
.mx-compact-intro{display:none!important}
.mx-flight-card,.mx-travel-card{gap:8px}
.mx-flight-row,.mx-travel-row{min-height:46px;padding:8px 11px;border-radius:16px;border-color:#dce6ef;background:#fff;box-shadow:0 4px 12px rgba(23,32,39,.035)}
.mx-flight-row{grid-template-columns:78px minmax(0,1fr)}
.mx-travel-row{grid-template-columns:82px minmax(0,1fr)}
.mx-flight-prefix,.mx-travel-prefix{font-size:10.5px;font-weight:850;color:#627184;letter-spacing:.045em}
.mx-flight-row input,.mx-travel-row input{font-size:13px;font-weight:680;color:#202b36;min-height:26px}
.mx-flight-row input::placeholder,.mx-travel-row input::placeholder,textarea::placeholder{color:#7a8794;font-weight:650;opacity:.9}
.mx-flight-passengers,.mx-travel-picker-row{grid-template-columns:82px minmax(0,1fr)!important;align-items:center!important;padding-top:8px!important;padding-bottom:8px!important}
.mx-flight-passengers .mx-flight-prefix{font-size:10.5px;line-height:1.1}.mx-flight-passengers strong,.mx-travel-picker-row strong{font-size:13.5px;line-height:1.22;color:#202b36}
.mx-flight-swap,.mx-travel-swap{width:31px;height:31px;right:10px;top:41px;background:#fff;box-shadow:0 8px 17px rgba(23,32,39,.08)}
.mx-flight-help{margin-top:9px;padding:8px 10px;border-radius:14px;font-size:11px;color:#6b7a89;background:#f5f8fb}
.mx-tour-block{margin:9px 0}.mx-tour-label,.mx-tour-select,.mx-cert-select-grid label{font-size:10.5px;letter-spacing:.045em;color:#5d6d80}
.mx-mini-chip{min-height:32px;padding:6px 10px;font-size:11px;background:#f8fbfd;border-color:#d8e4ef}
.mx-tour-select-grid,.mx-cert-select-grid{gap:8px;margin-top:9px}.mx-tour-select select,.mx-cert-select-grid select{min-height:43px;border-radius:15px;font-size:12.5px;font-weight:700}
.mx-cert-type-grid{gap:7px}.mx-cert-type{min-height:38px;border-radius:14px;font-size:11.5px;text-align:left;padding:8px 11px}
.mx-travel-row--textarea{grid-template-columns:82px minmax(0,1fr);padding-top:9px;padding-bottom:9px}.mx-travel-row--textarea textarea{min-height:50px;font-size:13px;font-weight:650}
.mx-panel-eyebrow{display:none!important}.mx-contact-panel h2{font-size:17px;letter-spacing:-.035em;margin-bottom:4px}.mx-contact-panel .mx-panel-head{margin-bottom:8px}.mx-contact-panel label{font-size:11.5px;color:#334252}
.mx-contact-line{grid-template-columns:minmax(0,1fr) 54px!important;gap:8px}.mx-contact-btn{height:43px;margin-top:6px;border-radius:15px;font-size:11px;box-shadow:0 8px 18px rgba(23,32,39,.14)}
.mx-help{font-size:10.8px;line-height:1.35;color:#7b8997}.mx-comment-label{margin-top:9px}textarea{min-height:78px;font-size:13px;line-height:1.4}
.mx-summary{margin:10px 0 0;padding:12px 13px;border-radius:18px;background:#f8fbff;font-size:12px;box-shadow:0 8px 18px rgba(23,32,39,.035)}
.mx-result{margin:10px 0 0}.mx-sticky-submit{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:12px 0 2px;padding:0!important;background:transparent!important}.mx-submit-note{font-size:10.5px;margin:0 0 6px;color:#7b8997}.mx-submit{border-radius:18px;padding:13px 16px;font-size:13.5px;box-shadow:0 14px 24px rgba(23,32,39,.16)}
@media (max-width:560px){
  body{font-size:12.5px}.mx-app-topbar-inner{min-height:44px;padding:7px 10px}.mx-app-logo{width:clamp(142px,44vw,188px);max-height:24px}.mx-app-shell{padding:9px 8px calc(16px + env(safe-area-inset-bottom,0))}.mx-panel{border-radius:18px;padding:12px;margin:8px 0}.mx-choice-panel--compact{padding:10px}.mx-category-grid{gap:8px}.mx-category-card{min-height:86px;padding:10px 9px;border-radius:16px}.mx-category-icon{width:29px;height:29px;margin-bottom:7px;font-size:15px}.mx-category-title{font-size:13.3px}.mx-category-text{font-size:9.8px}.mx-form-top{border-radius:18px;padding:10px 12px}.mx-form-top--clean{grid-template-columns:38px minmax(0,1fr)}.mx-form-top h2{font-size:17px}.mx-back-btn--icon{width:38px;height:38px;border-radius:14px;font-size:22px}.mx-flight-row,.mx-travel-row{min-height:44px;border-radius:15px;padding:8px 10px}.mx-flight-row{grid-template-columns:72px minmax(0,1fr)}.mx-travel-row{grid-template-columns:76px minmax(0,1fr)}.mx-flight-row input,.mx-travel-row input{font-size:12.7px}.mx-flight-passengers,.mx-travel-picker-row{grid-template-columns:76px minmax(0,1fr)!important}.mx-flight-passengers strong,.mx-travel-picker-row strong{font-size:12.8px}.mx-flight-swap,.mx-travel-swap{top:40px;right:9px}.mx-tour-select-grid,.mx-cert-select-grid{grid-template-columns:1fr;gap:8px}.mx-contact-line{grid-template-columns:minmax(0,1fr) 52px!important}.mx-contact-btn{height:42px}.mx-submit{padding:13px 15px}.mx-submit-note{font-size:10px}}
@media (max-width:380px){
  .mx-contact-line{grid-template-columns:minmax(0,1fr) 50px!important}.mx-category-card{min-height:82px}.mx-flight-row{grid-template-columns:70px minmax(0,1fr)}.mx-travel-row{grid-template-columns:74px minmax(0,1fr)}.mx-flight-passengers,.mx-travel-picker-row{grid-template-columns:74px minmax(0,1fr)!important}.mx-flight-prefix,.mx-travel-prefix{font-size:10px}.mx-flight-passengers strong,.mx-travel-picker-row strong{font-size:12.5px}}

/* v7.2 — WOW MiniApp redesign: premium ticket cards + CRM visual language */
:root{
  --mx-graphite:#172126;
  --mx-graphite-2:#243039;
  --mx-ink:#101821;
  --mx-muted:#718093;
  --mx-blue:#2F6CF6;
  --mx-blue-soft:#EAF2FF;
  --mx-sky:#9ADCF2;
  --mx-sand:#F2E8D7;
  --mx-mint:#E9F8F2;
  --mx-violet:#F0EDFF;
  --mx-card:#FFFFFF;
  --mx-bg:#EEF4F8;
  --mx-line-wow:rgba(184,202,216,.82);
  --mx-shadow-wow:0 18px 42px rgba(15,27,39,.105);
  --mx-shadow-soft:0 10px 26px rgba(15,27,39,.07);
}
html{
  min-height:100%;
  background:
    radial-gradient(circle at 8% 4%, rgba(154,220,242,.45) 0, transparent 33%),
    radial-gradient(circle at 92% 2%, rgba(242,232,215,.68) 0, transparent 32%),
    linear-gradient(155deg,#f8fbfd 0%,#eef4f8 48%,#e4edf3 100%)!important;
}
body{
  position:relative;
  overflow-x:hidden;
  color:var(--mx-ink);
  background:transparent!important;
}
body:before,
body:after{
  content:"";
  position:fixed;
  z-index:-1;
  pointer-events:none;
  border-radius:999px;
  filter:blur(2px);
  opacity:.9;
}
body:before{
  width:230px;height:230px;left:-120px;top:86px;
  background:radial-gradient(circle,rgba(47,108,246,.10),transparent 68%);
}
body:after{
  width:260px;height:260px;right:-150px;bottom:60px;
  background:radial-gradient(circle,rgba(154,220,242,.25),transparent 68%);
}
.mx-app-topbar{
  background:rgba(255,255,255,.84)!important;
  border-bottom:1px solid rgba(200,214,225,.78)!important;
  box-shadow:0 12px 34px rgba(15,27,39,.075)!important;
  backdrop-filter:blur(22px) saturate(1.2)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.2)!important;
}
.mx-app-topbar-inner{
  min-height:54px!important;
  padding:9px clamp(14px,3vw,22px)!important;
}
.mx-app-logo{
  width:clamp(168px,39vw,236px)!important;
  max-height:30px!important;
  filter:drop-shadow(0 2px 4px rgba(15,27,39,.08));
}
.mx-app-shell{
  width:min(620px,100%)!important;
  padding:16px clamp(10px,3vw,18px) calc(18px + env(safe-area-inset-bottom,0))!important;
}
.mx-screen{
  animation:mxWowIn .26s cubic-bezier(.2,.8,.2,1);
}
@keyframes mxWowIn{
  from{opacity:0;transform:translateY(10px) scale(.992)}
  to{opacity:1;transform:none}
}
.mx-panel{
  border:1px solid rgba(196,212,224,.78)!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:var(--mx-shadow-wow)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
.mx-choice-screen{
  padding-top:8px;
}
.mx-choice-panel--compact{
  position:relative;
  overflow:hidden;
  padding:16px!important;
  border-radius:28px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82)),
    radial-gradient(circle at 12% 10%,rgba(154,220,242,.32),transparent 38%),
    radial-gradient(circle at 92% 0%,rgba(242,232,215,.65),transparent 34%)!important;
}
.mx-choice-panel--compact:before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.66);
  pointer-events:none;
}
.mx-category-grid{
  position:relative;
  z-index:1;
  gap:12px!important;
}
.mx-category-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:118px!important;
  padding:15px 14px 13px!important;
  border-radius:24px!important;
  border:1px solid rgba(192,209,222,.95)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,253,.92))!important;
  box-shadow:0 12px 28px rgba(15,27,39,.065)!important;
  transform:translateZ(0);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.mx-category-card:before{
  content:"";
  position:absolute;
  inset:auto -18px -34px auto;
  width:110px;height:110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(47,108,246,.10),transparent 67%);
  z-index:-1;
  transition:opacity .18s ease,transform .18s ease;
}
.mx-category-card:after{
  content:"";
  position:absolute;
  left:14px;right:14px;bottom:10px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(23,33,38,.22),transparent);
  opacity:.16;
}
.mx-category-card:nth-child(1):before{background:radial-gradient(circle,rgba(90,196,232,.35),transparent 67%)}
.mx-category-card:nth-child(2):before{background:radial-gradient(circle,rgba(242,214,156,.45),transparent 67%)}
.mx-category-card:nth-child(3):before{background:radial-gradient(circle,rgba(159,224,188,.35),transparent 67%)}
.mx-category-card:nth-child(4):before{background:radial-gradient(circle,rgba(160,151,255,.22),transparent 67%)}
.mx-category-card:hover,
.mx-category-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(116,147,170,.95)!important;
  box-shadow:0 20px 38px rgba(15,27,39,.11)!important;
  outline:none!important;
}
.mx-category-card:focus:not(:focus-visible){outline:none!important;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,253,.92))!important}
.mx-category-card:active{transform:translateY(0) scale(.987)!important}
.mx-category-icon{
  width:42px!important;
  height:42px!important;
  margin-bottom:14px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff,#edf5fa)!important;
  border:1px solid rgba(197,213,225,.95)!important;
  box-shadow:0 8px 18px rgba(15,27,39,.075), inset 0 1px 0 rgba(255,255,255,.9)!important;
  font-size:20px!important;
}
.mx-category-title{
  margin-bottom:5px!important;
  font-size:17px!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
  color:#15212a!important;
}
.mx-category-text{
  max-width:160px;
  color:#6d7d91!important;
  font-size:12.2px!important;
  line-height:1.22!important;
}
.mx-form-top--clean{
  position:relative;
  overflow:hidden;
  grid-template-columns:48px minmax(0,1fr)!important;
  min-height:78px;
  margin:4px 0 12px!important;
  padding:14px 16px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.82))!important;
  border:1px solid rgba(196,212,224,.8)!important;
  box-shadow:var(--mx-shadow-soft)!important;
}
.mx-form-top--clean:after{
  content:"";
  position:absolute;
  right:-38px;top:-54px;
  width:150px;height:150px;
  border-radius:50%;
  opacity:.58;
  background:radial-gradient(circle,rgba(154,220,242,.45),transparent 68%);
}
body[data-mx-category="tour"] .mx-form-top--clean:after{background:radial-gradient(circle,rgba(242,214,156,.58),transparent 68%)}
body[data-mx-category="rail"] .mx-form-top--clean:after{background:radial-gradient(circle,rgba(159,224,188,.42),transparent 68%)}
body[data-mx-category="certificate"] .mx-form-top--clean:after{background:radial-gradient(circle,rgba(160,151,255,.28),transparent 68%)}
.mx-form-top h2{
  position:relative;
  z-index:1;
  font-size:23px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
.mx-back-btn--icon{
  position:relative;
  z-index:1;
  width:48px!important;
  height:48px!important;
  border-radius:18px!important;
  border-color:rgba(193,211,224,.85)!important;
  background:rgba(250,253,255,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(15,27,39,.065)!important;
  color:#15212a!important;
  transition:transform .15s ease, background .15s ease;
}
.mx-back-btn--icon:active{transform:scale(.96)}
.mx-flight-panel,.mx-rail-panel,.mx-tour-panel,.mx-cert-panel,.mx-contact-panel{
  position:relative;
  overflow:hidden;
  border-radius:26px!important;
  padding:17px!important;
}
.mx-flight-panel:before,.mx-rail-panel:before,.mx-tour-panel:before,.mx-cert-panel:before,.mx-contact-panel:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  opacity:.95;
  background:linear-gradient(90deg,#9ADCF2,#2F6CF6,transparent);
}
.mx-tour-panel:before{background:linear-gradient(90deg,#F2D69C,#F6A72F,transparent)}
.mx-rail-panel:before{background:linear-gradient(90deg,#9FE0BC,#24A86D,transparent)}
.mx-cert-panel:before{background:linear-gradient(90deg,#BAB4FF,#755EF0,transparent)}
.mx-contact-panel:before{background:linear-gradient(90deg,#172126,#6A7782,transparent)}
.mx-flight-card,.mx-travel-card{
  position:relative;
  gap:10px!important;
}
.mx-flight-row,.mx-travel-row{
  min-height:54px!important;
  grid-template-columns:94px minmax(0,1fr)!important;
  padding:11px 14px!important;
  border-radius:19px!important;
  border:1px solid rgba(195,211,224,.88)!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 7px 18px rgba(15,27,39,.045), inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.mx-flight-row input,.mx-travel-row input{
  font-size:14px!important;
  font-weight:760!important;
  letter-spacing:-.02em;
}
.mx-flight-prefix,.mx-travel-prefix{
  font-size:11px!important;
  font-weight:900!important;
  color:#617186!important;
  letter-spacing:.065em!important;
}
.mx-flight-row:focus-within,.mx-travel-row:focus-within{
  border-color:rgba(47,108,246,.52)!important;
  box-shadow:0 0 0 4px rgba(47,108,246,.08),0 11px 22px rgba(15,27,39,.075)!important;
}
.mx-flight-swap,.mx-travel-swap{
  width:36px!important;
  height:36px!important;
  right:13px!important;
  top:47px!important;
  border:1px solid rgba(190,208,222,.9)!important;
  background:#fff!important;
  color:#172126!important;
  box-shadow:0 10px 22px rgba(15,27,39,.12)!important;
}
.mx-travel-grid-2{
  gap:10px!important;
}
.mx-travel-row--stack{
  min-height:68px!important;
  padding:11px 14px!important;
}
.mx-flight-passengers,.mx-travel-picker-row{
  grid-template-columns:94px minmax(0,1fr)!important;
}
.mx-flight-passengers strong,.mx-travel-picker-row strong{
  font-size:14.3px!important;
  font-weight:850!important;
  color:#16222b!important;
  white-space:normal;
}
.mx-flight-help{
  margin-top:12px!important;
  padding:11px 13px!important;
  border-radius:17px!important;
  border:1px solid rgba(225,233,239,.9);
  background:linear-gradient(180deg,#f8fbfd,#f2f6f9)!important;
  color:#6c7d8f!important;
  font-size:12px!important;
}
.mx-tour-block{margin:12px 0!important}.mx-tour-label{
  margin-bottom:8px!important;
  color:#526579!important;
  font-size:11px!important;
  font-weight:900!important;
}
.mx-chip-scroll{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:3px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.mx-chip-scroll::-webkit-scrollbar{display:none}
.mx-mini-chip{
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  border:1px solid rgba(190,208,222,.92)!important;
  background:linear-gradient(180deg,#fff,#f7fbfd)!important;
  color:#263342!important;
  font-weight:800!important;
  box-shadow:0 6px 14px rgba(15,27,39,.04)!important;
}
.mx-mini-chip.active,.mx-mini-chip:active{
  background:linear-gradient(135deg,var(--mx-graphite),#24313a)!important;
  border-color:var(--mx-graphite)!important;
  color:#fff!important;
}
.mx-tour-select-grid,.mx-cert-select-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}
.mx-tour-select,.mx-cert-select-grid label{
  color:#526579!important;
  font-size:11px!important;
  font-weight:900!important;
}
.mx-tour-select select,.mx-cert-select-grid select{
  min-height:50px!important;
  border-radius:18px!important;
  border:1px solid rgba(195,211,224,.88)!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 7px 18px rgba(15,27,39,.045)!important;
  color:#17212b!important;
  font-weight:800!important;
}
.mx-tour-comment,.mx-comment-label{
  color:#334252!important;
  font-weight:850!important;
}
.mx-tour-comment textarea,.mx-comment-label textarea,.mx-travel-row--textarea textarea{
  border-radius:18px!important;
}
.mx-cert-type-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  margin-bottom:12px!important;
}
.mx-cert-type{
  min-height:44px!important;
  border-radius:16px!important;
  border:1px solid rgba(190,208,222,.92)!important;
  background:linear-gradient(180deg,#fff,#f8fbfd)!important;
  color:#263342!important;
  padding:10px 12px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 6px 14px rgba(15,27,39,.04)!important;
}
.mx-cert-type.active{
  background:linear-gradient(135deg,var(--mx-graphite),#24313a)!important;
  color:#fff!important;
  border-color:var(--mx-graphite)!important;
  box-shadow:0 12px 24px rgba(15,27,39,.16)!important;
}
.mx-contact-panel{
  margin-top:12px!important;
}
.mx-contact-panel h2{
  font-size:21px!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
.mx-contact-panel .mx-panel-head{
  margin-bottom:12px!important;
}
.mx-contact-line{
  grid-template-columns:minmax(0,1fr) 68px!important;
  gap:10px!important;
  align-items:end!important;
}
.mx-contact-line input{
  min-height:50px!important;
  margin-top:6px!important;
  border-radius:18px!important;
  border:1px solid rgba(195,211,224,.88)!important;
  font-size:14px!important;
  font-weight:750!important;
  box-shadow:0 7px 18px rgba(15,27,39,.04)!important;
}
.mx-contact-btn{
  height:50px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--mx-graphite),#24313a)!important;
  box-shadow:0 12px 24px rgba(15,27,39,.18)!important;
}
.mx-help{
  margin:9px 0 12px!important;
  color:#718295!important;
  font-size:11.5px!important;
}
textarea{
  min-height:94px!important;
  border:1px solid rgba(195,211,224,.88)!important;
  box-shadow:0 7px 18px rgba(15,27,39,.04)!important;
}
.mx-summary.show{
  display:block!important;
  position:relative;
  margin:12px 0 0!important;
  padding:15px 16px!important;
  border-radius:22px!important;
  border:1px solid rgba(191,211,228,.88)!important;
  background:linear-gradient(135deg,#ffffff,#f5fbff)!important;
  box-shadow:0 12px 26px rgba(15,27,39,.06)!important;
  font-size:13px!important;
}
.mx-summary.show:before{
  content:"Предпросмотр";
  display:block;
  margin-bottom:5px;
  color:#65768a;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.mx-submit-note{
  margin-top:4px!important;
  color:#7a8a9c!important;
  font-size:11px!important;
}
.mx-submit{
  min-height:54px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#172126 0%,#24313a 50%,#11191e 100%)!important;
  font-size:14.5px!important;
  font-weight:900!important;
  box-shadow:0 16px 30px rgba(15,27,39,.24), inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.mx-submit:active{transform:translateY(1px)}
.mx-result-success-v66{
  border-radius:24px!important;
  box-shadow:0 18px 34px rgba(22,128,90,.13)!important;
}
.mx-sheet-panel{
  border-radius:28px 28px 0 0!important;
  box-shadow:0 -20px 44px rgba(15,27,39,.20)!important;
  border:1px solid rgba(203,218,229,.86)!important;
  background:linear-gradient(180deg,#fff,#f8fbfd)!important;
}
.mx-sheet-panel:before{
  content:"";
  display:block;
  width:42px;height:4px;
  margin:0 auto 12px;
  border-radius:999px;
  background:#d8e3ec;
}
.mx-passenger-tabs{
  background:#edf3f7!important;
  border-radius:18px!important;
  padding:4px!important;
}
.mx-passenger-tab{
  border-radius:15px!important;
  font-weight:900!important;
}
.mx-passenger-tab.active{
  background:var(--mx-graphite)!important;
  color:#fff!important;
}
.mx-passenger-row,.mx-party-row{
  border-radius:18px!important;
  border-color:rgba(210,223,233,.9)!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(15,27,39,.04)!important;
}
.mx-counter button,.mx-party-counter button{
  background:#f2f6f9!important;
  color:#172126!important;
  border-color:#d9e5ee!important;
}
.mx-counter output,.mx-party-counter output{
  border-color:#d9e5ee!important;
  border-radius:14px!important;
  font-weight:900!important;
}
.mx-sheet-done{
  border-radius:20px!important;
  background:linear-gradient(135deg,var(--mx-graphite),#24313a)!important;
  min-height:50px!important;
  font-weight:900!important;
}
.mx-location-menu{
  border-radius:18px!important;
  border:1px solid rgba(191,211,228,.88)!important;
  box-shadow:0 18px 42px rgba(15,27,39,.16)!important;
  overflow:hidden!important;
}
.mx-location-item{
  min-height:48px!important;
}
@media (max-width:560px){
  .mx-app-topbar-inner{min-height:50px!important;padding:8px 12px!important}
  .mx-app-logo{width:clamp(154px,50vw,206px)!important;max-height:27px!important}
  .mx-app-shell{width:100%!important;padding:13px 8px calc(16px + env(safe-area-inset-bottom,0))!important}
  .mx-choice-screen{padding-top:2px}
  .mx-choice-panel--compact{padding:14px!important;border-radius:24px!important}
  .mx-category-grid{gap:10px!important}
  .mx-category-card{min-height:104px!important;padding:13px 11px 12px!important;border-radius:21px!important}
  .mx-category-icon{width:38px!important;height:38px!important;margin-bottom:12px!important;border-radius:15px!important;font-size:18px!important}
  .mx-category-title{font-size:15.5px!important}.mx-category-text{font-size:11.2px!important}
  .mx-form-top--clean{min-height:72px!important;border-radius:24px!important;grid-template-columns:46px minmax(0,1fr)!important;padding:12px 14px!important}
  .mx-form-top h2{font-size:21px!important}.mx-back-btn--icon{width:46px!important;height:46px!important}
  .mx-flight-panel,.mx-rail-panel,.mx-tour-panel,.mx-cert-panel,.mx-contact-panel{border-radius:24px!important;padding:15px!important}
  .mx-flight-row,.mx-travel-row{min-height:52px!important;grid-template-columns:88px minmax(0,1fr)!important;padding:10px 13px!important;border-radius:18px!important}
  .mx-flight-passengers,.mx-travel-picker-row{grid-template-columns:88px minmax(0,1fr)!important}
  .mx-flight-row input,.mx-travel-row input{font-size:13.5px!important}
  .mx-flight-prefix,.mx-travel-prefix{font-size:10.7px!important}
  .mx-flight-swap,.mx-travel-swap{top:45px!important;right:12px!important}
  .mx-travel-grid-2{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .mx-travel-grid-2 .mx-travel-row{grid-template-columns:1fr!important;align-items:start!important;min-height:78px!important}
  .mx-contact-line{grid-template-columns:minmax(0,1fr) 62px!important}.mx-contact-btn{height:50px!important}
  .mx-contact-panel h2{font-size:20px!important}.mx-submit{min-height:53px!important}
  .mx-cert-type-grid{grid-template-columns:1fr!important}.mx-cert-type{text-align:left!important;min-height:42px!important}
  .mx-tour-select-grid,.mx-cert-select-grid{grid-template-columns:1fr!important}
}
@media (max-width:390px){
  .mx-category-card{min-height:98px!important;padding:12px 9px!important}.mx-category-icon{width:35px!important;height:35px!important;margin-bottom:10px!important}.mx-category-title{font-size:14.5px!important}.mx-category-text{font-size:10.4px!important}
  .mx-flight-row,.mx-travel-row{grid-template-columns:78px minmax(0,1fr)!important;padding:10px 11px!important}.mx-flight-passengers,.mx-travel-picker-row{grid-template-columns:78px minmax(0,1fr)!important}
  .mx-flight-row input,.mx-travel-row input{font-size:12.6px!important}.mx-flight-prefix,.mx-travel-prefix{font-size:10px!important}
  .mx-contact-line{grid-template-columns:minmax(0,1fr) 58px!important}
}

/* v7.3 — UX polish: draft, review, validation, popular routes, subsidy hint */
.mx-subsidy-entry{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  width:100%;
  margin:10px 0 0!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  border:1px solid rgba(68,106,191,.18)!important;
  background:linear-gradient(135deg,#f7fbff,#eef6ff)!important;
  color:#172126!important;
  text-align:left!important;
  box-shadow:0 10px 22px rgba(39,92,170,.07)!important;
}
.mx-subsidy-entry span{font-size:13px;font-weight:900;letter-spacing:-.015em}.mx-subsidy-entry small{font-size:11.3px;color:#5f748c;font-weight:700}.mx-subsidy-entry:active{transform:translateY(1px)}
.mx-review-panel{max-height:86vh!important}.mx-review-body{display:grid;gap:8px;margin:4px 0 14px}.mx-review-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start;padding:10px 11px;border:1px solid rgba(205,219,230,.86);border-radius:16px;background:#fff;box-shadow:0 6px 14px rgba(15,27,39,.035)}.mx-review-row span{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#728397}.mx-review-row strong{font-size:13px;line-height:1.32;font-weight:800;color:#172126;overflow-wrap:anywhere;white-space:pre-wrap}.mx-review-actions{display:grid;grid-template-columns:.78fr 1.22fr;gap:10px;position:sticky;bottom:0;padding-top:8px;background:linear-gradient(180deg,rgba(248,251,253,0),#f8fbfd 36%)}.mx-review-actions button{min-height:50px;border-radius:18px;font-weight:900}.mx-review-edit{border:1px solid rgba(196,211,224,.9);background:#fff;color:#405064}.mx-review-confirm{border:0;background:linear-gradient(135deg,#172126,#24313a);color:#fff;box-shadow:0 14px 26px rgba(15,27,39,.18)}
.mx-field-error{border-color:#fb7185!important;box-shadow:0 0 0 4px rgba(251,113,133,.12),0 10px 22px rgba(15,27,39,.04)!important}.mx-field-error input,.mx-field-error textarea,.mx-field-error select{color:#9f1239!important}.mx-validation-hint{margin:5px 3px 9px;padding:8px 10px;border-radius:14px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:11.5px;font-weight:800}.mx-result.err{border-radius:18px!important;border:1px solid #fecdd3!important;background:#fff1f2!important;color:#9f1239!important;font-weight:800!important}
.mx-location-item:first-child:before{content:"Часто выбирают";display:block;margin:0 0 4px;color:#7b8a9b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.mx-location-item + .mx-location-item:before{content:none}.mx-location-item .mx-location-meta:empty{display:none}
.mx-result-success-v73{display:grid!important;gap:12px!important;padding:18px!important}.mx-success-summary-v73{display:grid;gap:7px;margin-top:2px;padding:10px;border-radius:18px;background:#f8fbfd;border:1px solid rgba(202,218,230,.82)}.mx-success-summary-v73 .mx-review-row{box-shadow:none;padding:8px 9px;border-radius:13px;background:#fff}.mx-success-summary-v73 .mx-review-row span{font-size:9.8px}.mx-success-summary-v73 .mx-review-row strong{font-size:12.2px}
.mx-flight-swap,.mx-travel-swap{transition:transform .16s ease, background .16s ease, box-shadow .16s ease}.mx-flight-swap:hover,.mx-travel-swap:hover{background:#fff!important;box-shadow:0 10px 18px rgba(15,27,39,.12)!important;transform:rotate(180deg)}
@media (max-width:560px){.mx-review-row{grid-template-columns:82px minmax(0,1fr);padding:9px 10px}.mx-review-actions{grid-template-columns:1fr}.mx-subsidy-entry{border-radius:17px!important;padding:11px 12px!important}.mx-subsidy-entry span{font-size:12.7px}.mx-subsidy-entry small{font-size:10.8px}}
