:root{color-scheme:light;--gl-green: #0B4664;--gl-green-dark: #0B4664;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dfe3e8;--text: #1b1f24;--text-muted: #667085;--danger: #c02b2b;--radius: 10px;--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .06);--sidebar-w: 240px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;background:var(--surface-2);padding:.1em .35em;border-radius:5px}.muted{color:var(--text-muted)}.btn-primary,.btn-ghost{font:inherit;font-weight:600;border-radius:8px;padding:.5rem .9rem;cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.btn-primary{background:var(--gl-green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--gl-green-dark)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-primary:disabled,.btn-ghost:disabled{opacity:.55;cursor:default}.btn-block{display:block;width:100%;margin-top:1rem}.centered-screen{min-height:100%;display:grid;place-items:center;padding:2rem}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem;width:min(420px,100%)}.signin-card h1{margin:.5rem 0 .25rem;font-size:1.5rem}.brand{display:flex;align-items:center;gap:.5rem;font-weight:700}.brand-dot{width:14px;height:14px;border-radius:50%;background:var(--gl-green);display:inline-block}.brand-name{letter-spacing:-.01em}.mock-signin{margin-top:1rem}.mock-label{font-weight:600;margin:0 0 .5rem}.user-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.user-button{width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.65rem .8rem;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name chip" "email chip";align-items:center;gap:0 .5rem;font:inherit}.user-button:hover:not(:disabled){border-color:var(--gl-green)}.user-name{grid-area:name;font-weight:600}.user-email{grid-area:email;color:var(--text-muted);font-size:.85rem}.role-chip{grid-area:chip;font-size:.72rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;background:#e7f4ec;color:var(--gl-green-dark);white-space:nowrap}.role-chip.role-orig_admin,.role-chip.role-none{background:#fdecec;color:var(--danger)}.mock-hint{font-size:.82rem;color:var(--text-muted);margin:.75rem 0 0}.error-text{color:var(--danger);margin-top:1rem;font-weight:600}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1rem .75rem;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;padding:.5rem .5rem 1rem}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-section{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:1rem .6rem .35rem}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500;font-size:.92rem}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:#e7f4ec;color:var(--gl-green-dark);font-weight:600}.nav-icon{width:1.2rem;text-align:center}.nav-label{flex:1}.nav-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.app-main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.85rem}.mode-pill{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.mode-pill.mode-entra{background:#eaf1fb;color:#1a4fa0;border-color:#cfe0f7}.topbar-notice{font-size:.85rem;color:var(--text-muted)}.identity{display:flex;flex-direction:column;line-height:1.1;text-align:right}.identity-name{font-weight:600;font-size:.9rem}.identity-role{font-size:.75rem;color:var(--text-muted)}.app-content{padding:2rem;flex:1}.page{max-width:1000px;margin:0 auto}.page-head{margin-bottom:1.5rem}.page-head h1{display:flex;align-items:center;gap:.5rem;margin:0 0 .35rem;font-size:1.6rem}.page-head-icon{font-size:1.4rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.ns-card{display:flex;gap:.85rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:border-color .12s ease,transform .12s ease}.ns-card:hover{border-color:var(--gl-green);transform:translateY(-1px)}.ns-card-icon{font-size:1.5rem}.ns-card-body{display:flex;flex-direction:column;gap:.25rem}.ns-card-title{font-weight:600;display:flex;align-items:center;gap:.5rem}.ns-card-desc{font-size:.85rem;color:var(--text-muted)}.badge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .4rem;border-radius:5px}.badge-privileged{background:#fdecec;color:var(--danger)}.placeholder-panel{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:2rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;display:grid;place-items:center;z-index:50;padding:1rem}.modal-card{background:var(--surface);border-radius:var(--radius);padding:1.75rem;width:min(440px,100%);box-shadow:0 10px 40px #10182840}.modal-card h2{margin:0 0 .5rem}.stepup-action{font-weight:600;background:var(--surface-2);border-radius:8px;padding:.65rem .8rem;margin:.5rem 0}.stepup-note{font-size:.82rem;color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}
