:root{--bg-page: #fafafa;--bg-surface: #ffffff;--text-1: #18181b;--text-2: #52525b;--border: #e4e4e7;--accent: #4f46e5;--accent-hover: #4338ca;--danger: #be123c;--ok: #059669;--radius: 6px;--radius-xl: 14px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 0 0 1px var(--border)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-page);color:var(--text-1)}.page-loading{padding:48px;text-align:center;color:var(--text-2)}.auth-card{max-width:400px;margin:10vh auto;padding:32px;background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.auth-card h1{font-size:20px;margin:0 0 24px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--text-2);margin-bottom:6px}.field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.row{display:flex;gap:8px}.row .field{flex:1}.btn{display:inline-block;padding:10px 16px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:14px;cursor:pointer}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:13px}.tabs{display:flex;gap:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.tab{padding:8px 0;font-size:14px;color:var(--text-2);cursor:pointer;border:none;background:none}.tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.form-error{color:var(--danger);font-size:13px;margin:8px 0;min-height:18px}.form-ok{color:var(--ok);font-size:13px;margin:8px 0}.muted{color:var(--text-2);font-size:13px}.account-section{margin-bottom:32px}.account-section h2{font-size:15px;margin:0 0 12px}.kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.kv .k{color:var(--text-2)}
