.dashboard-page .metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.dashboard-page .metric{display:flex;min-height:88px;align-items:flex-start;gap:12px;padding:10px 16px;border:0;border-radius:12px;background:var(--portal-bg-surface)}.dashboard-page .metric__icon{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--portal-bg-surface-raised);color:var(--portal-action-primary)}.dashboard-page .metric__icon svg{width:18px;height:18px}.dashboard-page .metric>div{display:grid;min-width:0}.dashboard-page .metric p{margin:0;color:var(--portal-text-muted);font-size:11px;font-weight:500;letter-spacing:.44px;line-height:16px;text-transform:uppercase}.dashboard-page .metric strong{margin:0;color:var(--portal-text-primary);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:30px;white-space:nowrap}.dashboard-page .metric small{margin-top:-2px;color:var(--portal-text-muted);font-size:11px;line-height:16px}.dashboard-page .dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.dashboard-page .module-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .module-card{display:flex;min-width:0;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--portal-border-default);background:var(--portal-bg-surface)}.dashboard-page .module-card:nth-child(odd){border-right:1px solid var(--portal-border-default)}.dashboard-page .module-card__icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:8px;background:var(--portal-bg-surface-raised);color:var(--portal-action-primary)}.dashboard-page .module-card>.badge{flex:0 0 auto}.dashboard-page .module-card>div{display:grid;min-width:0;flex:1}.dashboard-page .module-card strong{overflow-wrap:break-word;font-size:12px;line-height:16px}.dashboard-page .module-card small{overflow-wrap:anywhere;color:var(--portal-text-muted);font-size:10px;line-height:12px}.dashboard-page .activity-list>div{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--portal-border-default)}.dashboard-page .activity-list>div:last-child{border-bottom:0}.dashboard-page .activity-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%}.dashboard-page .activity-icon--ok{background:color-mix(in srgb,var(--portal-success) 12%,var(--portal-bg-surface));color:var(--portal-success)}.dashboard-page .activity-icon--bad{background:color-mix(in srgb,var(--portal-error) 10%,var(--portal-bg-surface));color:var(--portal-error)}.dashboard-page .activity-list>div>div{display:grid;min-width:0;flex:1}.dashboard-page .activity-list strong{overflow-wrap:break-word;font-size:12px;line-height:16px}.dashboard-page .activity-list small{overflow-wrap:break-word;color:var(--portal-text-muted);font-size:10px;line-height:12px}.dashboard-page .activity-list time{color:var(--portal-text-quiet);font-size:10px;line-height:12px;white-space:nowrap}@media(max-width:1180px){.dashboard-page .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .dashboard-grid{grid-template-columns:1fr}}@media(max-width:680px){.dashboard-page .metrics-grid,.dashboard-page .module-list{grid-template-columns:1fr}.dashboard-page .module-card:nth-child(odd){border-right:0}}.oidc-callback-page{display:grid;min-height:100vh;padding:24px;place-items:center;background:var(--portal-bg-canvas)}.oidc-callback-card{display:grid;width:min(440px,100%);justify-items:center;gap:16px;padding:32px;text-align:center}.oidc-callback-card__icon{display:grid;width:56px;height:56px;margin-top:8px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--portal-action-primary) 12%,var(--portal-bg-surface));color:var(--portal-action-primary)}.oidc-callback-card__icon svg{width:28px;height:28px}.oidc-callback-card h1{margin:0;font-size:22px;line-height:30px}.oidc-callback-card>p{margin:0;color:var(--portal-text-muted);font-size:12px;line-height:19px}.oidc-callback-card form{display:grid;width:100%;gap:16px;text-align:left}.oidc-callback-card__spinner{width:28px;height:28px;margin:12px;color:var(--portal-action-primary)}.login-story .brand__name,.login-story .brand__name small{color:#f7f5ee}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(480px,1.08fr) minmax(430px,.92fr);background:var(--portal-bg-canvas)}.login-story{--login-story-ring-size: 620px;--login-story-ring-right: -180px;--login-story-ring-bottom: -250px;--login-story-inner-radius: 150px;position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:48px 56px 40px;background:#0f0e0b;color:#f7f5ee;isolation:isolate}.login-story:before{position:absolute;z-index:-1;right:var(--login-story-ring-right);bottom:var(--login-story-ring-bottom);width:var(--login-story-ring-size);height:var(--login-story-ring-size);border:1px solid rgba(94,160,255,.24);border-radius:50%;box-shadow:inset 0 0 0 80px #5ea0ff06,inset 0 0 0 160px #5ea0ff05;animation:login-story-pulse 8s ease-in-out infinite;content:""}.login-story__particles{position:absolute;z-index:-1;inset:0;width:100%;height:100%;opacity:.94;pointer-events:none}@keyframes login-story-pulse{0%,to{opacity:.62}50%{opacity:1}}.login-story:after{position:absolute;z-index:-1;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to bottom right,#000,transparent 78%);mask-image:linear-gradient(to bottom right,#000,transparent 78%);content:""}.login-story__copy{max-width:650px;margin:auto 0;padding:64px 0 40px}.login-story__copy .eyebrow{color:#78b0ff}.login-story__copy h1{margin:0 0 24px;font-size:clamp(48px,5vw,76px);font-weight:700;letter-spacing:-.04em;line-height:.98}.login-story__copy h1 em{color:#78b0ff;font-style:normal}.login-story__copy>p:last-child{max-width:520px;margin:0;color:#c2c8d2;font-size:13px;line-height:21px}.login-story__grid{display:grid;width:min(520px,100%);grid-template-columns:repeat(4,1fr);border-top:1px solid #343a46;border-bottom:1px solid #343a46}.login-story__grid span{padding:12px 0;border-right:1px solid #343a46;color:#9199a8;font-size:10px;font-weight:500;letter-spacing:.08em;text-align:center;text-transform:uppercase}.login-story__grid span:last-child{border-right:0}.login-story__foot{margin:16px 0 0;color:#7b828f;font-size:10px;letter-spacing:.12em}.login-panel{position:relative;display:grid;min-height:100vh;place-items:center;padding:48px}.login-theme{position:absolute;top:20px;right:20px}.login-panel__mobile-brand{display:none}.login-card{width:min(390px,100%)}.login-card__icon{display:inline-flex;margin-bottom:24px}.login-card h2{margin:0;color:var(--portal-text-primary);font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:36px}.login-card__lead{margin:8px 0 24px;color:var(--portal-text-secondary);font-size:13px;line-height:21px}.login-card>.field{margin-bottom:16px}.login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 20px;font-size:11px;line-height:16px}.login-options a{color:var(--portal-action-link);font-weight:500;text-decoration:none}.login-options a:hover,.login-options a:focus-visible{color:var(--portal-action-hover)}.login-page .check{display:flex;align-items:center;gap:8px;color:var(--portal-text-secondary);cursor:pointer}.login-page .check>span{display:grid;width:18px;height:18px;place-items:center;border:1px solid var(--portal-border-strong);border-radius:4px;background:var(--portal-bg-surface-raised)}.login-page .check input:checked+span{border-color:var(--portal-action-primary);background:var(--portal-action-primary)}.login-page .check input:checked+span:after{width:8px;height:4px;border-bottom:2px solid var(--portal-action-contrast);border-left:2px solid var(--portal-action-contrast);content:"";transform:rotate(-45deg) translateY(-1px)}.login-card .button+.button{margin-top:8px}.login-card__alternatives{display:grid;gap:8px}.login-card__separator{display:flex;align-items:center;gap:12px;margin:14px 0 6px;color:var(--portal-text-muted);font-size:10px;text-transform:uppercase}.login-card__separator:before,.login-card__separator:after{height:1px;flex:1;background:var(--portal-border-default);content:""}.login-card__google{justify-content:center}.login-card__google svg{width:19px;height:19px;color:var(--portal-action-primary)}.login-card__security{display:flex;align-items:center;justify-content:center;gap:6px;margin:20px 0 0;color:var(--portal-text-quiet);font-size:10px;letter-spacing:.04em;line-height:12px;text-transform:uppercase}@media(max-width:1180px){.login-page{grid-template-columns:1fr 1fr}.login-story{padding:40px}}@media(max-width:900px){.login-page{display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:96px 24px 32px}.login-panel__mobile-brand{position:absolute;top:24px;left:24px;display:block}.login-theme{top:20px;right:20px}.login-theme .portal-theme-switch__label{display:none}.login-card{padding:24px;border:1px solid var(--portal-border-default);border-radius:12px;background:var(--portal-bg-surface)}}@media(max-width:480px){.login-theme .portal-theme-switch__control{width:116px;flex-basis:116px}.login-theme .portal-theme-switch__pill{width:108px}}.profile-page .profile-grid{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px}.profile-page .profile-card{padding:24px;text-align:center}.profile-page .profile-card__avatar{display:grid;width:72px;height:72px;margin:0 auto 16px;place-items:center;border-radius:50%;background:var(--portal-action-primary);color:var(--portal-action-contrast)}.profile-page .profile-card__avatar svg{width:44px;height:44px}.profile-page .profile-card h3{margin:0;font-size:20px;line-height:28px}.profile-page .profile-card>p{margin:4px 0 20px;color:var(--portal-text-muted);font-size:12px;line-height:16px}.profile-page .profile-card dl{margin:0;text-align:left}.profile-page .profile-card dl>div{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--portal-border-default)}.profile-page .profile-card dt{color:var(--portal-text-muted);font-size:11px;font-weight:500;letter-spacing:.44px;line-height:16px;text-transform:uppercase}.profile-page .profile-card dd{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:16px}.profile-page .profile-stack{display:grid;gap:16px}.profile-page .settings-card{display:grid;gap:16px;padding:20px}.profile-page .settings-card>header{display:flex;align-items:flex-start;gap:12px}.profile-page .settings-card>header>svg{width:24px;height:24px;color:var(--portal-action-primary)}.profile-page .settings-card h3{margin:0 0 4px;font-size:16px;line-height:24px}.profile-page .settings-card header p{margin:0;color:var(--portal-text-muted);font-size:11px;line-height:16px}.profile-page .settings-card .button{justify-self:start}.profile-page .external-identities-card__list{display:grid;gap:8px}.profile-page .external-identities-card__identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--portal-border-default);border-radius:10px;background:var(--portal-bg-surface-raised)}.profile-page .external-identities-card__provider{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--portal-bg-surface);color:var(--portal-action-primary)}.profile-page .external-identities-card__identity strong,.profile-page .external-identities-card__identity small{display:block;overflow-wrap:anywhere}.profile-page .external-identities-card__identity small{margin-top:2px;color:var(--portal-text-muted);font-size:10px}.profile-page .external-identities-card__empty,.profile-page .external-identities-card__hint{margin:0;color:var(--portal-text-muted);font-size:11px}.profile-page .mfa-active{display:flex;align-items:center;gap:8px;padding:12px;border-radius:9px;background:color-mix(in srgb,var(--portal-success) 10%,var(--portal-bg-surface));color:var(--portal-success);font-size:12px;font-weight:500;line-height:16px}.profile-page .mfa-setup{display:grid;gap:16px}.profile-page .mfa-setup>p{margin:0}.profile-page .mfa-enrollment{display:flex;align-items:center;gap:20px;padding:16px;border:1px solid var(--portal-border-default);border-radius:12px;background:var(--portal-bg-surface-raised)}.profile-page .mfa-qr{display:grid;flex:0 0 auto;place-items:center;padding:8px;border:1px solid var(--portal-border-default);border-radius:10px;background:#fff}.profile-page .mfa-qr svg{width:176px;height:176px}.profile-page .mfa-manual{display:grid;min-width:0;flex:1;gap:12px}.profile-page .mfa-manual h4{margin:0 0 4px;font-size:12px;line-height:16px}.profile-page .mfa-manual p{margin:0;color:var(--portal-text-muted);font-size:11px;line-height:16px}.profile-page .mfa-secret{display:flex;min-width:0;align-items:center;gap:8px}.profile-page .mfa-secret code{overflow-x:auto;min-width:0;flex:1;padding:12px;border-radius:8px;background:var(--portal-bg-surface);font-size:11px;line-height:16px}.profile-page .mfa-secret .icon-button{flex:0 0 auto}.profile-page .recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px;border:1px dashed var(--portal-warning);border-radius:8px;background:color-mix(in srgb,var(--portal-warning) 8%,var(--portal-bg-surface))}.profile-page .recovery-codes h4{grid-column:1 / -1;margin:0 0 4px;font-size:12px;line-height:16px}.profile-page .recovery-codes code{font-size:11px;line-height:16px}@media(max-width:1180px){.profile-page .profile-grid{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:900px){.profile-page .profile-grid{grid-template-columns:1fr}}@media(max-width:680px){.profile-page .mfa-enrollment{align-items:stretch;flex-direction:column}.profile-page .mfa-qr{align-self:center}.profile-page .recovery-codes{grid-template-columns:1fr}}.access-resources,.audit-events,.clients,.delegations,.grants{min-width:0}.groups-page{display:grid;gap:16px}.groups-page__panel{min-width:0}.groups-toolbar__reload--active{animation:spin .8s linear infinite}.groups-table{min-width:900px}.groups-table .table-actions{width:104px}.group-name{display:flex;align-items:center;gap:10px}.group-name>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--portal-action-primary) 10%,var(--portal-bg-surface));color:var(--portal-action-primary)}.group-id{display:block;overflow:hidden;max-width:210px;color:var(--portal-text-muted);font-family:Cascadia Code,Consolas,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.groups-table__date{color:var(--portal-text-secondary);font-size:11px;white-space:nowrap}.groups-pagination{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-top:1px solid var(--portal-border-default);color:var(--portal-text-muted);font-size:11px;line-height:16px}.groups-pagination>div{display:flex;align-items:center;gap:8px}.groups-pagination strong{min-width:112px;color:var(--portal-text-secondary);font-size:11px;font-weight:500;text-align:center}.groups-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}.group-form{width:min(540px,100%)}.group-members-dialog{width:min(680px,100%)}.group-members-dialog__add,.group-members-dialog__members{display:grid;gap:12px}.group-members-dialog__add{padding:16px;border-radius:10px;background:var(--portal-bg-surface-raised)}.group-members-dialog__add h4,.group-members-dialog__members h4{margin:0;font-size:13px;line-height:20px}.group-members-dialog__add p,.group-members-dialog__members p{margin:0;color:var(--portal-text-muted);font-size:10px;line-height:16px}.group-members-dialog__add .search{width:100%;background:var(--portal-bg-surface)}.group-members-dialog__picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.group-members-dialog__picker select{min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--portal-border-strong);border-radius:9px;outline:none;background:var(--portal-bg-surface);color:var(--portal-text-primary)}.group-members-dialog__picker select:focus{border-color:var(--portal-focus);box-shadow:0 0 0 3px var(--portal-focus-ring)}.group-members-dialog__members{min-height:160px}.group-members-dialog__members-head{display:flex;align-items:center;justify-content:space-between}.group-members-dialog__members-head>span{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--portal-action-primary) 10%,var(--portal-bg-surface));color:var(--portal-action-primary)}.group-members-dialog__members ul{display:grid;margin:0;padding:0;border:1px solid var(--portal-border-default);border-radius:10px;list-style:none}.group-members-dialog__members li{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--portal-border-default)}.group-members-dialog__members li:last-child{border-bottom:0}.group-members-dialog__members li>div{display:grid;min-width:0}.group-members-dialog__members li strong{font-size:12px;line-height:16px}.group-members-dialog__members li small{color:var(--portal-text-muted);font-size:10px;line-height:16px}.group-members-dialog__empty{display:grid;min-height:120px;place-items:center;border:1px dashed var(--portal-border-default);border-radius:10px;text-align:center}@media(max-width:680px){.groups-pagination{align-items:stretch;flex-direction:column}.groups-pagination>div{justify-content:space-between}.group-members-dialog__picker{grid-template-columns:minmax(0,1fr)}}.identity-providers-page__help{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:16px;color:var(--portal-text-secondary);font-size:11px;line-height:18px}.identity-providers-page__help strong{flex:0 0 auto;color:var(--portal-text-primary)}.legal-entities-page{display:grid;gap:16px}.legal-entities-page__panel{min-width:0}.legal-entities-toolbar__reload--active{animation:spin .8s linear infinite}.legal-entities-table{min-width:790px}.legal-entity-code{color:var(--portal-action-primary);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.legal-entities-table__date{color:var(--portal-text-secondary);font-size:11px;white-space:nowrap}.legal-entity-form{width:min(560px,100%)}.login-events,.modules{min-width:0}.org-units-page{display:grid;gap:16px}.org-units-page__panel{min-width:0}.org-units-table__path{color:var(--portal-text-secondary);font-family:Cascadia Code,Consolas,monospace;font-size:11px;white-space:nowrap}.org-unit-form select:disabled{cursor:not-allowed;opacity:.6}.org-units-toolbar__actions{flex-wrap:wrap;justify-content:flex-end}.org-units-view-switcher{display:inline-flex;padding:3px;border:1px solid var(--portal-border-default);border-radius:9px;background:var(--portal-bg-surface-raised)}.org-units-view-switcher button{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--portal-text-muted);cursor:pointer;font:inherit;font-size:11px;font-weight:600}.org-units-view-switcher button:hover{color:var(--portal-text-primary)}.org-units-view-switcher button:focus-visible{outline:2px solid var(--portal-focus);outline-offset:1px}.org-units-view-switcher button.is-active{background:var(--portal-bg-surface);box-shadow:0 1px 3px color-mix(in srgb,var(--portal-text-primary) 12%,transparent);color:var(--portal-action-primary)}.org-units-tree{--org-tree-line: color-mix(in srgb, var(--portal-text-muted) 45%, transparent);overflow-x:auto;padding:12px 16px 16px}.org-units-tree ul{margin:0;padding:0;list-style:none}.org-units-tree>ul{min-width:620px}.org-units-tree ul[role=group]{position:relative;margin-left:22px;padding-left:16px}.org-units-tree ul[role=group]:before{position:absolute;border-left:1px dotted var(--org-tree-line);content:"";inset:-31px auto 10px 0}.org-units-tree li{position:relative}.org-units-tree ul[role=group]>li:before{position:absolute;width:24px;border-top:1px dotted var(--org-tree-line);content:"";left:-16px;top:27px}.org-units-tree ul[role=group]>li.org-unit-tree-item--branch:before{width:38px}.org-unit-tree-node{display:flex;min-height:54px;align-items:center;gap:10px;margin:4px 0;padding:7px 8px;border-radius:9px}.org-unit-tree-node__toggle{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--portal-text-muted)}button.org-unit-tree-node__toggle{cursor:pointer}button.org-unit-tree-node__toggle:hover{background:var(--portal-bg-surface-raised);color:var(--portal-text-primary)}.org-unit-tree-node__toggle svg{transition:transform .16s ease}.org-unit-tree-node__toggle svg.is-expanded{transform:rotate(90deg)}.org-unit-tree-node__content{display:grid;min-width:0;flex:1;gap:3px}.org-unit-tree-node__content>div{display:flex;min-width:0;align-items:baseline;gap:8px}.org-unit-tree-node__name{overflow:hidden;min-width:0;padding:0;border:0;background:transparent;color:var(--portal-text-primary);cursor:pointer;font:inherit;font-size:12px;font-weight:700;line-height:16px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.org-unit-tree-node__name:hover{color:var(--portal-action-primary);text-decoration:underline;text-underline-offset:2px}.org-unit-tree-node__name:focus-visible{border-radius:2px;outline:2px solid var(--portal-focus);outline-offset:2px}.org-unit-tree-node__name--readonly{cursor:default}.org-unit-tree-node__name--readonly:hover{color:var(--portal-text-primary);text-decoration:none}.org-unit-tree-node__content code{color:var(--portal-text-muted);font-size:10px;white-space:nowrap}.org-unit-tree-node__content p{display:flex;overflow:hidden;align-items:center;gap:6px;margin:0;color:var(--portal-text-muted);font-size:10px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.org-units-toolbar{align-items:stretch;flex-direction:column}.org-units-toolbar .search{width:100%}.org-units-toolbar>div{justify-content:space-between}}.outbox,.permissions,.roles,.scopes,.sessions,.signing-keys{min-width:0}.sod-policies-page{display:grid;gap:16px}.sod-policies-page__panel{min-width:0}.sod-policies-table__mode,.sod-policy-conflict code{font-family:Cascadia Code,Consolas,monospace;font-size:10px}.sod-policies-table__mode{color:var(--portal-text-secondary);white-space:nowrap}.sod-policy-conflict{display:inline-grid;max-width:100%;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px}.sod-policy-conflict>span{color:var(--portal-text-muted);font-weight:700}.sod-policy-conflict code{color:var(--portal-text-secondary);overflow-wrap:anywhere}.sod-policy-form textarea{min-height:156px;font-family:Cascadia Code,Consolas,monospace;font-size:11px;line-height:16px;resize:vertical}.sod-policy-form :is(input,select,textarea):disabled{cursor:not-allowed;opacity:.65}.sod-policy-form__hint{margin:-4px 0 0;color:var(--portal-text-muted);font-size:11px;line-height:16px}@media(max-width:640px){.sod-policies-toolbar{align-items:stretch;flex-direction:column}.sod-policies-toolbar .search{width:100%}.sod-policies-toolbar>div{justify-content:space-between}}.tenants-page{display:grid;gap:16px}.tenants-page__panel{min-width:0}.tenants-page__action-error{margin:0}.tenants-toolbar__reload--active{animation:spin .8s linear infinite}.tenants-table{min-width:820px}.tenants-table .table-actions{width:104px}.tenant-name{display:grid;gap:2px}.tenant-name strong{font-size:12px;line-height:16px}.tenant-name span{width:max-content;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--portal-action-primary) 10%,var(--portal-bg-surface));color:var(--portal-action-primary);font-size:9px;font-weight:500;line-height:14px}.tenant-code{color:var(--portal-action-primary);font-family:Cascadia Code,Consolas,monospace;font-size:11px}.tenants-table__date{color:var(--portal-text-secondary);font-size:11px;white-space:nowrap}.tenant-form{width:min(520px,100%)}.users-page{display:grid;gap:16px}.users-page__panel{min-width:0}.users-toolbar__reload--active{animation:spin .8s linear infinite}.users-table{min-width:1060px}.users-table td:first-child{min-width:230px}.users-table .table-actions{width:104px}.user-identity{display:flex;align-items:center;gap:10px}.user-identity__avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:1px solid color-mix(in srgb,var(--portal-action-primary) 24%,var(--portal-border-default));border-radius:10px;background:color-mix(in srgb,var(--portal-action-primary) 10%,var(--portal-bg-surface));color:var(--portal-action-primary);font-size:11px;font-weight:700;letter-spacing:.04em}.user-identity>span:last-child,.users-table__stack{display:grid;min-width:0;gap:1px}.user-identity strong,.users-table__stack strong{color:var(--portal-text-primary);font-size:12px;line-height:16px}.user-identity small,.users-table__stack small{color:var(--portal-text-muted);font-size:10px;font-weight:400;line-height:16px}.users-table__hint{color:var(--portal-warning);font-size:9px;font-weight:500;line-height:14px}.users-table__date{color:var(--portal-text-secondary);font-size:11px;white-space:nowrap}.users-pagination{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-top:1px solid var(--portal-border-default);color:var(--portal-text-muted);font-size:11px;line-height:16px}.users-pagination>div{display:flex;align-items:center;gap:8px}.users-pagination strong{min-width:112px;color:var(--portal-text-secondary);font-size:11px;font-weight:500;text-align:center}.users-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}.user-form{width:min(760px,100%)}.user-form__section{display:grid;gap:14px}.user-form__section+.user-form__section{padding-top:20px;border-top:1px solid var(--portal-border-default)}.user-form__section>div:first-child h4{margin:0;font-size:13px;line-height:20px}.user-form__section>div:first-child p{margin:1px 0 0;color:var(--portal-text-muted);font-size:10px;line-height:16px}.user-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.user-form__field--wide{grid-column:1 / -1}.user-form__account-summary{display:grid;gap:1px;padding:14px 16px;border-radius:10px;background:var(--portal-bg-surface-raised)}.user-form__account-summary>span{color:var(--portal-text-muted);font-size:10px;font-weight:500;letter-spacing:.04em;line-height:16px;text-transform:uppercase}.user-form__account-summary strong{font-size:13px;line-height:20px}.user-form__account-summary small{color:var(--portal-text-muted);font-size:11px;line-height:16px}.password-form{width:min(520px,100%)}.password-form__user,.generated-password-dialog__lead{display:flex;align-items:center;gap:12px;padding:14px;border-radius:10px;background:var(--portal-bg-surface-raised)}.password-form__user>span,.generated-password-dialog__lead>span{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--portal-action-primary) 12%,var(--portal-bg-surface));color:var(--portal-action-primary)}.password-form__user>div{display:grid}.password-form__user small{color:var(--portal-text-muted);font-size:10px;line-height:16px}.password-form__note{margin:0;padding:10px 12px;border-left:3px solid var(--portal-warning);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--portal-warning) 8%,var(--portal-bg-surface));color:var(--portal-text-secondary);font-size:11px;line-height:16px}.generated-password-dialog{width:min(540px,100%)}.generated-password-dialog__lead p{margin:0;color:var(--portal-text-secondary);font-size:12px;line-height:18px}.generated-password-dialog__credentials{display:grid;gap:1px;margin:0;overflow:hidden;border:1px solid var(--portal-border-default);border-radius:10px;background:var(--portal-border-default)}.generated-password-dialog__credentials>div{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;background:var(--portal-bg-surface)}.generated-password-dialog__credentials dt{color:var(--portal-text-muted);font-size:10px;font-weight:500;letter-spacing:.04em;line-height:16px;text-transform:uppercase}.generated-password-dialog__credentials dd{min-width:0;margin:0;font-size:12px;font-weight:700;overflow-wrap:anywhere}.generated-password-dialog__credentials code{color:var(--portal-action-primary);font-family:Cascadia Code,Consolas,monospace;font-size:13px}@media(max-width:680px){.users-pagination{align-items:stretch;flex-direction:column}.users-pagination>div{justify-content:space-between}.user-form__grid{grid-template-columns:minmax(0,1fr)}.user-form__field--wide{grid-column:auto}.generated-password-dialog__credentials>div{grid-template-columns:minmax(0,1fr);gap:2px}}@font-face{font-family:Ruberoid;src:url(/fonts/Ruberoid-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Ruberoid;src:url(/fonts/Ruberoid-Medium.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Ruberoid;src:url(/fonts/Ruberoid-Bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:light;font-family:Ruberoid,Arial,sans-serif;color:#111827;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;--portal-bg-canvas: #f4f7fb;--portal-bg-sidebar: #eef2f7;--portal-bg-nav-active: #e3eaf3;--portal-bg-nav-hover: #e7edf5;--portal-bg-surface: #ffffff;--portal-bg-surface-raised: #e8edf4;--portal-bg-hover: #dce5f0;--portal-border-default: #c4ceda;--portal-border-strong: #708096;--portal-border-hover: #4f5c6e;--portal-text-primary: #111827;--portal-text-secondary: #344154;--portal-text-muted: #556274;--portal-text-quiet: #667386;--portal-action-primary: #1f64c8;--portal-action-hover: #1955ad;--portal-action-active: #154891;--portal-action-link: #1b5dba;--portal-action-contrast: #ffffff;--portal-focus: #1458b8;--portal-focus-ring: rgba(20, 88, 184, .24);--portal-success: #166b50;--portal-warning: #7a4d00;--portal-error: #b32636;--portal-data-green: #52c160;--portal-data-yellow: #e7c566;--portal-data-blue: #547ce9;--portal-sidebar-icon-muted: #708096;--portal-shadow: 0 16px 40px rgba(17, 24, 39, .12);--portal-overlay: rgba(17, 24, 39, .46)}:root[data-portal-theme=dark]{color-scheme:dark;color:#f5f7fa;background:#090a0c;--portal-bg-canvas: #090a0c;--portal-bg-sidebar: #0d0f12;--portal-bg-nav-active: #090b0e;--portal-bg-nav-hover: #13161c;--portal-bg-surface: #111318;--portal-bg-surface-raised: #171a20;--portal-bg-hover: #222732;--portal-border-default: #343a46;--portal-border-strong: #9199a8;--portal-border-hover: #c2c8d2;--portal-text-primary: #f5f7fa;--portal-text-secondary: #c2c8d2;--portal-text-muted: #9199a8;--portal-text-quiet: #7b828f;--portal-action-primary: #5ea0ff;--portal-action-hover: #4d8fe8;--portal-action-active: #3a7ad4;--portal-action-link: #78b0ff;--portal-action-contrast: #07101d;--portal-focus: #9bc4ff;--portal-focus-ring: rgba(155, 196, 255, .25);--portal-success: #6ad7b3;--portal-warning: #ffbb3f;--portal-error: #ff7272;--portal-data-green: #52c160;--portal-data-yellow: #e7c566;--portal-data-blue: #547ce9;--portal-sidebar-icon-muted: #2d3239;--portal-shadow: 0 18px 44px rgba(0, 0, 0, .4);--portal-overlay: rgba(0, 0, 0, .64)}@media(min-resolution:2dppx){html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;background:var(--portal-bg-canvas);color:var(--portal-text-primary);font-size:13px;line-height:21px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--portal-action-link)}svg{display:block}::selection{background:var(--portal-action-primary);color:var(--portal-action-contrast)}:focus-visible{outline:2px solid var(--portal-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 4px;color:var(--portal-text-muted);font-size:11px;font-weight:500;letter-spacing:.44px;line-height:16px;text-transform:uppercase}.muted{color:var(--portal-text-muted)}.required-marker{color:var(--portal-error)}.brand{display:inline-flex;align-items:center;gap:12px}.brand__mark{display:block;width:40px;height:40px;flex:0 0 40px}.brand__name{display:grid;color:var(--portal-text-primary);font-family:Unbounded,Arial Black,system-ui,sans-serif;font-size:17px;font-weight:900;letter-spacing:-.03em;line-height:20px}.brand__name small{margin-top:2px;color:var(--portal-text-muted);font-family:Ruberoid,Arial,sans-serif;font-size:8px;font-weight:500;letter-spacing:.18em;line-height:12px}.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700;line-height:16px;text-decoration:none;transition:background-color .13s ease,border-color .13s ease,color .13s ease,transform .1s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{cursor:wait;opacity:.55}.button--primary{border-color:var(--portal-action-primary);background:var(--portal-action-primary);color:var(--portal-action-contrast)}.button--primary:hover:not(:disabled){border-color:var(--portal-action-hover);background:var(--portal-action-hover)}.button--primary:active:not(:disabled){border-color:var(--portal-action-active);background:var(--portal-action-active)}.button--ghost{border-color:var(--portal-border-default);background:var(--portal-bg-surface);color:var(--portal-text-primary)}.button--ghost:hover:not(:disabled){border-color:var(--portal-border-strong);background:var(--portal-bg-hover)}.button--danger{color:var(--portal-error)}.button--danger:hover:not(:disabled){border-color:var(--portal-error);background:color-mix(in srgb,var(--portal-error) 10%,var(--portal-bg-surface))}.button--wide{width:100%;min-height:44px;justify-content:space-between;padding:0 16px}.icon-button{display:inline-grid;width:36px;height:36px;flex:0 0 auto;padding:0;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;cursor:pointer;transition:background-color .13s ease,border-color .13s ease,color .13s ease,transform .1s ease}.icon-button:hover:not(:disabled){border-color:var(--portal-border-default);background:var(--portal-bg-hover)}.icon-button:active:not(:disabled){transform:scale(.98)}.icon-button--danger{color:var(--portal-error)}.icon-button--danger:hover:not(:disabled){border-color:var(--portal-error);background:color-mix(in srgb,var(--portal-error) 10%,var(--portal-bg-surface))}.spinner{width:17px;height:17px;border:2px solid color-mix(in srgb,currentColor 32%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:8px}.field>span:first-child{color:var(--portal-text-secondary);font-size:11px;font-weight:500;letter-spacing:.2px;line-height:16px}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--portal-border-strong);border-radius:9px;outline:none;background:var(--portal-bg-surface-raised);color:var(--portal-text-primary);font-size:13px;line-height:21px;transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease}.field textarea{min-height:44px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--portal-text-muted);opacity:1}.field input:focus,.field select:focus,.field textarea:focus,.field__control:focus-within{border-color:var(--portal-focus);box-shadow:0 0 0 3px var(--portal-focus-ring)}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid,.field:has(input:user-invalid) .field__control{border-color:var(--portal-error)}.field__control{display:flex;min-height:48px;align-items:center;gap:10px;padding:0 8px 0 12px;border:1px solid var(--portal-border-strong);border-radius:9px;background:var(--portal-bg-surface-raised);color:var(--portal-text-muted);transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease}.field__control input{min-width:0;padding:0;border:0;background:transparent;box-shadow:none!important}.field__control .icon-button{width:36px;height:36px}.field--check>span:first-child{margin-bottom:0}.access-resource-selector{position:relative;min-width:0}.access-resource-selector>input{padding-right:38px;padding-left:38px}.access-resource-selector__search-icon,.access-resource-selector__caret{position:absolute;z-index:1;top:13px;width:18px;height:18px;color:var(--portal-text-muted);pointer-events:none}.access-resource-selector__search-icon{left:12px}.access-resource-selector__caret{right:12px;transition:transform .13s ease}.access-resource-selector__caret.is-open{transform:rotate(180deg)}.access-resource-selector__menu{position:absolute;z-index:15;top:calc(100% + 6px);right:0;left:0;overflow-y:auto;max-height:260px;padding:6px;border:1px solid var(--portal-border-default);border-radius:10px;background:var(--portal-bg-surface);box-shadow:var(--portal-shadow)}.access-resource-selector__menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--portal-text-primary);cursor:pointer;text-align:left}.access-resource-selector__menu button:hover,.access-resource-selector__menu button.is-active{background:var(--portal-bg-hover)}.access-resource-selector__menu button[aria-selected=true]{color:var(--portal-action-primary)}.access-resource-selector__menu button>span{display:grid;min-width:0}.access-resource-selector__menu strong,.access-resource-selector__menu small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-resource-selector__menu strong{font-size:12px;line-height:16px}.access-resource-selector__menu small{color:var(--portal-text-muted);font-size:10px;line-height:14px}.access-resource-selector__menu code{flex:0 0 auto;color:var(--portal-text-secondary);font-size:10px;line-height:14px}.access-resource-selector__state{display:flex;min-height:64px;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--portal-text-muted);font-size:11px;text-align:center}.access-resource-selector__state--error{color:var(--portal-error)}.permission-selector{overflow:hidden;border:1px solid var(--portal-border-strong);border-radius:9px;background:var(--portal-bg-surface-raised)}.permission-selector:focus-within{border-color:var(--portal-focus);box-shadow:0 0 0 3px var(--portal-focus-ring)}.permission-selector__search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border-top:1px solid var(--portal-border-default);color:var(--portal-text-muted)}.permission-selector__search>svg{width:18px;height:18px}.field .permission-selector__search>input{min-height:42px;padding:0;border:0;background:transparent;box-shadow:none}.permission-selector__section-head{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;color:var(--portal-text-muted);font-size:10px;letter-spacing:.2px;text-transform:uppercase}.permission-selector__section-head strong{color:var(--portal-text-secondary);font-size:10px}.permission-selector__list{overflow-y:auto;max-height:220px;padding:0 6px 6px}.permission-selector__list--assigned{max-height:190px}.permission-selector__results{border-top:1px solid var(--portal-border-default)}.permission-selector__list button{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;padding:8px;border:0;border-radius:7px;background:transparent;color:var(--portal-text-primary);cursor:pointer;text-align:left}.permission-selector__list button:hover{background:var(--portal-bg-hover)}.permission-selector__list button.is-selected{color:var(--portal-action-primary)}.permission-selector__icon{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;color:var(--portal-text-muted)}.permission-selector__icon svg{width:15px;height:15px}.permission-selector__list button:hover .permission-selector__icon{background:var(--portal-bg-surface);color:var(--portal-action-primary)}.permission-selector__label{display:grid;min-width:0}.permission-selector__label strong,.permission-selector__label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-selector__label strong{font-size:12px;line-height:16px}.permission-selector__label small{color:var(--portal-text-muted);font-size:10px;line-height:14px}.permission-selector__state{display:flex;min-height:72px;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--portal-text-muted);font-size:11px;text-align:center}.permission-selector__state--error{color:var(--portal-error)}.switch{display:flex;min-height:44px;align-items:center;gap:10px;cursor:pointer}.switch input,.check input{position:absolute;width:1px;height:1px;opacity:0}.switch i{position:relative;width:40px;height:24px;border:1px solid var(--portal-border-strong);border-radius:20px;background:var(--portal-bg-surface-raised);transition:.13s ease}.switch i:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--portal-text-muted);content:"";transition:.13s ease}.switch input:focus-visible+i,.check input:focus-visible+span{outline:2px solid var(--portal-focus);outline-offset:2px}.switch input:checked+i{border-color:var(--portal-action-primary);background:var(--portal-action-primary)}.switch input:checked+i:after{background:var(--portal-action-contrast);transform:translate(16px)}.switch b{font-size:12px;font-weight:500}.form-error,.notice{padding:12px 16px;border:1px solid currentColor;border-radius:9px;font-size:12px;line-height:16px}.form-error{background:color-mix(in srgb,var(--portal-error) 9%,var(--portal-bg-surface));color:var(--portal-error)}.notice{margin-bottom:16px;background:color-mix(in srgb,var(--portal-success) 9%,var(--portal-bg-surface));color:var(--portal-success)}.portal-theme-switch{display:inline-flex;align-items:center;gap:8px;color:var(--portal-text-muted)}.portal-theme-switch__label{font-size:11px;font-weight:500;line-height:16px}.portal-theme-switch__control{width:132px;height:40px;flex:0 0 132px;padding:4px;border:0;border-radius:12px;background:transparent;cursor:pointer}.portal-theme-switch__pill{display:grid;width:124px;height:32px;grid-template-columns:repeat(2,1fr);padding:3px;border:1px solid var(--portal-border-default);border-radius:9px;background:var(--portal-bg-surface-raised)}.portal-theme-switch__pill>span{display:flex;align-items:center;justify-content:center;gap:4px;border-radius:6px;color:var(--portal-text-muted);font-size:10px;font-weight:500;line-height:12px;transition:background-color .13s ease,color .13s ease,box-shadow .13s ease}.portal-theme-switch__pill>span.is-active{background:var(--portal-bg-surface);color:var(--portal-text-primary);box-shadow:0 1px 3px color-mix(in srgb,var(--portal-text-primary) 16%,transparent)}.app-shell{display:flex;min-height:100vh;background:var(--portal-bg-canvas)}.sidebar{position:fixed;z-index:30;display:flex;width:232px;height:100vh;flex-direction:column;overflow:hidden;border-right:1px solid var(--portal-border-default);background:var(--portal-bg-sidebar);color:var(--portal-text-secondary)}.sidebar__head{display:flex;height:72px;flex:0 0 auto;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--portal-border-default)}.sidebar__head .brand{gap:10px}.sidebar__head .brand__mark{width:34px;height:34px;flex-basis:34px}.sidebar__head .brand__name{font-size:14px}.sidebar__close{display:none}.sidebar__nav{display:flex;width:100%;min-height:0;flex:1;flex-direction:column;align-items:stretch;overflow-y:auto;padding:20px 0 12px;scrollbar-width:none}.sidebar__nav::-webkit-scrollbar{display:none}.nav-group{width:100%;margin:0}.nav-group__trigger,.nav-item{position:relative;display:flex;width:100%;height:30px;min-height:30px;align-items:center;border:0;border-radius:0;background:transparent;color:var(--portal-text-secondary);cursor:pointer;font-size:13px;font-weight:400;line-height:21px;text-decoration:none;white-space:nowrap}.nav-group__trigger{justify-content:space-between;padding:4px 10px 5px 20px;text-align:left}.nav-group[data-state=open]>.nav-group__trigger{background:var(--portal-bg-nav-active);color:var(--portal-text-primary);font-weight:500}.nav-group__trigger:hover,.nav-item:hover{background:var(--portal-bg-nav-hover);color:var(--portal-text-primary)}.portal-sidebar-chevron{width:14px;height:14px;flex:0 0 14px;color:var(--portal-text-muted);opacity:.55}.nav-group__trigger:hover .portal-sidebar-chevron,.nav-group[data-state=open]>.nav-group__trigger .portal-sidebar-chevron{opacity:1}.portal-sidebar-submenu__inner{min-height:0;overflow:hidden}.nav-item{padding:4px 10px 5px 40px;color:var(--portal-text-muted)}.nav-item--nested{gap:6px;padding-left:20px}.nav-item__icon{width:14px;height:14px;flex:0 0 14px;color:var(--portal-sidebar-icon-muted)}.nav-item:hover .nav-item__icon{color:var(--portal-text-muted)}.nav-item.active .nav-item__icon{color:var(--portal-action-primary)}.nav-item--root{padding-left:20px;color:var(--portal-text-secondary)}.nav-item.active{background:var(--portal-bg-surface-raised);color:var(--portal-action-primary);font-weight:500}.nav-item__indicator{position:absolute;top:0;bottom:0;left:0;display:none;width:3px;border-radius:0 2px 2px 0;background:var(--portal-action-primary)}.nav-item.active .nav-item__indicator{display:block}.sidebar__footer{flex:0 0 auto;padding:14px 20px;border-top:1px solid var(--portal-border-default);background:var(--portal-bg-sidebar)}.sidebar__footer .portal-theme-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--portal-border-default)}.sidebar__footer .portal-theme-switch__label{flex:0 0 auto;font-size:10px;letter-spacing:.04em;line-height:16px;text-transform:uppercase}.sidebar__footer .portal-theme-switch__pill{border-color:var(--portal-border-strong);border-radius:8px}.sidebar__footer .portal-theme-switch__pill>span.is-active{background:var(--portal-action-primary);color:var(--portal-action-contrast)}.sidebar__user{display:grid;min-width:0;text-decoration:none}.sidebar__user strong{overflow:hidden;color:var(--portal-text-primary);font-size:13px;font-weight:400;line-height:21px;text-overflow:ellipsis;white-space:nowrap}.sidebar__user small{overflow:hidden;color:var(--portal-text-quiet);font-size:10px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.app-main{width:calc(100% - 232px);min-width:0;margin-left:232px}.topbar{position:sticky;z-index:20;top:0;display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid var(--portal-border-default);background:var(--portal-bg-surface)}.topbar__title,.topbar__actions{display:flex;align-items:center}.topbar__title{min-width:0;gap:8px}.topbar__title>div{display:grid;min-width:0}.topbar__actions{flex:0 0 auto;gap:16px}.topbar__title span{display:block;color:var(--portal-text-muted);font-size:10px;font-weight:500;letter-spacing:.08em;line-height:12px}.topbar__title h1{margin:0;color:var(--portal-text-primary);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:24px}.topbar__title p{overflow:hidden;max-width:min(900px,60vw);margin:0;color:var(--portal-text-secondary);font-size:11px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.topbar__menu{display:none}.content{width:100%;padding:24px}.content>.portal-page-enter{width:100%}.panel{border:1px solid var(--portal-border-default);border-radius:12px;background:var(--portal-bg-surface)}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--portal-border-default)}.panel__header h3{margin:0;font-size:16px;font-weight:700;line-height:24px}.panel__header>a{display:flex;align-items:center;gap:6px;color:var(--portal-action-link);font-size:12px;font-weight:500;line-height:16px;text-decoration:none}.panel__header>a:hover,.panel__header>a:focus-visible{color:var(--portal-action-hover)}.resource-panel{overflow:hidden}.resource-toolbar{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--portal-border-default)}.resource-toolbar>div{display:flex;align-items:center;gap:8px}.resource-toolbar>div>span{color:var(--portal-text-muted);font-size:11px;line-height:16px;white-space:nowrap}.search{display:flex;width:min(420px,100%);height:44px;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--portal-border-strong);border-radius:9px;background:var(--portal-bg-surface-raised);color:var(--portal-text-muted)}.search:focus-within{border-color:var(--portal-focus);box-shadow:0 0 0 3px var(--portal-focus-ring)}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--portal-text-primary);font-size:13px;line-height:21px}.search input::placeholder{color:var(--portal-text-muted);opacity:1}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;line-height:16px}th{padding:10px 16px;border-bottom:1px solid var(--portal-border-default);background:var(--portal-bg-surface-raised);color:var(--portal-text-muted);font-size:11px;font-weight:500;letter-spacing:.44px;line-height:16px;text-align:left;text-transform:uppercase;white-space:nowrap}td{min-width:0;max-width:320px;padding:12px 16px;border-bottom:1px solid var(--portal-border-default);color:var(--portal-text-primary);line-height:16px;overflow-wrap:break-word;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--portal-bg-hover)}td:first-child{font-weight:700}.table-actions{width:80px;text-align:right;white-space:nowrap}.table-actions .icon-button{display:inline-grid;width:36px;height:36px}.json-preview{display:block;overflow:hidden;max-width:240px;color:var(--portal-text-secondary);font-family:Cascadia Code,Consolas,monospace;font-size:10px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:10px;font-weight:500;letter-spacing:.03em;line-height:12px;white-space:nowrap}.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.badge--success{background:color-mix(in srgb,var(--portal-success) 10%,var(--portal-bg-surface));color:var(--portal-success)}.badge--warning{background:color-mix(in srgb,var(--portal-warning) 10%,var(--portal-bg-surface));color:var(--portal-warning)}.badge--danger{background:color-mix(in srgb,var(--portal-error) 9%,var(--portal-bg-surface));color:var(--portal-error)}.badge--neutral{background:var(--portal-bg-surface-raised);color:var(--portal-text-secondary)}.empty-state,.error-state{display:grid;min-height:240px;place-items:center;align-content:center;padding:32px;text-align:center}.empty-state>span{display:grid;width:56px;height:56px;place-items:center;border-radius:12px;background:var(--portal-bg-surface-raised);color:var(--portal-text-muted)}.empty-state h3{margin:16px 0 4px;font-size:16px;line-height:24px}.empty-state p{max-width:400px;margin:0;color:var(--portal-text-muted);font-size:12px;line-height:16px}.error-state{gap:12px;color:var(--portal-error);font-size:12px;line-height:16px}.table-skeleton{display:grid;gap:1px;padding:1px}.table-skeleton span{height:48px;border-radius:3px;background:linear-gradient(90deg,var(--portal-bg-surface-raised),var(--portal-bg-hover),var(--portal-bg-surface-raised));background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position:-200% 0}}.modal-layer{position:fixed;z-index:80;display:grid;place-items:center;inset:0;padding:24px}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--portal-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{position:relative;z-index:1;display:flex;width:min(640px,100%);max-height:calc(100dvh - 48px);flex-direction:column;overflow:hidden;border:1px solid var(--portal-border-default);border-radius:14px;background:var(--portal-bg-surface);box-shadow:var(--portal-shadow);animation:modal-dialog-in .18s cubic-bezier(0,0,.2,1)}@keyframes modal-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.985)}}.modal-dialog>header{display:flex;min-height:80px;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--portal-border-default)}.modal-dialog h3{margin:0;font-size:20px;font-weight:700;line-height:28px}.modal-dialog__body{display:grid;min-height:0;flex:1;align-content:start;gap:16px;overflow-y:auto;padding:20px 24px}.modal-dialog>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--portal-border-default)}.app-loader{display:grid;min-height:100vh;place-items:center;align-content:center;gap:16px;background:var(--portal-bg-canvas);color:var(--portal-text-muted)}.app-loader span{width:32px;height:32px;border:2px solid var(--portal-border-default);border-top-color:var(--portal-action-primary);border-radius:50%;animation:spin .8s linear infinite}.app-loader p{margin:0;font-size:11px;letter-spacing:.44px;line-height:16px;text-transform:uppercase}.sidebar-backdrop{display:none}@media(max-width:1180px){.topbar__actions .portal-theme-switch__label{display:none}}@media(max-width:900px){.sidebar{width:min(288px,86vw);transform:translate(-102%);transition:transform .22s cubic-bezier(0,0,.2,1)}.sidebar--open{transform:translate(0)}.sidebar__close,.topbar__menu{display:grid}.sidebar-backdrop{position:fixed;z-index:25;display:block;inset:0;width:100%;height:100%;border:0;background:var(--portal-overlay)}.app-main{width:100%;margin-left:0}.topbar{padding:0 16px}.content{padding:20px 16px}}@media(max-width:680px){.topbar__actions .portal-theme-switch{display:none}.topbar{flex-wrap:wrap}.topbar__title{flex:1 1 180px}.topbar__actions{margin-left:auto}.resource-toolbar{align-items:stretch;flex-direction:column}.search{width:100%}.resource-toolbar>div{justify-content:space-between}.topbar__title h1{overflow:hidden;max-width:180px;text-overflow:ellipsis;white-space:nowrap}.modal-layer{padding:12px}.modal-dialog{max-height:calc(100dvh - 24px)}.modal-dialog>footer .button{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--portal-motion-fast: .13s;--portal-motion-dropdown: .17s;--portal-motion-page: .23s;--portal-motion-exit: .11s;--portal-motion-ease-out: cubic-bezier(.23, 1, .32, 1);--portal-motion-ease-move: cubic-bezier(.77, 0, .175, 1)}.portal-dropdown-motion{--portal-dropdown-enter-x: 0px;--portal-dropdown-enter-y: -4px;transform-origin:top center}.portal-dropdown-motion[data-side=top]{--portal-dropdown-enter-y: 4px;transform-origin:bottom center}.portal-dropdown-motion[data-side=left]{--portal-dropdown-enter-x: 4px;--portal-dropdown-enter-y: 0px;transform-origin:center right}.portal-dropdown-motion[data-side=right]{--portal-dropdown-enter-x: -4px;--portal-dropdown-enter-y: 0px;transform-origin:center left}.portal-sidebar-group[data-state=open]>.portal-sidebar-item .portal-sidebar-chevron{transform:rotate(90deg)}.portal-dropdown-trigger[aria-expanded=true] .portal-dropdown-chevron{transform:rotate(180deg)}.portal-sidebar-submenu{display:grid;grid-template-rows:0fr;opacity:0}.portal-sidebar-submenu>.portal-sidebar-submenu__inner{min-height:0;overflow:hidden}.portal-sidebar-group[data-state=open]>.portal-sidebar-submenu{grid-template-rows:1fr;opacity:1}@keyframes portal-page-enter{0%{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes portal-dropdown-enter{0%{opacity:0;transform:translate3d(var(--portal-dropdown-enter-x),var(--portal-dropdown-enter-y),0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes portal-dropdown-exit{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(var(--portal-dropdown-enter-x),var(--portal-dropdown-enter-y),0) scale(.99)}}@keyframes portal-opacity-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){.portal-logo__image{transition:opacity var(--portal-motion-fast) var(--portal-motion-ease-out)}.portal-page-enter{animation:portal-page-enter var(--portal-motion-page) var(--portal-motion-ease-out) both}.portal-sidebar-item{transition:color var(--portal-motion-fast) var(--portal-motion-ease-out),background-color var(--portal-motion-fast) var(--portal-motion-ease-out),border-color var(--portal-motion-fast) var(--portal-motion-ease-out),transform var(--portal-motion-fast) var(--portal-motion-ease-out)}.portal-sidebar-item:hover{transform:translate3d(2px,0,0)}.portal-sidebar-item:active{transform:translate3d(1px,0,0) scale(.99)}.portal-sidebar-chevron{transition:opacity var(--portal-motion-fast) var(--portal-motion-ease-out),transform var(--portal-motion-dropdown) var(--portal-motion-ease-move)}.portal-sidebar-submenu{transition:grid-template-rows var(--portal-motion-page) var(--portal-motion-ease-out),opacity var(--portal-motion-dropdown) var(--portal-motion-ease-out)}.portal-theme-switch__option{transition:color var(--portal-motion-fast) var(--portal-motion-ease-out),background-color var(--portal-motion-fast) var(--portal-motion-ease-out),box-shadow var(--portal-motion-fast) var(--portal-motion-ease-out)}.portal-dropdown-trigger{transition:color var(--portal-motion-fast) var(--portal-motion-ease-out),background-color var(--portal-motion-fast) var(--portal-motion-ease-out),border-color var(--portal-motion-fast) var(--portal-motion-ease-out),box-shadow var(--portal-motion-fast) var(--portal-motion-ease-out)}.portal-dropdown-chevron{transition:transform var(--portal-motion-dropdown) var(--portal-motion-ease-move)}.portal-dropdown-motion,.portal-dropdown-motion[data-state=open]{animation:portal-dropdown-enter var(--portal-motion-dropdown) var(--portal-motion-ease-out) both}.portal-dropdown-motion[data-state=closed]{animation:portal-dropdown-exit var(--portal-motion-exit) var(--portal-motion-ease-move) both}}@media(prefers-reduced-motion:reduce){.portal-page-enter,.portal-dropdown-motion,.portal-dropdown-motion[data-state=open],.portal-dropdown-motion[data-state=closed]{animation:portal-opacity-enter 80ms linear both}.portal-sidebar-item:hover,.portal-sidebar-item:active{transform:none}.portal-sidebar-submenu{transition:none}}
