/* У Cormorant по умолчанию старостильные цифры: «1 из 3» превращается
   в «I ИЗ 3». Везде, где в засечечном шрифте есть числа, включаем прямые. */
.lnum,.hero .big,.stat b,.plan .price,.empty b,h1,h2{
  font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1,'onum' 0}

:root{
  --wine:#6B1E39; --deep:#8E2F4E; --rose:#B4496B; --blush:#F2D3DC;
  --cream:#FBF1EE; --ink:#3E2A31; --muted:#8A7580; --line:#EFE0E4;
  --card:#FFFDFC; --ok:#3F6B54; --warn:#B0662B;
  --nav:76px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--cream); color:var(--ink);
  font-family:'Manrope',-apple-system,system-ui,sans-serif;
  font-size:16px; line-height:1.5;
  padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom));
}
.wrap{max-width:560px;margin:0 auto;padding:20px 16px 8px}

h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
   font-size:34px;line-height:1.1;margin:0}
.sub{color:var(--muted);font-size:14px;margin:4px 0 18px}
h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
   font-size:24px;margin:26px 0 10px}

.card{background:var(--card);border:1px solid var(--line);border-radius:18px;
      padding:18px;margin-bottom:12px}

/* ── шапка прогресса ── */
.hero{background:linear-gradient(158deg,var(--rose),var(--wine));color:#fff;
      border:none;padding:20px;border-radius:20px;margin-bottom:16px}
.hero .big{font-family:'Cormorant Garamond',Georgia,serif;font-size:44px;
           font-weight:600;line-height:1}
.hero .lbl{opacity:.85;font-size:14px;margin-top:2px}
.bar{height:8px;border-radius:99px;background:rgba(255,255,255,.28);margin-top:14px;overflow:hidden}
.bar i{display:block;height:100%;background:#fff;border-radius:99px;transition:width .3s}

/* ── заявка ── */
.top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.who{font-weight:600;font-size:17px}
.left{font-size:13px;color:var(--muted);white-space:nowrap}
.act{color:var(--muted);font-size:14px;margin:6px 0 12px}
.links{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.links a{flex:1;min-width:120px;text-align:center;text-decoration:none;
  background:var(--blush);color:var(--deep);font-weight:600;font-size:14px;
  padding:11px 12px;border-radius:12px}
.links a:active{background:#EBC3D0}

button{font-family:inherit;font-size:16px;border:none;cursor:pointer}
.go{width:100%;padding:14px;border-radius:14px;background:var(--deep);color:#fff;
    font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.go:active{background:var(--wine)}
.go[disabled]{background:#EFE3E7;color:var(--muted)}
.go.done{background:#EAF3EE;color:var(--ok)}
.counter{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}

/* ── состояния ── */
.empty{background:var(--card);border:1px dashed #E2CFD6;border-radius:18px;
       padding:36px 24px;text-align:center;color:var(--muted)}
.empty b{display:block;font-family:'Cormorant Garamond',Georgia,serif;
         font-size:26px;font-weight:600;color:var(--ink);margin-bottom:6px}
.err{background:#FBEAEE;border:1px solid #F2D3DC;color:var(--deep);
     border-radius:14px;padding:14px 16px;font-size:15px;margin-bottom:12px}
.note{background:#FFF6E9;border:1px solid #F2E0C6;color:#7A5320;
      border-radius:14px;padding:14px 16px;font-size:15px;margin-bottom:12px}

.skel{background:var(--card);border:1px solid var(--line);border-radius:18px;
      padding:18px;margin-bottom:12px}
.skel i{display:block;height:12px;border-radius:99px;
  background:linear-gradient(90deg,#F4E9EC,#FAF3F5,#F4E9EC);
  background-size:200% 100%;animation:sh 1.2s infinite}
.skel i+i{margin-top:10px}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── профиль ── */
.face{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.ava{width:56px;height:56px;border-radius:50%;flex:none;color:#fff;
  background:linear-gradient(158deg,var(--rose),var(--wine));
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;
      padding:14px 10px;text-align:center}
.stat b{display:block;font-family:'Cormorant Garamond',Georgia,serif;
        font-size:30px;font-weight:600;line-height:1}
.stat span{font-size:12px;color:var(--muted)}
.row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;
     border-bottom:1px solid var(--line);font-size:15px}
.row:last-child{border:none}
.row span{color:var(--muted)}
.pill{display:inline-block;padding:4px 12px;border-radius:99px;font-size:13px;
      font-weight:600;background:var(--blush);color:var(--deep)}
.pill.ok{background:#EAF3EE;color:var(--ok)}
.pill.warn{background:#FBEFE2;color:var(--warn)}

/* ── форма ── */
label{display:block;font-size:14px;color:var(--muted);margin:0 0 6px}
input,textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px}
input:focus,textarea:focus{outline:none;border-color:var(--rose)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.chip{padding:9px 14px;border-radius:99px;border:1px solid var(--line);
      background:#fff;color:var(--muted);font-size:14px}
.chip.on{background:var(--deep);border-color:var(--deep);color:#fff;font-weight:600}

/* ── тарифы ── */
.plan{position:relative}
.plan .price{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;
             font-weight:600;line-height:1}
.plan.off{opacity:.55}
.plan .mark{position:absolute;top:14px;right:14px}

/* ── низ ── */
nav{position:fixed;left:0;right:0;bottom:0;z-index:9;
  background:rgba(255,253,252,.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);display:flex;
  max-width:560px;margin:0 auto;
  padding-bottom:env(safe-area-inset-bottom)}
nav .ic,nav svg{width:22px;height:22px;flex:none}
nav button{flex:1;background:none;padding:12px 4px 10px;color:var(--muted);
  font-size:11px;display:flex;flex-direction:column;align-items:center;gap:5px}
nav button.on{color:var(--deep);font-weight:600}
nav .ic{width:22px;height:22px;display:block}
nav .badge{position:absolute;transform:translate(14px,-4px);width:8px;height:8px;
  border-radius:50%;background:var(--rose)}
.hidden{display:none}

/* ── экран-заглушка вне Telegram ── */
.gate{min-height:100svh;display:flex;flex-direction:column;align-items:center;
      justify-content:center;text-align:center;padding:32px 24px;gap:6px}
.gate .mark{width:96px;height:96px;border-radius:50%;margin-bottom:10px;color:#fff;
  background:linear-gradient(158deg,var(--rose),var(--wine));
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:52px;font-weight:600}
.gate h1{font-size:30px}
.gate p{color:var(--muted);max-width:340px;margin:8px 0 20px}
.gate a{background:var(--deep);color:#fff;text-decoration:none;font-weight:600;
        padding:14px 28px;border-radius:14px}
