*{box-sizing:border-box}body{color:#f2ece6;background:#0f0a0a;margin:0;font-family:system-ui,sans-serif}.centered{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;padding:1rem;display:flex}.login-form{flex-direction:column;gap:.75rem;width:100%;max-width:320px;display:flex}.login-form input,.login-form button{color:inherit;background:#1a1212;border:1px solid #4a3a3a;border-radius:8px;padding:.6rem .8rem;font-size:.95rem}.login-form button{cursor:pointer;background:#7c3aed;border:none;font-weight:600}.error{color:#f87171;font-size:.85rem}.layout{min-height:100vh;display:flex}.sidebar{border-right:1px solid #2a1e1e;flex-direction:column;flex-shrink:0;gap:1.5rem;width:200px;padding:1.5rem 1rem;display:flex}.sidebar h1{margin:0;font-size:1.1rem}.greeting{color:#b8a8a8;margin:-1rem 0 0;font-size:.85rem}.sidebar nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.nav-link{color:inherit;border-radius:8px;padding:.5rem .7rem;font-size:.9rem;text-decoration:none}.nav-link:hover{background:#1a1212}.nav-link.active{background:#2a1e1e;font-weight:600}.sidebar button{color:inherit;cursor:pointer;background:0 0;border:1px solid #4a3a3a;border-radius:999px;padding:.4rem .9rem}.content{flex:1;max-width:960px;padding:2rem 1.5rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #2a1e1e;padding:.6rem .5rem}.badge{background:#2a1e1e;border-radius:999px;align-items:center;gap:.35rem;margin:.1rem;padding:.15rem .5rem;font-size:.78rem;display:inline-flex}.badge button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.add-role{align-items:center;gap:.35rem;display:inline-flex}.add-role select,.add-role button{color:inherit;background:#1a1212;border:1px solid #4a3a3a;border-radius:6px;padding:.25rem .5rem;font-size:.8rem}.add-role button{cursor:pointer}
