:root{--bg: #f7f8fa;--surface: #ffffff;--border: #e2e5ea;--text: #17181c;--text-muted: #6b7280;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff4ff;--danger: #dc2626;--danger-soft: #fef2f2;--success: #16a34a;--success-soft: #ecfdf3;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .05)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:14px;cursor:pointer}input{font-family:inherit;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:9px 16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:500}.btn:hover{background:#f2f3f5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-block{width:100%}input[type=text],input[type=email],input[type=password]{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:var(--surface);color:var(--text);outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.help-text{font-size:13px;color:var(--text-muted)}.alert{border-radius:8px;padding:10px 14px;font-size:13.5px;border:1px solid transparent}.alert-danger{background:var(--danger-soft);color:#991b1b;border-color:#fecaca}.alert-success{background:var(--success-soft);color:#166534;border-color:#bbf7d0}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.15);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
