/* ============================================================
   Inscale United Partner Portal — tokens & primitives
   Перенесено 1:1 из дизайн-прототипа (Figma → Authentication).
   Сервер-сайд рендеринг: кнопки-ссылки и формы вместо React.
   ============================================================ */
:root{
  --ink:#080F21; --ink-2:#1D283A; --text-2:#344256; --muted:#65758B;
  --blue:#1194FF;
  --page:#FFFFFF; --slate-50:#F8FAFC; --slate-100:#F1F5F9; --slate-200:#E1E7EF; --slate-300:#CBD5E1;
  --success:#25BE86; --warning:#FB923C; --danger:#FF5151;
  --field-bg:rgba(8,15,33,0.04); --field-border:rgba(8,15,33,0.04); --field-h:56px;
  --card-grad:linear-gradient(180deg,#CAE9FE 0%,#F4F0F0 100%);
  --r-field:12px; --r-btn:12px; --r-card:48px; --r-pill:999px;
  --font-display:"Steppe","Steppe Trial","Onest",system-ui,sans-serif;
  --font-body:"Steppe","Steppe Trial","Onest",system-ui,sans-serif;
  --shadow-card:0 30px 80px -46px rgba(16,40,80,0.26);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--page);color:var(--text-2);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

.auth{min-height:100vh;display:flex;flex-direction:column;padding:0 24px 14px;background:var(--page);}
.topbar{flex:0 0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;}
.logo{display:inline-flex;align-items:center;gap:12px;user-select:none;text-decoration:none;}
.logo-badge{position:relative;width:40px;height:40px;border-radius:11px;overflow:hidden;flex:0 0 auto;background:linear-gradient(160deg,#41ABFF 0%,#1194FF 60%,#0E84E6 100%);box-shadow:0 4px 10px -4px rgba(17,148,255,0.5),inset 0 1px 1px rgba(255,255,255,0.4);}
.logo-badge .mark{position:absolute;left:50%;top:50%;width:50%;transform:translate(-50%,-50%);color:#fff;display:block;}
.logo-word{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:.5px;color:var(--ink);line-height:1;}
.logo-reg{font-size:10px;color:var(--ink);align-self:flex-start;margin:3px 0 0 1px;}
.pill-btn{border:none;background:var(--slate-100);color:var(--ink);font-family:var(--font-body);font-weight:500;font-size:16px;padding:0 24px;height:44px;border-radius:var(--r-pill);cursor:pointer;transition:background .15s,transform .12s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.pill-btn:hover{background:var(--slate-200);}
.pill-btn:active{transform:translateY(1px);}

.card{flex:1 1 auto;border-radius:var(--r-card);background:var(--card-grad);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;padding:72px 24px;position:relative;overflow:hidden;}
.form-col{width:522px;max-width:100%;display:flex;flex-direction:column;align-items:center;}

.auth-title{font-family:var(--font-display);font-weight:700;color:var(--ink);text-align:center;margin:0;text-wrap:balance;}
.auth-title.lockup{font-size:clamp(40px,3.8vw,73px);line-height:1.04;letter-spacing:-0.03em;width:max-content;max-width:96vw;text-wrap:initial;}
.auth-title.solo{font-size:50px;line-height:1.04;letter-spacing:-1px;}
.auth-sub{text-align:center;font-size:18px;line-height:1.45;font-weight:400;color:var(--ink);margin:16px auto 0;max-width:460px;text-wrap:pretty;}

.fields{display:flex;flex-direction:column;gap:24px;width:100%;}
.field{position:relative;display:flex;align-items:center;width:100%;}
.field input,.field select{width:100%;height:var(--field-h);border-radius:var(--r-field);border:1px solid var(--field-border);background:var(--field-bg);padding:0 18px;font-family:var(--font-body);font-weight:400;font-size:16px;color:var(--ink);outline:none;transition:border-color .15s,background .15s,box-shadow .15s;}
.field.has-icon input{padding-right:50px;}
.field input::placeholder{color:var(--muted);}
.field input:focus,.field select:focus{border-color:rgba(17,148,255,0.5);background:rgba(8,15,33,0.02);box-shadow:0 0 0 3px rgba(17,148,255,0.12);}
.field .eye{position:absolute;right:18px;width:18px;height:18px;display:grid;place-items:center;border:none;background:none;cursor:pointer;color:rgba(8,15,33,0.4);padding:0;}
.field .eye:hover{color:var(--ink);}
.field .eye .slash{opacity:0;transition:opacity .15s;}
.field .eye.on .slash{opacity:1;}
.field.select select{appearance:none;cursor:pointer;padding-right:44px;}
.field.select::after{content:"";position:absolute;right:20px;width:9px;height:9px;border-right:1.8px solid rgba(8,15,33,0.4);border-bottom:1.8px solid rgba(8,15,33,0.4);transform:rotate(45deg) translateY(-2px);pointer-events:none;}

.link-row{width:100%;margin-top:24px;}
.text-link{background:none;border:none;padding:0;font-family:var(--font-body);font-weight:400;font-size:16px;color:var(--ink);cursor:pointer;text-decoration:none;}
.text-link:hover{color:var(--blue);}

.btn{width:100%;height:var(--field-h);border:none;border-radius:var(--r-btn);font-family:var(--font-body);font-weight:500;font-size:16px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .12s,box-shadow .2s;text-decoration:none;}
.btn-accent{background:var(--ink);color:#fff;box-shadow:0 14px 28px -18px rgba(8,15,33,0.7);}
.btn-accent:hover{background:#11182e;}
.btn-accent:active{transform:translateY(1px);}
.btn-accent:disabled,.btn-accent.is-disabled{opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none;}
.btn-ghost{background:transparent;color:var(--ink);}
.btn-ghost:hover{color:var(--blue);}
.actions{width:100%;display:flex;flex-direction:column;gap:16px;align-items:center;}

.auth-foot{flex:0 0 auto;text-align:center;color:var(--muted);font-size:14px;font-weight:400;padding:16px 0 6px;}

.stepper{display:flex;align-items:center;justify-content:center;gap:14px;}
.step{display:flex;align-items:center;gap:12px;}
.step .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:15px;flex:0 0 auto;}
.step.active .dot{background:var(--ink);color:#fff;}
.step.idle .dot{background:var(--slate-300);color:#fff;}
.step .label{font-size:16px;font-weight:500;color:var(--ink);}
.step.idle .label{display:none;}
.stepper .bar{width:56px;height:2px;background:var(--slate-300);border-radius:2px;}

.rules{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:18px;padding:0 2px;}
.rule{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:400;color:var(--muted);}
.rule .box{width:16px;height:16px;border-radius:5px;background:var(--slate-300);flex:0 0 auto;display:grid;place-items:center;transition:background .15s;}
.rule .box svg{opacity:0;transition:opacity .15s;}
.rule.met .box{background:var(--success);}
.rule.met .box svg{opacity:1;}
.rule.met{color:var(--ink);}

.consent{font-size:14px;line-height:1.5;font-weight:400;color:var(--muted);width:100%;margin-top:16px;padding:0 2px;text-align:center;}
.consent a{color:var(--muted);text-decoration:underline;}

.success-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:560px;}
.success-check{width:72px;height:72px;border-radius:50%;background:var(--success);display:grid;place-items:center;margin-bottom:26px;box-shadow:0 14px 30px -12px rgba(37,190,134,0.7);}
.success-title{font-family:var(--font-display);font-weight:700;font-size:56px;color:var(--ink);margin:0 0 16px;line-height:1.02;letter-spacing:-1.5px;}
.success-text{font-size:18px;line-height:1.5;font-weight:400;color:var(--ink);margin:0 0 28px;text-wrap:pretty;}

.gap-title{height:28px;}
.gap-lg{height:28px;}

.screen-enter{animation:fadeUp .3s ease;}
@keyframes fadeUp{from{transform:translateY(8px);opacity:.4;}to{transform:translateY(0);opacity:1;}}

@media (max-width:720px){
  .form-col{width:100%;}
  .auth-title.lockup{font-size:40px;letter-spacing:-1px;}
  .auth-title.solo{font-size:34px;}
  .success-title{font-size:36px;}
  .card{padding:48px 18px;border-radius:28px;}
}
