
    :root { --navy:#071a3a; --blue:#1769e0; --pale:#f4f7fe; --green:#38a169; --muted:#61708c; }
    * { box-sizing:border-box } body { margin:0; min-height:100vh; font:15px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--navy); background:linear-gradient(135deg,#e8f1ff,#f8fbff 55%,#eaf8f0); }
    button,input { font:inherit } button { cursor:pointer } .site { max-width:1120px; margin:auto; padding:28px 24px; display:grid; grid-template-columns:1fr 430px; gap:64px; align-items:center; min-height:100vh }
    .intro h1 { font-size:clamp(42px,6vw,70px); letter-spacing:-.06em; line-height:.95; margin:0 0 22px } .intro h1 span { color:var(--blue) } .intro p { max-width:500px; font-size:18px; line-height:1.65; color:#40516e }
    .flow { margin-top:30px; display:flex; flex-wrap:wrap; gap:8px } .flow button { appearance:none; border:0; background:white; color:var(--navy); box-shadow:0 4px 16px #163d7220; border-radius:100px; padding:9px 12px; font-size:13px; font-weight:650; transition:transform .16s ease,background .16s ease,color .16s ease } .flow button:hover,.flow button:focus-visible { background:var(--blue); color:white; outline:0; transform:translateY(-2px) }
    .phone { height:min(820px,calc(100vh - 56px)); min-height:650px; width:100%; border:10px solid #17223a; border-radius:42px; background:var(--pale); overflow:hidden; box-shadow:0 30px 70px #173b6f50; position:relative } #app { height:100% }
    .screen { height:100%; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; padding:25px 22px 28px; scrollbar-width:thin; scrollbar-color:#9db8e5 transparent; animation:in .25s ease-out } .screen::-webkit-scrollbar{width:5px}.screen::-webkit-scrollbar-thumb{background:#9db8e5;border-radius:5px} .scroll-tail{height:155px} @keyframes in { from {opacity:.3; transform:translateX(9px)} to {opacity:1;transform:none} }
    .brand { display:flex; gap:10px; align-items:center; font-weight:800; font-size:19px; letter-spacing:-.02em }
    .brand-mark { width:36px;height:36px;border-radius:10px;object-fit:contain;display:block;flex-shrink:0;background:#fff;padding:4px }
    .brand-word { height:22px;width:auto;display:block }
    .brand-name { display:inline-flex;align-items:baseline;letter-spacing:.01em }
    .brand-name .logo-next { color:#151B3D } .brand-name .logo-cross { color:#7579C2 }
    .logo-big { width:94px;height:94px;border-radius:24px;object-fit:contain;display:block;background:#fff;padding:12px;box-shadow:0 16px 32px #151B3D40 }
    .hero-word { height:42px;width:auto;margin:20px 0 8px;display:block }
    .check-big{width:63px;height:63px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:33px;box-shadow:0 16px 32px #1769e055;margin:0 auto}
    .kicker { color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; margin:27px 0 7px }.title { font-size:27px;letter-spacing:-.045em;margin:0 0 6px }.sub { margin:0 0 22px;color:var(--muted);line-height:1.45 }
    .card { background:#fff; border:1px solid #e5eaf4; border-radius:20px; padding:17px; box-shadow:0 4px 12px #173b6f0b; margin:12px 0 }.card h3 { margin:0 0 12px; font-size:15px }.label { font-size:12px;font-weight:750;color:#3b4b66;display:block;margin:12px 0 6px }
    input { width:100%; border:1px solid #cbd5e5; background:white; border-radius:12px; padding:13px; outline-color:var(--blue); color:var(--navy) }.row { display:flex;gap:10px }.row>* { flex:1 }.button { width:100%; border:0; border-radius:16px; padding:15px 16px; color:white; background:var(--navy); font-weight:750; margin-top:17px }.button:hover { filter:brightness(1.18) }.outline { background:white;color:var(--blue);border:1.5px solid var(--blue) }.small-btn { border:0;background:#e6efff;color:#0d54bc;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:750 }
    .map { height:170px; border-radius:17px; overflow:hidden; position:relative; background:#dcefe1; border:1px solid #c8e2cf; margin:12px 0 }.map:before,.map:after { content:"";position:absolute;background:#fff;opacity:.95;transform:rotate(-24deg);border:3px solid #d6e5d9 }.map:before { width:165%;height:31px;left:-32%;top:64px }.map:after { width:140%;height:18px;left:-15%;top:120px;transform:rotate(34deg) }.route { position:absolute;z-index:1;left:23%;top:36%;width:55%;height:48%;border:3px dashed var(--blue);border-radius:50%;transform:rotate(-18deg) }.pin { position:absolute;z-index:2;width:24px;height:24px;border:4px solid white;border-radius:50%;box-shadow:0 2px 5px #1234 }.pin.start{left:20%;top:37%;background:var(--blue)}.pin.end{right:16%;bottom:19%;background:var(--green)}
    .route-row { display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:center;margin:12px 0}.dots { height:48px;border-left:2px dashed #94a4c1;margin-left:8px;position:relative}.dots:before,.dots:after {content:"";position:absolute;width:9px;height:9px;border-radius:50%;left:-5.5px}.dots:before{top:-2px;background:var(--blue)}.dots:after{bottom:-2px;background:var(--green)}.route-row p {margin:2px 0;color:var(--muted);font-size:12px}.route-row b{font-size:14px}
    .top { display:flex;align-items:center;justify-content:space-between }.back { background:transparent;border:0;font-size:27px;color:var(--navy);padding:0 5px 0 0 }.tag { color:var(--blue);background:#e6efff;border-radius:100px;padding:6px 9px;font-weight:750;font-size:11px }.notice { background:#fff5e8;border-radius:13px;padding:12px;color:#8a5a12;font-size:13px;line-height:1.4 }.metric { text-align:center;padding:8px }.metric b {font-size:19px;display:block}.metric span{font-size:11px;color:var(--muted)}
    .hero { display:grid;place-items:center;text-align:center;height:100%;padding:20px}.hero h2 {font-size:35px;letter-spacing:-.06em;margin:20px 0 8px}.hero p{color:var(--muted);line-height:1.5;max-width:270px}.hero .button{max-width:270px;margin-top:30px}
    .modal {position:absolute;inset:0;background:#071a3a66;z-index:5;display:grid;place-items:end center;padding:18px}.dialog {background:white;border-radius:24px;padding:22px;width:100%;box-shadow:0 12px 40px #071a3a55}.dialog h2{margin:0 0 9px;font-size:21px}.dialog p{color:var(--muted);line-height:1.45}.dialog .row button{margin-top:10px}
    .toast {position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:#0e2954;color:#fff;padding:10px 14px;border-radius:100px;font-size:13px;white-space:nowrap;box-shadow:0 5px 20px #071a3a55;z-index:8}.hidden{display:none}
    @media(max-width:820px){.site{display:block;padding:0}.intro{padding:30px 24px 22px}.intro h1{font-size:43px}.intro p{font-size:16px}.phone{border-radius:0;border-width:0;height:760px;min-height:0;box-shadow:none}.flow{display:none}}

    .login-gate { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,#e8f1ff,#f8fbff 55%,#eaf8f0); }
    .login-card { width:min(420px,100%); background:#fff; border:1px solid #e5eaf4; border-radius:24px; padding:28px 24px; box-shadow:0 20px 50px #173b6f25; }
    .login-card h1 { margin:10px 0 6px; font-size:28px; letter-spacing:-.04em; }
    .login-card .sub { margin:0 0 18px; }
    .login-error { color:#c53030; font-size:13px; margin:8px 0 0; min-height:18px; }
    body.locked .site { display:none; }
  