:root{--bg: #0f172a;--bg-soft: #1e293b;--bg-card: #1e293b;--border: #334155;--text: #e2e8f0;--text-dim: #94a3b8;--primary: #3b82f6;--primary-hover: #2563eb;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:15px}a{color:var(--primary);text-decoration:none}input,select,textarea{width:100%;padding:11px 13px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary)}button{cursor:pointer;border:none;border-radius:8px;padding:11px 16px;font-size:15px;font-weight:600;background:var(--primary);color:#fff}button:hover{background:var(--primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}button.danger{background:var(--danger)}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;color:var(--text-dim);font-size:13px}.error-text{color:var(--danger);font-size:13px;margin:8px 0}.muted{color:var(--text-dim)}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:32px}.auth-card h1{margin:0 0 4px;font-size:26px;letter-spacing:4px}.auth-card .sub{color:var(--text-dim);margin-bottom:24px;font-size:13px}.auth-card .foot{text-align:center;margin-top:18px;font-size:13px;color:var(--text-dim)}
