*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d27;--border: #2d3147;--accent: #6c8ef5;--accent-hover: #8aa3ff;--text: #e2e4f0;--text-muted: #7c80a0;--danger: #e05a5a;--success: #4caf7d;--radius: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.6rem 1.2rem;font-size:.9rem;font-family:var(--font);transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}input,select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:.9rem;padding:.6rem .9rem;width:100%;outline:none;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent)}label{font-size:.85rem;color:var(--text-muted);display:block;margin-bottom:.3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.error{color:var(--danger);font-size:.85rem;margin-top:.4rem}.muted{color:var(--text-muted)}nav{background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 2rem;height:56px;gap:2rem}nav .logo{font-weight:700;font-size:1.1rem;color:var(--accent)}nav a{color:var(--text-muted);font-size:.9rem}nav a:hover,nav a.active{color:var(--text)}nav .spacer{flex:1}.page{max-width:860px;margin:0 auto;padding:2rem 1rem}.badge{display:inline-block;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:500}.badge-pending{background:#3a3000;color:#f0c040}.badge-processed{background:#003a1a;color:var(--success)}.badge-error{background:#3a0000;color:var(--danger)}
