:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1080px;margin:0 auto;padding:2rem}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left}.user-chip{display:flex;align-items:center;gap:.75rem}.tabs{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.tabs button.selected,.role-list button.selected{border-color:#646cff;font-weight:600}.card{padding:1.5em;text-align:left}.login{max-width:360px;margin:2rem auto 0;display:flex;flex-direction:column;gap:.75rem}label{display:flex;flex-direction:column;gap:.25rem;text-align:left;margin:.4rem 0}label.inline{flex-direction:row;align-items:center;gap:.4rem;margin-right:1rem;display:inline-flex}input,select{padding:.45rem;font-size:1rem}.error{color:#c0392b}.notice{color:#27ae60}.session-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}table{border-collapse:collapse;width:100%;margin:.5rem 0}th,td{border:1px solid #8884;padding:.4rem .6rem;text-align:left}td.center{text-align:center}.health,.role-list{list-style:none;padding:0}.role-list li{margin-bottom:.3rem}.role-list button{width:100%;text-align:left}.roles-layout,.structure-layout{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:1.5rem;align-items:start}.structure-layout{grid-template-columns:1fr 1.4fr}.editor{border:1px solid #8884;border-radius:8px;padding:1rem;margin-top:1rem}.actions,.inline-form{display:flex;gap:.5rem;margin-top:.75rem}button.danger{border-color:#c0392b;color:#c0392b}fieldset{border:1px solid #8884;border-radius:6px;margin:.5rem 0}@media(max-width:800px){.roles-layout,.structure-layout{grid-template-columns:1fr}}
