:root{color-scheme:light;font-family:Aptos,Inter,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#202318;background:#f7f8f4;letter-spacing:0;--brand: #3f4131;--brand-strong: #2f3024;--brand-soft: #f0f2e8;--brand-border: #d8dcc8;--text: #202318;--muted: #66705b;--line: #e1e5d7;--surface: #ffffff;--surface-soft: #fbfcf7;--shadow: 0 1px 2px rgba(32, 35, 24, .06), 0 12px 28px rgba(32, 35, 24, .06);--shadow-soft: 0 1px 2px rgba(32, 35, 24, .05)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:252px 1fr;background:#f7f8f4}.authScreen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#3f4131f5,#2f3024fa),#3f4131}.authCard{width:min(440px,100%);display:grid;gap:18px;padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#fff;box-shadow:0 24px 70px #14180f47}.authLogo{width:110px;padding:12px;border-radius:8px;background:var(--brand)}.authCard p{color:var(--muted);line-height:1.5}.authButton{min-height:44px;text-decoration:none}.authActions{display:grid;gap:10px}.authSession{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.authSession span{color:var(--muted);font-size:12px;font-weight:760}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#3f4131,#333527);color:#fbfcf7;padding:22px 16px;display:flex;flex-direction:column;gap:22px;border-right:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 20px;border-bottom:1px solid rgba(255,255,255,.14)}.brandLogo{width:76px;height:auto;display:block;flex:0 0 auto}.brand strong{display:block;font-size:14px;letter-spacing:0}.brand span{color:#d8ddc8;display:block;font-size:12px;line-height:1.25;margin-top:3px}.brandMark,.metricIcon,.modalIcon{display:grid;place-items:center;width:54px;height:40px;border-radius:8px;background:#f2f3ec;color:var(--brand);font-size:18px;font-weight:900;line-height:1;letter-spacing:0}nav{display:grid;gap:3px}.navButton{border:0;border-radius:6px;background:transparent;color:#dfe4d0;padding:10px 11px;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;min-height:40px;font-weight:650}.navButton:hover{color:#fff;background:#ffffff14}.navButton.active{color:#fff;background:#ffffff24;box-shadow:inset 3px 0 #f4f6eb}.main{padding:24px 28px 36px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.12;font-weight:760}h2{font-size:17px;line-height:1.25}.actions,.modalActions{display:flex;gap:10px;align-items:center}.userSession{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.pageActionBar{display:flex;justify-content:flex-end;align-items:center;gap:10px}.button{border:1px solid transparent;border-radius:7px;min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:760;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.compactButton{min-height:34px;padding:0 12px}.button:disabled{opacity:.65;cursor:wait}.primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-soft)}.primary:hover{background:var(--brand-strong)}.secondary{background:#fff;color:var(--brand);border:1px solid var(--brand-border)}.secondary:hover{background:var(--surface-soft);border-color:#c8cdb9}.dangerSolid{background:#d92d20;color:#fff}.alert,.loading,.empty{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:16px}.inlineEmpty{margin-bottom:0}.alert{color:#b42318;border-color:#fecdca;background:#fff4f2}.stack{display:grid;gap:16px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric,.panel,.panelTable{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft)}.metric{padding:16px;display:grid;gap:8px;min-height:124px}.metric span{color:var(--muted);font-size:12px;font-weight:720}.metric strong{font-size:27px;line-height:1;font-weight:780}.metric.danger .metricIcon{background:#d92d20;color:#fff}.metric.warn .metricIcon{background:#b54708;color:#fff}.grid.two{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.panel{padding:16px}.panelTitle{margin-bottom:16px}.panelTitle p{color:var(--muted);margin-top:4px;font-size:13px}.toolList,.summaryRows,.appList,.integrationHealthList{display:grid;gap:10px}.integrationHealthRow{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft)}.integrationHealthRow strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integrationStatus{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:26px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900}.integrationStatus:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor}.integrationStatus.ok{background:#ecfdf3;color:#027a48}.integrationStatus.error{background:#fff1f0;color:#b42318}.integrationStatus.unknown{background:var(--brand-soft);color:var(--muted)}.toolRow,.statusLine,.appItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft)}.toolRow span,.appItem span,.muted,.userCell span{color:var(--muted);font-size:13px}.statusLine{justify-content:flex-start}.statusLine strong{margin-left:auto}.badge,.status{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:780;background:var(--brand-soft);color:var(--brand)}.status.active,.status.success{background:#ecfdf3;color:#027a48}.status.disabled,.status.deactivated,.status.failed,.status.partial_failure{background:#fff1f0;color:#b42318}.status.running,.status.processing,.status.pending,.status.manual_pending{background:#fff7e6;color:#b54708}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.filterPanel{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.filterPanel label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.filterPanel input{min-height:34px;border:1px solid var(--brand-border);border-radius:8px;padding:0 10px;color:var(--text);outline:0}.filterPanel input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3f41311f}.paginationBar{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;box-shadow:var(--shadow-soft)}.paginationActions{display:flex;gap:8px}.searchBox{background:#fff;border:1px solid var(--brand-border);border-radius:7px;min-height:38px;padding:0 12px;display:flex;align-items:center;gap:10px;width:min(520px,100%)}.searchBox input{border:0;outline:0;width:100%;color:var(--text)}.table{overflow-x:auto;overflow-y:hidden}.tableHeader,.tableRow{display:grid;align-items:center;gap:12px;padding:10px 14px}.tableHeader{background:#f4f6ee;color:var(--muted);font-size:11px;font-weight:820;text-transform:uppercase;letter-spacing:0}.tableRow{border-top:1px solid var(--line);min-height:58px}.clickableRow{width:100%;border-left:0;border-right:0;border-bottom:0;background:#fff;color:inherit;text-align:left;cursor:pointer}.clickableRow:hover{background:var(--surface-soft)}.identityGrid{grid-template-columns:minmax(420px,1.8fr) minmax(190px,.8fr) 120px 80px;min-width:850px}.externalGrid{grid-template-columns:minmax(420px,1.8fr) minmax(220px,.8fr) 90px;min-width:760px}.accessGrid{grid-template-columns:minmax(380px,1.5fr) minmax(170px,.7fr) minmax(190px,.8fr) 110px 64px;min-width:930px}.accessDetailGrid{grid-template-columns:minmax(420px,1.7fr) minmax(190px,.8fr) 110px 64px;min-width:820px}.identityAccessGrid{grid-template-columns:minmax(260px,1fr) 120px 64px;min-width:520px}.auditGrid{grid-template-columns:140px minmax(200px,1fr) 140px 160px minmax(240px,1.2fr);min-width:940px}.jobsGrid{grid-template-columns:120px minmax(220px,1fr) 150px 80px minmax(280px,1.4fr);min-width:920px}.offboardingCaseGrid{grid-template-columns:minmax(360px,1.4fr) 160px 150px 110px 90px;min-width:870px}.offboardingTaskGrid{grid-template-columns:180px 150px minmax(320px,1fr) 110px;min-width:780px}.userCell{display:flex;align-items:center;gap:11px;min-width:0}.userCell>div:last-child{display:grid;gap:2px;min-width:0}.userCell strong{display:block;min-width:0}.userCell strong,.userCell span,.tableRow>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto;background:var(--brand-soft);color:var(--brand);font-weight:900;font-size:12px}.appsCatalog{overflow-x:auto}.appCatalogGrid{grid-template-columns:minmax(360px,1.5fr) 140px 120px 90px;min-width:760px}.appNameCell{display:grid;gap:3px;min-width:0}.appNameCell strong,.appNameCell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appNameCell span{color:var(--muted);font-size:13px}.toolMode{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;min-height:26px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:820}.toolMode.api{background:var(--brand-soft);color:var(--brand)}.toolMode.manual{background:#fff7e6;color:#9a5b00}.detailHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:var(--shadow)}.detailTitle{display:flex;align-items:center;gap:10px;margin-top:8px}.detailHeader p{color:var(--muted);margin-top:6px}.detailStats{display:flex;gap:10px;flex:0 0 auto}.metricMini{min-width:104px;border:1px solid var(--line);border-radius:7px;padding:10px 12px;background:var(--surface-soft);display:grid;gap:3px}.metricMini span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.metricMini strong{font-size:21px;line-height:1}.backButton{border:0;background:transparent;color:var(--brand);padding:0;display:inline-flex;align-items:center;gap:6px;font-weight:760;cursor:pointer}.iconButton{width:36px;height:36px;border-radius:7px;border:1px solid var(--brand-border);background:#fff;color:var(--brand);cursor:pointer;display:grid;place-items:center}.iconButton.danger:hover{border-color:#fecdca;color:#b42318;background:#fff4f2}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#191d149e;display:grid;place-items:center;padding:24px}.modal{width:min(520px,100%);background:#fff;border-radius:8px;padding:24px;border:1px solid var(--line);box-shadow:0 24px 70px #191d143d}.wideModal{width:min(760px,100%)}.formModal{display:grid;gap:14px}.formModal label{display:grid;gap:6px;color:var(--text);font-size:13px;font-weight:800}.formModal input,.formModal textarea{min-height:38px;border:1px solid var(--brand-border);border-radius:8px;padding:0 12px;color:var(--text);outline:0}.formModal textarea{min-height:132px;padding:10px 12px;resize:vertical;line-height:1.45}.formModal select{min-height:38px;border:1px solid var(--brand-border);border-radius:8px;padding:0 12px;color:var(--text);outline:0;background:#fff}.formModal input:focus,.formModal textarea:focus,.formModal select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #3f41311f}.nestedForm{padding-top:4px}.wideSearch{width:100%}.bulkToolbar,.bulkResultStats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bulkUserList{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.bulkUserRow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line);cursor:pointer}.bulkUserRow:first-child{border-top:0}.bulkUserRow:hover{background:var(--surface-soft)}.bulkUserRow input{width:16px;height:16px;min-height:0;flex:0 0 auto}.bulkResult{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.bulkResultList{display:grid;gap:4px;color:#b42318;font-size:13px}.segmented{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--brand-border);border-radius:7px;background:#fff}.segmented button{border:0;border-radius:5px;min-height:31px;padding:0 10px;background:transparent;color:var(--muted);font-weight:760;cursor:pointer}.segmented button.selected{background:var(--brand);color:#fff}.modalIcon{background:var(--brand-soft);color:var(--brand);margin-bottom:14px}.modal h2{margin-bottom:8px}.modal p{color:var(--muted);line-height:1.5}.confirmTarget{margin:18px 0;padding:14px;border-radius:8px;border:1px solid var(--line);display:grid;gap:4px}.confirmTarget span{color:var(--muted);font-size:13px}.offboardingPreview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.offboardingPreview>div{border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:12px;display:grid;gap:6px}.offboardingPreview span{color:var(--muted);font-size:13px}.previewList{display:flex;gap:6px;flex-wrap:wrap;min-height:28px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1080px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;height:auto;padding:14px}.brand{padding-bottom:12px}nav{display:flex;overflow-x:auto}.navButton{white-space:nowrap}.metrics,.grid.two{grid-template-columns:1fr}.detailHeader{align-items:flex-start;flex-direction:column}.offboardingPreview{grid-template-columns:1fr}}@media (max-width: 760px){.main{padding:18px}.topbar,.toolbar,.pageActionBar,.filterPanel,.paginationBar{align-items:stretch;flex-direction:column}.actions{width:100%}.button{flex:1}.table{overflow-x:auto}.identityGrid,.externalGrid,.accessGrid,.accessDetailGrid,.identityAccessGrid,.appCatalogGrid,.offboardingCaseGrid,.offboardingTaskGrid,.auditGrid,.jobsGrid{min-width:780px}}
