:root{--brand-primary: #1E5BF0;--brand-accent: #16C8E0;--brand-gradient: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));--ink-950: #0A1330;--ink-900: #0E1A33;--text-heading: #0E1726;--text-body: #56627a;--text-muted: #64748B;--text-faint: #7b889c;--surface: #fff;--surface-soft: #fbfcfe;--border-hairline: #eef2f7;--border-input: #e4eaf2;--danger: #D14343;--danger-bg: #FCEBEB;--success: #1A8A5F;--success-bg: #E9F7F0;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-card: 0 10px 30px rgba(14, 23, 38, .06);--shadow-btn: 0 10px 24px rgba(30, 91, 240, .28);--font-display: "Sora", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", sans-serif}*{box-sizing:border-box}body.auth-body{margin:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:var(--surface-soft);color:var(--text-body)}body.auth-body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body.auth-body>main{flex:1 0 auto;display:flex;flex-direction:column}body.auth-body>main>*{width:100%}.auth-link{text-decoration:none;color:inherit}.auth-nav{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--border-hairline)}.auth-nav__inner{max-width:1280px;margin:0 auto;height:64px;display:flex;align-items:center;gap:11px;padding:0 clamp(20px,5vw,44px)}.auth-nav__logo{width:32px;height:32px;border-radius:9px;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;flex:none}.auth-nav__name{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--text-heading);letter-spacing:.01em}.auth-nav__account{margin-left:auto;display:flex;align-items:center;gap:14px}.auth-nav__account-phone{font-size:13.5px;color:var(--text-muted)}.auth-nav__logout{border:none;background:none;padding:0;font-size:13.5px;font-weight:600;color:var(--brand-primary);cursor:pointer;font-family:var(--font-body)}.auth-nav__logout:hover{opacity:.8}.auth-nav__logout:disabled{opacity:.5;cursor:not-allowed}.auth-shell{flex:1 0 auto;display:flex;align-items:center;justify-content:center;padding:clamp(32px,6vw,64px) 20px;background:radial-gradient(900px 380px at 80% -10%,#eaf1ff,#eaf1ff00 60%),var(--surface-soft)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:clamp(28px,5vw,40px)}.auth-card__mark{width:34px;height:34px;border-radius:9px;background:var(--brand-gradient);margin-bottom:18px}.auth-card__title{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text-heading);margin:0 0 6px}.auth-card__subtitle{font-size:14px;color:var(--text-faint);margin:0 0 26px}.auth-field{margin-bottom:16px}.auth-field__label{display:block;font-size:13px;font-weight:600;color:var(--text-heading);margin-bottom:6px}.auth-field__input{width:100%;height:42px;padding:0 14px;font-size:14.5px;font-family:var(--font-body);color:var(--text-heading);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-field__input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #1e5bf01f}.auth-field__input[aria-invalid=true]{border-color:var(--danger)}.auth-field__hint{font-size:12.5px;color:var(--text-faint);margin-top:6px}.auth-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-muted);margin:4px 0 20px}.auth-check input{margin-top:3px}.auth-check a{color:var(--brand-primary);text-decoration:none}.auth-btn{width:100%;height:44px;border:none;border-radius:var(--radius-sm);background:var(--brand-gradient);color:#fff;font-size:15px;font-weight:700;font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-btn);transition:opacity .15s ease,transform .05s ease}.auth-btn:hover{opacity:.94}.auth-btn:active{transform:scale(.99)}.auth-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-alert{display:none;font-size:13.5px;color:#a32d2d;background:var(--danger-bg);border:1px solid #F0999978;border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:18px}.auth-alert.is-visible{display:block}.auth-alert--success{color:var(--success);background:var(--success-bg);border-color:#a6e4c9}.auth-footer-link{text-align:center;font-size:13.5px;color:var(--text-faint);margin-top:22px}.auth-footer-link a{color:var(--brand-primary);font-weight:600;text-decoration:none}@media(max-width:480px){.auth-card{border-radius:var(--radius-md)}}
