/* Прогресс заявки (общий для кабинета, страницы отслеживания и админки) */
.ico{ width:1.15em; height:1.15em; vertical-align:-.2em; flex:none; }
.rp{ box-sizing:border-box; --rp-c:#2b86ff; --rp-c2:#6fb1ff; --rp-bg:rgba(127,140,165,.2); --rp-ink:inherit; width:100%; }
.rp-new{ --rp-c:#f0a020; --rp-c2:#ffd27a; }
.rp-work{ --rp-c:#2b86ff; --rp-c2:#7bbcff; }
.rp-wait{ --rp-c:#d98a1c; --rp-c2:#f3c26b; }
.rp-done{ --rp-c:#1fa971; --rp-c2:#6fe0ae; }
.rp-rej{ --rp-c:#e0485c; --rp-c2:#ff9aa8; }
.rp-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:7px; font-size:13px; }
.rp-head b{ color:var(--rp-c); font-weight:800; letter-spacing:.01em; }
.rp-pct{ font-variant-numeric:tabular-nums; font-weight:700; opacity:.75; font-size:12px; }
.rp-track{ position:relative; height:10px; border-radius:99px; background:var(--rp-bg); overflow:hidden; }
.rp-fill{ position:absolute; inset:0 auto 0 0; width:calc(var(--p) * 1%); border-radius:99px;
  background:linear-gradient(90deg,var(--rp-c),var(--rp-c2)); box-shadow:0 0 14px color-mix(in srgb,var(--rp-c) 55%,transparent);
  transform-origin:left; animation:rpGrow 1.1s cubic-bezier(.22,1,.36,1) both; }
.rp-work .rp-fill,.rp-new .rp-fill{ background-image:linear-gradient(90deg,var(--rp-c),var(--rp-c2)),repeating-linear-gradient(115deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px);
  background-blend-mode:overlay; background-size:100% 100%,32px 100%; animation:rpGrow 1.1s cubic-bezier(.22,1,.36,1) both,rpStripe 1.2s linear infinite; }
.rp-new .rp-fill{ animation:rpGrow 1.1s cubic-bezier(.22,1,.36,1) both,rpStripe 1.2s linear infinite,rpBreath 2s ease-in-out 1.2s infinite; }
.rp-done .rp-fill::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%); transform:translateX(-120%); animation:rpShine 2.6s 1.2s ease-in-out infinite; }
@keyframes rpGrow{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes rpStripe{ to{ background-position:0 0,32px 0; } }
@keyframes rpBreath{ 50%{ opacity:.65; } }
@keyframes rpShine{ to{ transform:translateX(120%); } }
.rp-steps{ list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.rp-steps li{ display:flex; flex-direction:column; align-items:center; gap:5px; font-size:11.5px; font-weight:600; opacity:.5; text-align:center; transition:opacity .3s,transform .3s; }
.rp-steps li .ico{ width:30px; height:30px; padding:6px; border-radius:50%; border:1.8px solid var(--rp-bg); background:transparent; box-sizing:border-box; transition:all .35s; }
.rp-steps li.on,.rp-steps li.cur{ opacity:1; }
.rp-steps li.on .ico{ background:var(--rp-c); border-color:var(--rp-c); color:#fff; }
.rp-steps li.cur .ico{ border-color:var(--rp-c); color:var(--rp-c); box-shadow:0 0 0 0 color-mix(in srgb,var(--rp-c) 50%,transparent); animation:rpPulse 1.8s ease-out infinite; }
@keyframes rpPulse{ to{ box-shadow:0 0 0 9px transparent; } }
.rp-sub{ margin-top:10px; font-size:12.5px; opacity:.8; line-height:1.4; }
.rp-big{ padding:18px 20px; border-radius:20px; background:rgba(127,140,165,.08); border:1px solid rgba(127,140,165,.18); }
.rp-big .rp-track{ height:14px; }
.rp-big .rp-head{ font-size:15px; } .rp-big .rp-pct{ font-size:15px; }
.rp-big .rp-steps li{ font-size:12.5px; } .rp-big .rp-steps li .ico{ width:38px; height:38px; padding:8px; }
.rp-mini{ display:flex; align-items:center; gap:9px; margin:8px 0 2px; }
.rp-mini .rp-track{ flex:1; height:6px; } .rp-mini .rp-pct{ white-space:nowrap; font-size:11px; color:var(--rp-c); opacity:1; }
.tk-card .rp{ margin:10px 0 2px; max-width:340px; }
.tk-card .rp-steps,.tk-card .rp-sub{ display:none; } .tk-card .rp-head{ margin-bottom:5px; font-size:12px; }
@media (prefers-reduced-motion:reduce){ .rp-fill,.rp-fill::after,.rp-steps li .ico{ animation:none !important; } }

/* ---------- Помощник форм ---------- */
.fa-banner{ position:fixed; left:50%; bottom:18px; z-index:9998; display:flex; align-items:center; gap:14px; max-width:min(92vw,520px); padding:12px 16px; border-radius:16px;
  background:#16233d; color:#fff; font:600 13.5px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; box-shadow:0 14px 40px rgba(0,0,0,.35);
  transform:translate(-50%,140%); transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
.fa-banner.on{ transform:translate(-50%,0); }
.fa-banner button{ appearance:none; border:0; border-radius:10px; padding:7px 12px; font:700 12.5px system-ui; background:rgba(255,255,255,.16); color:#fff; cursor:pointer; white-space:nowrap; }
.fa-banner button:hover{ background:rgba(255,255,255,.28); }
#faNet{ background:#8a1f2e; }
.fa-count{ text-align:right; font-size:11.5px; opacity:.55; margin-top:4px; font-variant-numeric:tabular-nums; transition:color .2s,opacity .2s; }
.fa-count.warn{ opacity:1; color:#d98a1c; }
input:user-invalid,textarea:user-invalid,select:user-invalid{ border-color:#e0485c !important; box-shadow:0 0 0 3px rgba(224,72,92,.15); }
input:user-valid:not([type=checkbox]):not([type=radio]):not(:placeholder-shown){ border-color:rgba(31,169,113,.7); }
@media (prefers-reduced-motion:reduce){ .fa-banner{ transition:none; } }
