@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");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:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");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:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{color-scheme:light;--primary: #000000;--on-primary: #ffffff;--surface: #f9f9f9;--surface-container-lowest: #ffffff;--surface-container-low: #f3f3f4;--surface-container: #eeeeee;--surface-container-high: #e8e8e8;--surface-container-highest: #e2e2e2;--on-surface: #1a1c1c;--on-surface-variant: #474747;--outline: #777777;--outline-variant: #c6c6c6;--error: #ba1a1a;--success: #059669;--warning: #d97706;--info: #2563eb;--topbar-height: 40px;--sidebar-width: 232px;--frame-width: 1400px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius: var(--radius-2xl);--radius-sm: var(--radius-lg);--ease: cubic-bezier(.23, 1, .32, 1);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-head: "Manrope", "Inter", ui-sans-serif, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shadow: 0 30px 90px rgba(0, 0, 0, .15);--shadow-card: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -4px rgba(0, 0, 0, .06);--background: var(--surface);--foreground: var(--on-surface);--card: var(--surface-container-lowest);--popover: var(--surface-container-lowest);--primary-foreground: var(--on-primary);--muted: var(--surface-container);--muted-foreground: var(--on-surface-variant);--subtle: var(--surface-container-low);--accent: var(--surface-container);--border: color-mix(in srgb, var(--outline-variant) 20%, transparent);--border-soft: color-mix(in srgb, var(--outline-variant) 10%, transparent);--input: color-mix(in srgb, var(--outline-variant) 40%, transparent);--brand: var(--primary);--brand-ink: var(--on-surface);--ring: var(--primary);--destructive: var(--error)}:root.dark{color-scheme:dark;--primary: #ffffff;--on-primary: #000000;--surface: #0d0e0e;--surface-container-lowest: #0a0b0b;--surface-container-low: #1a1c1c;--surface-container: #212323;--surface-container-high: #2b2d2d;--surface-container-highest: #333535;--on-surface: #e2e2e2;--on-surface-variant: #c6c6c6;--outline: #919191;--outline-variant: #474747;--error: #ffb4ab;--success: #34d399;--warning: #fbbf24;--info: #60a5fa;--shadow: 0 40px 120px rgba(0, 0, 0, .3);--shadow-card: 0 10px 15px -3px rgba(0, 0, 0, .3);--border: color-mix(in srgb, var(--outline-variant) 40%, transparent);--border-soft: color-mix(in srgb, var(--outline-variant) 25%, transparent);--input: color-mix(in srgb, var(--outline-variant) 60%, transparent)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground);font:400 12px/1.55 var(--font-sans)}h1,h2,h3{margin:0;font-family:var(--font-sans);font-weight:600;letter-spacing:-.025em;line-height:1.2}h1{font-size:34px;letter-spacing:-.035em;line-height:1.1}h2{font-size:15px}h3{font-size:13px}p{margin:0 0 12px}a{color:inherit}code,kbd{font-family:var(--font-mono);font-size:.88em}code{word-break:break-word}code,kbd,pre,textarea{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}hr{height:1px;margin:24px 0;border:0;background:var(--border)}table{width:100%;border-collapse:collapse}th,td{text-align:left;vertical-align:top}fieldset{min-width:0;margin:0;padding:0;border:0}::selection{background:color-mix(in srgb,var(--brand) 30%,transparent)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.skip{position:absolute;left:-9999px}.skip:focus{top:12px;left:12px;z-index:300;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted-foreground)}.mobile-only{display:none!important}.react-loading{display:grid;place-items:center;min-height:100vh;color:var(--muted-foreground);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.react-error-boundary{max-width:720px;margin:10vh auto}.react-table-wrap{width:100%;overflow-x:auto}.stack>*+*{margin-top:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-label,.eyebrow,.login-kicker{margin:0;color:var(--muted-foreground);font:900 10px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.eyebrow,.page-header>div>.section-label:first-child{display:inline-flex;align-items:center;gap:10px}.eyebrow:before,.page-header>div>.section-label:first-child:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--brand)}.frame{width:100%;max-width:var(--frame-width);min-height:100vh;display:flex;flex-direction:column;margin:0 auto;border-inline:1px solid var(--border);background:var(--background)}.topbar{position:sticky;top:0;z-index:60;height:var(--topbar-height);display:flex;align-items:center;gap:8px;padding:0 20px 0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--background) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}.wordmark-button{display:inline-flex;min-height:0;align-items:center;margin-right:14px;padding:0;border:0;background:transparent;color:var(--foreground);cursor:pointer}.wordmark-button:hover{opacity:1}.wordmark{display:inline-flex;align-items:baseline;gap:0;font:650 13px/1 var(--font-sans);letter-spacing:-.035em;white-space:nowrap}.wordmark b{color:var(--brand);font-weight:700}.wordmark small{margin-left:10px;color:var(--muted-foreground);font:900 10px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.topnav{display:flex;min-width:0;align-items:center;gap:2px}.topnav button,.topnav a{min-height:32px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);font:400 12px/32px var(--font-sans);text-decoration:none;white-space:nowrap}.topnav button:hover,.topnav a:hover{color:var(--foreground);opacity:1}.topnav .active{color:var(--foreground);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.search-trigger{width:232px;height:32px;min-height:32px;justify-content:flex-start;gap:8px;margin-right:8px;padding:0 6px 0 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--muted-foreground);font-size:12px;font-weight:400}.search-trigger:hover{border-color:color-mix(in srgb,var(--foreground) 20%,var(--border));color:var(--foreground);opacity:1}.search-trigger span{flex:1;text-align:left}kbd{padding:1px 6px;border:1px solid var(--border);border-radius:5px;background:var(--background);color:var(--muted-foreground);font-size:11px;font-weight:500;line-height:18px;white-space:nowrap}.icon-button{width:34px;height:34px;min-height:34px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--foreground)}.icon-button:hover{background:var(--accent);opacity:1}.icon-button.logout{color:var(--muted-foreground)}.icon-button.logout:hover{color:var(--destructive)}.profile-trigger{width:34px;height:34px;min-height:34px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent}.profile-trigger b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--primary-foreground);font:600 10px/1 var(--font-mono);letter-spacing:.02em}.profile-trigger:hover b,.profile-trigger.active b{box-shadow:0 0 0 2px var(--background),0 0 0 3.5px var(--brand)}.profile-trigger:hover{opacity:1}.shell-body{display:grid;flex:1;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.global-sidebar{position:sticky;top:var(--topbar-height);height:calc(100vh - var(--topbar-height));display:flex;flex-direction:column;overflow-y:auto;padding:28px 12px 18px;border-right:1px solid var(--border);background:var(--background)}.global-sidebar nav{flex:1}.sidebar-group+.sidebar-group{margin-top:26px}.sidebar-group .section-label{margin:0 10px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item{width:100%;min-height:32px;display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:1px 0;padding:5px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);font:400 12px/1.35 var(--font-sans);text-align:left;text-decoration:none}.nav-item>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{color:var(--foreground);opacity:1}.nav-item.active{background:var(--accent);color:var(--foreground);font-weight:500}.project-group .nav-item{width:calc(100% - 10px);margin:0 0 0 10px;padding-left:16px;border-left:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12px}.project-group .nav-item.active{border-left-color:var(--foreground)}.nav-flag{margin-left:auto;color:var(--muted-foreground);font:900 10px var(--font-sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase}.sidebar-empty{margin:0 10px;color:var(--muted-foreground);font-size:11px}.sidebar-identity{margin:24px 0 0;padding:16px 10px 0;border-top:1px solid var(--border)}.sidebar-identity strong,.sidebar-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-identity strong{font-size:11px;font-weight:500}.sidebar-identity small{margin-top:3px;color:var(--muted-foreground);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.shell-body>main{min-width:0;padding:44px 48px 64px}.shell-body>main:focus{outline:0}.site-footer{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--border);color:var(--muted-foreground);font:900 10px/1.5 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.site-footer span{display:inline-flex;align-items:center;gap:10px}.site-footer nav{display:flex;gap:24px;flex-wrap:wrap}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--foreground)}.status-dot{display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}button,.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:var(--primary);color:var(--primary-foreground);font:500 12px/1 var(--font-sans);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,opacity .15s}button:hover,.button:hover{opacity:.88}button:disabled{cursor:not-allowed;opacity:.5}.ghost,.secondary{border-color:var(--border);background:transparent;color:var(--foreground)}.ghost:hover,.secondary:hover{background:var(--accent);opacity:1}:root.dark .ghost,:root.dark .secondary{border-color:var(--input);background:color-mix(in srgb,var(--input) 25%,transparent)}.danger-button{border-color:color-mix(in srgb,var(--destructive) 35%,transparent);background:transparent;color:var(--destructive)}.danger-button:hover{background:color-mix(in srgb,var(--destructive) 9%,transparent);opacity:1}button.small{min-height:28px;padding:0 10px;border-radius:6px;font-size:11px}.link-button{display:flex;width:fit-content;min-height:28px;gap:6px;margin-inline:auto;padding:0;border:0;background:transparent;color:var(--muted-foreground);font-size:11px;font-weight:500}.link-button:hover{color:var(--foreground);text-decoration:underline;text-underline-offset:3px;opacity:1}label{display:block;margin-bottom:7px;color:var(--foreground);font-size:11px;font-weight:500;line-height:1.4}input,select,textarea{width:100%;min-height:36px;padding:0 12px;border:1px solid var(--input);border-radius:8px;background:transparent;color:var(--foreground);font:400 12px/1.4 var(--font-sans);transition:border-color .15s,box-shadow .15s}:root.dark input,:root.dark select,:root.dark textarea{background:color-mix(in srgb,var(--input) 30%,transparent)}select{padding-right:32px}select option{background:var(--popover);color:var(--foreground)}textarea{min-height:200px;padding:12px;font-family:var(--font-mono);font-size:11px;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--muted-foreground)}input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 28%,transparent);outline:0}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;flex:none;margin:0;padding:0;accent-color:var(--primary)}.react-checkbox-label{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted-foreground);font-size:11px;font-weight:400}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{position:absolute;inset:3px 3px 3px auto;width:34px;min-height:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted-foreground)}.password-toggle:hover{background:var(--accent);color:var(--foreground);opacity:1}.error{margin:12px 0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--destructive) 35%,transparent);border-radius:8px;background:color-mix(in srgb,var(--destructive) 7%,transparent);color:var(--destructive);font-size:12px}.notice{margin:16px 0;padding:11px 14px;border:1px solid var(--border);border-left:2px solid var(--brand);border-radius:8px;background:var(--subtle);color:var(--muted-foreground);font-size:12px}.notice strong,.notice code{color:var(--foreground)}#toast{position:fixed;right:20px;bottom:20px;z-index:260;max-width:min(420px,calc(100vw - 40px));padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--popover);color:var(--foreground);box-shadow:var(--shadow);font-size:12px;font-weight:500}.api-loading{position:fixed;top:12px;left:50%;z-index:280;display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--popover);color:var(--foreground);box-shadow:var(--shadow);transform:translate(-50%);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.api-loading strong{font-weight:500}.api-loading span{width:12px;height:12px;border:1.5px solid color-mix(in srgb,var(--foreground) 25%,transparent);border-top-color:var(--brand);border-radius:50%;animation:api-spin .7s linear infinite}@keyframes api-spin{to{transform:rotate(360deg)}}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:11px;font-weight:500;line-height:18px;white-space:nowrap}.status-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.active{border-color:color-mix(in srgb,var(--success) 30%,transparent);background:color-mix(in srgb,var(--success) 8%,transparent);color:var(--success)}.status-badge.inactive{background:var(--muted)}.status-badge.pending{border-color:color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning) 9%,transparent);color:var(--warning)}.role-badge,.pill,.secure-chip,.sso-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--subtle);color:var(--foreground);font:500 11px/18px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.secure-chip{border-color:color-mix(in srgb,var(--success) 30%,transparent);background:color-mix(in srgb,var(--success) 8%,transparent);color:var(--success);letter-spacing:.04em}.sso-chip{padding:4px 10px;border-radius:999px;color:var(--muted-foreground)}.sso-pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-color:color-mix(in srgb,var(--brand) 35%,transparent);background:color-mix(in srgb,var(--brand) 9%,transparent);color:var(--brand-ink)}.empty-state{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;padding:32px;color:var(--muted-foreground);text-align:center}.empty-state>svg{width:44px;height:44px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--subtle)}.empty-state strong{margin-top:14px;color:var(--foreground);font-weight:500}.empty-state p{margin:4px 0 0;font-size:12px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.page-header .section-label{margin:0 0 14px}.page-header h1{margin-bottom:10px}.page-header p:not(.section-label){max-width:720px;margin:0;font-size:13px;line-height:1.6}.page-actions{display:flex;flex:none;gap:8px}.card{padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.content-section{padding:24px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2,.table-toolbar h2{margin:0 0 4px}.section-heading p,.table-toolbar p{margin:0;font-size:12px}.stat-strip,.report-grid,.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:0 0 24px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--border)}.stat-strip .metric,.report-grid .metric{display:flex;min-height:0;flex-direction:column;padding:24px 26px;border:0;border-radius:0;background:var(--card)}.metric strong{order:1;display:block;margin:0 0 12px;font:600 36px/1 var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric .section-label{order:2}.metric small{order:3;display:block;margin-top:6px;font-size:11px}.report-grid{margin:0 0 20px}.table-card{padding:0;overflow:hidden}.table-toolbar{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--border)}.search-box{width:280px;height:36px;display:flex;align-items:center;gap:8px;margin:0;padding:0 11px;border:1px solid var(--input);border-radius:8px;background:transparent;color:var(--muted-foreground);font-weight:400}.search-box:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 28%,transparent)}.search-box svg{flex:none}.search-box input,:root.dark .search-box input{height:34px;min-height:34px;padding:0;border:0;background:transparent;box-shadow:none}.data-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.project-table,.user-table{min-width:840px;table-layout:fixed}.col-primary{width:31%}.col-code{width:16%}.col-role{width:19%}.col-status{width:14%}.col-date{width:18%}.col-actions{width:120px}.data-table th{height:40px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--subtle);color:var(--muted-foreground);font:900 10px/1.3 var(--font-sans);letter-spacing:.1em;text-align:left;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.data-table td{height:58px;padding:10px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.data-table td code{color:var(--muted-foreground);font-size:11px;white-space:nowrap}.data-table td>strong{display:block;font-weight:500}.data-table td>small{display:block;margin-top:2px;color:var(--muted-foreground);font-size:11px}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:var(--subtle)}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:focus{background:var(--subtle);box-shadow:inset 2px 0 0 var(--brand);outline:0}.data-table tbody tr:last-child td{border-bottom:0}.actions-column,.data-table td:last-child{text-align:right!important}.primary-cell{display:flex;min-width:0;align-items:center;gap:12px}.primary-cell.compact{min-width:190px}.primary-cell>div{min-width:0}.primary-cell strong,.primary-cell small{display:block}.primary-cell strong{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.primary-cell small{margin-top:2px;overflow:hidden;color:var(--muted-foreground);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.table-avatar{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:8px;background:var(--subtle);color:var(--foreground);font:600 10px/1 var(--font-mono);letter-spacing:.02em}.row-actions{height:32px;display:flex;align-items:center;justify-content:flex-end;gap:2px}.icon-action{width:32px;height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);text-decoration:none}.icon-action:hover{background:var(--accent);color:var(--foreground);opacity:1}.icon-action.danger:hover{background:color-mix(in srgb,var(--destructive) 9%,transparent);color:var(--destructive)}.icon-action:disabled{cursor:not-allowed;opacity:.35}.sub-table{padding:28px 0 0}.sub-table .section-heading{padding:0 24px}.sub-table .data-table{border-top:1px solid var(--border)}.license-table{min-width:960px}.license-table th,.license-table td{padding-inline:12px}.license-table td:nth-child(3),.license-table td:nth-child(4),.license-table td:nth-child(5){white-space:nowrap}.license-table td:nth-child(2){min-width:180px}.license-table th{height:auto;padding-block:9px;white-space:normal}.license-table td:nth-child(6),.license-table td:nth-child(7){font-variant-numeric:tabular-nums}.modal-body small,.crud-section small{display:block;margin-top:6px;color:var(--muted-foreground);font-size:11px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:24px;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-panel{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--popover);box-shadow:var(--shadow)}.modal-panel.modal-wide{width:min(960px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0 0 4px;font-size:14px}.modal-header p{margin:0;color:var(--muted-foreground);font-size:12px}.modal-body{padding:22px 24px 24px}.modal-actions,.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.crud-form textarea{min-height:100px}.generated-slug{display:grid;gap:5px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--subtle)}.generated-slug>span{color:var(--muted-foreground);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.generated-slug code{font-size:11px;overflow-wrap:anywhere}.generated-slug small{color:var(--muted-foreground);font-size:11px}.switch-row{display:flex;align-items:flex-start;gap:12px;margin:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--subtle);font-weight:400}.switch-row input{margin-top:2px}.switch-row strong,.switch-row small{display:block}.switch-row strong{font-weight:500}.switch-row small{margin-top:3px;color:var(--muted-foreground);font-size:11px}.confirm-icon{width:44px;height:44px;display:grid;place-items:center;margin:2px 0 14px;border:1px solid color-mix(in srgb,var(--destructive) 30%,transparent);border-radius:12px;background:color-mix(in srgb,var(--destructive) 8%,transparent);color:var(--destructive)}.confirm-copy{margin:0;color:var(--muted-foreground);font-size:12px}.palette-backdrop{place-items:start center;padding-top:14vh}.palette{width:min(620px,100%);overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--popover);box-shadow:var(--shadow)}.palette-input{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border);color:var(--muted-foreground)}.palette-input input,:root.dark .palette-input input{height:52px;padding:0;border:0;background:transparent;box-shadow:none;font-size:13px}.palette-list{max-height:min(420px,60vh);margin:0;padding:6px;overflow-y:auto;list-style:none}.palette-list .section-label{padding:12px 10px 6px}.palette-list button{width:100%;min-height:40px;justify-content:flex-start;gap:10px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--foreground);font-weight:400}.palette-list button svg:first-child{color:var(--muted-foreground)}.palette-list button span{overflow:hidden;text-overflow:ellipsis}.palette-list button code{margin-left:auto;color:var(--muted-foreground);font-size:11px}.palette-list button.active{background:var(--accent);opacity:1}.palette-list button>svg:last-child:not(:first-child){margin-left:8px;color:var(--muted-foreground)}.palette-list button code+svg{margin-left:8px!important}.palette-list button span+svg{margin-left:auto!important}.palette-empty{padding:28px 12px;color:var(--muted-foreground);text-align:center}.settings-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.profile-summary{position:sticky;top:calc(var(--topbar-height) + 24px);text-align:center}.profile-avatar{width:64px;height:64px;display:grid;place-items:center;margin:4px auto 16px;border-radius:50%;background:var(--primary);color:var(--primary-foreground);font:600 15px/1 var(--font-mono)}.profile-summary h2{margin:0 0 4px}.profile-summary>p{margin:0 0 14px;color:var(--muted-foreground);font-size:11px}.profile-summary dl{margin:22px 0 0;text-align:left}.profile-summary dl div{padding:12px 0;border-top:1px solid var(--border)}.profile-summary dt,.report-detail dt,.fingerprint-row dt{margin-bottom:5px;color:var(--muted-foreground);font:900 10px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.profile-summary dd{margin:0;font-size:12px;font-weight:500}.settings-content{display:grid;gap:16px}.settings-card{padding:24px}.settings-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.settings-heading>svg{margin-top:2px;color:var(--muted-foreground)}.settings-heading h2{margin:0 0 4px}.settings-heading p,.settings-note{margin:0;color:var(--muted-foreground);font-size:12px}.password-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.theme-choice{width:100%;min-height:64px;justify-content:flex-start;gap:14px;padding:12px 14px;border:1px solid var(--border);background:var(--subtle);color:var(--foreground);font-weight:500;text-align:left;white-space:normal}.theme-choice:hover{background:var(--accent);opacity:1}.theme-choice span,.theme-choice strong,.theme-choice small{display:block}.theme-choice small{margin-top:4px;color:var(--muted-foreground);font-size:11px;font-weight:400}.rbac-stats,.rbac-config-card{margin-bottom:20px}.rbac-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.permission-config-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:26px 0 12px}.permission-config-heading .section-label{display:block;margin:0 0 4px}.permission-config-heading p{margin:0;color:var(--muted-foreground);font-size:12px}.permission-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permission-config-item{min-height:84px;display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);font-weight:400;transition:border-color .15s,background .15s}.permission-config-item:has(input:checked){border-color:color-mix(in srgb,var(--foreground) 35%,var(--border));background:var(--subtle)}.permission-config-item input{margin-top:2px}.permission-config-item span{min-width:0}.permission-config-item strong,.permission-config-item code,.permission-config-item small{display:block}.permission-config-item strong{font-size:12px;font-weight:500}.permission-config-item code{margin-top:2px;color:var(--brand-ink);font-size:10px}.permission-config-item small{margin-top:4px;color:var(--muted-foreground);font-size:11px;line-height:1.4}.matrix-card,.assignment-card{margin-bottom:20px;padding:0;overflow:hidden}.assignment-card{margin-top:20px}.permission-matrix{min-width:1080px;table-layout:fixed}.permission-matrix th:first-child,.permission-matrix td:first-child{width:260px}.permission-matrix th:not(:first-child),.permission-matrix td:not(:first-child){text-align:center!important}.permission-name strong,.permission-name code{display:block}.permission-name strong{font-weight:500}.permission-name code{margin-top:2px;font-size:10px}.matrix-value{height:50px!important}.matrix-check{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.matrix-empty{color:var(--border)}.assignment-table{min-width:900px;table-layout:fixed}.assignment-table th:nth-child(1){width:23%}.assignment-table th:nth-child(2){width:29%}.assignment-table th:nth-child(3){width:20%}.assignment-table th:nth-child(4){width:14%}.assignment-table th:nth-child(5){width:100px}.permission-count{display:inline-flex;min-width:44px;justify-content:center;padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--subtle);font:500 11px/18px var(--font-mono)}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.permission-item{display:flex;min-height:40px;align-items:center;gap:8px;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);font:400 11px var(--font-mono)}.permission-item:has(input:checked){border-color:color-mix(in srgb,var(--foreground) 35%,var(--border));background:var(--subtle)}.member-table{margin-top:20px;overflow:hidden;border:1px solid var(--border);border-radius:12px}.policy-field-list{display:grid;gap:10px}.policy-field-card{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.policy-field-heading,.policy-field-heading>div{display:flex;align-items:center}.policy-field-heading{justify-content:space-between;gap:14px;margin-bottom:14px}.policy-field-heading>div{gap:12px}.policy-field-heading strong,.policy-field-heading code{display:block}.policy-field-heading strong{font-weight:500}.policy-field-heading code{margin-top:2px;color:var(--muted-foreground);font-size:11px}.policy-index{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:7px;background:var(--subtle);font:600 11px/1 var(--font-mono)}.policy-field-grid{display:grid;grid-template-columns:1.4fr 1.2fr 1fr .75fr .75fr;gap:12px;align-items:end}.policy-options{display:flex;align-items:center;gap:20px;margin-top:14px}.policy-options label{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted-foreground);font-size:11px;font-weight:400}.derived-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.derived-section h3{margin:0 0 4px}.derived-list{display:grid;gap:8px}.derived-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.7fr) 34px;gap:12px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--subtle)}.derived-row>.icon-action{margin-bottom:2px}.policy-empty{margin:0;padding:20px;border:1px dashed var(--border);border-radius:10px;color:var(--muted-foreground);font-size:12px;text-align:center}.policy-save{margin-top:20px}.policy-builder input:disabled,.policy-builder select:disabled{opacity:.72}.detail-page{display:flex;flex-direction:column;gap:20px}.back-link{align-self:flex-start;min-height:24px;gap:6px;padding:0;border:0;background:transparent;color:var(--muted-foreground);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.back-link:hover{color:var(--foreground);opacity:1}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px}.detail-identity{display:flex;min-width:0;align-items:flex-start;gap:18px}.project-logo{width:52px;height:52px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--primary);color:var(--primary-foreground);font:600 12px/1 var(--font-mono);letter-spacing:.02em}.title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.title-row h1{margin:0;font-size:30px}.detail-identity p{margin:8px 0 10px;color:var(--muted-foreground);font-size:13px}.metadata{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted-foreground);font-size:11px}.metadata strong{color:var(--foreground);font-weight:500}.metadata code{padding:1px 6px;border:1px solid var(--border);border-radius:5px;background:var(--subtle);color:var(--foreground);font-size:11px}.detail-action-panel{display:grid;max-width:560px;gap:12px;justify-items:end}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.key-explanations{display:grid;gap:4px;color:var(--muted-foreground);font-size:11px;line-height:1.5;text-align:right}.key-explanations strong{color:var(--foreground);font-weight:500}.detail-content{padding:0;overflow:hidden}.tabs{display:flex;margin:0;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--subtle)}.tabs button{min-height:46px;flex:none;padding:0 22px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--muted-foreground);font:900 10px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.tabs button:hover{color:var(--foreground);opacity:1}.tabs button.active{background:var(--card);color:var(--foreground);box-shadow:inset 0 -1.5px 0 var(--foreground)}.crud-section{margin:24px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--subtle)}.recipient-selector{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.recipient-selector small{display:block;margin-top:8px;color:var(--muted-foreground);font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.org-chart-section{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--subtle)}.org-chart-section .section-heading{align-items:center}.org-chart-section h3{margin:0 0 4px}.org-chart-section p{margin:0}.org-tree{display:grid;gap:6px}.org-node{position:relative;min-height:56px;display:grid;grid-template-columns:34px minmax(180px,1fr) auto 104px;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.org-root-node{border-color:color-mix(in srgb,var(--foreground) 30%,var(--border))}.org-node-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--subtle)}.org-root-node .org-node-icon{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.org-node strong,.org-node small{display:block}.org-node strong{font-weight:500}.org-node small{margin-top:2px;color:var(--muted-foreground);font-size:11px}.org-node-status{color:var(--success);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.org-node.inactive-node{opacity:.62}.org-node.inactive-node .org-node-status{color:var(--muted-foreground)}.org-node-connector{position:absolute;top:-7px;left:-16px;width:16px;height:36px;border-bottom:1px solid var(--border);border-left:1px solid var(--border);border-radius:0 0 0 7px}.report-table{padding:0;overflow-x:auto}.report-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin:20px 0 0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--border)}.report-detail div{padding:14px 16px;background:var(--card)}.report-detail dd{margin:4px 0 0;font-weight:500}.acceptance .section-heading{align-items:center}.acceptance-block{min-width:0;margin:0;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--subtle)}.acceptance-block+.acceptance-block,.acceptance-block+form,form>.acceptance-block+.acceptance-block{margin-top:16px}.acceptance-block:disabled{opacity:.85}.acceptance-block>*+*{margin-top:14px}.acceptance-block-title{display:flex;align-items:flex-start;gap:10px;padding:0;color:var(--foreground);font-weight:400}.acceptance-block-title svg{flex:none;margin-top:2px;color:var(--muted-foreground)}.acceptance-block-title h3{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}.acceptance-block-title small{display:block;margin-top:3px;font-size:11px}legend.acceptance-block-title{float:left;width:100%;padding-bottom:14px}legend.acceptance-block-title+*{clear:both;margin-top:0}.fingerprint-row{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.fingerprint-row strong{display:block;font-size:12px;font-weight:500}.fingerprint-row>div>small{display:block;margin-top:3px;font-size:11px}.fingerprint-row dl{min-width:0;display:grid;gap:8px;margin:0}.fingerprint-row dl div,.fingerprint-row dd{min-width:0}.fingerprint-row dd{margin:3px 0 0}.fingerprint-row code,.fingerprint-value{display:block;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--subtle);font-family:var(--font-mono);font-size:11px;word-break:break-all}.fingerprint-value{margin-top:8px;background:var(--card)}.label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.label-row label{margin-bottom:0}.label-row+textarea,.label-row+.fingerprint-value{margin-top:8px}textarea.mono{min-height:96px}.checklist .switch-row{background:var(--card)}.checklist .switch-row strong{font-size:12px}.acceptance-meta{margin-top:4px}.public-frame>main{flex:1}.login-page{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);grid-template-rows:1fr auto}.login-hero{display:flex;flex-direction:column;justify-content:center;padding:96px 56px 88px}.login-hero h1{margin:26px 0;font-size:clamp(40px,5.2vw,64px);font-weight:600;letter-spacing:-.045em;line-height:1.04}.login-hero h1 span{color:color-mix(in srgb,var(--foreground) 52%,var(--background))}.login-lead{max-width:560px;margin:0;color:var(--muted-foreground);font-size:15px;line-height:1.75}.login-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:40px}.command-chip{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 16px;border:1px solid var(--border);border-radius:8px;background:var(--background);font-size:11px;word-break:normal}.command-chip span{color:var(--brand)}.login-hero-actions .button{min-height:44px;padding:0 18px}.login-form-panel{display:grid;place-items:center;padding:56px 44px;border-left:1px solid var(--border);background:var(--subtle)}.login-form{width:min(380px,100%)}.login-form h2{margin:12px 0 8px;font-size:26px;letter-spacing:-.035em}.login-form>div:first-child p{margin:0;font-size:12px}.login-form input{min-height:40px;background:var(--background)}.login-submit{width:100%;min-height:40px;margin-top:4px}.login-identity{display:inline-flex;align-items:center;gap:6px;margin:12px 0 0;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--background);color:var(--muted-foreground);font-size:11px}.login-form .notice{margin:0}.stat-row{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:0;border-top:1px solid var(--border);border-radius:0}.stat-row>div{padding:30px 40px;background:var(--background)}.stat-row strong{display:block;font:600 38px/1 var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat-row strong small{margin-left:4px;color:var(--muted-foreground);font-size:13px;font-weight:400;letter-spacing:-.01em}.stat-row span{display:block;margin-top:12px;color:var(--muted-foreground);font:900 10px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.totp-setup{display:grid;grid-template-columns:148px minmax(0,1fr);gap:16px;align-items:start}.totp-qr{width:148px;height:148px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff}.totp-qr svg{display:block;width:100%;height:100%}.totp-qr.placeholder{background:var(--subtle)}.totp-steps{margin:0;padding-left:18px;color:var(--muted-foreground);font-size:11px;line-height:1.6}.secret-row{display:flex;align-items:center;gap:8px}.secret-row code{flex:1;min-width:0;padding:7px 10px;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:8px;background:var(--subtle);font-size:11px}.otp-input,.login-form input.otp-input{font-family:var(--font-mono);font-size:16px;letter-spacing:.45em;text-align:center}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--subtle);list-style:none}.recovery-codes code{font-size:12px;font-weight:500}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.access-page{display:flex;align-items:center;flex-direction:column;justify-content:center;padding:96px 24px;text-align:center}.access-code{margin:0 0 14px;color:var(--muted-foreground);font:500 12px var(--font-mono);letter-spacing:.1em}.access-page h1{font-size:34px}.access-lead{max-width:560px;margin:16px 0 28px;color:var(--muted-foreground);font-size:13px;line-height:1.7}.access-details{width:min(560px,100%);display:grid;gap:1px;margin:0 0 28px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--border);text-align:left}.access-details div{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:baseline;padding:12px 16px;background:var(--background)}.access-details dt{color:var(--muted-foreground);font:900 10px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.access-details dd{margin:0;overflow-wrap:anywhere}.access-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:var(--border) padding-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}body{font:400 12px/1.5 var(--font-sans);transition:background-color .3s,color .3s}h1,h2,h3{font-family:var(--font-head);font-weight:800;letter-spacing:-.03em}h1{font-size:24px;letter-spacing:-.04em}h2{font-size:15px;font-weight:700}h3{font-size:13px;font-weight:700}::selection{background:color-mix(in srgb,var(--outline-variant) 55%,transparent)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{border:0;border-radius:999px;background:color-mix(in srgb,var(--outline) 20%,transparent)}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--outline) 40%,transparent)}.eyebrow,.page-header>div>.section-label:first-child{gap:8px}.eyebrow:before,.page-header>div>.section-label:first-child:before{width:5px;height:5px;background:var(--primary)}.frame{border-inline-color:var(--border-soft)}.topbar{gap:12px;padding:0 12px 0 16px;border-bottom-color:var(--border-soft);background:color-mix(in srgb,var(--surface-container-lowest) 88%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.wordmark-button{margin-right:4px}.wordmark{font:800 15px/1 var(--font-head);letter-spacing:-.04em}.wordmark b{color:var(--outline);font-weight:800}.wordmark small{margin-left:8px;color:var(--outline);font:900 9px/1 var(--font-sans);letter-spacing:.1em}.topnav{gap:0;padding:2px;border-radius:999px;background:var(--surface-container-low)}.topnav button,.topnav a{min-height:24px;padding:0 11px;border-radius:999px;color:var(--on-surface-variant);font:900 10px/24px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;transition:background .2s var(--ease),color .2s var(--ease)}.topnav .active{background:var(--surface-container-lowest);color:var(--on-surface);font-weight:900;box-shadow:0 1px 2px #00000014}:root.dark .topnav .active{background:var(--surface-container-high)}.topnav-links{padding:0;background:transparent}.topbar-center{display:flex;flex:1;min-width:0;justify-content:center}.topbar-actions{gap:4px;margin-left:0}.public-frame .topbar-actions{margin-left:auto}.topbar-sep{width:1px;height:16px;margin:0 4px;background:color-mix(in srgb,var(--outline-variant) 20%,transparent)}.search-trigger{width:min(360px,100%);height:28px;min-height:28px;margin:0;padding:0 4px 0 10px;border:1px solid var(--input);border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--outline);font:500 11px/1 var(--font-sans)}.search-trigger:hover{border-color:color-mix(in srgb,var(--outline-variant) 70%,transparent);color:var(--on-surface)}kbd{padding:2px 6px;border:1px solid color-mix(in srgb,var(--outline-variant) 20%,transparent);border-radius:4px;background:var(--surface-container-high);color:var(--outline);font:700 9px/1.2 var(--font-mono);letter-spacing:0}.icon-button{width:28px;height:28px;min-height:28px;border-radius:var(--radius-lg);color:var(--outline);transition:all .2s var(--ease)}.icon-button:hover{background:var(--surface-container);color:var(--on-surface)}.icon-button.logout:hover{color:var(--error)}.profile-trigger{width:28px;height:28px;min-height:28px}.profile-trigger b{width:24px;height:24px;font:800 9px/1 var(--font-head);letter-spacing:0}.profile-trigger:hover b,.profile-trigger.active b{box-shadow:0 0 0 2px var(--surface-container-lowest),0 0 0 3px var(--outline)}.global-sidebar{padding:20px 10px 14px;border-right-color:var(--border-soft)}.sidebar-group+.sidebar-group{margin-top:20px}.sidebar-group .section-label{margin:0 8px 6px;color:var(--outline)}.nav-item{min-height:28px;margin:1px 0;padding:6px 8px;border-radius:var(--radius-xl);color:var(--on-surface-variant);font:500 11px/1.35 var(--font-sans);letter-spacing:0;text-transform:none;transition:background .2s var(--ease),color .2s var(--ease)}.nav-item:hover{background:var(--surface-container-low);color:var(--on-surface)}.nav-item.active{background:var(--surface-container-high);color:var(--on-surface);font-weight:700}.project-group .nav-item{padding-left:14px;border-left-color:var(--border);border-radius:0 var(--radius-xl) var(--radius-xl) 0;font-size:11px}.project-group .nav-item.active{border-left-color:var(--primary)}.nav-flag{font:900 9px var(--font-sans);letter-spacing:.1em}.sidebar-empty{margin:0 8px;font-size:11px}.sidebar-identity{border-top-color:var(--border-soft)}.sidebar-identity strong{font-size:11px;font-weight:600}.sidebar-identity small{color:var(--outline);font:900 9px var(--font-sans);letter-spacing:.1em}.shell-body>main{padding:32px 36px 48px}.site-footer{min-height:40px;padding:10px 16px;border-top-color:var(--border-soft);color:var(--outline);font:700 9px/1.5 var(--font-sans);letter-spacing:.1em}button,.button{min-height:32px;gap:6px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius-lg);background:var(--primary);color:var(--on-primary);font:900 10px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;transition:all .2s var(--ease)}button:hover,.button:hover{opacity:.9}button:disabled{opacity:.4}.ghost,:root.dark .ghost{border-color:transparent;background:var(--surface-container-highest);color:var(--on-surface)}.ghost:hover,:root.dark .ghost:hover{background:var(--surface-container-high);opacity:1}.secondary,:root.dark .secondary{border-color:color-mix(in srgb,var(--outline-variant) 40%,transparent);background:transparent;color:var(--on-surface)}.secondary:hover,:root.dark .secondary:hover{background:var(--surface-container);opacity:1}.danger-button{border-color:color-mix(in srgb,var(--error) 35%,transparent);color:var(--error)}button.small{min-height:26px;padding:0 10px;font-size:9px}.search-trigger,.palette-list button,.icon-action,.icon-button,.password-toggle,.theme-choice,.wordmark-button,.profile-trigger,.link-button{letter-spacing:0;text-transform:none}.link-button{font:600 11px/1 var(--font-sans)}.icon-action{width:28px;height:28px;min-height:28px;border-radius:var(--radius-lg);color:var(--outline)}.icon-action:hover{background:var(--surface-container);color:var(--on-surface)}.icon-action.danger:hover{background:color-mix(in srgb,var(--error) 10%,transparent);color:var(--error)}.back-link{color:var(--outline);font:900 10px/1 var(--font-sans);letter-spacing:.1em}.back-link:hover{background:transparent}label{margin-bottom:6px;color:var(--on-surface-variant);font:900 10px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.react-checkbox-label,.switch-row,.policy-options label,.permission-config-item,.permission-item,.acceptance-block-title,.checklist label{color:var(--on-surface);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.react-checkbox-label,.policy-options label{color:var(--on-surface-variant)}.permission-item{font:400 10px var(--font-mono)}input,select,textarea,:root.dark input,:root.dark select,:root.dark textarea{min-height:32px;border:1px solid var(--input);border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--on-surface);font:500 12px/1.4 var(--font-sans)}textarea,:root.dark textarea{font:400 11px/1.6 var(--font-mono)}input:focus,select:focus,textarea:focus{border-color:var(--outline);background:var(--surface-container-lowest);box-shadow:none}.search-box,.palette-input input,.search-box input,:root.dark .search-box input,:root.dark .palette-input input{background:transparent}.search-box{height:32px;border-color:var(--input);border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--outline)}.search-box:focus-within{border-color:var(--outline);background:var(--surface-container-lowest);box-shadow:none}.search-box input,:root.dark .search-box input{height:30px;min-height:30px;border:0}.password-toggle{border-radius:6px;color:var(--outline)}.card{padding:20px;border-color:var(--border-soft);border-radius:var(--radius-2xl);background:var(--surface-container-lowest);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.card:hover{box-shadow:var(--shadow-card)}.metric.card:hover{box-shadow:none}.table-card,.detail-content,.matrix-card,.assignment-card,.report-table,.member-table{padding:0}.stat-strip,.report-grid,.report-detail,.access-details{border-color:var(--border);border-radius:var(--radius-2xl);background:var(--border)}.stat-strip .metric,.report-grid .metric{padding:20px 22px;background:var(--surface-container-lowest);transition:background .2s var(--ease)}.stat-strip .metric:hover,.report-grid .metric:hover{background:var(--surface-container-low)}.metric strong{margin-bottom:10px;font:800 28px/1 var(--font-head);letter-spacing:-.04em}.metric small{font-size:11px}.page-header{margin-bottom:24px}.page-header .section-label{margin-bottom:10px}.page-header h1{margin-bottom:6px}.page-header p:not(.section-label){color:var(--on-surface-variant);font-size:12px}.section-heading h2,.table-toolbar h2{font-size:14px}.section-heading p,.table-toolbar p,.settings-heading p,.modal-header p{color:var(--on-surface-variant);font-size:11px}.table-toolbar{min-height:60px;padding:14px 18px;border-bottom-color:var(--border-soft)}.crud-section,.org-chart-section,.acceptance-block,.policy-field-card,.recipient-selector,.member-table{border-color:var(--border-soft);border-radius:var(--radius-2xl)}.crud-section,.org-chart-section,.acceptance-block{background:var(--surface-container-low)}.policy-field-card,.recipient-selector{background:var(--surface-container-lowest)}.switch-row,.generated-slug,.fingerprint-row,.derived-row,.org-node,.permission-config-item,.permission-item,.recovery-codes,.policy-empty,.theme-choice{border-color:var(--border);border-radius:var(--radius-xl)}.permission-config-item:has(input:checked),.permission-item:has(input:checked){border-color:color-mix(in srgb,var(--outline) 50%,transparent);background:var(--surface-container-high)}.notice{border-color:var(--border-soft);border-left:2px solid var(--primary);border-radius:var(--radius-xl);background:var(--surface-container-low);color:var(--on-surface-variant);font-size:11px}.error{border-radius:var(--radius-xl);font-size:11px}.empty-state>svg{border:0;border-radius:var(--radius-xl);background:var(--surface-container)}.data-table{font-size:12px}.data-table th{height:36px;padding:0 14px;border-bottom-color:var(--border-soft);background:var(--surface-container-low);color:var(--outline);font-size:9px}.data-table td{height:50px;padding:8px 14px;border-bottom-color:var(--border-soft)}.data-table td code{font-size:10px}.data-table tbody tr:hover,.data-table tbody tr.clickable-row:focus{background:var(--surface-container-low)}.data-table tbody tr.clickable-row:focus{box-shadow:inset 2px 0 0 var(--primary)}.primary-cell strong,.data-table td>strong{font-weight:600}.primary-cell small,.data-table td>small{color:var(--on-surface-variant);font-size:10px}.table-avatar{width:30px;height:30px;border:0;border-radius:var(--radius-lg);background:var(--surface-container-high);font:800 9px/1 var(--font-head)}.user-avatar{border-radius:50%}.status-badge{gap:5px;padding:3px 8px;border-color:color-mix(in srgb,var(--outline-variant) 20%,transparent);background:var(--surface-container-high);color:var(--on-surface-variant);font:900 9px/1.3 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.status-badge i{width:5px;height:5px}.status-badge.active{border-color:color-mix(in srgb,var(--success) 25%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.status-badge.pending{border-color:color-mix(in srgb,var(--warning) 25%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning)}.role-badge,.pill,.secure-chip,.sso-chip,.permission-count{padding:3px 8px;border-color:color-mix(in srgb,var(--outline-variant) 20%,transparent);border-radius:999px;background:var(--surface-container-high);color:var(--on-surface);font:900 9px/1.3 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.role-badge,.permission-count{border-radius:6px}.permission-count{font-family:var(--font-mono);font-weight:700;letter-spacing:0}.secure-chip{border-color:color-mix(in srgb,var(--success) 25%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.sso-pill{border-color:color-mix(in srgb,var(--info) 25%,transparent);background:color-mix(in srgb,var(--info) 10%,transparent);color:var(--info)}.tabs{border-bottom-color:var(--border-soft);background:var(--surface-container-low)}.tabs button{min-height:40px;padding:0 18px;border-right-color:var(--border-soft);color:var(--outline);font:900 10px/1 var(--font-sans);letter-spacing:.1em}.tabs button:hover{background:var(--surface-container);color:var(--on-surface)}.tabs button.active{background:var(--surface-container-lowest);color:var(--on-surface);box-shadow:inset 0 -2px 0 var(--primary)}.detail-header{padding:24px}.title-row h1{font-size:22px}.detail-identity p{font-size:12px}.metadata{font-size:11px}.metadata code{border-color:var(--border);background:var(--surface-container-low);font-size:10px}.project-logo,.profile-avatar{border-radius:var(--radius-xl);font:800 13px/1 var(--font-head)}.profile-avatar{border-radius:50%;font-size:17px}.policy-index{border:0;border-radius:var(--radius-lg);background:var(--primary);color:var(--on-primary);font:800 10px/1 var(--font-head)}.key-explanations{font-size:10px}.modal-backdrop{background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .15s linear}.modal-panel,.palette{border-color:color-mix(in srgb,var(--outline-variant) 15%,transparent);border-radius:var(--radius-2xl);background:var(--surface-container-lowest);box-shadow:var(--shadow)}.modal-panel{max-width:90vw;animation:dialog-in .18s var(--ease)}.modal-panel.modal-narrow{width:380px}.modal-header{padding:16px 20px;border-bottom-color:var(--border-soft)}.modal-header h2{font-size:15px}.modal-body{padding:16px 20px}.modal-body .modal-actions,.modal-body .form-actions{margin:18px -20px -16px;padding:12px 20px;border-top:1px solid var(--border-soft);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);background:var(--surface-container-low)}.confirm-icon{width:40px;height:40px;border:0;border-radius:var(--radius-xl)}.palette{width:520px;max-width:90vw;animation:palette-in .15s var(--ease)}.palette-input{border-bottom-color:var(--border-soft);color:var(--outline)}.palette-input input,:root.dark .palette-input input{height:44px;border:0;font-size:13px}.palette-list .section-label{padding:10px 8px 4px;color:var(--outline)}.palette-list button{min-height:32px;padding:0 8px;border-radius:var(--radius-xl);color:var(--on-surface-variant);font:500 12px/1 var(--font-sans)}.palette-list button.active{background:var(--surface-container-low);color:var(--on-surface)}.palette-list button code{font-size:10px}#toast{width:340px;max-width:90vw;border-color:color-mix(in srgb,var(--outline-variant) 15%,transparent);border-radius:var(--radius-2xl);background:var(--surface-container-lowest);box-shadow:var(--shadow);font-size:11px;font-weight:600;animation:toast-in .25s var(--ease)}.api-loading{border-color:color-mix(in srgb,var(--outline-variant) 15%,transparent);background:var(--surface-container-lowest);font:900 9px var(--font-sans);letter-spacing:.1em}.api-loading span{border-top-color:var(--primary)}.empty-state,.access-page>*,.login-hero>*{animation:rise-in .4s var(--ease) both}.login-hero>:nth-child(2),.access-page>:nth-child(2){animation-delay:.05s}.login-hero>:nth-child(3),.access-page>:nth-child(3){animation-delay:.11s}.login-hero>:nth-child(4),.access-page>:nth-child(4){animation-delay:.17s}.access-page>:nth-child(5){animation-delay:.23s}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.95)}}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}}@keyframes toast-in{0%{opacity:0;transform:translate(40px) scale(.95)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}}.profile-summary dd{font-size:12px}.theme-choice{background:var(--surface-container-low);font-weight:600}.theme-choice:hover{background:var(--surface-container)}.login-hero h1{font-family:var(--font-head);font-size:clamp(32px,4.4vw,48px);font-weight:800;letter-spacing:-.04em;line-height:1.08}.login-hero h1 span{color:var(--outline)}.login-lead{max-width:520px;color:var(--on-surface-variant);font-size:13px;line-height:1.7}.login-hero-actions{margin-top:32px}.login-hero-actions .button{min-height:40px}.command-chip{min-height:40px;border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface-container-lowest);font-size:11px}.command-chip span{color:var(--outline)}.login-form-panel{border-left-color:var(--border-soft);background:var(--surface-container-low)}.login-form h2{font-size:22px;letter-spacing:-.04em}.login-form>div:first-child p{font-size:12px}.login-form input,:root.dark .login-form input{min-height:36px;background:var(--surface-container-lowest)}.login-submit{min-height:36px}.login-identity{border-color:var(--border);background:var(--surface-container-lowest);font-size:11px}.stat-row{border-top-color:var(--border-soft);background:var(--border-soft)}.stat-row>div{padding:26px 32px;background:var(--surface)}.stat-row strong{font:800 32px/1 var(--font-head);letter-spacing:-.04em}.stat-row strong small{color:var(--outline);font:600 13px var(--font-sans)}.stat-row span{margin-top:10px;color:var(--outline)}.access-code{color:var(--outline);font:800 13px var(--font-head);letter-spacing:.1em}.access-page h1{font-size:26px}.access-lead{color:var(--on-surface-variant);font-size:13px}.access-details div{background:var(--surface-container-lowest)}.nav-item svg{width:14px;height:14px;flex:none;color:var(--outline)}.nav-item:hover svg,.nav-item.active svg{color:var(--on-surface)}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:40px;align-items:start}.guide-article{min-width:0;max-width:820px}.guide-section{padding:28px 0;border-top:1px solid var(--border-soft);scroll-margin-top:calc(var(--topbar-height) + 16px)}.guide-section:first-child{padding-top:0;border-top:0}.guide-section>.section-label{margin-bottom:6px;color:var(--outline)}.guide-section h2{margin:0 0 12px;font-size:17px}.guide-section p,.guide-section li{color:var(--on-surface-variant);font-size:12px;line-height:1.75}.guide-section p{margin:0 0 12px}.guide-section strong,.guide-section em{color:var(--on-surface)}.guide-section code{padding:1px 5px;border:1px solid var(--border-soft);border-radius:4px;background:var(--surface-container-low);color:var(--on-surface);font-size:10.5px;word-break:break-word}.guide-section a{color:var(--on-surface);text-underline-offset:3px}.guide-steps{margin:0 0 14px;padding:0;list-style:none;counter-reset:step}.guide-steps>li{position:relative;min-height:24px;padding:2px 0 10px 36px;counter-increment:step}.guide-steps>li:before{content:counter(step);position:absolute;top:1px;left:0;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--on-primary);font:800 10px/1 var(--font-head)}.guide-steps>li:after{content:"";position:absolute;top:28px;bottom:2px;left:10.5px;width:1px;background:var(--border)}.guide-steps>li:last-child:after{display:none}.guide-callout{margin:4px 0 16px;padding:12px 14px;border:1px solid var(--border-soft);border-left:2px solid var(--primary);border-radius:var(--radius-xl);background:var(--surface-container-low);font-size:12px}.guide-callout>strong{display:block;margin-bottom:4px;color:var(--on-surface);font:900 10px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.guide-callout>div{color:var(--on-surface-variant);line-height:1.7}.guide-callout ul{margin:4px 0 0;padding-left:18px}.guide-callout li{padding:1px 0}.guide-callout.warn{border-left-color:var(--warning)}.guide-callout.warn>strong{color:var(--warning)}.guide-callout.danger{border-left-color:var(--error)}.guide-callout.danger>strong{color:var(--error)}.code-block{margin:8px 0 14px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-container-low)}.code-block figcaption{display:flex;min-height:32px;align-items:center;justify-content:space-between;padding:0 4px 0 12px;border-bottom:1px solid var(--border-soft);color:var(--outline);font:900 9px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.code-block pre{margin:0;padding:12px 14px;overflow-x:auto}.code-block pre code,.guide-section .code-block pre code{padding:0;border:0;background:transparent;color:var(--on-surface);font:400 11px/1.65 var(--font-mono);white-space:pre;word-break:normal}.guide-table{margin:6px 0 16px;overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius-xl)}.guide-table .data-table{min-width:560px}.guide-table .data-table td{height:auto;padding:10px 14px;color:var(--on-surface-variant);font-size:11.5px;line-height:1.6;vertical-align:top}.guide-table .data-table td:first-child{color:var(--on-surface);font-weight:600;white-space:nowrap}.guide-table .data-table td:last-child{text-align:left!important}.guide-table .data-table tbody tr:hover{background:transparent}.guide-download{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}.guide-download select{width:auto;min-width:240px;max-width:100%}.guide-toc{position:sticky;top:calc(var(--topbar-height) + 24px);display:grid;gap:2px;padding-left:14px;border-left:1px solid var(--border-soft)}.guide-toc .section-label{margin-bottom:8px;color:var(--outline)}.guide-toc a{padding:3px 0;color:var(--outline);font-size:11px;text-decoration:none;transition:color .2s var(--ease)}.guide-toc a:hover,.guide-toc a.active{color:var(--on-surface)}.guide-toc a.active{font-weight:700}.guide-shot{margin:6px 0 18px}.guide-shot a{display:block;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-card);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.guide-shot a:hover{transform:translateY(-2px)}.guide-shot img{display:block;width:100%;height:auto}.guide-shot figcaption{margin-top:8px;color:var(--outline);font-size:11px;text-align:center}.lang-tabs{display:inline-flex;flex-wrap:wrap;gap:0;margin:2px 0 16px;padding:2px;border-radius:999px;background:var(--surface-container-low)}.lang-tabs button{min-height:26px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--on-surface-variant)}.lang-tabs button.active{background:var(--surface-container-lowest);color:var(--on-surface);box-shadow:0 1px 2px #00000014}:root.dark .lang-tabs button.active{background:var(--surface-container-high)}.guide-section .lang-step{margin:14px 0 4px;color:var(--on-surface);font:900 10px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.guide-source{margin:8px 0 14px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-container-lowest)}.guide-source summary{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px 4px 14px;cursor:pointer;font:600 12px/1.4 var(--font-mono);list-style:none}.guide-source summary::-webkit-details-marker{display:none}.guide-source summary span:before{content:"▸";display:inline-block;width:14px;color:var(--outline);transition:transform .2s var(--ease)}.guide-source[open] summary span:before{transform:rotate(90deg)}.guide-source summary small{margin-left:6px;color:var(--outline);font:500 10px var(--font-sans)}.guide-source .small-link{min-height:26px;padding:0 10px;font-size:9px}.guide-source .code-block{margin:0;border:0;border-top:1px solid var(--border-soft);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.guide-source .code-block pre{max-height:520px}.guide-list,.guide-numbered,.guide-checklist{margin:4px 0 14px;padding-left:20px}.guide-numbered li,.guide-list li{padding:3px 0}.guide-checklist{padding:0;list-style:none}.guide-checklist li{position:relative;padding:4px 0 4px 26px}.guide-checklist li:before{content:"";position:absolute;top:8px;left:0;width:14px;height:14px;border:1.5px solid var(--outline);border-radius:4px}@media(max-width:1080px){.guide-layout{grid-template-columns:1fr}.guide-toc{display:none}}@media(max-width:1240px){.wordmark small{display:none}.search-trigger{width:180px}.permission-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shell-body>main{padding:36px 32px 56px}}@media(max-width:1080px){.search-trigger{width:34px;justify-content:center;margin-right:0;padding:0;border-color:transparent;color:var(--foreground)}.search-trigger span,.search-trigger kbd{display:none}.password-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:240px minmax(0,1fr)}.rbac-selectors,.login-page{grid-template-columns:1fr}.login-form-panel{border-top:1px solid var(--border);border-left:0}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.frame{border-inline:0}.topbar{padding:0 12px}.wordmark-button{margin-right:0}.mobile-only{display:inline-grid!important}.sidebar-group.mobile-only{display:block!important}.app-shell .topnav{display:none}.topbar-center{justify-content:flex-end}.search-trigger{width:28px;background:transparent}.shell-body{display:block}.global-sidebar{position:fixed;top:var(--topbar-height);bottom:0;left:0;z-index:55;width:min(300px,86vw);height:auto;transform:translate(-100%);transition:transform .2s}.global-sidebar.open{transform:translate(0);box-shadow:var(--shadow)}.sidebar-scrim{position:fixed;inset:var(--topbar-height) 0 0 0;z-index:50;display:block!important;background:#0000004d}.shell-body>main{padding:28px 16px 48px}h1{font-size:28px}.page-header,.table-toolbar,.detail-header{align-items:stretch;flex-direction:column}.search-box{width:100%}.settings-grid,.field-row,.permission-config-grid,.policy-field-grid,.derived-row{grid-template-columns:1fr}.profile-summary{position:static}.permission-config-heading{align-items:stretch;flex-direction:column}.policy-options{align-items:flex-start;flex-direction:column;gap:8px}.modal-backdrop{padding:10px}.detail-header{padding:20px}.detail-actions{width:100%;justify-content:flex-start}.detail-action-panel{max-width:none;justify-items:start}.key-explanations{text-align:left}.org-node{grid-template-columns:34px minmax(150px,1fr) auto}.org-node .row-actions{grid-column:2 / -1;justify-content:flex-start}.crud-section{margin:16px;padding:18px}.login-hero{padding:48px 20px 40px}.login-form-panel{padding:36px 20px}.public-frame .topnav{display:none}}@media(max-width:640px){.stat-row>div{padding:22px 20px}.stat-row strong{font-size:30px}.site-footer{padding:16px;letter-spacing:.12em}.access-details div{grid-template-columns:1fr;gap:2px}.fingerprint-row{grid-template-columns:1fr}}@media(max-width:480px){.totp-setup{grid-template-columns:1fr;justify-items:center}.stat-strip,.report-grid{grid-template-columns:1fr}}
