/* Public login keeps the landing page's blue palette. */
*{box-sizing:border-box;margin:0;padding:0}
html[data-theme] body.auth-login{font-family:Inter,system-ui,sans-serif;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--app-primary) 13%,transparent),transparent 65%),var(--app-bg);color:var(--app-text)}
.auth-login .container{width:100%;max-width:440px}
.auth-login .auth-header{text-align:center;margin-bottom:28px;background:transparent}
.auth-login .logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--app-text);margin-bottom:30px}
.auth-login .logo-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:var(--app-primary-strong);color:#fff;font-size:23px;box-shadow:0 6px 20px #3566d430}
.auth-login .logo-text{font-size:24px;font-weight:700;letter-spacing:-.7px}
.auth-login .logo-text span{color:var(--app-primary)}
.auth-login h1{font-size:26px;letter-spacing:-.6px;margin-bottom:10px;line-height:1.2}
.auth-login .auth-header p{font-size:14px;line-height:1.65;color:var(--app-muted);max-width:310px;margin:auto}
.auth-login .card{padding:32px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:20px;box-shadow:0 20px 60px #00000018}
.auth-login .form-group{margin-bottom:22px}
.auth-login .form-group label{display:block;margin-bottom:9px;font-weight:500;font-size:14px}
.auth-login .input-group{position:relative}
.auth-login .input-group i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--app-muted);pointer-events:none;font-size:15px}
html[data-theme] .auth-login .form-control{display:block;width:100%;min-height:50px;padding:13px 16px 13px 44px;background:var(--app-input);border:1px solid var(--app-border);border-radius:10px;color:var(--app-text);font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}
.auth-login .form-control:focus{outline:none;border-color:var(--app-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 16%,transparent)}
.auth-login .form-control::placeholder{color:var(--app-muted);opacity:.85}
.auth-login .form-row{display:flex;justify-content:flex-end;align-items:center;margin:-3px 0 24px;gap:12px;flex-wrap:wrap}
.auth-login a{color:var(--app-primary);text-underline-offset:4px}
.auth-login .forgot-link{font-size:14px;font-weight:500;text-decoration:none}
.auth-login .btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;padding:14px;border-radius:10px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
html[data-theme] .auth-login .btn-primary{background:var(--app-primary-strong);border:1px solid var(--app-primary-strong);color:#fff;box-shadow:0 5px 16px #3566d426}
html[data-theme] .auth-login .btn-primary:hover{background:var(--app-primary-strong)}
.auth-login :focus-visible{outline:2px solid var(--app-primary);outline-offset:4px}
.auth-login .divider{display:flex;align-items:center;gap:16px;margin:26px 0;color:var(--app-muted);font-size:13px}
.auth-login .divider::before,.auth-login .divider::after{content:'';flex:1;height:1px;background:var(--app-border)}
.auth-login .footer{text-align:center;font-size:14px;line-height:1.7;color:var(--app-muted)}
.auth-login .footer a{font-weight:600;text-decoration:none;white-space:nowrap}
.auth-login .back-link{display:inline-flex;align-items:center;gap:9px;margin-top:26px;color:var(--app-muted);text-decoration:none;font-size:14px}
.auth-login a:hover{text-decoration:underline}
.auth-login .alert{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:10px;margin-bottom:22px;font-size:14px;line-height:1.5}
.auth-login .alert-error{color:var(--app-danger);background:color-mix(in srgb,var(--app-danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--app-danger) 35%,transparent)}
@media(max-width:480px){html[data-theme] body.auth-login{padding:28px 16px}.auth-login .card{padding:26px 22px}.auth-login .logo-text{font-size:22px}.auth-login h1{font-size:24px}}
.auth-register .container{max-width:580px}
.auth-register .form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;margin:0;gap:16px}
.auth-register .form-group{min-width:0}
.auth-register .terms{font-size:12px;line-height:1.6;text-align:center;color:var(--app-muted);margin-top:18px}
.auth-register .footer{margin-top:24px}
.auth-register #phone-hint{color:var(--app-muted);font-size:13px;margin-bottom:18px}
@media(max-width:540px){.auth-register .form-row{grid-template-columns:1fr;gap:0}}
