@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bfbd753639646ddf-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/974beb8c7d7fd6ce-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7bcbc3e1e92d8828-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/92e5dce8e7fbef80-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d84e74e06965d83f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bitter Fallback;src:local("Times New Roman");ascent-override:81.69%;descent-override:23.15%;line-gap-override:0.00%;size-adjust:114.46%}.__className_91ef22{font-family:Bitter,Bitter Fallback;font-weight:600;font-style:normal}.__variable_91ef22{--font-slab:"Bitter","Bitter Fallback"}:root,[data-theme=light]{--color-bg:#f8f9fb;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-surface-sunken:#f1f3f5;--color-surface-overlay:rgba(0,0,0,0.04);--color-border:#e2e5e9;--color-border-subtle:#eef0f3;--color-border-strong:#cdd1d6;--color-text:#1a1d21;--color-text-secondary:#5f6b7a;--color-text-tertiary:#8b95a3;--color-text-inverse:#ffffff;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#eef2ff;--color-primary-text:#3730a3;--color-success:#059669;--color-success-light:#ecfdf5;--color-success-text:#065f46;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-warning-text:#92400e;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-danger-text:#991b1b;--color-info:#2563eb;--color-info-light:#eff6ff;--color-info-text:#1e40af;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.06),0 2px 4px -2px rgba(0,0,0,0.04)}[data-theme=dark]{--color-bg:#070a0e;--color-surface:#141922;--color-surface-raised:#1b2230;--color-surface-sunken:#101620;--color-surface-overlay:rgba(255,255,255,0.04);--color-border:rgba(255,255,255,0.08);--color-border-subtle:rgba(255,255,255,0.04);--color-border-strong:rgba(255,255,255,0.16);--color-text:#e7eaef;--color-text-secondary:#a3acba;--color-text-tertiary:#6f7785;--color-text-inverse:#0f1218;--color-primary:#6366f1;--color-primary-hover:#818cf8;--color-primary-light:#1e1c45;--color-primary-text:#c7d2fe;--color-success:#10b981;--color-success-light:#052e23;--color-success-text:#6ee7b7;--color-warning:#f59e0b;--color-warning-light:#2b1d05;--color-warning-text:#fcd34d;--color-danger:#ef4444;--color-danger-light:#2a1212;--color-danger-text:#fca5a5;--color-info:#3b82f6;--color-info-light:#0e1d35;--color-info-text:#93c5fd;--shadow-xs:0 1px 2px rgba(0,0,0,0.4);--shadow-sm:0 1px 3px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.5),0 2px 4px -2px rgba(0,0,0,0.4)}:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;--page:var(--color-bg);--surface:var(--color-surface);--soft:var(--color-surface-sunken);--text:var(--color-text);--muted:var(--color-text-secondary);--border:var(--color-border);--strong-border:var(--color-border-strong);--accent:var(--color-primary);--accent-hover:var(--color-primary-hover);--accent-soft:var(--color-primary-light);--good:var(--color-success-text);--good-soft:var(--color-success-light);--bad:var(--color-danger-text);--bad-soft:var(--color-danger-light);--warn:var(--color-warning-text);--warn-soft:var(--color-warning-light);--shadow:var(--shadow-xs)}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";transition:background-color .15s ease,color .15s ease}button,input,select,textarea{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,input,textarea{border:0}button{background:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:650}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed}button:disabled{opacity:.45}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}svg{width:18px;height:18px;stroke-width:1.75;flex-shrink:0}.muted{color:var(--muted)}.text-good{color:var(--good)}.text-bad{color:var(--bad)}.block{display:block}.avatar{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border);border-radius:50%;color:var(--color-primary-text);background:var(--accent-soft);font-size:12px;font-weight:700}.avatar.large{width:52px;height:52px;font-size:20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{font-size:20px;line-height:1.25;font-weight:650}.page-heading p{margin-top:8px;max-width:670px;color:var(--muted);font-size:13px}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:8px 12px;font-size:12px;font-weight:650;line-height:1.4;transition:background .15s,border-color .15s;white-space:nowrap}.button:hover:not(:disabled){background:var(--soft);border-color:var(--strong-border)}.button svg{width:16px;height:16px}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.text-button,.text-link{display:inline-flex;align-items:center;gap:7px;padding:3px 0;color:var(--color-primary-text);font-size:12px;font-weight:600}.text-button svg{width:14px;height:14px}.text-button:hover,.text-link:hover{text-decoration:underline;text-underline-offset:3px}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.collection-toolbar>span{color:var(--muted);font-size:12px;white-space:nowrap}.search{display:flex;align-items:center;gap:10px;width:min(100%,440px);min-height:38px;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;background:var(--surface)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.search svg{color:var(--muted);width:16px;height:16px}.search input{min-width:0;width:100%;outline:none;background:transparent;font-size:12px}.search.compact{max-width:270px;min-height:36px;padding:7px 10px}.roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.role-card{display:flex;flex-direction:column;align-items:stretch;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.role-card:hover{border-color:var(--strong-border);box-shadow:var(--shadow-sm)}.role-card-top{display:flex;align-items:center;gap:7px;margin-bottom:19px}.role-card-top>svg{margin-left:auto;width:16px;height:16px;color:var(--muted)}.role-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--color-primary-text)}.role-icon svg{width:17px;height:17px}.role-card h2{font-size:17px;font-weight:650;line-height:1.35}.role-card>p{margin-top:9px;min-height:46px;color:var(--muted);font-size:12px;line-height:1.65}.role-services{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 22px}.role-services span{padding:3px 7px;border-radius:5px;color:var(--muted);background:var(--soft);font-size:10px}.role-card footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:15px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.role-card footer>span{display:inline-flex;gap:5px;align-items:center}.role-card footer svg{width:13px;height:13px}.pill{display:inline-block;padding:3px 7px;border:1px solid var(--border);border-radius:6px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:550;line-height:1.45}.pill.good{color:var(--good);background:var(--good-soft)}.pill.good,.pill.warn{border-color:transparent}.pill.warn{color:var(--warn);background:var(--warn-soft)}.notice{display:flex;align-items:flex-start;gap:9px;margin-bottom:20px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft);font-size:12px;line-height:1.7}.notice>svg{margin-top:2px;width:17px;height:17px}.notice>span{flex:1 1}.notice .icon-button{width:24px;height:24px;margin:-3px -4px -3px auto}.notice p{margin-top:4px}.notice .text-button{display:flex;margin-top:7px}.notice.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 15%,var(--border));color:var(--bad)}.notice.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 15%,var(--border));color:var(--warn)}.notice.good{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 15%,var(--border));color:var(--good)}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:65px 20px;color:var(--muted);font-size:13px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty{display:flex;flex-direction:column;align-items:center;padding:64px 25px;border:1px dashed var(--border);border-radius:12px;text-align:center}.empty>svg{width:26px;height:26px;margin-bottom:17px;color:var(--muted)}.empty h2{font-size:19px}.empty p{max-width:430px;margin-top:8px;color:var(--muted);font-size:13px}.empty.small{padding:24px;font-size:12px;color:var(--muted)}.detail-card{max-width:100%;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.detail-top{justify-content:space-between;gap:15px;padding-bottom:23px;font-size:11px}.detail-title,.detail-top{display:flex;align-items:center}.detail-title{gap:12px;margin-bottom:23px}.detail-title h2,.user-profile h2{font-size:20px;line-height:1.35}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.field input,.field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 12px;background:var(--surface);outline:none;font-size:13px;font-weight:400}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.field input:disabled,.field textarea:disabled{background:var(--soft)}.field textarea{min-height:78px;resize:vertical;line-height:1.65}.field small{color:var(--muted);font-size:11px;font-weight:400}.role-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:22px;gap:22px}.detail-facts{display:flex;flex-wrap:wrap;gap:24px;margin-top:17px;color:var(--muted);font-size:11px}.detail-facts strong{color:var(--text);font-weight:550}.matrix{margin-top:29px}.matrix-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.change-review h3,.effective-access>h3,.matrix-heading h3,.section-heading h3{font-size:15px}.matrix-heading p,.section-heading p{margin-top:3px;color:var(--muted);font-size:11px}.service-group{margin-top:9px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.service-group summary{display:flex;align-items:center;gap:10px;padding:12px 15px;cursor:pointer;list-style:none}.service-group summary::-webkit-details-marker{display:none}.service-group summary>strong{font-size:13px}.service-symbol.app-launcher-icon{width:30px;height:30px;flex:none;border-radius:8px}.service-symbol.app-launcher-icon svg{width:24px;height:24px}.service-count{margin-left:auto;color:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.audit-details summary>svg,.service-group summary>svg{width:15px;height:15px;color:var(--muted);transition:transform .15s}.audit-details[open] summary>svg,.service-group[open] summary>svg{transform:rotate(180deg)}.permission-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border-top:1px solid var(--border);padding:4px 8px;background:color-mix(in srgb,var(--soft) 30%,var(--surface))}.permission-option{display:flex;align-items:flex-start;gap:9px;padding:13px 9px;cursor:pointer}.checkbox-line input,.permission-option input,.role-option input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0}.permission-option strong{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:600}.permission-option small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.65}.permission-option .sensitive-label{margin:0;padding:1px 5px;border-radius:4px;color:var(--warn);background:var(--warn-soft);font-size:9px;font-weight:550}.permission-option:has(input:disabled){cursor:default}.permission-option.checked strong{color:var(--color-primary-text)}.change-review{margin-top:24px;border-top:1px solid var(--border);padding-top:20px;font-size:12px}.change-review>p{margin-top:7px}.change-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:12px}.change-columns ul{display:grid;grid-gap:6px;gap:6px;padding:0;list-style:none;margin:8px 0 18px}.change-columns li{display:flex;gap:6px;font-size:11px;line-height:1.7}.change-columns li svg,.change-columns li>span{width:13px;height:13px;flex-shrink:0;margin-top:3px}.confirmation{display:grid;grid-gap:17px;gap:17px;margin:22px 0 12px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft)}.confirmation .button{justify-self:end}.checkbox-line{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.65;cursor:pointer}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:12px 16px;background:var(--soft);color:var(--muted);text-align:left;font-size:11px;font-weight:550}td{padding:15px 16px;border-top:1px solid var(--border)}tr:hover td{background:color-mix(in srgb,var(--soft) 40%,var(--surface))}.user-link{display:flex;align-items:center;gap:10px;padding:0;text-align:left}.user-link strong{display:block;font-size:12px;font-weight:650}.user-link small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.assigned-roles,.table-roles{display:flex;flex-wrap:wrap;gap:6px}.role-token{display:inline-block;padding:4px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--soft);font-size:10px}.pagination{justify-content:space-between;gap:16px;margin-top:18px;color:var(--muted);font-size:11px}.pagination,.pagination>div{display:flex;align-items:center}.pagination>div{gap:11px}.user-profile{display:flex;align-items:center;gap:13px;margin-bottom:26px}.user-profile>div{min-width:0}.user-profile>.pill{margin-left:auto}.user-profile p{margin-top:4px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.assigned-roles{margin-bottom:23px}.assigned-roles .role-token{font-size:12px;padding:7px 11px}.role-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.role-option{display:flex;align-items:flex-start;gap:9px;padding:13px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.role-option.checked{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent-soft)}.role-option>span{flex:1 1}.role-option strong{display:block;font-size:12px}.role-option small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.7}.role-option>small{white-space:nowrap}.effective-access{margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}.effective-access>p{margin-top:5px;margin-bottom:15px;font-size:11px}.effective-rows{margin:0;border-top:1px solid var(--border);padding:2px 15px}.effective-rows>div{display:grid;grid-template-columns:1fr 1fr;grid-gap:17px;gap:17px;padding:10px 0;border-bottom:1px solid var(--border)}.effective-rows>div:last-child{border-bottom:0}.effective-rows dt{display:flex;gap:7px;font-size:12px}.effective-rows dt svg{width:13px;height:13px;color:var(--color-primary-text);margin-top:3px}.effective-rows dd{margin:0;color:var(--muted);font-size:11px}.audit-list{display:grid;grid-gap:13px;gap:13px}.audit-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface)}.audit-line{display:flex;align-items:flex-start;gap:11px}.audit-dot{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-primary-text);background:var(--accent-soft)}.audit-dot svg{width:16px;height:16px}.audit-line h2{font-size:14px}.audit-line p{margin-top:4px;color:var(--muted);font-size:11px}.audit-line p strong{color:var(--text);font-weight:550}.audit-id{margin-left:auto;color:var(--muted);font-size:10px}.audit-target{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 0 43px}.audit-reason{margin:12px 0 16px 43px;font-size:12px;line-height:1.7}.audit-details{margin-left:43px;border-top:1px solid var(--border);padding-top:10px}.audit-details summary{display:flex;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;cursor:pointer;color:var(--color-primary-text);list-style:none;font-size:11px}.audit-details summary::-webkit-details-marker{display:none}.audit-diff{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:12px}.audit-diff>div{padding:12px;border-radius:8px;background:var(--soft)}.audit-diff h3{color:var(--muted);font-size:11px;font-weight:550}.audit-diff ul{margin:8px 0 0;padding-left:15px;font-size:11px;line-height:1.8}.site-header-inner{display:flex;min-height:3.5rem;align-items:center;gap:1rem;padding-top:.35rem;padding-bottom:.35rem}.desktop-nav{display:flex}.app-launcher{position:relative;flex:none}.app-launcher-trigger{position:relative;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:.45rem;background:var(--color-surface);color:var(--color-text-secondary);transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.app-launcher-trigger:after{content:"";position:absolute;right:.28rem;bottom:.28rem;width:.28rem;height:.28rem;border:1.5px solid var(--color-surface);border-radius:50%;background:#84bd00}.app-launcher-trigger.is-open,.app-launcher-trigger:focus-visible,.app-launcher-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 36%,var(--color-border));background:var(--color-primary-light);color:var(--color-primary-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent);outline:none}.app-launcher-trigger.is-open svg{transform:rotate(8deg) scale(1.06)}.app-launcher-trigger svg{transition:transform .24s cubic-bezier(.16,1,.3,1)}.app-launcher-menu{position:absolute;z-index:80;top:calc(100% + .55rem);right:0;width:31rem;max-width:calc(100vw - 1rem);overflow:hidden;padding:.55rem;border:1px solid var(--color-border);border-radius:.8rem;background:color-mix(in srgb,var(--color-surface) 96%,var(--color-primary-light));box-shadow:0 18px 48px color-mix(in srgb,#101828 19%,transparent),var(--shadow-md);transform-origin:calc(100% - 1rem) 0;animation:app-launcher-in .2s cubic-bezier(.16,1,.3,1)}.app-launcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.4rem .5rem .65rem}.app-launcher-head>span:first-child{display:flex;min-width:0;flex-direction:column}.app-launcher-head strong{color:var(--color-text);font-size:.78rem;font-weight:740}.app-launcher-head small{margin-top:.08rem;color:var(--color-text-tertiary);font-size:.6rem}.app-launcher-count{flex:none;padding:.24rem .42rem;border-radius:999px;background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:.55rem;font-weight:650}.app-launcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.3rem;gap:.3rem}.app-launcher-item{--app-accent:var(--color-primary);position:relative;display:grid;min-width:0;grid-template-columns:2.25rem minmax(0,1fr) .8rem;align-items:center;grid-gap:.55rem;gap:.55rem;min-height:4.1rem;padding:.52rem;border:1px solid transparent;border-radius:.62rem;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.app-launcher-item:focus-visible,.app-launcher-item:hover{z-index:1;border-color:color-mix(in srgb,var(--app-accent) 25%,var(--color-border));background:color-mix(in srgb,var(--app-accent) 7%,var(--color-surface));box-shadow:0 7px 20px color-mix(in srgb,var(--app-accent) 11%,transparent);transform:translateY(-1px);outline:none}.app-launcher-item.is-current{border-color:color-mix(in srgb,var(--app-accent) 30%,var(--color-border));background:color-mix(in srgb,var(--app-accent) 9%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-accent) 5%,transparent)}.app-launcher-icon{--app-icon-detail:rgba(255,255,255,0.72);position:relative;display:grid;width:2.25rem;height:2.25rem;place-items:center;overflow:hidden;border-radius:.62rem;background:var(--app-accent);color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255/18%),0 4px 10px color-mix(in srgb,var(--app-accent) 24%,transparent)}.app-launcher-icon.is-gradusi{background:linear-gradient(145deg,#079bc2,#159858 34%,#8abf00 54%,#f6a600 74%,#e52c24)}.app-launcher-icon.is-playground{--app-icon-detail:#f5bd55;background:linear-gradient(145deg,#7167f7,#4439c9)}.app-launcher-icon.is-smena{--app-icon-detail:#a8dec0;background:linear-gradient(145deg,#29423b,#162a24)}.app-launcher-icon.is-playsmena{--app-icon-detail:#c0bcff;background:linear-gradient(145deg,#6459f4,#3d33bd)}.app-launcher-icon.is-scrapers{--app-icon-detail:#ffd1b1;background:linear-gradient(145deg,#ef7b3c,#ce3529)}.app-launcher-icon.is-playscrape{--app-icon-detail:#b9dfff;background:linear-gradient(145deg,#349ddd,#285eb4)}.app-launcher-icon svg{position:relative;z-index:1;width:1.7rem;height:1.7rem;transition:transform .18s cubic-bezier(.16,1,.3,1)}.app-launcher-icon circle.app-launcher-icon-accent{fill:var(--app-icon-detail);stroke:none}.app-launcher-icon path.app-launcher-icon-accent{stroke:var(--app-icon-detail)}.app-launcher-icon .app-launcher-icon-alert{fill:#f5bd55}.app-launcher-item:focus-visible .app-launcher-icon svg,.app-launcher-item:hover .app-launcher-icon svg{transform:scale(1.08)}.app-launcher-copy{display:flex;min-width:0;flex-direction:column}.app-launcher-name{overflow:hidden;color:var(--color-text);font-size:.68rem;font-weight:710;text-overflow:ellipsis;white-space:nowrap}.app-launcher-description{margin-top:.03rem;font-size:.56rem}.app-launcher-description,.app-launcher-domain{overflow:hidden;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap}.app-launcher-domain{margin-top:.17rem;font-size:.49rem}.app-launcher-state{display:grid;width:.8rem;height:.8rem;place-items:center;color:var(--color-text-tertiary);opacity:0;transform:translate(-2px,2px);transition:color .16s ease,opacity .16s ease,transform .16s ease}.app-launcher-state svg{width:.68rem;height:.68rem}.app-launcher-item:focus-visible .app-launcher-state,.app-launcher-item:hover .app-launcher-state{color:var(--app-accent);opacity:1;transform:translate(0)}.app-launcher-item.is-current .app-launcher-state{width:.86rem;height:.86rem;border-radius:50%;background:var(--app-accent);color:#fff;opacity:1;transform:none}@keyframes app-launcher-in{0%{opacity:0;transform:translateY(-5px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.app-launcher-menu{animation:none}.app-launcher-icon svg,.app-launcher-trigger svg{transition:none}}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:.45rem;color:var(--color-text-secondary);background:var(--color-surface)}.mobile-site-nav{display:none}.nav-group{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;border-radius:.375rem;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:background-color .15s ease,color .15s ease}.nav-group:hover{background:var(--color-surface-sunken);color:var(--color-text)}.nav-group-active{background:var(--color-primary-light);color:var(--color-primary-text)}.user-badge{gap:.5rem;padding-right:.25rem;min-width:0}.user-avatar,.user-badge{display:flex;align-items:center}.user-avatar{justify-content:center;flex:none;width:2rem;height:2rem;border-radius:50%;object-fit:cover;border:1px solid var(--color-border)}.user-initials{background:var(--color-primary-light);color:var(--color-primary-text);font-size:.6875rem;font-weight:700;border-color:transparent}.user-text{display:none;flex-direction:column;min-width:0;line-height:1.25}@media (min-width:900px){.user-text{display:flex}}.user-name{font-size:.75rem;font-weight:600;color:var(--color-text)}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}.user-role{font-size:.625rem;color:var(--color-text-secondary)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:var(--surface)}.site-header-inner{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}.site-brand{flex:none;display:inline-flex}.role-brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.role-brand img{display:block;flex:none;width:108px;height:28px}.brand-divider{display:block;width:1px;height:24px;background:var(--border)}.brand-mark{display:inline-flex;align-items:baseline;font-family:var(--font-slab),Georgia,serif;font-size:17px;font-weight:600;line-height:1;letter-spacing:-.015em}.brand-mark-name{color:var(--text)}.brand-mark-deg{color:var(--accent);font-size:1.3em;line-height:0;margin-left:1px}.site-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}.desktop-nav{gap:4px}.icon-button{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:.45rem;background:var(--surface);color:var(--muted);transition:background-color .15s,color .15s,border-color .15s}.icon-button.selected,.icon-button:hover:not(:disabled){background:var(--soft);color:var(--text);border-color:var(--strong-border)}.app-launcher-trigger svg,.icon-button svg,.mobile-nav-toggle svg{width:16px;height:16px}.app-launcher-icon svg{stroke-width:initial}.app-launcher-icon.is-gradusi_admin{background:linear-gradient(145deg,#079bc2,#159858 34%,#8abf00 54%,#f6a600 74%,#e52c24)}.app-launcher-icon.is-docs{--app-icon-detail:#b9f1ed;background:linear-gradient(145deg,#159ca8,#08727f)}.app-launcher-icon.is-roles{--app-icon-detail:#e5d4ff;background:linear-gradient(145deg,#9b6dde,#6640a6)}.workspace{position:relative;z-index:1;max-width:1280px;margin:0 auto;min-height:calc(100vh - 56px)}.main-panel{min-width:0;padding:24px 24px 48px}.page-heading h1{font-weight:700}.avatar,.role-icon{color:var(--color-primary-text)}.table-wrap{box-shadow:var(--shadow-xs)}.backdrop-grid{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.backdrop-glyph{position:absolute;width:20px;height:20px;fill:none;stroke:var(--color-border-strong);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.5;pointer-events:none}[data-theme=dark] .backdrop-glyph{stroke:rgba(255,255,255,.13);opacity:1}.login-smena{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:40px 16px}.login-smena:after,.login-smena:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}.login-smena:before{background-image:radial-gradient(circle at 1px 1px,var(--color-border) 1px,transparent 0);background-size:22px 22px;background-position:-1px -1px}.login-smena:after{background:radial-gradient(620px 460px at 10% 14%,rgba(11,134,116,.2),transparent 62%),radial-gradient(560px 420px at 90% 88%,rgba(132,189,0,.16),transparent 62%),radial-gradient(420px 340px at 82% 16%,rgba(17,147,209,.12),transparent 65%)}[data-theme=dark] .login-smena:before{background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0)}[data-theme=dark] .login-smena:after{background:radial-gradient(620px 460px at 10% 14%,rgba(11,134,116,.34),transparent 62%),radial-gradient(560px 420px at 90% 88%,rgba(132,189,0,.2),transparent 62%),radial-gradient(420px 340px at 82% 16%,rgba(17,147,209,.18),transparent 65%)}.login-smena-card{position:relative;width:min(100%,448px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-accent{height:3px;background:linear-gradient(90deg,#da281c,#ff6a00 22%,#f6a708 44%,#84bd00 64%,#0b8674 80%,#1193d1)}.login-card-inner{padding:28px}.login-brand{display:flex;justify-content:center;margin-bottom:24px}.login-heading{text-align:center;margin-bottom:24px}.login-heading h1{font-size:20px;font-weight:700}.login-heading p{margin:8px auto 0;max-width:320px;font-size:13px;color:var(--muted);line-height:1.55}.login-form{display:grid;grid-gap:12px;gap:12px}.field-shell{display:block;position:relative}.field-shell>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.field-input{width:100%;min-height:42px;padding:10px 12px 10px 40px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);outline:none;font-size:14px}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-remember{display:flex;gap:9px;align-items:flex-start;padding:4px 0;font-size:12px;cursor:pointer}.login-remember input{flex:none;width:16px;height:16px;margin:2px 0 0}.login-remember span{display:grid;grid-gap:2px;gap:2px}.login-remember strong{font-weight:500}.login-remember small{color:var(--muted);font-size:11px}.login-form .notice{margin:0}.login-submit{width:100%;min-height:40px;font-size:14px;font-weight:500}.login-sso{display:flex;justify-content:center;text-align:center;margin-top:18px;font-size:12px}@media (max-width:1100px){.desktop-nav,.site-header-actions .user-badge{display:none}.mobile-nav-toggle{display:inline-flex}.mobile-site-nav{display:grid;grid-gap:4px;gap:4px;padding:8px 24px 12px;border-top:1px solid var(--border);background:var(--surface)}.mobile-site-nav>button{display:flex;align-items:center;gap:8px;padding:10px 12px;text-align:left;border-radius:var(--radius-md);font-size:13px;color:var(--muted)}.mobile-site-nav>button.is-active,.mobile-site-nav>button:hover{background:var(--accent-soft);color:var(--color-primary-text)}.mobile-site-nav svg{width:16px;height:16px}.roles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.site-header-inner{padding-left:16px;padding-right:16px;gap:8px}.site-header-actions{gap:6px}.role-brand{gap:8px}.role-brand img{width:91px;height:24px}.brand-mark{font-size:15px}.brand-divider{height:22px}.main-panel{padding:24px 16px 40px}.mobile-site-nav{padding-left:16px;padding-right:16px}.app-launcher-menu{position:fixed;top:60px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 68px);overflow-y:auto}.app-launcher-item{grid-template-columns:30px minmax(0,1fr) 10px;gap:6px;padding:8px 5px}.app-launcher-icon{width:30px;height:30px}.app-launcher-icon svg{width:24px;height:24px}.app-launcher-description{font-size:9px}.app-launcher-domain{font-size:8px}.login-card-inner{padding:24px}.login-brand .role-brand img{width:108px;height:28px}.login-brand .brand-mark{font-size:17px}.field input,.field textarea,.field-input,.search input{font-size:16px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.page-heading h1{font-size:20px}.page-heading p{font-size:12px}.roles-grid{grid-template-columns:1fr}.collection-toolbar{align-items:stretch;flex-direction:column;gap:9px}.collection-toolbar .search{width:100%}.collection-toolbar .button{align-self:flex-start}.detail-card{padding:19px 15px}.detail-title{align-items:flex-start;flex-direction:column;gap:8px}.detail-title h2,.user-profile h2{font-size:20px}.role-fields{grid-template-columns:1fr;gap:15px}.matrix-heading{align-items:flex-start;flex-direction:column}.matrix-heading .search{width:100%;max-width:none}.audit-diff,.change-columns,.permission-options,.role-options{grid-template-columns:1fr}.confirmation{padding:15px}.confirmation .button{width:100%}.user-profile{flex-wrap:wrap}.user-profile>.pill{margin:0}.user-profile>div{flex:1 1}.section-heading{align-items:flex-start}.effective-rows>div{grid-template-columns:1fr;gap:3px}.effective-rows dd{padding-left:20px}.audit-card{padding:16px}.audit-details,.audit-reason,.audit-target{margin-left:0}}@media (max-width:430px){.app-launcher-grid{grid-template-columns:1fr}.app-launcher-item{grid-template-columns:36px minmax(0,1fr) 14px;gap:10px;min-height:60px;padding:8px}.app-launcher-name{font-size:12px}.app-launcher-description{font-size:11px}.app-launcher-domain{font-size:10px}.app-launcher-item .app-launcher-icon{width:36px;height:36px}.app-launcher-item .app-launcher-icon svg{width:27px;height:27px}}@media (max-width:359px){.site-brand .brand-divider,.site-brand .brand-mark{display:none}.app-launcher-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}