@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg-main:#f3f7fb;--surface:#fff;--surface-muted:#f9fbfd;--border:#d6e1ea;--border-soft:#e4ebf2;--text-color:#15283d;--text-muted:#4d6074;--accent:#0d8e97;color:var(--text-color);background-color:var(--bg-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 0% 0%, #0d8e971f 0, transparent 40%), radial-gradient(circle at 100% 100%, #0b7ea21f 0, transparent 35%), var(--bg-main);min-height:100vh;margin:0}#root{max-width:1100px;margin:0 auto}h1,h2,h3{color:var(--text-color);margin:0;font-family:Space Grotesk,sans-serif}p{margin:0}.app-shell{min-height:100vh;padding:1.5rem}.app-topbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.brand-title{letter-spacing:-.02em;margin:0;font-size:2.2rem}.brand-subtitle{color:var(--text-muted);margin:.25rem 0 0}.auth-nav{gap:.75rem;display:flex}.app-main{gap:1rem;display:grid}.content-card,.welcome-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:0 14px 30px #0c234014}.welcome-panel{text-align:center;padding:2rem 1rem}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{margin:0}.section-subtitle{color:var(--text-muted);margin:.35rem 0 0}.inline-actions{align-items:center;gap:.6rem;display:flex}.user-profile{align-items:center;gap:.5rem;display:flex}.user-avatar{color:#fff;letter-spacing:.02em;object-fit:cover;background:linear-gradient(135deg,#0e9f92,#0b7ea2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.profile-name{color:var(--text-color);white-space:nowrap;font-size:.9rem;font-weight:600}.organization-list,.user-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.organization-list-item,.user-list-item{border:1px solid var(--border-soft);background:var(--surface-muted);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.organization-name,.user-name{color:var(--text-color);margin:0;font-weight:700}.organization-meta{color:var(--text-muted);margin:.35rem 0 0;font-size:.95rem}.user-form{grid-template-columns:1fr 1fr auto;gap:.75rem;margin-bottom:1rem;display:grid}.user-form label{color:var(--text-muted);gap:.45rem;font-size:.9rem;display:grid}.user-form input{border:1px solid var(--border);font:inherit;color:var(--text-color);background:#fff;border-radius:10px;padding:.62rem .72rem}.user-form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.button-primary,.button-secondary,.button-danger,.button-ghost{font:inherit;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:.6rem .9rem;font-weight:600;text-decoration:none;transition:transform .12s,filter .12s;display:inline-flex}.button-primary{color:#fff;background:linear-gradient(135deg,#0e9f92,#0b7ea2)}.button-secondary{color:var(--text-color);background:#ebf4ff;border:1px solid #bfd7ee}.button-danger{color:#fff;background:linear-gradient(135deg,#d44747,#b72e5a)}.button-ghost{color:#184569;background:#edf7fb;border:1px solid #c5dceb}.button-primary:hover,.button-secondary:hover,.button-danger:hover,.button-ghost:hover{filter:brightness(.98);transform:translateY(-1px)}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.65;cursor:not-allowed;transform:none}.kebab-menu{position:relative}.kebab-button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;padding:.25rem .55rem;font-size:1.25rem;line-height:1}.kebab-button:hover{background:var(--border-soft);color:var(--text-color)}.kebab-dropdown{border:1px solid var(--border-soft);z-index:100;background:#fff;border-radius:10px;min-width:152px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 18px #00000021}.kebab-dropdown-item{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text-color);background:0 0;border:none;padding:.6rem .9rem;font-size:.9rem;display:block}.kebab-dropdown-item:hover{background:var(--surface-muted)}.kebab-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.kebab-dropdown-item--danger{color:#d44747}.modal-body{flex-direction:column;gap:1rem;display:flex}.roles-group{flex-direction:column;gap:.45rem;display:flex}.roles-group-title{color:var(--text-muted);margin:0;font-size:.9rem;font-weight:700}.roles-group-title--unknown{color:#b07300}.roles-manage-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.roles-manage-item{border:1px solid var(--border-soft);background:var(--surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;display:flex}.role-name{color:var(--text-color);cursor:default;font-size:.9rem;font-weight:600}.button-sm{border-radius:7px;padding:.28rem .6rem;font-size:.82rem}.modal-overlay{z-index:200;background:#00000061;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:90%;min-width:300px;max-width:460px;padding:1.5rem;box-shadow:0 8px 32px #0000002e}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h3{color:var(--text-color);margin:0;font-size:1.05rem}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:.25rem .4rem;font-size:1rem;line-height:1}.modal-close:hover{background:var(--surface-muted)}.role-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.user-list-item .role-list{margin-left:auto}.role-tag{background:var(--surface-muted);border:1px solid var(--border-soft);color:var(--text-color);cursor:default;border-radius:20px;padding:.35rem .85rem;font-size:.9rem;font-weight:600}.applications-region{margin-bottom:1.5rem}.applications-region-title{color:var(--text-color);margin:0;font-size:1rem;font-weight:700}.application-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.application-list-item{border:1px solid var(--border-soft);background:var(--surface-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .9rem;display:flex}.application-name{color:var(--text-color);font-weight:600}.application-status{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.application-status--enabled{color:#1a6b3c;background:#d4f5e2}.application-status--disabled{color:#9b1c2e;background:#fde8e8}.application-status--partial{color:#7a4f00;background:#fff3cd}.application-status--unknown{color:#495057;background:#e9ecef}.status-note{color:var(--text-muted);margin:.3rem 0 1rem}.error-note{color:#b21f3a;margin:.3rem 0 1rem}.screen-state{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}.section-row-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.icon-button{font:inherit;cursor:pointer;color:var(--text-color);background:#ebf4ff;border:1px solid #bfd7ee;border-radius:10px;justify-content:center;align-items:center;padding:.45rem .65rem;font-size:1.1rem;line-height:1;transition:transform .12s,filter .12s;display:inline-flex}.icon-button:hover{filter:brightness(.97);transform:translateY(-1px)}.icon-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.icon-button--add{color:#fff;background:linear-gradient(135deg,#0e9f92,#0b7ea2);border:none;border-radius:50%;width:28px;height:28px;padding:0;font-size:1.25rem;font-weight:400}.icon-button--add:hover{filter:brightness(.88);transform:none}.members-section{margin-top:1.5rem}.members-section-title{color:var(--text-color);margin:0;font-size:1rem;font-weight:700}.modal-form{flex-direction:column;gap:.85rem;display:flex}.modal-form label{color:var(--text-muted);flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.modal-form input{border:1px solid var(--border);font:inherit;color:var(--text-color);background:#fff;border-radius:10px;padding:.62rem .72rem}.modal-form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.form-actions{justify-content:flex-end;gap:.6rem;display:flex}@media (width<=860px){.app-shell{padding:1rem}.app-topbar,.section-heading{flex-direction:column;align-items:stretch}.auth-nav,.inline-actions{grid-template-columns:1fr;width:100%;display:grid}.user-form{grid-template-columns:1fr}.organization-list-item,.user-list-item{flex-direction:column;align-items:stretch}}
