.app-shell{min-height:100dvh;display:grid;grid-template-columns:15rem minmax(0,1fr);grid-template-areas:"header header" "navigation main";grid-template-rows:4.25rem 1fr}.app-shell__header{grid-area:header;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:15rem minmax(0,1fr);align-items:center;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell__brand{height:100%;display:flex;align-items:center;gap:.7rem;padding:0 1.25rem;border-right:1px solid var(--line)}.app-shell__brand>span,.app-shell__tenant>span{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.65rem;background:linear-gradient(145deg,var(--primary),var(--teal));color:#fff;font-weight:800}.app-shell__tenant{display:flex;align-items:center;gap:.65rem;padding:0 1.5rem}.app-shell__tenant>span{background:var(--surface-soft);color:var(--primary)}.app-shell__tenant div{display:grid;font-size:.82rem}.app-shell__tenant small{margin-top:.12rem;color:var(--muted);font-size:.66rem}.app-shell__navigation{grid-area:navigation;position:sticky;top:4.25rem;height:calc(100dvh - 4.25rem);display:flex;flex-direction:column;overflow:auto;padding:1.1rem .8rem;background:var(--sidebar);color:var(--sidebar-text)}.app-shell__nav-group{margin-bottom:1rem}.app-shell__nav-group>p{margin:0 .7rem .4rem;color:color-mix(in oklch,var(--sidebar-text) 62%,transparent);font-size:.62rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.app-shell__navigation ul{display:grid;gap:.2rem;margin:0;padding:0;list-style:none}.app-shell__navigation a{min-height:2.6rem;display:grid;grid-template-columns:1.65rem minmax(0,1fr) auto;align-items:center;gap:.55rem;border-radius:.6rem;padding:0 .65rem;color:inherit;text-decoration:none;font-size:.8rem;transition:background var(--motion),color var(--motion)}.app-shell__navigation a:hover{background:#ffffff12;color:#fff}.app-shell__navigation a[aria-current=page]{background:#207abb38;color:#96d7ff;color:oklch(.85 .1 236);font-weight:700}.app-shell__navigation a>i{width:1.55rem;height:1.55rem;display:grid;place-items:center;border:1px solid oklch(1 0 0 / .1);border-radius:.45rem;font-size:.65rem;font-style:normal}.app-shell__health{width:.45rem;height:.45rem;border-radius:50%;background:var(--teal)}.app-shell__status{margin-top:auto;display:flex;align-items:center;gap:.55rem;border-top:1px solid oklch(1 0 0 / .1);padding:1rem .7rem .2rem;font-size:.65rem}.app-shell__status i{width:.45rem;height:.45rem;border-radius:50%;background:#51bc8f;box-shadow:0 0 0 .25rem #51bc8f1f}.app-shell__main{grid-area:main;width:100%;min-width:0;max-width:92rem;padding:clamp(1rem,3vw,2rem);margin:0 auto}@media(max-width:47.99rem){.app-shell{display:block}.app-shell__header{height:3.75rem;grid-template-columns:auto minmax(0,1fr)}.app-shell__brand{padding:0 .8rem;border:0}.app-shell__brand b{display:none}.app-shell__tenant{justify-content:flex-end;padding:0 .8rem}.app-shell__tenant>span{display:none}.app-shell__navigation{position:sticky;top:3.75rem;z-index:15;height:auto;display:flex;flex-direction:row;overflow-x:auto;padding:.5rem .75rem;background:var(--surface);color:var(--muted);border-bottom:1px solid var(--line)}.app-shell__nav-group{display:contents}.app-shell__nav-group>p,.app-shell__status{display:none}.app-shell__navigation ul{display:flex;gap:.35rem}.app-shell__navigation a{grid-template-columns:auto;white-space:nowrap;min-height:2.4rem;padding:0 .85rem;border:1px solid var(--line);background:var(--surface)}.app-shell__navigation a>i,.app-shell__health{display:none}.app-shell__navigation a[aria-current=page]{background:color-mix(in oklch,var(--primary) 10%,var(--surface));color:var(--primary);border-color:color-mix(in oklch,var(--primary) 40%,var(--line))}.app-shell__main{padding:1rem .85rem 2rem}}.surface{min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:clamp(1rem,2vw,1.35rem);box-shadow:var(--shadow-card)}.page-stack{display:grid;gap:1rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.page-head h1{margin:0;font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.05;letter-spacing:-.04em}.page-head p:last-child{margin:.5rem 0 0;color:var(--muted);font-size:.84rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.metric{min-height:8rem;display:flex;flex-direction:column;justify-content:space-between}.metric small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.metric strong{font-size:1.5rem;letter-spacing:-.035em}.metric span{color:var(--success);font-size:.67rem}.surface-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.surface-head h2{margin:0}.status-pill,.role-kind{border-radius:99px;padding:.35rem .55rem;background:color-mix(in oklch,var(--success) 12%,var(--surface));color:var(--success);font-size:.63rem;font-weight:800}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.role-card{display:grid;gap:1rem}.role-card__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem}.role-card__head h2{margin:0;font-size:1rem}.role-card__head p{margin:.2rem 0 0;color:var(--muted);font-size:.68rem}.role-icon{width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:.8rem;background:color-mix(in oklch,var(--teal) 12%,var(--surface));color:var(--teal);font-weight:800}.role-icon--system{background:color-mix(in oklch,var(--primary) 10%,var(--surface));color:var(--primary)}.role-kind{background:var(--surface-soft);color:var(--muted)}.capability-list{display:flex;flex-wrap:wrap;gap:.4rem}.capability-list span{border:1px solid var(--line);border-radius:99px;padding:.35rem .55rem;background:var(--surface-soft);font-size:.65rem}.role-card>.button{justify-self:start}.notice{border-left:3px solid var(--danger);border-radius:.5rem;padding:.85rem 1rem;background:color-mix(in oklch,var(--danger) 7%,var(--surface));color:var(--danger);font-size:.8rem}.state-card{min-height:15rem;display:grid;place-content:center;justify-items:center;gap:.5rem;text-align:center}.state-card span{color:var(--muted);font-size:.75rem}.spinner{width:1.8rem;height:1.8rem;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.modal-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#01060f9e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.role-dialog{width:min(34rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid var(--line);border-radius:1rem;padding:1.35rem;background:var(--surface);box-shadow:0 30px 90px #00030c4d}.icon-button{width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);font-size:1.5rem}.field{display:grid;gap:.45rem;margin:1rem 0;font-size:.75rem;font-weight:700}.field input{min-height:2.75rem;border:1px solid var(--line);border-radius:.65rem;padding:0 .8rem;background:var(--surface)}.role-dialog fieldset{display:grid;gap:.35rem;border:0;padding:0}.role-dialog legend{margin-bottom:.5rem;font-size:.75rem;font-weight:700}.check-row{min-height:3rem;display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:.65rem;padding:.55rem .7rem}.check-row input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.check-row span{display:grid}.check-row b{font-size:.75rem}.check-row small{margin-top:.15rem;color:var(--muted);font-size:.6rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media(max-width:64rem){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.page-head{align-items:flex-start;flex-direction:column}.page-head>.button{width:100%}.role-grid,.metric-grid{grid-template-columns:1fr}.role-card__head{grid-template-columns:auto minmax(0,1fr)}.role-kind{grid-column:2}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.dialog-actions .button{width:100%}}.onboarding-shell{width:min(70rem,100%);min-height:100dvh;margin:auto;padding:2rem clamp(1rem,4vw,3rem);display:grid;align-content:start;gap:1.25rem}.onboarding-brand{display:flex;align-items:center;gap:.65rem}.onboarding-brand>span{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.7rem;background:var(--primary-strong);color:#fff;font-weight:900}.onboarding-brand small{margin-left:auto;color:var(--muted)}.onboarding-progress{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.75rem}.onboarding-progress>b{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff}.onboarding-progress span{display:grid}.onboarding-progress small{color:var(--muted);font-size:.68rem}.onboarding-progress progress{width:100%;height:.4rem;accent-color:var(--primary)}.onboarding-card{width:min(52rem,100%);margin:1rem auto 0;padding:clamp(1.25rem,4vw,2.5rem)}.onboarding-heading{max-width:42rem}.onboarding-heading h1{margin:.2rem 0 .7rem;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.05em}.onboarding-heading>p:last-child{color:var(--muted);line-height:1.6}.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.onboarding-card .field span em{color:var(--danger);font-style:normal}.onboarding-card .field small{color:var(--muted);font-weight:400}.onboarding-note{margin:1.2rem 0;border:1px solid color-mix(in oklch,var(--primary) 25%,var(--line));border-radius:.8rem;padding:1rem;background:color-mix(in oklch,var(--primary) 5%,var(--surface))}.onboarding-note p{margin:.35rem 0 0;color:var(--muted);line-height:1.5;font-size:.75rem}.onboarding-result{color:var(--primary);font-size:.75rem}.onboarding-footer{text-align:center;color:var(--muted);font-size:.68rem}@media(max-width:40rem){.onboarding-shell{padding:1rem}.onboarding-brand small{display:none}.onboarding-progress{grid-template-columns:auto 1fr}.onboarding-progress progress{grid-column:1/-1}.onboarding-card{margin:0}.onboarding-grid,.onboarding-card .dialog-actions{grid-template-columns:1fr}.onboarding-card .button--primary{grid-row:1}}.onboarding-success{display:grid;gap:1rem}.onboarding-success h1,.onboarding-success p{margin:0}.onboarding-success .button{justify-self:start}.legal-details-card{width:min(58rem,100%)}.legal-autofill{margin:1.25rem 0 1.5rem;padding:1rem;border:1px solid color-mix(in oklch,var(--primary) 28%,var(--line));border-radius:.9rem;background:color-mix(in oklch,var(--primary) 5%,var(--surface));display:flex;align-items:center;justify-content:space-between;gap:1rem}.legal-autofill>div{display:flex;align-items:center;gap:.75rem}.legal-autofill>div>span:last-child{display:grid;gap:.15rem}.legal-autofill small{color:var(--muted);font-size:.7rem}.legal-autofill__mark{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklch,var(--primary) 14%,var(--surface));color:var(--primary);font-weight:900}.legal-section{border:0;padding:0;margin:0 0 1.25rem}.legal-section legend{width:100%;padding:0 0 .35rem;border-bottom:1px solid var(--line);font-weight:800}.field--wide{grid-column:1/-1}.dialog-actions .button{text-decoration:none}.dialog-actions a.button{display:inline-flex;align-items:center;justify-content:center}@media(max-width:40rem){.legal-autofill{align-items:stretch;flex-direction:column}.legal-autofill .button{width:100%}.field--wide{grid-column:auto}}.auth-shell{width:min(72rem,100%);min-height:100dvh;margin:auto;padding:2rem clamp(1rem,4vw,3rem);display:grid;grid-template-rows:auto 1fr auto;gap:1.25rem}.auth-card{width:min(31rem,100%);margin:auto;padding:clamp(1.4rem,5vw,2.5rem)}.auth-card .onboarding-heading h1{font-size:clamp(2rem,6vw,3rem)}.auth-submit{width:100%;margin-top:.75rem}.auth-switch{text-align:center;color:var(--muted);font-size:.75rem}.auth-switch a{color:var(--primary);font-weight:750}.auth-card .onboarding-success .button{text-decoration:none}@media(max-width:40rem){.auth-shell{padding:1rem}.auth-card{margin:0 auto}}:root{color-scheme:light;--page: oklch(.978 .006 238);--surface: oklch(1 0 0);--surface-soft: oklch(.958 .01 238);--text: oklch(.25 .035 252);--muted: oklch(.49 .03 250);--line: oklch(.88 .018 240);--primary: oklch(.52 .18 252);--primary-strong: oklch(.43 .17 252);--teal: oklch(.51 .095 186);--success: oklch(.48 .1 155);--danger: oklch(.52 .17 25);--warning: oklch(.53 .115 75);--focus: oklch(.67 .16 244);--sidebar: oklch(.205 .035 252);--sidebar-text: oklch(.86 .025 245);--radius-sm: .625rem;--radius-md: .875rem;--shadow-card: 0 1px 2px oklch(.25 .04 250 / .04), 0 12px 30px oklch(.25 .04 250 / .035);--motion: .18s cubic-bezier(.22,.72,.2,1);--font-sans: Inter, "Segoe UI", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page: oklch(.19 .025 250);--surface: oklch(.235 .028 250);--surface-soft: oklch(.285 .035 249);--text: oklch(.94 .012 240);--muted: oklch(.73 .025 245);--line: oklch(.36 .035 247);--primary: oklch(.72 .13 244);--primary-strong: oklch(.62 .15 247);--teal: oklch(.73 .1 185);--success: oklch(.72 .11 155);--danger: oklch(.7 .16 25);--warning: oklch(.77 .12 78);--sidebar: oklch(.155 .027 252);--sidebar-text: oklch(.86 .025 245);--shadow-card: 0 16px 35px oklch(.08 .02 250 / .24)}}*{box-sizing:border-box}html{min-width:20rem;background:var(--page)}body{margin:0;background:var(--page);color:var(--text);font-family:var(--font-sans)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid color-mix(in oklch,var(--focus) 45%,transparent);outline-offset:2px}.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.75rem 1rem;border-radius:.5rem;background:var(--text);color:var(--surface)}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 .45rem;color:var(--primary);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--muted)}.button{min-height:2.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 1rem;background:var(--surface);color:var(--text);font-weight:700;transition:transform var(--motion),border-color var(--motion),background var(--motion)}.button:hover{border-color:color-mix(in oklch,var(--primary) 45%,var(--line))}.button:active{transform:scale(.98)}.button--primary{border-color:var(--primary-strong);background:var(--primary-strong);color:#fff}.button:disabled{cursor:not-allowed;opacity:.55}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
