/* auth.css — общие стили standalone-страниц (вход, сброс пароля, ошибки 400/403/csrf). */
/* Дизайн-система лендинга /open (DeFi-БАЗА): бежевый фон, Inter + PT Mono, лаймовая pill-кнопка. */

/* === Self-hosted шрифты (Inter — текст, PT Mono — бренд); субсеты cyrillic + latin === */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400-cyrillic.de93fdc85e3d.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400-latin.260c81a4759b.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500-cyrillic.de93fdc85e3d.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500-latin.260c81a4759b.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600-cyrillic.de93fdc85e3d.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600-latin.260c81a4759b.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'PT Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/pt-mono-400-cyrillic.6669881bc10b.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'PT Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/pt-mono-400-latin.b1a08a87c076.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* === Дизайн-токены (зеркало /open :root) === */
:root{
  --color-bg:#E9E9E7;
  --color-surface:#FFFFFF;
  --color-text:#0A0A0A;
  --color-text-muted:#8A8A8A;
  --color-green:#C3FD72;
  --color-green-hover:#B4F25A;
  --color-green-tint:rgba(177,238,91,.30);
  --color-divider:#CFCFCD;
  --tg:#229ED9;
  --radius-card:24px;
  --radius-input:16px;
  --radius-pill:999px;
}

/* Base reset */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:500;min-height:100vh;background:var(--color-bg);color:var(--color-text)}

/* Page layout */
.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:var(--color-bg)}

/* Card */
.auth-card{width:100%;max-width:460px;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:0 12px 40px rgba(0,0,0,.10);padding:40px 36px 32px}

/* Brand */
.auth-brand{font-family:'PT Mono','Menlo','Courier New',monospace;font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;display:block;text-align:center;margin-bottom:1.75rem}

/* Typography */
.auth-title{font-size:1.5rem;font-weight:700;letter-spacing:-.4px;color:var(--color-text);margin:0 0 .375rem}
.auth-subtitle{font-size:.9375rem;color:var(--color-text-muted);margin:0 0 1.75rem}
.auth-text{font-size:.875rem;color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.5}

/* Inputs */
.input-wrap{position:relative;margin-bottom:1.25rem}
.input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}
.auth-input{width:100%;padding:16px 18px;border:1.5px solid #E4E4E4;border-radius:var(--radius-input);font-size:16px;font-family:inherit;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.auth-input:focus{border-color:var(--color-text);box-shadow:0 0 0 3px var(--color-green-tint)}
.auth-input::placeholder{color:var(--color-text-muted)}
.auth-input-icon{padding-left:48px}
.label{display:block;font-size:.9375rem;font-weight:500;color:var(--color-text);margin-bottom:.4375rem}

/* Button — лаймовая pill */
.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;border:none;border-radius:var(--radius-pill);font-size:17px;font-weight:600;letter-spacing:-.01em;font-family:inherit;color:var(--color-text);background:var(--color-green);box-shadow:0 14px 34px rgba(190,235,113,.28);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-decoration:none}
.auth-btn:hover{background:var(--color-green-hover);transform:translateY(-2px);box-shadow:0 20px 44px rgba(190,235,113,.38)}
.auth-btn:active{transform:translateY(0);box-shadow:0 8px 20px rgba(190,235,113,.30)}
.auth-btn:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}
.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}

/* Errors & hints */
.field-error{margin-top:.25rem;font-size:.75rem;color:#dc2626}
.field-hint{margin-top:.25rem;font-size:.75rem;color:var(--color-text-muted);line-height:1.4}
.field-hint ul{list-style:disc;padding-left:1.25rem;margin:.25rem 0 0}
.field-hint li{margin-bottom:.125rem}
.form-error-banner{margin-bottom:1rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-input);font-size:.875rem;color:#b91c1c}
.form-error-banner ul{list-style:none;margin:0;padding:0}

/* Link */
.auth-link{font-size:.8125rem;color:var(--color-text);text-decoration:none;transition:opacity .15s}
.auth-link:hover{opacity:.6;text-decoration:underline}

/* Icon circle */
.icon-circle{width:3.5rem;height:3.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}

/* Footer */
.auth-footer{margin-top:1.5rem;text-align:center;font-size:.75rem;color:var(--color-text-muted)}
.auth-footer a{color:var(--color-text-muted);text-decoration:none;transition:color .15s}
.auth-footer a:hover{color:var(--color-text)}

/* Utility */
.hidden{display:none!important}

/* Mobile */
@media(max-width:480px){
  .auth-card{box-shadow:0 8px 28px rgba(0,0,0,.10);border-radius:20px;padding:28px 22px 24px;max-width:100%}
  .auth-page{padding:1rem;justify-content:flex-start;padding-top:2rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
