:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#111827;background:#f8fbfb;letter-spacing:0}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-width:320px;background-color:#f8fbfb;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:64px 64px;font-size:14px}body:before,body:after{content:"";position:fixed;z-index:-1;width:30vw;height:30vw;opacity:.18;filter:blur(70px);pointer-events:none}body:before{top:-12vw;right:-8vw;background:#5eead4}body:after{bottom:-14vw;left:-10vw;background:#67e8f9}button,input{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.auth-shell{width:min(100%,480px);min-height:100vh;display:flex;align-items:center;flex-direction:column;margin:0 auto;padding:80px 16px 44px}
.auth-brand{display:flex;align-items:center;flex-direction:column;text-align:center}.auth-brand>span{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(13,148,136,.18)}.auth-brand img{width:54px;height:54px;object-fit:contain;border-radius:13px}.auth-brand strong{margin-top:14px;color:#0f9f94;font-size:31px;line-height:1;font-weight:750}.auth-brand small{margin-top:11px;color:#64748b;font-size:14px}
.auth-card{width:100%;margin-top:32px;padding:34px 32px;border:1px solid rgba(229,231,235,.9);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 18px 48px rgba(15,23,42,.1);backdrop-filter:blur(20px)}.auth-card header{text-align:center}.auth-card h1{margin:0;font-size:24px}.auth-card header p{margin:8px 0 0;color:#64748b}
.auth-form{display:grid;gap:18px;margin-top:28px}.field{display:grid;gap:7px}.field-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.field label{color:#374151;font-weight:500}.field a{color:#0d9488;font-size:12px}.input-wrap{position:relative}.input-wrap>svg{position:absolute;left:14px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:#9ca3af}.input-wrap input{width:100%;height:44px;padding:0 44px;border:1px solid #dfe4eb;border-radius:12px;color:#111827;background:#fff;outline:0}.input-wrap input:focus{border-color:#14b8a6;box-shadow:0 0 0 3px rgba(20,184,166,.12)}.input-wrap input::placeholder{color:#9ca3af}.password-toggle{position:absolute;right:8px;top:50%;width:34px;height:34px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:8px;color:#9ca3af;background:transparent}.password-toggle:hover{color:#0d9488;background:#f0fdfa}.password-toggle svg{width:17px;height:17px}.field-help{color:#64748b;font-size:11px}
.auth-submit{height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;color:#fff;background:#0f9f94;font-weight:650;box-shadow:0 8px 16px rgba(13,148,136,.2)}.auth-submit:hover{background:#0d9488}.auth-submit:disabled{cursor:not-allowed;opacity:.65}.auth-submit svg{width:17px;height:17px}
.auth-error{margin-top:16px;padding:10px 12px;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:12px;line-height:1.55}.auth-success{border-color:#99f6e4;color:#0f766e;background:#f0fdfa}
.auth-switch{margin:24px 0 0;color:#64748b}.auth-switch a{margin-left:7px;color:#0d9488;font-weight:600}.auth-shell footer{margin-top:28px;color:#94a3b8;font-size:12px}.auth-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);padding:11px 16px;border-radius:10px;color:#fff;background:#0f172a;box-shadow:0 12px 30px rgba(15,23,42,.2)}
.dark{color:#f3f4f6;background:#020617}.dark body{background-color:#020617;background-image:linear-gradient(rgba(51,65,85,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(51,65,85,.22) 1px,transparent 1px)}.dark body:before{background:#0f766e}.dark body:after{background:#155e75}.dark .auth-brand>span{background:#0f172a;box-shadow:0 12px 30px rgba(20,184,166,.12)}.dark .auth-brand strong{color:#2dd4bf}.dark .auth-brand small,.dark .auth-card header p,.dark .auth-switch{color:#9ca3af}.dark .auth-card{border-color:#334155;background:rgba(15,23,42,.94);box-shadow:0 20px 60px rgba(0,0,0,.32)}.dark .field label{color:#e5e7eb}.dark .input-wrap input{border-color:#475569;color:#f3f4f6;background:#1e293b}.dark .input-wrap input::placeholder{color:#94a3b8}.dark .password-toggle:hover{color:#5eead4;background:#334155}.dark .field-help{color:#94a3b8}.dark .auth-error{border-color:#7f1d1d;color:#fca5a5;background:#450a0a}.dark .auth-success{border-color:#115e59;color:#5eead4;background:#134e4a}
@media(max-width:540px){.auth-shell{justify-content:center;padding:30px 14px}.auth-brand>span{width:56px;height:56px}.auth-brand img{width:48px;height:48px}.auth-brand strong{font-size:27px}.auth-card{margin-top:25px;padding:28px 20px}.auth-card h1{font-size:22px}}
@media(max-height:760px) and (min-width:541px){.auth-shell{padding-top:32px}.auth-brand>span{width:52px;height:52px}.auth-brand img{width:45px;height:45px}.auth-brand strong{font-size:26px}.auth-brand small{margin-top:7px}.auth-card{margin-top:22px;padding-top:26px;padding-bottom:26px}.auth-form{margin-top:20px;gap:14px}.auth-switch{margin-top:18px}.auth-shell footer{margin-top:18px}}
