:root{--bg: #0e1116;--panel: #161b22;--border: #2a3139;--text: #e6edf3;--muted: #8b949e;--accent: #2f81f7;--error: #f85149;--ok: #3fb950}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.login h1{margin-bottom:0}button{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.5rem .9rem;cursor:pointer;font-size:.9rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--panel)}.topbar .brand{font-weight:700}.topbar nav{display:flex;gap:1rem;flex:1}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--text)}.topbar .user{display:flex;align-items:center;gap:.75rem}.topbar .user span{color:var(--muted);font-size:.85rem}main{padding:1.5rem;max-width:1100px;margin:0 auto}h1{font-size:1.4rem}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin:1rem 0}.card.error{border-color:var(--error);color:var(--error)}.card.ok{border-color:var(--ok);color:var(--ok)}table.grid{width:100%;border-collapse:collapse;margin-top:.5rem}table.grid th,table.grid td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);font-size:.9rem}table.grid th{color:var(--muted);font-weight:600}.actions{display:flex;gap:.5rem}.badge{margin-left:.4rem;padding:.05rem .4rem;border-radius:10px;background:#30363d;font-size:.7rem;color:var(--muted)}.form .row{display:flex;gap:.6rem;margin-top:.6rem;flex-wrap:wrap;align-items:center}.form input,.form select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem;flex:1;min-width:160px}.checkbox{display:flex;align-items:center;gap:.4rem;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1.25rem;max-width:680px;width:90%}.modal pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.75rem;overflow-x:auto;font-size:.8rem}.mfa-setup .qr-code{background:#fff;padding:1rem;border-radius:8px;display:inline-block;margin:1rem 0}.mfa-setup .secret-code{font-size:1.1rem;background:var(--panel);padding:.5rem 1rem;border-radius:4px;display:inline-block;margin:.5rem 0;word-break:break-all}.mfa-setup .code-input{font-size:1.5rem;text-align:center;letter-spacing:.5rem;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:8px;padding:.75rem 1rem;width:200px}.mfa-setup .code-input:focus{outline:none;border-color:var(--accent)}.mfa-setup hr{border:none;border-top:1px solid var(--border);width:100%;max-width:400px;margin:1.5rem 0}.mfa-setup button.secondary{background:transparent;margin-top:.5rem}.mfa-setup .error{color:var(--error);margin:.5rem 0}
