/* ===== ЛК пдн152.рф — дизайн-система лендинга (navy/teal, Golos Text) ===== */
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/golos-text-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/golos-text-cyrillic-500-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/golos-text-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/golos-text-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/golos-text-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-2019,U+201C-201D,U+2020-2022,U+2026,U+20BD,U+2122}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/golos-text-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-2019,U+201C-201D,U+2020-2022,U+2026,U+20BD,U+2122}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/golos-text-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-2019,U+201C-201D,U+2020-2022,U+2026,U+20BD,U+2122}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/golos-text-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-2019,U+201C-201D,U+2020-2022,U+2026,U+20BD,U+2122}

:root{
  --navy:#0c2f63; --navy-2:#1450a0; --navy-d:#071f44;
  --teal:#12a89e; --teal-d:#0c7e76; --teal-l:#e6faf7;
  --bg:#f5f8fd; --surface:#ffffff;
  --ink:#0f2038; --muted:#5b6b86; --line:#e7edf6;
  --ok:#0c7e76; --ok-bg:#e6faf7;
  --danger:#d23a2b; --danger-bg:#fdeeec;
  --r:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(12,47,99,.05),0 2px 6px rgba(12,47,99,.06);
  --sh-md:0 6px 18px rgba(12,47,99,.08),0 2px 6px rgba(12,47,99,.05);
  --sh-lg:0 18px 44px rgba(12,47,99,.14),0 6px 14px rgba(12,47,99,.07);
  --sh-teal:0 16px 36px rgba(18,168,158,.28);
  --wrap:1040px;
  --font:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{margin:0;font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
p{margin:0}
a{color:var(--navy-2);text-decoration:none}
a:hover{color:var(--navy)}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:var(--r);padding:12px 22px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s,background .18s;text-decoration:none;white-space:nowrap}
.btn--lg{padding:15px 28px;font-size:16px}
.btn--sm{padding:9px 16px;font-size:14px}
.btn--block{width:100%}
.btn--primary{background:linear-gradient(180deg,#13539f,#0c2f63);color:#fff;box-shadow:var(--sh-md)}
.btn--primary:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--sh-lg)}
.btn--accent{background:linear-gradient(180deg,#16b9ad,#0e8a81);color:#fff;box-shadow:var(--sh-md)}
.btn--accent:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--sh-teal)}
.btn--ghost{background:var(--surface);color:var(--navy);border-color:var(--line);box-shadow:var(--sh-sm)}
.btn--ghost:hover{color:var(--navy);transform:translateY(-2px);box-shadow:var(--sh-md);border-color:#d4deec}
.btn[disabled]{opacity:.55;cursor:default;transform:none!important}

/* ===== logo / shield ===== */
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);font-size:19px;letter-spacing:-.01em}
.brand:hover{color:var(--navy)}
.brand__rf{color:var(--teal-d)}
.brand svg{width:26px;height:26px;flex:0 0 auto}

/* ===== auth pages ===== */
.auth-body{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:32px 18px;
  background:radial-gradient(900px 460px at 78% 6%,#e4effb 0%,rgba(228,239,251,0) 60%),linear-gradient(180deg,#eaf2fc 0%,var(--bg) 70%)}
.auth-wrap{width:100%;max-width:440px}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;color:var(--navy);font-size:21px;margin-bottom:22px}
.auth-logo:hover{color:var(--navy)}
.auth-logo svg{width:30px;height:30px}
.auth-logo__rf{color:var(--teal-d)}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:34px 32px;box-shadow:var(--sh-lg)}
.auth-card__title{font-size:26px;margin-bottom:6px}
.auth-card__sub{color:var(--muted);font-size:15px;margin-bottom:22px}
.auth-alt{text-align:center;color:var(--muted);font-size:15px;margin-top:20px}
.auth-foot{text-align:center;color:var(--muted);font-size:13px;margin-top:18px}

/* ===== forms ===== */
.form{display:block}
.field{margin-bottom:15px}
.field>label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r);padding:12px 15px;font-size:15px;font-family:inherit;background:#fcfdff;color:var(--ink);transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,168,158,.14)}
.field__err{display:block;color:var(--danger);font-size:13px;margin-top:6px}
.field--err input{border-color:var(--danger)}
.field__hint{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.form__row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:6px 0 18px;flex-wrap:wrap}
.check{display:inline-flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--muted);cursor:pointer;line-height:1.45}
.check input{margin-top:2px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--teal)}
.link-sm{font-size:14px}
.consent{margin:4px 0 18px}

/* ===== alerts ===== */
.alert{border-radius:var(--r);padding:13px 16px;font-size:14.5px;margin-bottom:18px;line-height:1.5}
.alert--ok{background:var(--ok-bg);border:1px solid #c7eae4;color:var(--ok)}
.alert--err{background:var(--danger-bg);border:1px solid #f3cfc9;color:var(--danger)}
.alert--info{background:#eaf1fb;border:1px solid #d3e1f5;color:var(--navy-2)}
.alert ul{margin:6px 0 0;padding-left:18px}

/* ===== dashboard header ===== */
.lkhdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.lkhdr__inner{display:flex;align-items:center;gap:18px;height:66px}
.lkhdr__user{margin-left:auto;display:flex;align-items:center;gap:14px}
.lkhdr__name{font-size:14.5px;font-weight:500;color:var(--ink);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lkmain{padding:34px 22px 60px}
.page-head{margin-bottom:26px}
.page-head h1{font-size:clamp(26px,3.4vw,34px)}
.page-head p{color:var(--muted);margin-top:8px;font-size:16px}

/* ===== cards / grid ===== */
.grid{display:grid;gap:20px}
.grid--2{grid-template-columns:1fr 1fr}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-sm)}
.panel__title{font-size:18px;font-weight:700;margin-bottom:4px}
.panel__sub{color:var(--muted);font-size:14.5px;margin-bottom:18px}

/* empty state */
.empty{text-align:center;padding:42px 26px}
.empty__icon{width:64px;height:64px;border-radius:18px;background:var(--teal-l);color:var(--teal-d);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.empty__icon svg{width:30px;height:30px}
.empty h2{font-size:21px;margin-bottom:8px}
.empty p{color:var(--muted);font-size:15.5px;max-width:460px;margin:0 auto 22px}

/* order card */
.order{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;background:var(--surface);box-shadow:var(--sh-sm);margin-bottom:18px}
.order__top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.order__pkg{font-size:18px;font-weight:700}
.order__meta{color:var(--muted);font-size:13.5px;margin-top:3px}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 13px;border-radius:var(--r-pill)}
.badge--new{background:#eef2f9;color:var(--muted)}
.badge--progress{background:#eaf1fb;color:var(--navy-2)}
.badge--done{background:var(--ok-bg);color:var(--ok)}

/* status progress */
.steps-bar{display:flex;gap:6px;margin-top:8px}
.steps-bar i{flex:1;height:6px;border-radius:99px;background:#eef2f9}
.steps-bar i.on{background:linear-gradient(90deg,var(--teal),#1ec6ba)}
.steps-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.steps-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.steps-list li .dot{width:18px;height:18px;border-radius:50%;flex:0 0 auto;border:2px solid var(--line);background:#fff}
.steps-list li.done{color:var(--ink)}
.steps-list li.done .dot{background:var(--teal);border-color:var(--teal)}
.steps-list li.cur{color:var(--navy);font-weight:600}
.steps-list li.cur .dot{border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,168,158,.16)}

/* ===== footer ===== */
.lkftr{color:var(--muted);font-size:13px;text-align:center;padding:26px 22px;border-top:1px solid var(--line)}

@media(max-width:760px){
  .grid--2{grid-template-columns:1fr}
  .auth-card{padding:28px 22px}
  .lkmain{padding:26px 18px 50px}
}
