*{box-sizing:border-box}:root{--bg:#0f1116;--panel:#171a21;--panel-2:#1e222b;--border:#262b36;--text:#e8ecf1;--muted:#8b93a3;--accent:#4f7cff;--accent-2:#3a63d8;--danger:#e05252}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:8px 14px;font-family:inherit;font-size:14px}button:hover{background:var(--accent-2)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{border:1px solid var(--border);color:var(--text);background:0 0}button.danger{background:var(--danger)}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px}input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.app{flex-direction:column;min-height:100%;display:flex}.navbar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:12px 24px;display:flex}.brand{color:var(--accent);font-weight:700}.navbar nav{flex:1;gap:16px;display:flex}.navbar nav a{color:var(--text);padding:6px 0;text-decoration:none}.navbar nav a:hover{color:var(--accent)}.navbar .user{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.navbar .user small{color:var(--muted)}.content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h1{margin:0;font-size:22px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:18px}.card h2{color:var(--muted);margin:0 0 8px;font-size:16px}.muted{color:var(--muted);font-size:13px}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.filters{gap:10px;margin-bottom:14px;display:flex}.filters input{flex:1}.filters select{width:180px}.table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;font-size:14px;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.table th{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.table tr:last-child td{border-bottom:0}.table .actions{justify-content:flex-end;gap:6px;display:flex}.table .actions button{padding:4px 10px;font-size:12px}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:32px}.login-card h1{text-align:center;color:var(--accent);margin:0 0 24px;font-size:22px}.login-card form{flex-direction:column;gap:8px;display:flex}.login-card label{color:var(--muted);margin-top:8px;font-size:13px}.login-card button{margin-top:16px}.modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:24px;overflow-y:auto}.modal.large{max-width:720px}.modal h2{margin:0 0 16px;font-size:18px}.modal form{flex-direction:column;gap:8px;display:flex}.modal label{color:var(--muted);margin-top:8px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.permissions{flex-direction:column;gap:14px;margin-top:8px;display:flex}.perm-group h4{color:var(--muted);text-transform:uppercase;margin:0 0 6px;font-size:12px}.perm-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.perm-item{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.perm-item input{width:auto}.error{color:#ffb1b1;background:#e0525226;border:1px solid #e0525266;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:13px}.info{color:var(--muted);margin:0 0 12px;font-size:13px}.loading{height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}
