/* ============================================================================
   simulator.company — единая тёмная дизайн-система (1:1 с публичным сайтом)
   Тёмный fintech: navy-фон, Manrope, синий акцент #3b82f6, мягкое свечение.
   Подключается во все страницы потока: index.html (визард) · upload.html · done.html
   Стек — чистый CSS, без сборки (nginx отдаёт как есть, правки видны после refresh).
   Токены повторяют Material-3-нейминг бандла референса.
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');

:root{
  /* поверхности (navy, послойно) */
  --bg:#0a1a30;                 /* body — bg-[#0A1A30] референса */
  --bg-deep:#030d1f;            /* самый тёмный — секции/футер */
  --surface:#0d1e38;            /* карточка */
  --surface-2:#0a1628;          /* вложенная поверхность */
  --surface-3:#162540;          /* hover / приподнятая */
  --primary-container:#050f24;
  /* текст */
  --ink:#f8fafc;               /* on-surface */
  --ink-soft:#cbd9ec;
  --muted:#7ba3cc;             /* on-surface-variant */
  /* линии */
  --line:#1e3151;              /* мягкая граница на тёмном */
  --line-2:#334155;            /* outline */
  --line-soft:rgba(148,184,232,.10);
  /* акцент */
  --accent:#3b82f6;            /* tertiary */
  --accent-2:#2563eb;          /* hover / dim */
  --accent-3:#60a5fa;
  --accent-ink:#ffffff;
  --accent-soft:rgba(59,130,246,.12);
  --accent-line:rgba(59,130,246,.40);
  /* семантика */
  --good:#22c55e; --good-soft:rgba(34,197,94,.12);
  --warn:#f59e0b; --warn-soft:rgba(245,158,11,.12);
  --danger:#ef4444; --danger-soft:rgba(239,68,68,.12);
  /* радиусы / тени / свечение */
  --r:16px; --r-sm:12px; --r-xs:8px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 18px 48px -24px rgba(0,0,0,.7);
  --glow:0 0 40px rgba(59,130,246,.20);
  --glow-strong:0 0 60px rgba(59,130,246,.30);
  --maxw:680px;
  --disp:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --body:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  /* фирменное свечение сверху, как на hero референса */
  background-image:
    radial-gradient(900px 480px at 50% -8%, rgba(59,130,246,.16), transparent 60%),
    radial-gradient(700px 420px at 90% 0%, rgba(37,99,235,.10), transparent 55%);
  background-attachment:fixed;
  min-height:100vh;
}
::selection{background:var(--accent);color:var(--primary-container)}
a{color:var(--accent-3);text-decoration:none}
a:hover{color:var(--accent)}
button{font-family:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
b,strong{font-weight:700}

/* ===================== Шапка (sticky, backdrop-blur) ===================== */
.top{position:sticky;top:0;z-index:20;
  background:rgba(10,26,48,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.top .row{max-width:var(--maxw);margin:0 auto;padding:14px 20px;display:flex;align-items:center;
  justify-content:space-between;gap:12px}
.logo,.brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;
  font-size:16px;letter-spacing:-.02em;color:var(--ink)}
.logo .dot,.brand .dot{width:24px;height:24px;border-radius:7px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));position:relative;
  box-shadow:var(--glow)}
.logo .dot::after,.brand .dot::after{content:"";position:absolute;inset:7px;border-radius:3px;background:#fff;opacity:.95}
.logo b,.brand b,.dot+b{color:var(--accent-3);font-weight:800}
.stage{font-size:12.5px;color:var(--muted);font-weight:600;white-space:nowrap}

/* ===================== Контейнер / типографика ===================== */
.wrap{max-width:var(--maxw);margin:0 auto;padding:34px 20px 130px;animation:fadein .4s ease}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--accent-3);background:var(--accent-soft);
  border:1px solid var(--accent-line);padding:6px 13px;border-radius:var(--r-pill)}
.q{font-family:var(--disp);font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.025em;margin:16px 0 8px;color:var(--ink)}
h1{color:var(--ink)}
.lead{color:var(--muted);font-size:15px;margin:0 0 22px}
.center{text-align:center}
.muted{color:var(--muted)} .sm{font-size:13px}

/* ===================== Кнопки ===================== */
.btn{border:0;border-radius:var(--r-sm);padding:14px 24px;font-size:15px;font-weight:700;
  font-family:var(--body);letter-spacing:-.01em;transition:transform .06s,background .15s,box-shadow .15s,border-color .15s;color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn.pri{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);
  box-shadow:var(--glow)}
.btn.pri:hover{box-shadow:var(--glow-strong);filter:brightness(1.05)}
.btn.pri:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;filter:none}
.btn.lg{width:100%;padding:16px;font-size:16.5px}
.btn.ghost{background:var(--surface);color:var(--ink);border:1.5px solid var(--line-2)}
.btn.ghost:hover{border-color:var(--accent-line);background:var(--surface-3)}
.btn.sec{background:var(--surface-3);color:var(--ink)}
.btn.link{background:none;color:var(--muted);padding:14px 6px;font-weight:600}
.btn.link:hover{color:var(--accent-3)}
.skip{background:none;border:0;color:var(--muted);font-weight:600;font-size:14px;
  text-decoration:underline;text-underline-offset:3px}
.skip:hover{color:var(--accent-3)}

/* мелкие кнопки управления (карточки загрузки) */
.mini{font-size:13px;padding:8px 14px;border-radius:var(--r-xs);border:1.5px solid var(--line-2);
  background:var(--surface-2);font-weight:600;color:var(--ink-soft);transition:.14s}
.mini:hover{border-color:var(--accent-line);color:var(--accent-3)}
.mini.danger:hover{border-color:var(--danger);color:var(--danger)}

/* ===================== Карточки / коробки ===================== */
.card,.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow-2);padding:18px 20px}
.box .lab{color:var(--muted);font-size:12.5px;font-weight:700;margin-bottom:6px;letter-spacing:.01em}

/* ===================== Поля ввода ===================== */
.field{width:100%;background:var(--surface-2);border:1.5px solid var(--line-2);border-radius:var(--r-sm);
  padding:14px 16px;font-size:16px;font-family:var(--body);color:var(--ink)}
.field::placeholder{color:#5b769b}
.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
select.field{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%237ba3cc' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}

/* ===================== Прогресс-бар ===================== */
.bar{height:9px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden;position:relative;
  border:1px solid var(--line)}
.bar>i{display:block;height:100%;width:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--accent),var(--accent-3));
  box-shadow:0 0 12px rgba(59,130,246,.5);transition:width .35s ease}
.bar.indeterminate>i{width:35%!important;background:rgba(59,130,246,.45);box-shadow:none;
  animation:slide 1.1s infinite ease-in-out}
@keyframes slide{0%{margin-left:-35%}100%{margin-left:100%}}

/* ===================== Спиннер ===================== */
.spin-ic{display:inline-block;width:13px;height:13px;border:2px solid rgba(148,184,232,.35);
  border-top-color:var(--accent);border-radius:50%;animation:rot .7s linear infinite;vertical-align:-2px;margin-right:7px}
@keyframes rot{to{transform:rotate(360deg)}}

/* ===================== Бейджи / чипы статусов ===================== */
.badge{display:inline-block;padding:5px 12px;border-radius:var(--r-pill);font-weight:700;font-size:12.5px}
.badge.a1{background:var(--good-soft);color:var(--good)}
.badge.a2{background:var(--warn-soft);color:var(--warn)}
.badge.b{background:var(--danger-soft);color:var(--danger)}

/* ===================== Низ-навигация (визард) ===================== */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;
  background:rgba(3,13,31,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line)}
.nav .row{max-width:var(--maxw);margin:0 auto;padding:13px 20px;display:flex;align-items:center;
  justify-content:space-between;gap:12px}

/* ===================== Утилиты ===================== */
.glow{box-shadow:var(--glow)}
.hr{height:1px;background:var(--line);border:0;margin:18px 0}
.tabnum{font-variant-numeric:tabular-nums}

@media(max-width:560px){
  .q{font-size:24px}
  .top .row{padding:12px 16px}
  .wrap{padding:26px 16px 130px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
