.flow-main { width:min(100%,1000px); margin:0 auto; padding:36px clamp(16px,4vw,48px) 64px; }
.flow-panel { padding:clamp(20px,4vw,44px); background:linear-gradient(140deg,#101113,#080809 70%); border:1px solid #ffffff32; }
.flow-panel h1 { margin:20px 0; font:900 clamp(44px,8vw,76px)/.9 var(--display); }
.flow-panel h1 em { color:var(--cyan); font-style:normal; }
.flow-status,.flow-note { color:#c4c2c0; }
.flow-lines { display:grid; gap:12px; margin:22px 0; }
.flow-line { padding:16px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; background:#08090a; border:1px solid #ffffff35; }
.flow-line h2 { margin:0 0 5px; color:var(--cyan); font:900 21px/1 var(--display); }
.flow-line p { margin:3px 0; color:#d0ceca; }
.flow-line-controls { display:flex; align-items:center; gap:8px; }
.flow-line-controls input { width:70px; height:42px; padding:6px; color:var(--white); background:#111; border:1px solid #ffffff50; }
.flow-line-controls button { min-height:42px; padding:7px 10px; color:var(--white); background:#141517; border:1px solid #ffffff50; cursor:pointer; }
.flow-totals,.flow-summary { margin:22px 0; padding:16px; background:#08090a; border:1px solid #ffffff35; }
.flow-totals p,.flow-summary p { display:flex; justify-content:space-between; gap:16px; margin:8px 0; }
.flow-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.flow-link { text-decoration:none; }
.flow-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }
.flow-form > label { display:grid; gap:5px; color:#e2e0dc; font-size:11px; font-weight:900; letter-spacing:.7px; }
.flow-form .wide { grid-column:1/-1; }
.relay-manual-fields { display:grid; gap:10px; min-width:0; }
.relay-manual-fields[hidden] { display:none; }
.relay-manual-fields > p { margin:0; color:#e2e0dc; font-size:12px; font-weight:900; letter-spacing:.7px; }
.relay-manual-fields > label { display:grid; gap:5px; color:#e2e0dc; font-size:11px; font-weight:900; letter-spacing:.7px; }
.relay-manual-fields input { box-sizing:border-box; width:100%; min-height:44px; padding:9px 12px; color:var(--white); background:#0a0a0b; border:1px solid #ffffff38; font:16px/1.4 var(--sans); }
.flow-form > label > input:not([type="checkbox"]),.flow-form > label > select,.flow-form .promo-row input { width:100%; min-height:44px; padding:9px 12px; color:var(--white); background:#0a0a0b; border:1px solid #ffffff38; font:inherit; }
.flow-form button[type="submit"] { min-height:48px; padding:10px 16px; color:#050505; background:var(--cyan); border:0; font-weight:900; cursor:pointer; }
.flow-form > label > input[type="checkbox"] { width:20px; min-height:20px; accent-color:var(--cyan); }
.terms-check { display:flex; align-items:flex-start; gap:10px; margin:14px 0; color:var(--white); }
.terms-check a,.flow-form > label a { color:var(--cyan); }
.relay-panel:not([hidden]) { display:grid; gap:10px; margin:20px 0; padding:14px; border:1px solid #ffffff35; }
#relay-widget { width:100%; min-height:420px; position:relative; color:#202124; }
#relay-widget input:not([type="hidden"]),#relay-widget select,#relay-widget textarea { color:#171717 !important; background:#fff !important; border:1px solid #626262 !important; font-size:16px !important; line-height:1.4; }
#relay-widget input::placeholder,#relay-widget textarea::placeholder { color:#595959 !important; opacity:1; }
#relay-widget label,#relay-widget p,#relay-widget span { color:#202124; }
#relay-widget .leaflet-container { width:100%; max-width:100%; min-height:320px; max-height:520px; height:clamp(320px,55vh,520px); background:#e7e7e7; }
.flow-form fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; min-width:0; border:1px solid #ffffff35; }
.flow-form fieldset label { display:grid; align-content:start; gap:7px; min-width:0; color:#e2e0dc; font-size:12px; font-weight:800; line-height:1.4; }
.flow-form fieldset label.wide { grid-column:1/-1; }
.flow-form fieldset input,.flow-form fieldset select { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:46px; padding:10px 12px; color:var(--white); background:#0a0a0b; border:1px solid #ffffff50; font:16px/1.4 var(--sans); }
.flow-form fieldset input:focus-visible,.flow-form fieldset select:focus-visible { outline:2px solid var(--yellow); outline-offset:2px; }
#relay-point-info { min-height:24px; padding:10px 12px; color:#f5f3ef; background:#191b1e; border-left:3px solid var(--cyan); overflow-wrap:anywhere; }
.flow-form .promo-row { display:grid; grid-template-columns:1fr minmax(140px,2fr) auto; align-items:end; gap:9px; }
.flow-form .promo-row button { min-height:44px; padding:8px 14px; color:#050505; background:var(--cyan); border:0; font-size:10px; font-weight:900; cursor:pointer; }
.flow-form button:disabled { opacity:.55; cursor:wait; }
@media(max-width:640px) { .flow-main { padding-top:20px; }.flow-actions,.flow-form,.flow-form fieldset { grid-template-columns:minmax(0,1fr); }.flow-form .wide,.flow-form fieldset label.wide { grid-column:auto; }.flow-form .promo-row { grid-template-columns:1fr; }.flow-line { grid-template-columns:1fr; }.flow-line-controls { justify-content:flex-start; } }
