.entity-combobox{position:relative;min-width:0;display:flex;flex-direction:column;gap:4px}.entity-combobox>label{font-size:var(--type-label);color:var(--muted)}.entity-input{display:flex;gap:4px;align-items:center}.entity-input input{min-width:0;width:100%}.entity-input .icon-button{flex:none}.entity-options{position:absolute;left:0;right:0;top:100%;z-index:25;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--r-overlay);box-shadow:0 8px 24px var(--overlay-shadow);padding:6px;max-height:240px;overflow-y:auto}.entity-options ul{list-style:none;margin:0;padding:0}.entity-options li{display:flex;flex-direction:column;padding:6px 10px;border-radius:var(--r-control);cursor:pointer}.entity-options li[aria-selected=true]{background:var(--hover);outline:2px solid var(--focus);outline-offset:-2px}.entity-options small{color:var(--muted);font-size:var(--type-meta)}.entity-options p{padding:6px 10px;margin:0}@media(max-width:900px){.entity-options li{min-height:40px}}.focus-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.focus-fields>*,.focus-choices>*{min-width:0}.focus-section-head{display:grid;gap:4px}.focus-section-head>:is(h2,p){margin:0}.focus-options>summary{cursor:pointer;font-weight:600;color:var(--text);padding:4px 0}.focus-options>summary .muted{margin-left:8px;font-weight:400}.focus-options[open]>summary{margin-bottom:16px}.focus-options>summary:focus-visible{outline:2px solid var(--brand-line);outline-offset:4px}.focus-options>.card{border:0;box-shadow:none;padding:0}.focus-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.focus-choice{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:var(--r-tile);padding:16px;background:var(--panel);color:var(--text)}.focus-choice>span{display:grid;gap:4px}.focus-choice>span>span{color:var(--muted);font-size:var(--type-meta);font-weight:400}.focus-choice[aria-pressed=true]{border-color:var(--brand-line);background:var(--ok-bg);box-shadow:0 0 0 1px var(--brand-line)}.focus-choice:focus-visible{outline:2px solid var(--brand-line);outline-offset:3px}.focus-task{padding-top:8px}@media(max-width:600px){.focus-fields,.focus-choices{grid-template-columns:1fr}}.focus-task[hidden],.settings-page [hidden],.user-detail [hidden],.company-detail [hidden],.service-detail [hidden]{display:none}.focus-options>section+section{margin-top:20px}.focus-section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.file-upload{border:1px dashed var(--line);border-radius:var(--r-surface);padding:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.file-upload>strong,.file-upload>p,.file-upload>progress{flex-basis:100%;margin:0}.file-upload.dragging{border-color:var(--accent);background:var(--hover)}.file-upload progress{width:100%;accent-color:var(--primary)}@media(max-width:900px){.file-drop-hint{display:none}}.access-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.access-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-left-width:4px;border-radius:var(--r-tile);color:var(--text)}button.access-stat{cursor:pointer}button.access-stat:hover{background:var(--hover)}button.access-stat[aria-pressed=true]{border-color:var(--brand-line);box-shadow:0 0 0 1px var(--brand-line)}.access-stat span,.access-stat em{font-size:var(--type-meta);color:var(--muted);font-style:normal;font-weight:550}.access-stat strong{font-size:var(--type-number);font-weight:700;letter-spacing:-.02em;line-height:1.2}.access-stat.is-ok{border-left-color:var(--ok)}.access-stat.is-warn{border-left-color:var(--warn)}.access-stat.is-danger{border-left-color:var(--danger)}.access-stat.is-muted strong{color:var(--muted)}.access-stat.is-warn span i{color:var(--warn)}.access-stat.is-danger span i{color:var(--danger)}.access-stat.is-ok span i{color:var(--ok)}.access-stats.is-static{grid-template-columns:repeat(3,minmax(0,1fr))}.selection-strip{position:sticky;top:8px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:8px 12px;background:var(--panel);border:1px solid var(--brand-line);border-radius:var(--r-tile);box-shadow:0 4px 14px color-mix(in srgb,var(--text),transparent 90%)}.selection-count,.selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.selection-strip button.link{border:0;background:transparent;padding:0;color:var(--accent);font-weight:550;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.access-list tbody tr td{background:var(--panel)}.access-list tbody tr.row-link:hover td{background:var(--hover)}.access-list tbody tr.has-more td.access-person,.access-list tbody tr.has-more td:first-child{border-bottom-color:transparent}.access-list tbody tr.is-group-start:not(:first-child) td{border-top:1px solid var(--line)}.access-list tbody tr.is-ended td:not(.access-person){color:var(--muted)}.access-person{min-width:290px}.access-person-cell{display:flex;align-items:center;gap:10px;min-width:0}.access-person-cell>div{min-width:0;overflow-wrap:anywhere}.access-avatar{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--chip);color:var(--text);font-size:var(--type-meta);font-weight:700}.access-service{font-weight:600}.access-chips{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.access-chip{background:var(--ok-bg);color:var(--ok);font-weight:600}.access-chip.is-key{background:var(--chip);color:var(--text);font-weight:550}.access-chip.is-deny{background:var(--danger-bg);color:var(--danger)}.state-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.state-dot.is-live{background:var(--ok)}.state-dot.is-pending{background:var(--warn)}.state-dot.is-error{background:var(--danger)}.access-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;list-style:none;padding:0;margin:0;color:var(--muted);font-size:var(--type-meta)}.legend-gap{width:1px;height:14px;background:var(--line)}.legend-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line);vertical-align:-2px}.legend-swatch.is-live{background:var(--ok-bg);border-color:var(--ok)}.legend-swatch.is-pending{background:var(--warn-bg);border-color:var(--warn)}.legend-swatch.is-error{background:var(--danger-bg);border-color:var(--danger)}.access-matrix table{border-collapse:separate;border-spacing:0}.access-matrix thead th{white-space:nowrap;text-transform:none;letter-spacing:0;color:var(--text);font-size:var(--type-meta)}.access-matrix tbody th[scope=row]{position:sticky;left:0;z-index:1;background:var(--panel);text-align:left;text-transform:none;letter-spacing:0;font-size:var(--type-base);font-weight:550;color:var(--text);min-width:260px}.access-matrix tbody th[scope=row] a{color:var(--text);text-decoration:none}.access-matrix tbody th[scope=row] a:hover{text-decoration:underline}.access-matrix tbody tr td.access-cell{min-width:150px;border-left:1px solid var(--line);background:var(--panel);vertical-align:top}.access-cell a{color:inherit;text-decoration:none;display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.access-cell a:hover,.access-cell a:focus-visible{text-decoration:underline}.access-cell-origins{display:flex;gap:6px;align-items:center;margin-top:2px}.access-matrix tbody tr td.access-cell.is-live{background:var(--ok-bg)}.access-matrix tbody tr td.access-cell.is-pending{background:var(--warn-bg)}.access-matrix tbody tr td.access-cell.is-error{background:var(--danger-bg)}.access-matrix tbody tr td.access-cell.is-ended{color:var(--muted)}.access-matrix tbody tr td.access-cell.is-empty{background:color-mix(in srgb,var(--panel),var(--text) 2%)}.plan-summary{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.plan-summary li{display:inline-flex;gap:6px;align-items:baseline;padding:4px 10px;border-radius:999px;background:var(--chip);font-size:var(--type-meta)}.plan-summary li.is-add{background:var(--ok-bg);color:var(--ok)}.plan-summary li.is-invite,.plan-summary li.is-review{background:var(--info-bg);color:var(--info)}.plan-summary li.is-remove{background:var(--warn-bg);color:var(--warn)}.plan-summary li.is-blocked{background:var(--danger-bg);color:var(--danger)}.plan-table tbody tr td{background:var(--panel)}.plan-table tr.plan-group th{background:color-mix(in srgb,var(--panel),var(--text) 4%);text-transform:none;letter-spacing:0;font-size:var(--type-base);font-weight:650;color:var(--text);padding-top:8px;padding-bottom:8px}.plan-table tr.plan-group .access-avatar{width:22px;height:22px;margin-right:4px}.plan-table tr.is-quiet td{color:var(--muted)}.plan-change{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:baseline}.confirm-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.offboard-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}.offboard-steps li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-tile);color:var(--muted);font-size:var(--type-meta)}.offboard-steps li strong{display:block;color:var(--text);font-size:var(--type-base)}.offboard-steps li>i{color:var(--warn);margin-top:3px}.confirm-count input{max-width:140px}.flow-title:focus{outline:none}.people-entry{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;align-items:start}.people-picked{border-top:1px solid var(--line);padding-top:12px}.access-target{border:1px solid var(--line);border-radius:var(--r-tile);padding:12px 16px;display:grid;gap:8px}.access-target header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.people-chips .chip{max-width:100%;overflow-wrap:anywhere}.role-matrix thead th{text-transform:none;letter-spacing:0;color:var(--text);font-size:var(--type-base)}.role-matrix th.role-col{white-space:nowrap;text-align:center}.role-matrix td.role-cell{text-align:center}.role-matrix tbody tr td.role-cell.is-changed{background:var(--warn-bg)}.role-matrix :is(tbody,tfoot) th[scope=row]{text-align:left;text-transform:none;letter-spacing:0;font-size:var(--type-base);font-weight:550;color:var(--text);position:sticky;left:0;background:var(--panel)}.role-matrix tbody th[scope=row]{font-family:ui-monospace,monospace}.role-matrix th[scope=row] .muted{font-family:Inter,system-ui,sans-serif;font-weight:400}.role-matrix tfoot td,.role-matrix tfoot th{vertical-align:middle;text-align:center}.role-matrix tfoot input{max-width:72px}.stepper{display:flex;align-items:center;gap:0;list-style:none;padding:0;margin:0}.stepper li{display:flex;align-items:center;color:var(--muted)}.stepper li+li:before{content:"";width:32px;height:1px;margin:0 10px;background:var(--line)}.stepper li.is-done+li:before,.stepper li.is-current:before{background:var(--brand-line)}.stepper li>:is(span,button){display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;color:inherit;font-weight:550}.stepper li>button{cursor:pointer}.stepper-dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--panel);font-size:var(--type-meta);font-weight:700}.stepper-dot i{margin:0}.stepper li.is-current{color:var(--text)}.stepper li.is-current .stepper-dot{border-color:var(--primary);background:var(--primary);color:var(--primary-text)}.stepper li.is-done .stepper-dot{border-color:var(--brand-line);color:var(--brand-line)}.stepper li.is-current .stepper-label{font-weight:700}.workspace .card.flow-card{padding:20px;gap:16px}.flow-head{display:grid;gap:4px}.flow-head p{margin:0}.workspace .card.flow-card .flow-title{font-size:var(--type-card);font-weight:650;letter-spacing:-.02em;margin:0}.flow-actions{justify-content:flex-end}.flow-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0}.flow-summary span{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:var(--type-meta);font-weight:550}.flow-summary i{color:var(--brand-line)}.flow-empty{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:20px;border:1px dashed var(--line);border-radius:var(--r-tile);color:var(--muted)}.paste-many>summary{cursor:pointer;color:var(--muted);font-size:var(--type-meta);font-weight:550}.paste-many>summary i{margin-right:6px}.paste-many[open]>summary{margin-bottom:10px}.person-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px}.person-cards li,.service-picked{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-tile);background:var(--panel);min-width:0}.person-card-text{display:grid;min-width:0;flex:1;text-align:left}.person-card-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-cards .access-avatar i{margin:0}.service-picked{border-color:var(--brand-line);background:var(--ok-bg)}.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px}.choice-card,.role-card,.service-tile{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-tile);background:var(--panel);color:var(--text);cursor:pointer;font-weight:400;min-width:0}:is(.choice-card,.role-card)>span{display:grid;min-width:0}:is(.choice-card,.role-card,.service-tile):hover:not(:disabled){background:var(--hover);border-color:var(--control-line)}:is(.choice-card,.role-card)>i{margin:0;color:var(--muted);font-size:var(--type-card)}.choice-card[aria-pressed=true],.role-card[aria-pressed=true]{border-color:var(--brand-line);background:var(--ok-bg);box-shadow:0 0 0 1px var(--brand-line)}.choice-card[aria-pressed=true]>i,.role-card[aria-pressed=true]>i{color:var(--brand-line)}.role-cards,.service-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px}.pick-step{display:grid;gap:10px}.workspace .card .pick-title{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--type-card);font-weight:650;color:var(--text);text-transform:none;letter-spacing:0}.pick-number{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--chip);font-size:var(--type-meta);font-weight:700}.role-card[aria-pressed=false]>i{color:var(--muted)}.stepper-label{white-space:nowrap;font-size:var(--type-meta)}.stepper-dot,.pick-number{flex:none}.flow-mobile-steps,.flow-mobile-progress{display:none}.flow-card,.flow-card>*,.pick-step,.flow-card fieldset{min-width:0}.flow-summary span,.role-card>span,.choice-card>span{overflow-wrap:anywhere}.flow-card .perm-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.flow-card .perm-grid .check{overflow-wrap:anywhere;min-width:0}.flow-card .perm-grid input{flex:none}:is(.choice-card,.role-card,.service-tile):focus-visible,.stepper button:focus-visible,.flow-mobile-steps summary:focus-visible{outline:2px solid var(--brand-line);outline-offset:3px}@media(max-width:600px){.stepper{display:none}.flow-mobile-steps{display:block}.flow-mobile-steps summary{cursor:pointer;font-weight:600;padding:10px 0}.flow-mobile-progress{display:block;width:100%;height:4px;margin-top:6px;accent-color:var(--primary)}.flow-mobile-steps ol{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.flow-mobile-steps li>span{display:block;padding:8px;color:var(--muted)}.flow-mobile-steps li[aria-current=step]>span{color:var(--text);font-weight:650}.workspace .card.flow-card{padding:16px;gap:16px}.flow-actions{position:sticky;bottom:0;z-index:6;display:flex;flex-wrap:wrap;background:var(--panel);border-top:1px solid var(--line);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}.flow-actions>button{flex:1;width:auto;min-height:40px}.access-stats.is-static{grid-template-columns:1fr}}.current-access-heading,.current-access-people{display:flex;align-items:center;flex-wrap:wrap;gap:8px;overflow-wrap:anywhere}.current-access-people button{overflow-wrap:anywhere}.current-access-people button[aria-pressed=true]{border-color:var(--brand-line);background:var(--ok-bg)}.current-access-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.current-access-grid>li{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--r-tile);background:var(--panel);overflow-wrap:anywhere}.current-access-grid header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%}.current-access-context,.current-access-grid .hint{margin:0}.service-runtime{display:flex;flex-direction:column;gap:12px}.service-runtime>p{margin:0}.edit-bar{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-surface);background:color-mix(in srgb,var(--panel),transparent 6%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.edit-bar .actions{justify-content:flex-end}.stack.tab-pane[hidden]{display:none}.path-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,.45fr) minmax(0,1fr);align-items:stretch}.path-end{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:12px 14px;background:var(--field);border:1px solid var(--line);border-radius:var(--r-tile)}.path-end-title{font-size:var(--type-meta);color:var(--muted)}.path-end-target{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-title);font-weight:600;letter-spacing:-.01em}.path-end-target code{font-size:inherit;font-weight:inherit}.path-end-target a{text-overflow:ellipsis}.path-end-detail{font-size:var(--type-meta);color:var(--muted)}.path-rail{--rail-color: var(--line);--rail-style: solid;position:relative;display:grid;place-items:center;min-width:0}.path-rail:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px var(--rail-style) var(--rail-color)}.path-rail-label{position:relative;max-width:100%;padding:2px 8px;background:var(--panel);color:var(--muted);font-size:var(--type-label);line-height:1.3;text-align:center}.path-rail.open{--rail-color: var(--ok)}.path-rail.closed{--rail-style: dashed}.path-rail.error{--rail-color: var(--danger);--rail-style: dashed}.path-rail.unknown{--rail-style: dotted}.path-rail.is-busy{--rail-color: var(--warn);--rail-style: dashed}@media(prefers-reduced-motion:no-preference){.path-rail.is-busy:before{animation:path-busy 1.1s ease-in-out infinite}}@keyframes path-busy{50%{opacity:.3}}.service-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding-top:12px;border-top:1px solid var(--line)}.service-control-state{font-size:var(--type-meta);color:var(--muted)}.service-control-buttons{display:flex;gap:8px}.service-control-buttons button{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.service-operation .op-steps{margin:0;font-size:var(--type-base)}.service-operation .op-steps li{font-size:inherit}.service-log{margin-top:12px}.service-log summary{cursor:pointer;font-weight:600;padding:8px 0}@media(max-width:900px){.service-detail{gap:12px}.service-detail.has-service-controls{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.service-detail .page-head{margin:0}.service-detail .page-head>.actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end}.service-detail .page-head>.actions>*{width:auto;flex:none}.service-detail .page-head>.actions>.badge:first-child{margin-right:auto}.service-detail .page-head>.actions>.badge{white-space:nowrap}.service-controls{display:block;position:fixed;z-index:25;left:0;right:0;bottom:0;padding:8px 12px calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}.service-control-state{display:block;margin-bottom:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.service-control-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-control-buttons button{min-width:0;min-height:48px;padding:8px 4px;font-size:var(--type-base)}.service-log summary{min-height:44px}.edit-bar{flex-direction:column;align-items:stretch}.edit-bar .actions>button{flex:1}.service-detail.has-service-controls .appearance-bar{bottom:calc(112px + env(safe-area-inset-bottom))}.router-shell:has(.service-detail) .router-header .crumb-parent:not(:nth-last-child(2)){display:none}.router-shell:has(.service-detail) .router-header .crumb-parent:nth-last-child(2) .crumb-sep{display:none}body:has(.service-controls) nx-mascot{--nx-mascot-z: 24}body:has(.service-controls) .ops-dock{bottom:calc(112px + env(safe-area-inset-bottom));max-height:25dvh;overflow-y:auto}body:has(.service-controls) .toasts{bottom:calc(112px + env(safe-area-inset-bottom))}.workspace:has(.service-controls){scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom))}}@media(max-width:640px){.path-flow{grid-template-columns:minmax(0,1fr)}.path-rail{min-height:52px}.path-rail:before{inset:0 auto 0 50%;border-top:0;border-left:2px var(--rail-style) var(--rail-color)}}@media(max-width:360px){.service-control-buttons button{flex-direction:column;gap:4px}}.nx-app-shell{--nx-accent: #84cc16;--nx-canvas: #f3f4f1;--nx-sidebar-bg: #181916;--nx-sidebar-fg: #f5f5f2;--nx-sidebar-muted: #b9bcb3;--nx-sidebar-active-bg: #2e3c22;--nx-sidebar-active-fg: #d2f5a5;--nx-header-bg: #ffffff;--nx-header-fg: #242721;--nx-border: #dfe2d9;--nx-shell-radius: 1rem;--nx-shell-gap: 10px;display:flex;min-width:0;height:100vh;height:100dvh;overflow:hidden;background:var(--nx-canvas)}.nx-app-sidebar{box-sizing:border-box;min-height:0;margin:var(--nx-shell-gap) 0 var(--nx-shell-gap) var(--nx-shell-gap);border:1px solid color-mix(in srgb,var(--nx-sidebar-fg) 12%,transparent);border-radius:var(--nx-shell-radius);background:var(--nx-sidebar-bg);color:var(--nx-sidebar-fg)}.nx-app-header{box-sizing:border-box;position:relative;flex-shrink:0;min-width:0;min-height:60px;margin:var(--nx-shell-gap) var(--nx-shell-gap) 0;border:1px solid var(--nx-border);border-radius:var(--nx-shell-radius);background:var(--nx-header-bg);color:var(--nx-header-fg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nx-app-header:before{content:"";position:absolute;inset-block:14px;inset-inline-start:0;width:3px;border-radius:0 3px 3px 0;background:var(--nx-accent);pointer-events:none}.nx-nav-link{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.625rem .75rem;border-radius:.625rem;color:var(--nx-sidebar-muted);text-decoration:none;transition:background-color .15s ease,color .15s ease}.nx-nav-link:hover{color:var(--nx-sidebar-fg);background:color-mix(in srgb,var(--nx-sidebar-fg) 8%,transparent)}.nx-nav-link[aria-current=page]{color:var(--nx-sidebar-active-fg);background:var(--nx-sidebar-active-bg);font-weight:600}.nx-context-trigger{box-sizing:border-box;display:inline-flex;align-items:center;gap:.625rem;min-width:0;min-height:44px;max-width:100%;padding:.375rem .75rem;border:1px solid var(--nx-border);border-radius:.75rem;background:var(--nx-header-bg);color:var(--nx-header-fg);font:inherit;text-align:start;text-decoration:none}:is(button,a).nx-context-trigger{cursor:pointer}:is(button,a).nx-context-trigger:hover{background:color-mix(in srgb,var(--nx-accent) 8%,var(--nx-header-bg));border-color:var(--nx-accent)}.nx-context-trigger>:is(svg,img){flex-shrink:0}.nx-context-trigger>span{min-width:0}.nx-context-label{display:block;font-size:.75rem;font-weight:400;line-height:1.25}.nx-context-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;line-height:1.4}:is(.nx-context-trigger,.nx-nav-link):focus-visible{outline:2px solid var(--nx-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.nx-nav-link{transition:none}}@media(forced-colors:active){.nx-app-sidebar,.nx-app-header,.nx-context-trigger{border-color:CanvasText}.nx-nav-link[aria-current=page]{outline:1px solid Highlight}:is(.nx-context-trigger,.nx-nav-link):focus-visible{outline-color:Highlight}}:root,[data-theme=dark]{color-scheme:dark;--charcoal: #111827;--bone: #e5e7eb;--bg: #0b0f17;--panel: #121826;--line: #303949;--text: #e5e7eb;--muted: #9ca3af;--field: #0f1520;--control-line: #68758a;--hover: #1b2435;--chip: #1e2635;--brand: #c8f540;--brand-hover: #b5e02c;--brand-text: #0b0f17;--brand-line: #c8f540;--primary: var(--brand);--primary-hover: var(--brand-hover);--primary-text: var(--brand-text);--primary-border: transparent;--focus: #3b82f6;--info: #22d3ee;--info-bg: rgba(34, 211, 238, .1);--ok: #c8f540;--ok-bg: rgba(200, 245, 64, .1);--warn: #fbbf24;--warn-bg: rgba(251, 191, 36, .1);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .1);--accent: #7aa7ff;--ring: rgba(59, 130, 246, .45);--glow: rgba(200, 245, 64, .05);--shadow: none;--radius: 6px;font-family:Inter,system-ui,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}[data-theme=light]{color-scheme:light;--bg: #f4f6f9;--panel: #ffffff;--line: #d9e0e9;--text: #101827;--muted: #576275;--field: #ffffff;--control-line: #8490a2;--hover: #f0f3f7;--chip: #e9edf3;--brand-line: #527600;--primary: #527600;--primary-hover: #3f5c00;--primary-text: #ffffff;--primary-border: transparent;--focus: #1d4ed8;--info: #0e7490;--info-bg: #e0f7fb;--ok: #527600;--ok-bg: #eef6d6;--warn: #b45309;--warn-bg: #fef4e2;--danger: #b91c1c;--danger-bg: #fdecec;--accent: #1d4ed8;--ring: rgba(29, 78, 216, .25);--glow: rgba(82, 118, 0, .05);--shadow: none}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:var(--type-base);line-height:1.4}button,input,select,textarea{font:inherit}textarea{resize:vertical}button{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:var(--accent)}::selection{background:var(--ring)}h1,h2,h3{margin:0 0 8px;font-weight:650;letter-spacing:-.01em}h1{font-size:var(--type-number);letter-spacing:-.02em}h2{font-size:var(--type-card)}h3{font-size:var(--type-section);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.app-shell{display:grid;grid-template-columns:256px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.sidebar{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;min-width:0;--side: #0f1623;--side-text: #e5e7eb;--side-muted: #8b95a5;--side-line: #1f2937;background:var(--side);color:var(--side-text);border-right:1px solid var(--side-line);padding:14px 8px;display:flex;flex-direction:column;gap:14px}.brand-block{display:flex;align-items:center;min-height:40px;padding:2px 8px}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:inherit}.brand-lockup>svg{flex:none}.wordmark{display:inline-flex;align-items:baseline;gap:.28em;line-height:1;white-space:nowrap;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:1.2em;letter-spacing:-.02em}.brand-block .wordmark{font-size:19px;color:var(--side-text)}.eyebrow{font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--side-muted, var(--muted))}.sidebar strong{color:var(--side-text)}.sidebar nav{display:flex;flex-direction:column;gap:10px;flex:1;overflow:auto}.sidebar,.sidebar nav{color-scheme:dark;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--bone) 22%,transparent) transparent}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:var(--type-section);letter-spacing:.08em;text-transform:uppercase;color:var(--side-muted);padding:0 10px 2px}.sidebar nav a{display:flex;align-items:center;gap:8px;min-height:30px;text-align:left;text-decoration:none;border:0;background:transparent;color:var(--side-link);padding:5px 10px;border-radius:5px;font-size:var(--type-base);font-weight:550;position:relative;transition:background .15s,color .15s}.sidebar nav a:hover{background:color-mix(in srgb,var(--bone) 5%,transparent);color:var(--side-text)}.sidebar nav a i{width:16px;text-align:center;color:var(--side-muted);transition:color .15s}.sidebar nav a.active{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--side-text);font-weight:600}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.sidebar nav a.active i{color:var(--brand)}.nav-badge{margin-left:auto;background:var(--warn);color:var(--charcoal);font-size:var(--type-label);font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px}.sidebar .ghost{color:var(--side-link);border-color:var(--side-line);background:color-mix(in srgb,var(--bone) 2%,transparent)}.sidebar .ghost:hover{background:color-mix(in srgb,var(--bone) 7%,transparent);color:var(--side-text)}button[data-tip],a[data-tip]{position:relative}button[data-tip]:hover:after,button[data-tip]:focus-visible:after,a[data-tip]:hover:after,a[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;z-index:50;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:220px;padding:6px 9px;border-radius:8px;background:var(--charcoal);color:var(--bone);border:1px solid var(--inverse-line);font-size:var(--type-meta);font-weight:550;line-height:1.35;white-space:normal;text-align:left;pointer-events:none;box-shadow:0 6px 16px color-mix(in srgb,var(--shadow-ink) 18%,transparent)}button i,a.ghost i{margin-right:6px}button i:last-child,a.ghost i:last-child{margin-right:0;margin-left:6px}.icon-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:5px}.icon-button:hover{background:var(--hover)}.icon-button i{margin:0}.segment :is(button,a){display:inline-flex;align-items:center;gap:8px}.segment :is(button,a) i{margin:0;color:var(--muted)}.segment :is(button,a).active i{color:inherit}.sidebar-foot{border-top:1px solid var(--side-line);padding-top:10px}.user-card{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:8px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--side-text)}.user-card:hover,.user-card[aria-expanded=true]{background:color-mix(in srgb,var(--bone) 6%,transparent);border-color:var(--side-line)}.user-card .user-avatar{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--type-base);color:var(--bone);box-shadow:0 0 0 2px var(--side),0 0 0 3px color-mix(in srgb,var(--bone) 30%,transparent)}.user-card-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.user-card-text strong{font-size:var(--type-base);color:var(--side-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-text span{font-size:var(--type-label);color:var(--side-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card>i{color:var(--side-muted);font-size:var(--type-label);margin:0}.menu-heading{display:block;padding:8px 10px 4px;font-size:var(--type-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.menu-pop .menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-pop :is(a,button)>.fa-check{color:var(--text)}.workspace{position:relative;padding:32px 40px 56px;overflow:auto;min-width:0;min-height:0;height:100%;overscroll-behavior:contain}.sidebar nav{min-height:0}.sidebar-foot{flex:none}.stack{display:flex;flex-direction:column;gap:12px}.page{width:100%;animation:page-in .15s ease backwards}@keyframes page-in{0%{opacity:0}to{opacity:1}}.page-head,.section-head,.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-head{margin-bottom:4px;align-items:center;justify-content:flex-end}.page-head h1{margin-bottom:4px}.page-head p{margin:0;max-width:72ch}.page-head .actions{flex:none}.card h3:not(:first-child){margin-top:24px}.card>.hint:last-child,.card>p:last-child{margin-bottom:0}.card .pager{margin-top:14px}.section-head{margin-bottom:12px}.section-head h2,.section-head h3{margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.form-card{padding:14px}.table-card{padding:0;overflow-x:auto}.table-card>:not(table){margin:10px 12px}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:var(--type-meta);margin:0 0 10px}.path{font-size:var(--type-meta);color:var(--muted);word-break:break-all}.small{font-size:var(--type-meta);margin-top:4px}.end{text-align:right}.filters{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}@media(max-width:800px){.filters{grid-template-columns:1fr}}.grid-2,.grid-3,.split{display:grid;gap:16px;align-items:start}section.grid-2{align-items:stretch}.drawer-body .stack>p{margin:0}.auth-password input{width:100%}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.split{grid-template-columns:1.4fr 1fr}.mobile-bar,.nav-backdrop{display:none}body.nav-open{overflow:hidden}@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.split,.grid-2,.grid-3,.app-grid,.kind-grid,.perm-grid{grid-template-columns:1fr}.mobile-bar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:color-mix(in srgb,var(--side) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--side-line);color:var(--bone)}.mobile-bar .icon-button{width:44px;height:44px;flex:none;color:var(--bone);border-color:var(--inverse-line)}.mobile-bar-title{display:flex;flex-direction:column;min-width:0}.mobile-bar-title .eyebrow{color:var(--side-muted)}.mobile-bar-title strong{font-size:var(--type-touch);line-height:1.2}.nav-backdrop{display:block;position:fixed;inset:0;z-index:40;border:0;padding:0;background:color-mix(in srgb,var(--nav-scrim-ink) 55%,transparent)}.sidebar{position:fixed;z-index:45;top:0;left:0;bottom:0;width:min(300px,86vw);transform:translate(-105%);transition:transform .2s ease;overflow:auto;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.app-shell.nav-open .sidebar{transform:translate(0)}.workspace{min-width:0;padding:16px 14px max(28px,env(safe-area-inset-bottom))}.page-head,.section-head,.form-actions{flex-direction:column;align-items:stretch}.page-head .actions,.section-head .actions,.form-actions .actions{width:100%;justify-content:stretch}.page-head .actions>*,.form-actions>input,.form-actions>select,.form-actions>button,.form-actions>.actions{width:100%}.form-actions>.actions{display:flex;flex-direction:column}.segment{width:100%;max-width:100%;overflow-x:auto}.segment :is(button,a){white-space:nowrap;flex:none}.facts{grid-template-columns:1fr;gap:2px}.facts dt{margin-top:8px}.card,.form-card{padding:12px}.table-card{padding:0}td.row-actions{white-space:normal}.page-head{align-items:stretch}.table-card table{min-width:760px}.table-card td:has(>a>strong),.table-card td:has(>strong){min-width:150px}input,select,textarea{font-size:var(--type-touch);width:100%}.filter-bar{padding:12px}.filter-bar label{min-width:0}.filter-count{white-space:normal;padding-bottom:0}.drawer,.drawer.wide{width:100%;border-left:0}.drawer-head,.drawer-foot,.drawer-body{padding-left:14px;padding-right:14px}.confirm-card{margin:8px}.stack>.primary,.stack>.ghost,.stack>.danger,.stack>.warn{width:100%}.ghost,.primary,.danger,.warn,.info{min-height:40px}.icon-button,.icon-button.copy-button{width:40px;height:40px}.sidebar nav a{min-height:40px}pre{max-width:100%}h1{font-size:var(--type-subtitle)}}@media(hover:none){button[data-tip]:hover:after,a[data-tip]:hover:after{content:none}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}label{display:flex;flex-direction:column;gap:4px;font-size:var(--type-label);color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:8px;font-size:var(--type-base);color:var(--text)}label.check input{width:auto}.stack.tight{gap:8px}.auth-links{display:flex;justify-content:space-between;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border-radius:999px;padding:3px 10px;font-size:var(--type-meta)}button.chip{cursor:pointer;border:1px solid transparent;color:inherit}button.chip[aria-pressed=false]{background:var(--field);border-color:var(--control-line);color:var(--text)}button.chip[aria-pressed=true]{border-color:var(--brand-line);color:var(--text)}.chip button{border:0;background:transparent;color:var(--muted);padding:0}table.compact td{padding:6px 10px;font-size:var(--type-base)}td.nowrap,th.nowrap{white-space:nowrap}td.clip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge+.badge,.small .badge{margin-left:6px}.badge.private,.badge.info{background:var(--info-bg);color:var(--info)}.access-box{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}.access-box p{margin:0}.role-row{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px}.router-card{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.router-card p{margin:2px 0}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.app-card{display:flex;flex-direction:column;gap:10px;padding:12px;position:relative;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s,box-shadow .18s}.app-card:before{content:"";position:absolute;inset:-1px 18px auto;height:2px;border-radius:0 0 2px 2px;background:var(--muted);opacity:.5}.app-card.is-up:before{background:var(--ok);opacity:.9}.app-card.is-warn:before{background:var(--warn);opacity:.9}.app-card.is-down:before{background:var(--danger);opacity:.7}.app-card.is-slow:before{background:var(--warn);opacity:.9}.app-card.is-busy:before{background:var(--info);opacity:.9}.app-card:hover{border-color:color-mix(in srgb,var(--text),transparent 70%)}.app-card-head{display:flex;align-items:center;gap:12px;min-width:0}.app-avatar{width:42px;height:42px;flex:none;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:var(--type-touch);color:var(--bone);box-shadow:0 0 0 1px color-mix(in srgb,var(--bone) 12%,transparent) inset,0 6px 14px color-mix(in srgb,var(--shadow-ink) 25%,transparent)}.app-card-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.app-card-title a{color:var(--text);text-decoration:none;font-weight:650;font-size:var(--type-touch);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-card-title a:hover{text-decoration:underline;text-underline-offset:3px}.app-card-title span{font-size:var(--type-meta);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-state{flex:none;display:inline-flex;align-items:center;gap:6px;position:relative;font-size:var(--type-label);font-weight:600;padding:4px 9px;border-radius:999px;background:var(--chip);color:var(--muted)}.app-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.app-state.is-up{background:var(--ok-bg);color:var(--ok)}.app-state.is-up:before{box-shadow:0 0 0 3px color-mix(in srgb,var(--ok),transparent 75%);animation:app-pulse 2.4s ease-in-out infinite}.app-state.is-warn{background:var(--warn-bg);color:var(--warn)}.app-state.is-down{background:var(--danger-bg);color:var(--danger)}.app-state.is-busy{background:var(--info-bg);color:var(--info)}.app-state.is-slow{background:var(--warn-bg);color:var(--warn)}.app-vitals{margin:-6px 0 0 54px;font-size:var(--type-meta);color:var(--muted);font-variant-numeric:tabular-nums}.app-state.is-busy:before{animation:app-pulse 1s ease-in-out infinite}.app-state[data-tip]:hover:after{content:attr(data-tip);position:absolute;z-index:50;top:calc(100% + 8px);right:0;width:max-content;max-width:220px;padding:6px 9px;border-radius:8px;background:var(--charcoal);color:var(--bone);border:1px solid var(--inverse-line);font-size:var(--type-meta);font-weight:550;pointer-events:none}@keyframes app-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ok),transparent 90%)}}.app-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--type-meta);color:var(--muted);min-height:22px}.app-roles{display:inline-flex;align-items:center;gap:6px;position:relative;min-width:0;font-size:var(--type-meta);color:var(--muted)}.app-roles>i{font-size:var(--type-label);opacity:.7;margin:0}.app-roles-more{padding:1px 6px;border-radius:999px;background:var(--chip);color:var(--text);font-size:var(--type-label);font-weight:600}.app-roles[data-tip]{cursor:help}.app-roles[data-tip]:hover:after{content:attr(data-tip);position:absolute;z-index:50;top:calc(100% + 8px);left:0;width:max-content;max-width:240px;padding:6px 9px;border-radius:8px;background:var(--charcoal);color:var(--bone);border:1px solid var(--inverse-line);font-size:var(--type-meta);font-weight:550;pointer-events:none}.app-card-main{display:flex;gap:8px;margin-top:auto}.app-open{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.app-open i{margin:0}.app-open.is-compact{flex:none;padding:6px 12px;font-size:var(--type-base)}.app-card-main .icon-button{width:40px;height:auto;flex:none}.ghost.danger-text{color:var(--danger)}.ghost.danger-text:hover:not(:disabled){background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger),transparent 60%)}a.icon-button{text-decoration:none}.portal-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 22px}.portal-empty>i{font-size:var(--type-number);color:var(--muted);margin-bottom:6px}.portal-empty p{max-width:46ch;margin:0 0 10px}.drawer-foot>a.ghost{display:inline-flex;align-items:center;gap:6px}.drawer-foot>a.ghost i{margin:0}.app-card{min-width:0}@media(max-width:900px){.app-grid{grid-template-columns:minmax(0,1fr)}.app-card{padding:16px}.portal-search{flex-basis:100%}.portal-toolbar-end{margin-left:0}.portal-toolbar-row>.segment{width:100%}.portal-table th:nth-child(3),.portal-table td:nth-child(3),.portal-table th:nth-child(4),.portal-table td:nth-child(4){display:none}}@media(prefers-reduced-motion:reduce){.app-state.is-up:before{animation:none}.app-card:hover{transform:none}}.log-modal{width:min(880px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.log-tail{margin:0;padding:16px;overflow:auto;flex:1;min-height:240px;max-height:60vh;font-size:var(--type-meta);line-height:1.45;white-space:pre-wrap;word-break:break-word}input,select,textarea{background:var(--field);border:1px solid var(--control-line);color:var(--text);padding:6px 9px;font-size:var(--type-base);border-radius:5px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--line),var(--text) 18%)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 2px var(--ring)}a.ghost{display:inline-block;text-decoration:none}.ghost,.primary,.danger,.warn,.info{border:1px solid var(--line);background:transparent;color:var(--text);padding:5px 10px;border-radius:5px;font-weight:550;font-size:var(--type-base)}.ghost:hover{background:var(--hover)}.primary{background:var(--primary);border-color:var(--primary-border);color:var(--primary-text)}.primary:hover:not(:disabled){background:var(--primary-hover)}a.primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.primary.fit,a.ghost.fit{width:fit-content}.danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger),transparent 60%);color:var(--danger)}.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn),transparent 60%);color:var(--warn)}.info{background:var(--info-bg);border-color:color-mix(in srgb,var(--info),transparent 60%);color:var(--info)}.danger:hover,.warn:hover,.info:hover{filter:brightness(1.08)}button:disabled{opacity:.55;cursor:default;transform:none}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--type-base);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td code,.banner code,.facts code{word-break:break-all}td.row-actions{white-space:nowrap;text-align:right;width:1%}td.row-actions>*+*{margin-left:6px}.error-text{color:var(--danger)}th{color:var(--muted);font-size:var(--type-section);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding-top:7px;padding-bottom:7px;background:color-mix(in srgb,var(--panel),var(--bg) 40%);position:sticky;top:0;z-index:1}th:first-child,td:first-child{padding-left:14px}th:last-child,td:last-child{padding-right:14px}tbody tr:not(.project-row):nth-child(2n) td{background:color-mix(in srgb,var(--panel),var(--text) 2.5%)}tbody tr:last-child td{border-bottom:0}td .small,td .path{font-size:var(--type-label);margin-top:1px}td .ghost{padding:3px 8px;font-size:var(--type-meta);white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--type-section);font-weight:600;padding:1px 6px;border-radius:4px;background:var(--chip);color:var(--muted);white-space:nowrap;vertical-align:middle;line-height:1.4}.badge.ok:before,.badge.published:before,.badge.error:before,.badge.off:before,.badge.draft:before,.badge.warn:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.ok,.badge.published{background:var(--ok-bg);color:var(--ok)}tr.row-live td{background:var(--ok-bg)}.badge.off,.badge.draft,.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.error{background:var(--danger-bg);color:var(--danger)}.badge.dev{background:var(--info-bg);color:var(--info)}.actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.kind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin-bottom:16px}.kind-card{text-align:left;background:var(--field);border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:var(--text);display:flex;flex-direction:column;gap:4px}.kind-card p{margin:0;font-size:var(--type-meta);color:var(--muted)}.kind-card:hover{border-color:color-mix(in srgb,var(--brand-line),transparent 50%)}.kind-card.selected{border-color:var(--brand-line);background:color-mix(in srgb,var(--brand-line),transparent 90%);box-shadow:0 0 0 3px var(--ring)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{border:1px solid var(--line);background:var(--field);color:var(--text);padding:6px 10px;border-radius:999px}.pill:hover{border-color:color-mix(in srgb,var(--brand-line),transparent 50%)}.pill.selected{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.banner{padding:8px 12px;border-radius:5px;border:1px solid transparent;font-size:var(--type-base)}.banner.error{border-color:color-mix(in srgb,var(--danger),transparent 70%)}.banner.error{background:var(--danger-bg);color:var(--danger)}.banner.warn{background:var(--warn-bg);color:var(--warn);overflow-wrap:anywhere;border-color:color-mix(in srgb,var(--warn),transparent 70%)}.banner.info{background:var(--info-bg);color:var(--info)}.banner.sticky{margin-bottom:16px}.join-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.join-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--field)}.join-row strong{display:block}.join-row span{display:block;color:var(--muted);font-size:var(--type-base)}.join-actions{display:flex;gap:8px;flex:none}.join-ask{display:flex;gap:8px;align-items:end}.join-ask label{flex:1;margin:0}.join-ask input{width:100%}.banner.warn.join-banner{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.join-banner-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.join-banner-head p{margin:0}@media(max-width:860px){.join-row,.join-ask{flex-direction:column;align-items:stretch}}.steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}pre{margin:0;background:var(--field);border:1px solid var(--line);border-radius:8px;padding:14px;overflow:auto;font-size:var(--type-meta);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}tr.row-selected{background:var(--hover)}tbody tr.row-link{cursor:pointer}.stat{font-size:var(--type-number);font-weight:700;margin:4px 0;letter-spacing:-.02em}.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--type-meta);color:var(--muted)}.crumb-sep{margin-right:6px}.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{text-decoration:underline}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow)}.filter-bar label{min-width:130px;flex:1}.filter-bar>button{flex:none}.form-actions>:only-child{margin-left:auto}.picker-row{display:flex;align-items:flex-end;gap:8px}.picker-row>label,.picker-row>.picker-field{flex:1;min-width:0}.picker-field{display:flex;flex-direction:column;gap:4px;font-size:var(--type-label);color:var(--muted)}.kind-note{margin:-4px 0 4px}.picker-row .path{padding:6px 0}.form-actions>input{flex:1;min-width:0}.banner.warn{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}.banner.warn>p{margin:0;flex:1;min-width:0}.filter-bar input,.filter-bar select{width:100%}.filter-count{font-size:var(--type-meta);color:var(--muted);padding-bottom:7px;white-space:nowrap}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-strip.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.facts{display:grid;grid-template-columns:110px 1fr;gap:4px 12px;margin:0}.facts dt{color:var(--muted);font-size:var(--type-meta)}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.facts .fact-row{display:contents}.facts dd>.badge:not(:first-child){margin-left:6px}.cidr-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.cidr-list code{padding:1px 6px;background:var(--chip);border-radius:4px}.tcp-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.stat-strip.cols-4 strong{font-size:var(--type-subtitle);line-height:1.3}.stat-strip>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow)}.stat-strip span,.stat-strip em{font-size:var(--type-meta);color:var(--muted);font-style:normal;font-weight:550}.stat-strip strong{font-size:var(--type-number);font-weight:700;letter-spacing:-.02em}.segment{display:inline-flex;gap:4px;padding:2px;background:var(--field);border:1px solid var(--line);border-radius:6px;width:fit-content}.segment :is(button,a){border:0;background:transparent;color:var(--muted);padding:4px 10px;border-radius:4px;font-weight:550;font-size:var(--type-meta);text-decoration:none;cursor:pointer}.segment :is(button,a):hover:not(.active){color:var(--text);background:var(--hover)}.segment :is(button,a).active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb,var(--shadow-ink) 20%,transparent),0 0 0 1px var(--line)}.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pager .actions{flex-wrap:nowrap}.pager-page{white-space:nowrap;font-variant-numeric:tabular-nums}@media(min-width:901px){.table-card{overflow:visible}.table-card th:first-child{border-top-left-radius:var(--radius)}.table-card th:last-child{border-top-right-radius:var(--radius)}}@media(max-width:900px){.pager-edge{display:none}}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:color-mix(in srgb,var(--dialog-scrim-ink) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;animation:fade-in .18s ease both}.drawer{width:min(440px,100%);height:100%;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-20px 0 50px color-mix(in srgb,var(--shadow-ink) 40%,transparent);animation:drawer-in .22s cubic-bezier(.2,.8,.2,1) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.drawer.wide{width:min(640px,100%)}.drawer-head,.drawer-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px}.drawer-head{border-bottom:1px solid var(--line)}.drawer-foot{border-top:1px solid var(--line)}.drawer-foot>.actions:only-child{margin-left:auto}.drawer-body{flex:1;overflow:auto;padding:14px}tbody tr.row-link:hover td{background:var(--hover)}.confirm-backdrop{align-items:center;justify-content:center;padding:16px}.confirm-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px color-mix(in srgb,var(--shadow-ink) 40%,transparent);animation:pop-in .2s cubic-bezier(.2,.8,.2,1) both}@keyframes pop-in{0%{transform:scale(.97) translateY(4px);opacity:0}to{transform:none;opacity:1}}.confirm-card.danger{border-color:var(--danger)}.confirm-card.warn{border-color:var(--warn)}.confirm-card h2.danger{color:var(--danger)}.confirm-card h2.warn{color:var(--warn)}@media(max-width:800px){.stat-strip,.stat-strip.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-page{color-scheme:light;container:auth / inline-size;--a-bg: #f4f6f9;--a-bg-to: #e3e8ef;--a-surface: #ffffff;--a-card: rgba(255, 255, 255, .86);--a-card-border: rgba(255, 255, 255, .65);--a-field: #ffffff;--a-hover: #eef1f5;--a-line: #d9e0e9;--a-line-strong: #c5cedb;--a-text: #101827;--a-muted: #576275;--a-on-bg: #101827;--a-on-bg-muted: #576275;--a-chip: transparent;--a-primary: #101827;--a-primary-text: #ffffff;--a-ring: rgba(16, 24, 39, .14);--a-radius: 12px;--a-radius-lg: 22px;--a-font: inherit;--a-heading-font: var(--a-font);--a-overlay: .3;--a-image: none;--a-image-position: center;--a-danger: #b91c1c;--a-ok: #527600;min-height:100vh;min-height:100dvh;background:radial-gradient(900px 520px at 12% -8%,rgba(200,245,64,.16),transparent 60%),radial-gradient(760px 480px at 100% 0%,rgba(255,255,255,.7),transparent 62%),radial-gradient(900px 600px at 50% 110%,rgba(16,24,39,.08),transparent 60%),var(--a-bg);color:var(--a-text);font-family:var(--a-font);position:relative;overflow:hidden}.auth-shell{position:relative;z-index:1;min-height:inherit;height:100%;display:grid;justify-items:center;align-items:start;padding:40px 16px}.auth-shell>.auth-main{margin-block:auto}.auth-page:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(16,24,39,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,39,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%)}.auth-main{width:min(432px,100%);display:flex;flex-direction:column;align-items:stretch;gap:18px;position:relative;animation:auth-in .35s cubic-bezier(.2,.8,.2,1) both}@keyframes auth-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.auth-brand{display:flex;justify-content:center;color:var(--a-on-bg)}.auth-brand .wordmark{font-size:19px}.auth-logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#1b2435,#0b0f17);color:#e5e7eb;box-shadow:0 10px 24px #10182759,0 0 0 1px #ffffff14 inset}.auth-card{background:var(--a-card);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--a-card-border);border-radius:var(--a-radius-lg);padding:30px 30px 24px;box-shadow:0 0 0 1px #1018270f,0 2px 4px #1018270a,0 24px 60px #10182724;display:flex;flex-direction:column;gap:16px}.auth-card h1{font-size:24px;font-weight:700;margin:0;color:var(--a-text);letter-spacing:-.025em;font-family:var(--a-heading-font)}.auth-subtitle{margin:-8px 0 2px;color:var(--a-muted);font-size:14px;line-height:1.5}.auth-app{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--a-line);border-radius:var(--a-radius);background:var(--a-field)}.auth-app>div{display:flex;flex-direction:column;line-height:1.25;min-width:0}.auth-app strong{font-size:15px;color:var(--a-text)}.auth-app-label{font-size:12px;color:var(--a-muted)}.auth-app-host{font-size:12px;color:var(--a-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis}.auth-app-avatar{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,#1b2435,#101827);color:#e5e7eb;box-shadow:0 0 0 1px #ffffff14 inset}.auth-form{display:flex;flex-direction:column;gap:14px}.autofill-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.auth-qr{display:flex;flex-direction:column;align-items:center;gap:10px}.auth-qr img{border-radius:12px;background:#fff;padding:8px}.recovery-box{display:flex;flex-direction:column;gap:12px}.recovery-box p{margin:0}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;margin:0;padding-left:1.6em}.recovery-codes code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--type-title);letter-spacing:.04em}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--a-text);font-weight:550}.auth-field small{font-weight:400;color:var(--a-muted);font-size:12px}.auth-page input{width:100%;background:var(--a-field);color:var(--a-text);border:1px solid var(--a-line-strong);border-radius:var(--a-radius);padding:12px 14px;font-size:15px;font-weight:400;box-shadow:0 1px 2px #1018270a;transition:border-color .15s,box-shadow .15s}.auth-page input:hover{border-color:var(--a-muted)}.auth-page input:focus{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 4px var(--a-ring)}.auth-password{position:relative;display:block}.auth-password input{padding-right:44px}.auth-reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--a-muted);display:grid;place-items:center}.auth-reveal:hover{background:var(--a-hover);color:var(--a-text)}.auth-reveal:focus-visible{outline:none;box-shadow:0 0 0 3px var(--a-ring)}.auth-caps{color:#b54708!important}.auth-inline-error{color:var(--a-danger);font-size:12px;margin-top:-8px}.auth-strength{display:flex;flex-direction:column;gap:4px}.auth-strength-bar{height:4px;border-radius:999px;background:var(--a-line);overflow:hidden;display:block}.auth-strength-bar>span{display:block;height:100%;width:10%;background:var(--a-danger);transition:width .2s,background .2s}.auth-strength[data-level="1"] .auth-strength-bar>span{width:35%;background:#d92d20}.auth-strength[data-level="2"] .auth-strength-bar>span{width:65%;background:#dc6803}.auth-strength[data-level="3"] .auth-strength-bar>span{width:100%;background:var(--a-ok)}.auth-submit{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:var(--a-radius);padding:13px 16px;font-size:15px;font-weight:600;letter-spacing:-.005em;font-family:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--a-primary),#fff 14%),var(--a-primary) 60%,color-mix(in srgb,var(--a-primary),#000 10%));color:var(--a-primary-text);box-shadow:0 1px #ffffff1f inset,0 10px 24px #1018274d;transition:transform .15s,box-shadow .15s,filter .15s}.auth-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.15);box-shadow:0 1px #ffffff1f inset,0 14px 30px #10182761}.auth-submit:active:not(:disabled){transform:none}.auth-submit:focus-visible{outline:none;box-shadow:0 0 0 4px var(--a-ring)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-alert{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;font-size:13.5px;line-height:1.45;border:1px solid;animation:auth-in .2s ease both}.auth-alert svg{flex:none;margin-top:2px}.auth-alert.error{background:#f7e7e2;border-color:#e8c7bf;color:var(--a-danger)}.auth-alert.info{background:#eef1f5;border-color:#d9e0e9;color:var(--a-text)}.auth-alert.success{background:#e8ecdf;border-color:#cbd5bd;color:var(--a-ok)}.auth-saved{display:flex;flex-direction:column;gap:8px}.auth-saved-label{margin:0;font-size:13px;font-weight:600;color:var(--a-muted)}.auth-or{display:flex;align-items:center;gap:10px;margin:4px 0 0;color:var(--a-muted);font-size:12px;font-weight:600}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--a-line)}.auth-external-list{display:flex;flex-direction:column;gap:10px}.auth-external{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--a-line);background:var(--a-field);border-radius:var(--a-radius);padding:12px 14px;color:var(--a-text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:0 1px 2px #1018270a;transition:border-color .15s,box-shadow .15s,transform .15s}.auth-external:disabled{opacity:.6;cursor:wait;transform:none}.auth-external i{font-size:17px;width:20px;text-align:center}.auth-external:hover{border-color:#10182773;box-shadow:0 0 0 4px var(--a-ring),0 8px 20px #1018271a;transform:translateY(-1px)}.auth-external:focus-visible{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 4px var(--a-ring)}.account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.account-list.is-scroll{max-height:min(46vh,360px);overflow-y:auto;overscroll-behavior:contain;padding-right:2px;margin-right:-2px;mask-image:linear-gradient(#000 calc(100% - 18px),transparent);-webkit-mask-image:linear-gradient(#000 calc(100% - 18px),transparent)}.account-list.is-scroll:hover,.account-list.is-scroll:focus-within{mask-image:none;-webkit-mask-image:none}.account-list-special{margin-bottom:2px}.account-list li{display:flex;align-items:stretch;gap:6px;animation:auth-in .3s ease both}.account-list li:nth-child(2){animation-delay:.04s}.account-list li:nth-child(3){animation-delay:.08s}.account-list li:nth-child(4){animation-delay:.12s}.account-list li:nth-child(5){animation-delay:.16s}.account-count{margin:-6px 0 0;font-size:12.5px;color:var(--a-muted);font-weight:550}.account-search{margin-top:2px}.account-empty{margin:0;font-size:13.5px;color:var(--a-muted);line-height:1.45}.account-row{flex:1;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;cursor:pointer;border:1px solid var(--a-line);background:var(--a-field);border-radius:var(--a-radius);padding:12px 14px;color:var(--a-text);min-width:0;box-shadow:0 1px 2px #1018270a;transition:border-color .15s,box-shadow .15s,transform .15s}.account-row:hover:not(:disabled){border-color:#10182773;box-shadow:0 0 0 4px var(--a-ring),0 8px 20px #1018271a;transform:translateY(-1px)}.account-row:hover:not(:disabled) .account-go{color:var(--a-primary);transform:translate(2px)}.account-row:focus-visible,.account-row.is-active{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 4px var(--a-ring)}.account-row:disabled{opacity:.7}.account-row-static{cursor:default;background:var(--a-hover);box-shadow:none}.account-row-static .account-avatar{opacity:.6}.account-row-kind{background:color-mix(in srgb,var(--a-field) 88%,var(--a-primary) 12%)}.account-glyph{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;color:var(--a-primary);background:color-mix(in srgb,var(--a-hover) 70%,var(--a-primary) 30%);box-shadow:0 0 0 1px color-mix(in srgb,var(--a-line) 70%,var(--a-primary) 30%)}.account-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.25}.account-hint{font-size:12px;font-weight:450;color:var(--a-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:15px;color:#e5e7eb;background:linear-gradient(135deg,#1b2435,#101827);box-shadow:0 0 0 2px var(--a-field),0 0 0 3px var(--a-line)}.account-mail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.account-copy .account-mail{flex:none}.account-go{color:var(--a-muted);font-size:20px;line-height:1;transition:color .15s,transform .15s}.account-row-static .account-go{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;background:var(--a-hover);color:var(--a-muted)}.account-remove{width:40px;border:1px solid transparent;border-radius:var(--a-radius);background:transparent;color:var(--a-muted);font-size:20px;line-height:1;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.account-remove:hover{background:var(--a-hover);color:var(--a-text)}.account-add{margin-top:2px;width:100%;border:1px dashed var(--a-line-strong);background:transparent;color:var(--a-primary);font:inherit;font-weight:600;font-size:14px;padding:12px;border-radius:var(--a-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s}.account-add:before{content:"+";font-size:18px;line-height:1;font-weight:500}.account-add:hover{background:var(--a-hover);border-color:var(--a-muted)}.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;padding-top:2px}.auth-links a,.auth-links button{color:var(--a-primary);text-decoration:none;font-weight:550;text-underline-offset:3px}.auth-links a:hover,.auth-links button:hover{text-decoration:underline}.auth-links button{background:none;border:0;padding:0;font:inherit;cursor:pointer}.auth-waiting{display:flex;align-items:center;gap:10px;color:var(--a-muted);margin:4px 0 8px}.auth-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:auth-spin .7s linear infinite}.auth-waiting .auth-spinner{color:var(--a-primary)}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-trust{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--a-on-bg-muted);padding:0 6px}.auth-trust svg{flex:none;margin-top:1px}.auth-trust.official svg{color:var(--a-ok)}.auth-trust.unknown{color:var(--a-danger)}.auth-trust strong{color:var(--a-on-bg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.auth-trust.unknown strong{color:var(--a-danger)}.auth-footnote{margin:0;text-align:center;font-size:12px;color:var(--a-on-bg-muted);opacity:.85}.auth-page.themed{background:var(--a-bg)}.auth-page.themed:before{display:none}.auth-page.bg-gradient{background:linear-gradient(135deg,var(--a-bg),var(--a-bg-to))}.auth-page.is-preview{min-height:0;height:100%}.auth-backdrop,.auth-hero-media{position:absolute;inset:0;background:var(--a-image) var(--a-image-position) / cover no-repeat,var(--a-placeholder, var(--a-bg))}.auth-backdrop:after,.auth-hero-media:after{content:"";position:absolute;inset:0;background:var(--a-bg);opacity:var(--a-overlay)}.auth-page.themed .auth-trust{background:var(--a-chip);border-radius:var(--a-radius);padding:10px 12px}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-floating-left,.layout-minimal) :is(.auth-brand,.auth-trust,.auth-footnote){background:var(--a-chip);color:var(--a-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-floating-left,.layout-minimal) .auth-trust{color:var(--a-muted)}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-floating-left,.layout-minimal) .auth-trust strong{color:var(--a-text)}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-floating-left,.layout-minimal) :is(.auth-brand,.auth-footnote){width:fit-content;margin-inline:auto;border-radius:999px;opacity:1}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-floating-left,.layout-minimal) .auth-brand{padding:5px 14px 5px 5px}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-floating-left,.layout-minimal) .auth-footnote{padding:6px 12px}.auth-page.card-solid .auth-card{background:var(--a-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--a-line)}.auth-page.card-outline .auth-card{background:color-mix(in srgb,var(--a-surface) 55%,transparent);border:1.5px solid var(--a-line-strong);box-shadow:none}.auth-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--a-bg),var(--a-bg-to));color:var(--a-on-bg)}.auth-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,color-mix(in srgb,var(--a-bg) 72%,transparent),transparent 62%)}.auth-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;max-width:560px;padding:clamp(28px,5cqw,64px)}.auth-hero-content h2{margin:0;color:inherit;font-family:var(--a-heading-font);font-size:clamp(26px,3.2cqw,46px);line-height:1.08;letter-spacing:-.025em}.auth-hero-content p{margin:0;font-size:clamp(14px,1.3cqw,17px);line-height:1.5;opacity:.86;max-width:46ch}.auth-hero-content .app-logo{border-radius:16px;margin-bottom:6px}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);place-items:stretch;padding:0}.auth-page.layout-split-reverse .auth-shell{grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr)}.auth-page.layout-split-reverse .auth-hero{order:2}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell>.auth-main{margin-block:0;width:100%;justify-content:center;align-items:center;padding:48px clamp(24px,5cqw,72px);background:var(--a-surface);--a-on-bg: var(--a-text);--a-on-bg-muted: var(--a-muted)}.auth-page:is(.layout-split,.layout-split-reverse) .auth-main>*{width:min(400px,100%)}.auth-page:is(.layout-split,.layout-split-reverse,.layout-minimal) .auth-card{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.auth-page.layout-floating .auth-shell{justify-items:end;padding:40px clamp(20px,7cqw,110px)}.auth-page.layout-floating-left .auth-shell{justify-items:start;padding:40px clamp(20px,7cqw,110px)}.auth-page.layout-minimal .auth-shell{justify-items:start;padding:32px clamp(24px,9cqw,150px)}.auth-page.layout-minimal .auth-main{width:min(420px,100%);gap:16px}.auth-page.layout-minimal .auth-brand{justify-content:flex-start}.auth-page.layout-minimal .auth-card{gap:18px}.auth-page.layout-minimal .auth-card h1{font-size:clamp(22px,2.4cqw,30px)}.auth-page.layout-minimal :is(.auth-card h1,.auth-field,.auth-app strong){color:var(--a-on-bg)}.auth-page.layout-minimal :is(.auth-subtitle,.auth-field small,.auth-waiting){color:var(--a-on-bg-muted)}.auth-intro{display:flex;flex-direction:column;gap:10px;color:var(--a-on-bg)}.auth-intro h2{margin:0;font-family:var(--a-heading-font);font-size:clamp(28px,3.4cqw,46px);line-height:1.04;letter-spacing:-.03em;color:inherit}.auth-intro p{margin:0;font-size:16px;line-height:1.5;opacity:.82}@container auth (max-width: 820px){.auth-shell{padding:20px 14px max(20px,env(safe-area-inset-bottom))}.auth-card{padding:22px 16px 18px}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;padding:0}.auth-page.layout-split-reverse .auth-hero{order:0}.auth-hero{min-height:190px}.auth-hero-content{padding:22px 20px;gap:8px}.auth-hero-content h2{font-size:24px}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell>.auth-main{padding:26px 18px 30px}.auth-page:is(.layout-floating,.layout-floating-left,.layout-minimal) .auth-shell{justify-items:center;padding:24px 16px}.auth-intro h2{font-size:30px}}.ops-dock{position:fixed;right:16px;bottom:16px;z-index:30;width:min(320px,calc(100vw - 32px));background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow),0 12px 32px color-mix(in srgb,var(--shadow-ink) 22%,transparent);padding:12px 12px 8px}.ops-dock strong{display:block;font-size:var(--type-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ops-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ops-dock .ops-clear{width:auto;padding:2px 8px;font-size:var(--type-meta);color:var(--muted)}.ops-dock .ops-clear:hover{color:var(--text)}.workspace{scroll-padding-bottom:180px}.ops-dock ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ops-dock button{width:100%;text-align:left;display:flex;gap:8px;align-items:flex-start;background:transparent;color:inherit;border:0;padding:6px;border-radius:8px;cursor:pointer;font:inherit}.ops-dock button:hover{background:var(--hover)}.ops-dock b{display:block;font-size:var(--type-base)}.ops-dock small{display:block;color:var(--muted);font-size:var(--type-meta)}.ops-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:var(--warn)}.ops-dot.ok{background:var(--ok)}.ops-dot.error{background:var(--danger)}.ops-dot.running{background:var(--warn);box-shadow:0 0 0 4px var(--warn-bg)}.op-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.op-steps li{display:flex;gap:8px;align-items:center;font-size:var(--type-card)}.op-steps .ops-dot{margin-top:0}.toasts{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(420px,calc(100vw - 24px))}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;width:100%;padding:10px 10px 10px 14px;border-radius:8px;font-size:var(--type-card);background:var(--panel);color:var(--text);border:1px solid color-mix(in srgb,var(--ok),transparent 55%);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow-ink) 35%,transparent);animation:toast-in .22s cubic-bezier(.2,.8,.2,1) both}.toast>i{color:var(--ok);margin:0}.toast>span{flex:1;min-width:0}.toast button{border:0;background:transparent;color:var(--muted);padding:4px 6px;border-radius:8px}.toast button:hover{color:var(--text);background:var(--hover)}.toast button i{margin:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.toasts{bottom:max(16px,env(safe-area-inset-bottom))}}nx-mascot{--nx-mascot-z: 75}.mascot-art{display:block;flex:none;object-fit:contain;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--shadow-ink) 25%,transparent));animation:mascot-bob 3.6s ease-in-out infinite}.mascot-note{display:flex;align-items:center;gap:12px;color:var(--muted);text-align:left}.mascot-note>div{min-width:0}.mascot-note.lg{flex-direction:column;justify-content:center;text-align:center;gap:8px;padding:18px 0}td>.mascot-note{padding:6px 0}.palette li.palette-empty .mascot-note{width:100%}.portal-empty>.mascot-art{margin-bottom:4px}@keyframes mascot-bob{0%,to{translate:0 0}50%{translate:0 -4px}}@media(prefers-reduced-motion:reduce){.mascot-art{animation:none}}.app-logo{display:inline-grid;place-items:center;flex:none;border-radius:6px;font-weight:700;color:var(--bone);line-height:1}.app-logo-router{background:none;border-radius:22%}.app-logo-router>svg{display:block}img.app-logo{object-fit:contain;box-sizing:border-box;background:var(--logo-canvas);box-shadow:0 0 0 1px color-mix(in srgb,var(--charcoal) 10%,transparent) inset}img.app-logo.bare{background:transparent;box-shadow:none}.page-title-row{display:flex;align-items:center;gap:14px;min-width:0}.page-title-row h1{margin-bottom:2px}.page-logo{border-radius:14px;box-shadow:0 8px 20px color-mix(in srgb,var(--shadow-ink) 22%,transparent)}img.page-logo{box-shadow:0 0 0 1px color-mix(in srgb,var(--charcoal) 10%,transparent) inset,0 8px 20px color-mix(in srgb,var(--shadow-ink) 22%,transparent)}.service-cell{display:flex;align-items:center;gap:8px;min-width:0}.service-cell .app-logo,.palette li .app-logo{border-radius:6px}.logo-panel{display:flex;flex-direction:column;gap:16px}.logo-drop{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:16px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--field);transition:border-color .15s,background .15s}.logo-drop.dragging{border-color:var(--brand-line);background:color-mix(in srgb,var(--brand-line),transparent 92%)}.logo-stages{display:flex;gap:10px}.logo-stage{position:relative;display:grid;place-items:center;width:120px;height:120px;border-radius:14px;border:1px solid var(--line)}.logo-stage.light{background:var(--preview-light)}.logo-stage.dark{background:var(--brand-text);border-color:var(--preview-dark-line)}.logo-stage .app-logo{border-radius:18px}.logo-stage[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;padding:6px 9px;border-radius:8px;font-size:var(--type-meta);z-index:50;pointer-events:none;background:var(--charcoal);color:var(--bone);border:1px solid var(--inverse-line)}.logo-drop-text{display:flex;flex-direction:column;gap:8px;flex:1;min-width:240px}.logo-drop-text .actions{justify-content:flex-start}.logo-sizes{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.logo-sizes figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.logo-sizes figcaption{font-size:var(--type-label);color:var(--muted);font-family:ui-monospace,monospace}.logo-sizes .app-logo{border-radius:22%}.logo-urls{display:flex;flex-direction:column;gap:8px}.logo-url-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.logo-url-row>span{width:56px;font-size:var(--type-label);font-weight:600;letter-spacing:.06em;color:var(--muted)}.logo-url-row .pill{padding:4px 9px;font-size:var(--type-meta);font-family:ui-monospace,monospace}@media(max-width:900px){.logo-stage{width:96px;height:96px}.logo-url-row>span{width:100%}}.appearance{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:24px;align-items:start}.appearance-controls{display:flex;flex-direction:column;gap:22px;min-width:0}.appearance-controls section{display:flex;flex-direction:column;gap:10px}.appearance-controls h3,.appearance-controls .hint{margin:0}.appearance-side{position:sticky;top:0;display:flex;flex-direction:column;gap:12px;min-width:0}.appearance-side-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.appearance-side-head a.ghost{display:inline-flex;align-items:center;gap:6px}.appearance-side-head a.ghost i,.appearance-side-head .segment i{margin:0}.appearance-preview{width:100%;display:flex;justify-content:center}.appearance-stage{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--field)}.appearance-frame{position:absolute;top:0;left:0;transform-origin:top left;overflow:hidden}.layout-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.layout-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--text)}.layout-option:hover{border-color:color-mix(in srgb,var(--brand-line),transparent 50%)}.layout-option.selected{border-color:var(--brand-line);box-shadow:0 0 0 3px var(--ring)}.layout-option strong{font-size:var(--type-base)}.layout-option small{font-size:var(--type-label);color:var(--muted)}.layout-thumb{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:7px;overflow:hidden;margin-bottom:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--text),transparent 88%),color-mix(in srgb,var(--text),transparent 94%))}.layout-thumb i,.layout-thumb b{position:absolute;display:block}.layout-thumb i{background:linear-gradient(160deg,#d9825b,#7a4b8f);opacity:0}.layout-thumb b{background:var(--panel);border:1px solid var(--line);border-radius:3px;width:34%;height:58%;top:21%;left:33%}.thumb-split i{opacity:1;inset:0 45% 0 0}.thumb-split b{left:62%;width:28%;border:0;background:transparent;box-shadow:inset 0 2px 0 var(--muted),inset 0 -2px 0 var(--muted);height:30%;top:35%}.thumb-split-reverse i{opacity:1;inset:0 0 0 45%}.thumb-split-reverse b{left:10%;width:28%;border:0;background:transparent;box-shadow:inset 0 2px 0 var(--muted),inset 0 -2px 0 var(--muted);height:30%;top:35%}.thumb-floating i{opacity:1;inset:0}.thumb-floating b{left:58%;width:32%}.thumb-floating-left i{opacity:1;inset:0}.thumb-floating-left b{left:10%;width:32%}.thumb-minimal b{left:12%;width:34%;border:0;background:transparent;box-shadow:inset 0 3px 0 var(--text),inset 0 -2px 0 var(--muted);height:34%;top:33%}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:var(--type-base);border:1px solid var(--line);border-radius:999px;background:var(--field);color:var(--text)}.preset:hover{border-color:color-mix(in srgb,var(--brand-line),transparent 50%)}.preset>span{position:relative;width:30px;height:22px;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shadow-ink) 10%,transparent)}.preset>span i{position:absolute;inset:5px 11px 5px 5px;border-radius:3px}.preset>span b{position:absolute;right:5px;top:7px;width:7px;height:7px;border-radius:50%}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.color-input{display:flex;align-items:center;gap:6px}.color-input input[type=color]{width:38px;height:38px;flex:none;padding:3px;border-radius:6px;cursor:pointer}.color-input input:not([type=color]){flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:var(--type-base)}.bg-image-box{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--line);border-radius:8px}.bg-image-box .actions{justify-content:flex-start}.bg-image-thumb{height:110px;border-radius:6px;background-size:cover;background-position:center;border:1px solid var(--line)}.bg-image-box input[type=range]{padding:0;accent-color:var(--brand-line)}.appearance-pair{display:grid;gap:12px}.appearance-pair>div{display:flex;flex-direction:column;gap:6px}.appearance-bar{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding:12px;margin:0 -4px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel),transparent 6%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appearance-bar .actions{justify-content:flex-start}@media(max-width:1180px){.appearance{grid-template-columns:minmax(0,1fr)}.appearance-side{position:static;order:-1}}kbd{font-size:var(--type-label);font-weight:600;line-height:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:3px 6px;border-radius:6px;border:1px solid var(--line);background:var(--field);color:var(--muted)}.palette-trigger{display:flex;align-items:center;gap:8px;width:100%;margin-top:-6px;padding:6px 9px;border-radius:6px;font-size:var(--type-meta);text-align:left;border:1px solid var(--side-line);background:color-mix(in srgb,var(--bone) 3%,transparent);color:var(--side-muted)}.palette-trigger:hover{background:color-mix(in srgb,var(--bone) 7%,transparent);color:var(--side-text)}.palette-trigger i{margin:0;width:16px;text-align:center}.palette-trigger kbd{margin-left:auto;background:transparent;border-color:var(--side-line);color:var(--side-muted)}.mobile-bar .mobile-search{margin-left:auto}.palette-backdrop{z-index:70;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}.palette{width:min(560px,100%);max-height:70vh;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 60px color-mix(in srgb,var(--shadow-ink) 45%,transparent);animation:pop-in .18s cubic-bezier(.2,.8,.2,1) both}.palette-input{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.palette-input>i{color:var(--muted);margin:0}.palette-input input,.palette-input input:hover,.palette-input input:focus{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:8px 0;font-size:var(--type-title)}.palette ul{list-style:none;margin:0;padding:6px;overflow:auto}.palette li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:var(--type-card)}.palette li i{width:16px;text-align:center;color:var(--muted);margin:0}.palette li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette li small{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--type-meta)}.palette li[aria-selected=true]{background:var(--hover)}.palette li[aria-selected=true] i{color:var(--text)}.palette li.palette-empty{color:var(--muted);cursor:default}@media(max-width:900px){.palette-backdrop{padding-top:max(12px,env(safe-area-inset-top))}.palette-input input{width:auto}}.skeleton{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--chip),var(--hover),var(--chip));background-size:200% 100%;animation:skeleton-reveal 0s .2s both,skeleton-shine 1.2s ease-in-out .2s infinite}.skeleton+.skeleton{margin-top:8px}.skeleton.short{width:45%}.skeleton-card{display:flex;flex-direction:column;gap:4px}@keyframes skeleton-reveal{0%{visibility:hidden}to{visibility:visible}}@keyframes skeleton-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation-duration:2s}.toast,.palette{animation:none}.skeleton{animation:skeleton-reveal 0s .2s both}.auth-main,.auth-alert,.account-list li,.page,.drawer,.drawer-backdrop,.confirm-card{animation:none}}.dns-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.dns-hint>span{flex:1;min-width:220px}.confirm-card code{font-size:var(--type-meta)}.project-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.project-form label{min-width:180px;flex:1}td .project-form{flex-wrap:nowrap;align-items:center;gap:8px}.text-link{border:0;background:transparent;padding:0;color:var(--text);text-align:left;cursor:pointer}.ref-link{color:var(--accent);text-decoration:none;overflow-wrap:anywhere}.ref-link:hover{text-decoration:underline;text-underline-offset:2px}.ref-link i{margin:0 2px;font-size:var(--type-meta)}.contact{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.icon-button.copy-button{display:inline-grid;vertical-align:middle;width:24px;height:24px;border-color:transparent;color:var(--muted);font-size:var(--type-label)}.icon-button.copy-button:hover{border-color:var(--line);color:var(--text)}.text-link:hover strong{text-decoration:underline}.project-pick{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.url-list{display:grid;gap:6px}.url-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.url-row a{overflow-wrap:anywhere}.url-list .form-actions{margin-top:4px}.project-row td{padding:5px 14px;font-size:var(--type-meta);background:color-mix(in srgb,var(--text),transparent 94%)}.project-row button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);font-weight:650;padding:0}.project-row button .muted{font-weight:550}.project-block{display:grid;gap:12px}.project-block+.project-block{margin-top:12px}.project-head{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:8px 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);text-align:left}.project-head:disabled{opacity:1;cursor:default}.project-head:disabled>i{visibility:hidden}.project-head>i{width:12px;font-size:var(--type-label);color:var(--muted);margin:0}.project-head h2{margin:0;font-size:var(--type-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-head-count{color:var(--muted);font-size:var(--type-meta)}.project-head-state{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--type-meta)}.project-head-state.is-warn{color:var(--warn)}.project-row .project-head{border-bottom:0;padding:2px 0;font-weight:650}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.dot.is-up{background:var(--ok)}.dot.is-warn{background:var(--warn)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.portal-toolbar{position:sticky;top:0;z-index:20;display:grid;gap:10px;margin:0 -40px;padding:12px 40px;background:color-mix(in srgb,var(--bg),transparent 8%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.portal-toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-search{position:relative;flex:1 1 280px;max-width:520px;display:flex;align-items:center}.portal-search>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:var(--type-base);line-height:1;pointer-events:none;margin:0}.portal-search input{width:100%;padding-left:34px;padding-right:34px}.portal-search-key{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none}.project-rail{display:flex;flex-wrap:wrap;gap:6px}.project-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:var(--type-base);font-weight:600;white-space:nowrap}.project-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--line),var(--text) 18%)}.project-chip.active{background:var(--panel);color:var(--text);border-color:var(--brand-line)}.project-chip .count{color:var(--muted);font-size:var(--type-label);font-weight:600}@media(max-width:900px){.portal-toolbar{position:static;margin:0 -14px;padding:10px 14px}.project-rail{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:0 14px 2px;scrollbar-width:none}}.portal-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:8px}.portal-toolbar .segment :is(button,a) .count{color:var(--muted);font-size:var(--type-label);font-weight:600}.portal-toolbar .segment :is(button,a).active .count{color:var(--text)}.portal-row-app{display:flex;align-items:center;gap:10px;min-width:0}.app-avatar.is-small{width:30px;height:30px;border-radius:8px;font-size:var(--type-base)}.portal-table .app-card-title a{font-size:var(--type-card)}.portal-table td.row-actions{display:table-cell}.portal-table td.row-actions>*{vertical-align:middle}.menu-trigger{flex:none}.menu-pop{position:fixed;z-index:120;min-width:210px;padding:6px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow),0 16px 40px color-mix(in srgb,var(--shadow-ink) 28%,transparent);animation:menu-in .12s ease}.menu-pop :is(a,button){display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:var(--type-base);outline:none}.menu-pop :is(a,button)>i{width:16px;text-align:center;color:var(--muted);margin:0}.menu-pop :is(a,button):hover,.menu-pop :is(a,button):focus-visible{background:var(--hover)}.menu-pop :is(a,button).is-danger,.menu-pop :is(a,button).is-danger>i{color:var(--danger)}.menu-pop :is(a,button).is-danger:hover,.menu-pop :is(a,button).is-danger:focus-visible{background:var(--danger-bg)}.menu-pop :is(a,button)[aria-disabled=true]{opacity:.5;cursor:default}.menu-pop hr{border:0;border-top:1px solid var(--line);margin:6px 4px}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.menu-pop.is-up{animation-name:menu-in-up}@keyframes menu-in-up{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.menu-pop{animation:none}}.cockpit{display:flex;flex-direction:column;gap:10px}.cockpit .card{padding:12px 14px}.cockpit-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.cockpit-head h2{margin:0}.cockpit-head>.cockpit-link:last-child{margin-left:auto}.cockpit-head .count{padding:1px 8px;border-radius:999px;background:var(--chip);font-size:var(--type-meta);font-weight:600;color:var(--text)}.cockpit-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-base);color:var(--muted);text-decoration:none}.cockpit-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.cockpit-link i{margin:0;font-size:var(--type-label)}.cockpit-status{display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;position:relative;overflow:hidden}.cockpit-status:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--ok)}.cockpit-status.is-attention:before{background:var(--warn)}.cockpit-status.is-critical:before{background:var(--danger)}.cockpit-headline{display:flex;align-items:center;gap:12px;min-width:0}.cockpit-headline>i{margin:0;font-size:var(--type-number);color:var(--ok)}.cockpit-status.is-attention .cockpit-headline>i{color:var(--warn)}.cockpit-status.is-critical .cockpit-headline>i{color:var(--danger)}.cockpit-headline strong{display:block;font-size:var(--type-subtitle);font-weight:650;letter-spacing:-.01em}.cockpit-headline span{display:block;font-size:var(--type-meta);color:var(--muted)}.cockpit-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cockpit-chip{display:inline-flex;align-items:center;gap:6px;position:relative;padding:5px 10px;border-radius:999px;background:var(--chip);font-size:var(--type-meta);color:var(--muted)}.cockpit-chip b{color:var(--text);font-weight:600}.cockpit-chip i{margin:0;font-size:var(--type-meta)}.cockpit-chip.is-ok i{color:var(--ok)}.cockpit-chip.is-bad{background:var(--danger-bg)}.cockpit-chip.is-bad i{color:var(--danger)}.cockpit-chip[data-tip]{cursor:help}.cockpit-chip[data-tip]:hover:after{content:attr(data-tip);position:absolute;z-index:50;top:calc(100% + 8px);left:0;width:max-content;max-width:240px;padding:6px 9px;border-radius:8px;background:var(--charcoal);color:var(--bone);border:1px solid var(--inverse-line);font-size:var(--type-meta);font-weight:550;pointer-events:none}.cockpit-calm{display:flex;align-items:center;gap:14px}.cockpit-calm strong{display:block;margin-bottom:2px}.cockpit-calm p{margin:0;font-size:var(--type-base);max-width:60ch}.attention-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.attention-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel),var(--bg) 35%)}.attention-item.is-critical{border-color:color-mix(in srgb,var(--danger),transparent 55%);background:var(--danger-bg)}.attention-item.is-warning{border-color:color-mix(in srgb,var(--warn),transparent 65%)}.attention-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--chip)}.attention-icon i{margin:0;font-size:var(--type-card)}.attention-item.is-critical .attention-icon{color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 85%)}.attention-item.is-warning .attention-icon{color:var(--warn);background:var(--warn-bg)}.attention-item.is-info .attention-icon{color:var(--info);background:var(--info-bg)}.attention-body{display:flex;flex-direction:column;gap:2px;min-width:0}.attention-body strong{font-size:var(--type-card);font-weight:650}.attention-body span{font-size:var(--type-base);color:var(--muted);overflow-wrap:anywhere}.attention-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.attention-actions .ghost,.attention-actions .primary{padding:6px 11px;font-size:var(--type-base);display:inline-flex;align-items:center;gap:6px}.attention-actions i{margin:0}.cockpit-tally{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--type-meta);color:var(--muted)}.cockpit-tally>span{display:inline-flex;align-items:center;gap:6px}.dot.is-down{background:var(--danger)}.dot.is-busy{background:var(--info)}.health-squares{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.health-square{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel);text-decoration:none;transition:border-color .15s,background .15s}.health-square:hover{background:var(--hover);border-color:var(--control-line)}.health-square:focus-visible{box-shadow:0 0 0 3px var(--ring)}.health-square.is-down,.health-square.is-route-cut{border-color:var(--danger)}.health-square.is-degraded{border-color:var(--warn)}.health-square.is-busy{border-color:var(--info)}.health-square.is-stopped>.app-avatar{opacity:.45}.health-square-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px var(--panel)}.health-square.is-down .health-square-dot,.health-square.is-route-cut .health-square-dot{background:var(--danger)}.health-square.is-degraded .health-square-dot{background:var(--warn)}.health-square.is-busy .health-square-dot{background:var(--info)}.health-square.is-stopped .health-square-dot{background:var(--muted)}.cockpit-more{margin-top:12px;padding:6px 12px;font-size:var(--type-base)}.cockpit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:6px;border:1px solid var(--line);color:var(--text);text-decoration:none;background:color-mix(in srgb,var(--panel),var(--bg) 35%)}a.stat:hover{background:var(--hover)}.stat-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--type-meta);color:var(--muted)}.stat-label i{margin:0;font-size:var(--type-label);color:var(--warn)}.stat-value{font-size:var(--type-subtitle);font-weight:650;letter-spacing:-.01em}.stat.is-alert{border-color:color-mix(in srgb,var(--warn),transparent 60%)}.cockpit-card>.small{margin:12px 0 0}.op-list,.token-list,.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.op-list>li+li,.activity-list>li+li{border-top:1px solid var(--line)}.op-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:9px 0;color:var(--text);text-decoration:none}.op-row:hover b{text-decoration:underline;text-underline-offset:3px}.op-row b{font-size:var(--type-card);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-row small{font-size:var(--type-meta);color:var(--muted);white-space:nowrap}.op-row .ops-dot{margin-top:0;align-self:center}.op-steps{list-style:none;margin:0 0 10px 18px;padding:0;display:flex;flex-direction:column;gap:3px;font-size:var(--type-base);color:var(--muted)}.op-steps i{margin:0 6px 0 0;width:12px;text-align:center;font-size:var(--type-label)}.op-steps .is-ok i{color:var(--ok)}.op-steps .is-run{color:var(--text);font-weight:550}.op-steps .is-error{color:var(--danger)}.op-error{margin:-2px 0 10px 18px;font-size:var(--type-base);color:var(--danger);overflow-wrap:anywhere}.token-list{margin-top:12px;gap:6px}.token-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:6px;color:var(--text);text-decoration:none;border:1px solid var(--line)}.token-row:hover{background:var(--hover)}.token-row b{font-size:var(--type-card);font-weight:600}.token-row code{font-size:var(--type-meta);color:var(--muted)}.token-row small{margin-left:auto;font-size:var(--type-meta);color:var(--muted)}.activity-list>li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:8px 0;font-size:var(--type-base)}.activity-list>li>i{margin:0;width:14px;text-align:center;font-size:var(--type-meta)}.activity-list>li.is-ok>i{color:var(--ok)}.activity-list>li.is-fail>i{color:var(--danger)}.activity-text{min-width:0;overflow-wrap:anywhere}.activity-text small{display:block;color:var(--muted);font-size:var(--type-meta)}.activity-when{font-size:var(--type-meta);color:var(--muted);white-space:nowrap}@media(max-width:900px){.cockpit-grid{grid-template-columns:minmax(0,1fr)}.cockpit-status{align-items:flex-start}.attention-item{grid-template-columns:auto minmax(0,1fr)}.attention-actions{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:360px){.stat-grid{grid-template-columns:minmax(0,1fr)}}.release-card{margin-bottom:1rem}.release-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.release-actions input{display:block;margin-top:.5rem;max-width:100%}.release-table{overflow-x:auto}.release-table table{width:100%;text-align:left}.release-table td,.release-table th{padding:.6rem}.stack.tight-16{gap:14px}.actions.start{justify-content:flex-start}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.step-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.step-head h2{margin:0 0 2px}.step-head .hint{margin:0}.step-num{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--primary-text);display:grid;place-items:center;font-weight:700;font-size:var(--type-base)}.step-danger{border-top:1px solid var(--line);padding-top:14px}.step-danger .hint{margin:0}.access-box h3{margin:0;font-size:var(--type-card)}.access-box .hint{margin:0}.group-title{margin:12px 0 -8px}.how-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;counter-reset:how}.how-steps li{counter-increment:how;border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px;font-size:var(--type-base);color:var(--muted)}.how-steps li:before{content:counter(how);width:22px;height:22px;border-radius:50%;background:var(--chip);color:var(--text);font-weight:700;font-size:var(--type-meta);display:grid;place-items:center;margin-bottom:4px}.how-steps strong{color:var(--text);font-size:var(--type-card)}.how-note{margin:14px 0 0}details.how>summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}details.how>summary::-webkit-details-marker{display:none}.review-facts{margin:16px 0}.review-notice{margin:0 0 12px}.member-list{margin-bottom:14px}.member-list>li{padding:8px 0}.member-add{margin-bottom:10px}.tenant-op-steps{margin:4px 0 12px}.step-meta{font-size:var(--type-base);margin:0}.member-list>li>span{font-size:var(--type-card)}label.check input[type=checkbox]{width:18px;height:18px;padding:0;margin:0;flex:0 0 18px}.membership-scope .check{min-height:32px}.impersonation-banner{position:sticky;top:0;z-index:1000;margin:0;border-radius:0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.impersonation-banner p{margin:.25rem 0 0}.impersonation-banner button{flex-shrink:0}@media(max-width:640px){.impersonation-banner{align-items:flex-start;flex-direction:column}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.empty-state h1,.empty-state h2{margin:0;font-size:var(--type-touch);color:var(--text)}.empty-state p{margin:0;max-width:60ch;font-size:var(--type-card)}.workspace>.empty-state{margin-top:24px}.pick-list{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:0}.pick-list legend{padding:0 6px;font-size:var(--type-meta);color:var(--muted)}.pick-list .check{padding:6px 0}.standalone-page{max-width:720px;margin:0 auto;padding:40px 20px}.standalone-head h1{margin-bottom:4px}.standalone-head p{margin:0}.empty-icon{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--chip);color:var(--muted)}.empty-icon i{margin:0}.empty-icon.is-ok{background:var(--ok-bg);color:var(--ok)}.empty-icon.is-warn{background:var(--warn-bg);color:var(--warn)}:root{--r-control: 8px;--r-tile: 10px;--r-surface: 12px;--r-frame: 14px;--r-overlay: 16px;--radius: var(--r-surface)}.ghost,.primary,.danger,.warn,.info,input,select,textarea,.icon-button,.pill,.palette-trigger,.sidebar nav a,.user-card,.menu-pop :is(a,button),.menu-pop button{border-radius:var(--r-control)}.segment{border-radius:10px}.segment :is(button,a){border-radius:8px}.badge,.chip,.app-state,.cockpit-chip,.nav-badge,.count,.app-roles-more{border-radius:999px}.card,.table-card,.filter-bar,.stat-strip>div,.app-card,.log-modal,pre,.join-row,.access-box{border-radius:var(--r-surface)}.kind-card,.stat,.attention-item,.banner,.how-steps li{border-radius:var(--r-tile)}.confirm-card,.palette,.ops-dock,.toast,.menu-pop{border-radius:var(--r-overlay)}@supports (corner-shape: squircle){:root{--r-control: 12px;--r-tile: 16px;--r-surface: 18px;--r-frame: 20px;--r-overlay: 24px}.segment{border-radius:14px}.segment :is(button,a){border-radius:12px}.ghost,.primary,.danger,.warn,.info,input,select,textarea,.icon-button,.card,.table-card,.filter-bar,.stat-strip>div,.app-card,.kind-card,.stat,.attention-item,.banner,.segment,.segment :is(button,a),.confirm-card,.palette,.ops-dock,.toast,.menu-pop,pre{corner-shape:squircle}}.skip-link{position:fixed;top:8px;left:8px;z-index:2000;padding:10px 14px;background:var(--panel);color:var(--text);border:2px solid var(--focus);border-radius:var(--r-control);transform:translateY(-200%)}.skip-link:focus{transform:none}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.workspace{overflow-wrap:anywhere}.page,.card,.filter-bar,.drawer-body{min-width:0}.nav-label{font-size:var(--type-section);font-weight:600}.nav-badge{color:var(--side-warning);background:color-mix(in srgb,var(--side-warning) 10%,transparent)}.confirm-card h2{color:var(--text)}.confirm-card button.danger{background:var(--danger-solid);color:var(--on-solid);border-color:var(--danger-solid)}.token-row code{color:var(--text)}@media(max-width:900px){input:not([type=checkbox]):not([type=radio]),select,textarea,.color-input input:not([type=color]){font-size:var(--type-touch);min-height:40px;max-width:100%}.icon-button,.icon-button.copy-button{min-width:40px;min-height:40px}.segment :is(button,a),.menu-pop button,.menu-pop :is(a,button),label.check{min-height:40px}.segment{width:100%;max-width:100%;overflow-x:auto}.form-grid,.facts{grid-template-columns:minmax(0,1fr)}.stat-strip,.stat-strip.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar label{min-width:0}.drawer,.drawer.wide{width:100%}.pager .actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){button,input,select,textarea,.badge,.segment :is(button,a).active{border:1px solid ButtonText}:focus-visible{outline:2px solid Highlight}}.menu-pop{max-height:calc(100dvh - 16px);overflow-y:auto}.menu-label small{display:block;color:var(--muted);font-size:var(--type-meta);font-weight:400;white-space:normal}.palette-feedback{padding:8px 14px;color:var(--muted);font-size:var(--type-meta)}.crumb-current{color:var(--text)}@media(forced-colors:active){.nx-nav-link.active,.favorite-toggle[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-2px}}.pager-preferences,.pager-page{display:flex;align-items:center;gap:8px}.pager-preferences label{display:flex;align-items:center;gap:4px}.pager-page input{width:48px;text-align:center}.pager-mobile-options{display:none}.table-card[data-density=comfortable] td{min-height:40px;height:40px;font-size:var(--type-card);padding-top:8px;padding-bottom:8px}.table-card[data-density=operational] td{min-height:32px;height:32px;font-size:var(--type-base)}@media(max-width:900px){.pager-preferences,.pager-label{display:none}.pager-mobile-options{display:block}.pager-page input{width:52px;min-height:40px;font-size:var(--type-touch)}.table-card[data-density] td{min-height:40px;height:40px}}.menu-pop button[role^=menuitem]{width:100%;border:0;background:transparent;text-align:left;font:inherit}.menu-pop button[role^=menuitem]:hover,.menu-pop button[role^=menuitem]:focus-visible{background:var(--hover)}.menu-pop button[role^=menuitem].is-danger:hover{background:var(--danger-bg)}.record-grid{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);gap:8px 12px;margin:0}.record-grid dt{color:var(--muted);font-size:var(--type-meta)}.record-grid dd{margin:0;min-width:0;overflow-wrap:anywhere}.workspace fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--r-surface);padding:14px}.workspace fieldset legend{padding:0 6px;color:var(--text);font-size:var(--type-card);font-weight:650}@media(max-width:900px){.record-grid{grid-template-columns:minmax(0,1fr);gap:4px}.record-grid dd+dt{margin-top:8px}}.wizard-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.wizard-steps [aria-current=step] button{font-weight:700;border-color:var(--focus)}@media(max-width:900px){.wizard-steps{display:grid;grid-template-columns:1fr}.wizard-steps [aria-current=step]{border-left:3px solid var(--brand-line);padding-left:8px}}:root{--type-base: 13px;--type-title: 15px;--type-card: 14px;--type-section: 10.5px;--type-label: 11.5px;--type-meta: 12px;--type-number: 20px}.workspace .card>h3:first-child{font-size:var(--type-card);font-weight:650;color:var(--text);text-transform:none;letter-spacing:-.01em}.workspace .card h2{font-size:var(--type-card);font-weight:650;color:var(--text)}.workspace .layout-option strong,.workspace .preset{font-size:var(--type-base)}.workspace .layout-option small,.workspace .logo-sizes figcaption,.workspace .project-chip .count,.workspace .portal-toolbar .count{font-size:var(--type-meta)}.workspace code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}.menu-heading{font-size:var(--type-section);font-weight:600}@media(max-width:900px){button.chip{min-height:40px}}.flow-steps{display:flex;flex-wrap:wrap;align-items:center;gap:12px;list-style:none;padding:0;margin:0}.flow-steps>li{color:var(--muted)}.flow-steps>li[aria-current=step]{color:var(--text);font-weight:700;border-bottom:3px solid var(--brand-line)}:root{--side: #0f1623;--side-line: #1f2937;--side-muted: #8b95a5;--side-link: #c3cad5;--inverse-line: #374151;--on-solid: #fff;--logo-canvas: #fbf8f2;--preview-light: #f4f6f9;--preview-dark-line: #243041;--side-warning: #fbbf24;--danger-solid: #b91c1c;--shadow-ink: #000;--nav-scrim-ink: #060a0e;--dialog-scrim-ink: #06080e;--overlay-shadow: color-mix(in srgb, var(--shadow-ink) 27%, transparent);--type-touch: 16px;--type-subtitle: 18px}.list-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-surface, var(--radius));padding:8px;display:flex;flex-direction:column;gap:8px}.list-toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-find{display:flex;align-items:center;gap:8px;flex:1 1 360px;min-width:0;flex-wrap:wrap}.toolbar-act{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.toolbar-search{position:relative;flex:1 1 220px;max-width:440px;min-width:160px;display:block}.toolbar-search>i{position:absolute;left:10px;top:50%;transform:translateY(-50%);margin:0;color:var(--muted);font-size:12px;pointer-events:none}.toolbar-search>input{width:100%;padding-left:30px;height:32px}.list-toolbar select{height:32px;width:auto;max-width:220px}.list-toolbar .entity-combobox{min-width:160px;max-width:220px}.list-toolbar .entity-combobox>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.list-toolbar .ghost,.list-toolbar .primary{height:32px;white-space:nowrap}.toolbar-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 2px}.toolbar-action>i,.toolbar-primary>i{margin:0 6px 0 0}.toolbar-action>.btn-label+i{margin:0 0 0 6px}@media(max-width:1200px){.toolbar-action>.btn-label{display:none}.toolbar-action>i{margin:0}}@media(max-width:900px){.toolbar-find,.toolbar-search{flex-basis:100%;max-width:none}.toolbar-act{flex:1 1 100%;justify-content:flex-end}.toolbar-primary>.btn-label{display:none}.toolbar-primary>i{margin:0}.toolbar-primary{min-width:40px}.list-toolbar .ghost,.list-toolbar .primary,.list-toolbar select,.toolbar-search>input{height:40px}}td.row-actions{white-space:nowrap;text-align:right}.row-actions-group{display:inline-flex;align-items:center;gap:2px}.row-action{width:28px;height:28px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--r-control, 6px);background:transparent;color:var(--muted);font-size:13px;text-decoration:none;cursor:pointer}.row-action>i{margin:0}.row-action:hover:not([aria-disabled=true]),.row-action:focus-visible{background:var(--hover);border-color:var(--line)}.row-action.is-open{color:var(--accent)}.row-action.is-neutral{color:var(--muted)}.row-action.is-ok{color:var(--ok)}.row-action.is-warn{color:var(--warn)}.row-action.is-danger{color:var(--danger)}.row-action.is-open:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--accent),transparent 88%)}.row-action.is-ok:hover:not([aria-disabled=true]){background:var(--ok-bg)}.row-action.is-warn:hover:not([aria-disabled=true]){background:var(--warn-bg)}.row-action.is-danger:hover:not([aria-disabled=true]){background:var(--danger-bg)}.row-action[aria-disabled=true],.row-action:disabled{opacity:.4;cursor:default}@media(max-width:900px){.row-action{width:40px;height:40px}}.context-menu{min-width:220px}.context-menu .context-item{display:contents}.context-menu button.is-open>i{color:var(--accent)}.context-menu button.is-ok>i{color:var(--ok)}.context-menu button.is-warn>i{color:var(--warn)}.context-menu button.is-danger,.context-menu button.is-danger>i{color:var(--danger)}.context-menu button.is-danger:hover,.context-menu button.is-danger:focus-visible{background:var(--danger-bg)}.pager{padding:2px 4px}.pager label{flex-direction:row;align-items:center;gap:6px;font-size:var(--type-meta);color:var(--muted);white-space:nowrap}.pager-preferences select,.pager-page input{height:28px;padding-top:0;padding-bottom:0}.form-actions{justify-content:flex-end}.form-actions>.hint{margin:0 auto 0 0}fieldset.card.stack>label,form.card.stack>label,fieldset.card.stack>.entity-combobox,form.card.stack>.entity-combobox{max-width:640px}.card.stack input[type=number],.card.stack input[name=days],.card.stack input[name=port]{max-width:160px}tr.row-link a:has(>strong){color:var(--text);text-decoration:none}tr.row-link a:has(>strong):hover{text-decoration:underline;text-underline-offset:2px}.auth-mfa-methods{display:flex;flex-direction:column;gap:8px}.auth-mfa-label{color:var(--a-text);font-size:13px;font-weight:600}.auth-mfa-options{display:flex;flex-wrap:wrap;gap:8px}.auth-mfa-option{flex:1 1 160px;padding:10px 12px;min-height:42px;border:1px solid var(--a-line-strong);border-radius:var(--a-radius);background:var(--a-field);color:var(--a-text);font-size:12px;text-align:left}.auth-mfa-option:hover:not(:disabled){background:var(--a-hover);border-color:var(--a-primary)}.auth-mfa-option[aria-pressed=true]{color:var(--a-primary);border-color:var(--a-primary);font-weight:650;opacity:1;cursor:default}.auth-mfa-option:focus-visible{outline:2px solid var(--a-primary);outline-offset:2px}.profile-avatar{width:42px;height:42px;border-radius:50%;display:inline-grid;place-items:center;overflow:hidden;flex-shrink:0;color:var(--bone)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.user-identity-cell{display:flex;align-items:center;gap:8px;min-width:0}.user-identity-cell .profile-avatar{width:26px;height:26px}.router-shell.nx-app-shell{--nx-accent: var(--brand-line);--nx-canvas: var(--bg);--nx-sidebar-bg: var(--charcoal);--nx-sidebar-fg: var(--bone);--nx-sidebar-muted: var(--muted);--nx-sidebar-active-bg: var(--hover);--nx-sidebar-active-fg: var(--bone);--nx-header-bg: color-mix(in srgb, var(--panel) 94%, transparent);--nx-header-fg: var(--text);--nx-border: var(--line);--nx-shell-gap: 6px;--nx-shell-radius: var(--r-frame);display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.router-shell>.sidebar{grid-column:1;grid-row:1 / 3;height:auto;min-height:0;--nx-sidebar-bg: var(--side);--nx-sidebar-fg: var(--side-text);--nx-sidebar-muted: var(--side-muted);--nx-sidebar-active-bg: var(--side-line);--nx-sidebar-active-fg: var(--side-text);border:1px solid var(--side-line)}.router-shell>.router-header{grid-column:2;grid-row:1;display:flex;align-items:center;gap:12px;min-height:46px;padding:4px 12px;z-index:20;color:var(--nx-header-fg);background:var(--nx-header-bg);border:1px solid var(--nx-border)}.router-header .mobile-bar-title{display:flex;flex-direction:column;min-width:0}.router-header .mobile-bar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-title)}.router-header .mobile-bar-title .eyebrow{color:var(--muted)}.router-header .icon-button{color:var(--text);border-color:var(--line);width:34px;height:34px;flex:none}.router-header .mobile-bar-title{flex:1 1 0}.header-search{flex:0 1 440px;min-width:0;height:32px;display:flex;align-items:center;gap:8px;padding:0 6px 0 10px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--field);color:var(--muted);font-size:var(--type-base);text-align:left}.header-search:hover{border-color:color-mix(in srgb,var(--line),var(--text) 18%);color:var(--text)}.header-search>i{margin:0}.header-search>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-search>kbd{flex:none}.header-tools{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:4px}.header-tools .icon-button{border-color:transparent}.header-tools .icon-button:hover{border-color:var(--line)}.header-bell{position:relative}.bell-count{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:var(--type-label);font-weight:700;line-height:16px;text-align:center}.header-avatar{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px 4px 2px 2px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted)}.header-avatar:hover,.header-avatar[aria-expanded=true]{border-color:var(--line);color:var(--text)}.header-avatar .user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--type-base);color:var(--bone)}.header-avatar>i{margin:0;font-size:var(--type-section)}@media(max-width:1200px){.header-search{flex:none;width:34px;height:34px;padding:0;justify-content:center}.header-search>span,.header-search>kbd{display:none}}.router-header .router-menu-toggle{display:none}.router-shell>.workspace{grid-column:2;grid-row:2;padding:14px 16px 40px}.router-header .crumbs{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-width:0}.router-shell .nx-nav-link:focus-visible{outline:2px solid var(--side-text);outline-offset:-2px}@media(max-width:900px){.router-shell.nx-app-shell{grid-template-columns:minmax(0,1fr)}.router-shell>.router-header,.router-shell>.workspace{grid-column:1}.router-header .router-menu-toggle{display:inline-flex}.router-header .icon-button,.header-search{width:44px;height:44px}.header-create{display:inline-flex}.router-header .mobile-bar-title{flex:1 1 auto}.header-tools{flex:none}.router-shell>.sidebar{top:10px;bottom:10px;left:10px;margin:0;transform:translate(calc(-100% - 20px))}.router-shell.nav-open>.sidebar{transform:translate(0)}.router-shell>.workspace{padding:12px 10px max(28px,env(safe-area-inset-bottom))}}@supports (corner-shape: squircle){.router-shell>.sidebar,.router-shell>.router-header,.header-search{corner-shape:squircle}}@media(max-width:900px){.router-header .mobile-bar-title strong{font-size:var(--type-touch)}.router-header .header-avatar{min-width:44px;min-height:44px}.router-shell>.sidebar{visibility:hidden}.router-shell.nav-open>.sidebar{visibility:visible}}@media(max-width:480px){.router-shell>.router-header{flex-wrap:wrap;gap:4px;padding:4px 8px}.router-header .mobile-bar-title{flex-basis:calc(100% - 52px)}.header-tools{flex:1}}.header-title-line{display:flex;align-items:center;gap:4px;min-width:0}.header-title-line strong{flex:0 1 auto}.favorite-toggle{border:0;background:transparent;color:var(--muted);border-radius:var(--r-control);width:28px;height:28px;flex:none}.favorite-toggle[aria-pressed=true]{color:var(--text);background:var(--hover)}.header-context{display:flex;flex-direction:column;min-width:0;max-width:200px}.header-context span{font-size:var(--type-meta);color:var(--muted)}.header-context strong{font-size:var(--type-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-mobile-tools,.sidebar-close,.collapsed-shortcuts{display:none}.router-shell .brand-block{display:flex;justify-content:space-between;align-items:center}.router-shell .brand-block>a{color:var(--side-text);text-decoration:none;min-width:0}.nav-favorite-row{display:flex;align-items:center;min-width:0}.nav-favorite-row>a{flex:1;min-width:0}.nav-favorite-row[draggable=true]{cursor:grab}.nav-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .menu-trigger{color:var(--side-text);background:transparent;border-color:var(--side-line)}.favorite-organize{margin-left:auto;display:flex}.sidebar-foot .nx-nav-link{display:flex;align-items:center;gap:8px;padding:6px 10px;min-height:30px;color:var(--side-text);text-decoration:none;border-radius:var(--r-control)}.sidebar-collapse{width:100%;text-align:left}@media(min-width:901px){.router-shell.nav-collapsed{grid-template-columns:56px minmax(0,1fr)}.router-shell.nav-collapsed>.sidebar{padding:8px 4px}.nav-collapsed .brand-block{overflow:hidden;padding:0}.nav-collapsed .brand-block .brand-lockup{gap:20px}.nav-collapsed .sidebar .nav-item-label,.nav-collapsed .sidebar .nav-label,.nav-collapsed .sidebar .nav-badge,.nav-collapsed .expanded-shortcuts,.nav-collapsed .favorite-organize{display:none}.nav-collapsed .collapsed-shortcuts{display:flex;justify-content:center}.nav-collapsed .sidebar .nx-nav-link{justify-content:center;padding:6px}.nav-collapsed .sidebar-collapse{text-align:center;padding:6px}}.router-header .crumbs{display:flex;justify-content:flex-start}.router-header .crumbs>.crumb-parent{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.router-header .crumbs>.crumb-tail{flex:0 0 auto;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.router-header .header-context,.router-header .header-create{display:none}.sidebar-mobile-tools{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.sidebar-context{display:flex;flex-direction:column;overflow-wrap:anywhere}.sidebar-context>span{color:var(--side-muted);font-size:var(--type-meta)}.sidebar-close{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center}.favorite-toggle{width:40px;height:40px}.sidebar-collapse{display:none}.sidebar-foot .nx-nav-link,.sidebar .menu-trigger{min-height:40px}}@media(max-width:480px){.router-shell>.router-header{flex-wrap:nowrap}.router-header .mobile-bar-title{flex:1 1 0}.header-tools{flex:none;gap:0}.header-avatar>i{display:none}.router-header .header-avatar{padding:0;margin:0}.header-title-line .favorite-toggle{display:none}}.sidebar-catalog{width:100%;text-align:left}.nav-catalog{padding:14px;max-height:calc(100dvh - 40px);overflow-y:auto}.nav-catalog-header{display:flex;justify-content:space-between;align-items:center}.nav-catalog-search{display:flex;flex-direction:column;gap:4px;margin:12px 0}.nav-catalog-search span{color:var(--muted);font-size:var(--type-label)}.nav-catalog section+section{margin-top:24px}.nav-catalog-row{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line)}.nav-catalog-row>a{display:flex;flex:1;align-items:center;gap:8px;padding:8px 0;color:var(--text);text-decoration:none;min-width:0}.nav-catalog-row>a:hover{text-decoration:underline}.nav-catalog-row small{display:block;color:var(--muted);font-size:var(--type-meta)}.nav-top{position:relative}.nav-top>.nx-nav-link:first-child,.nav-top>a:first-child{padding-right:36px}.nav-top .favorite-organize{position:absolute;top:3px;right:4px;width:24px;height:24px;margin:0;z-index:1}.router-shell.dock-shell.nx-app-shell{grid-template-columns:minmax(0,1fr)}.dock-shell>.router-header,.dock-shell>.workspace{grid-column:1}.dock-shell>.workspace{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.header-brand{display:inline-flex;align-items:center;flex:none;padding-right:4px;color:var(--text);text-decoration:none}.header-brand .wordmark{font-size:17px}.header-brand:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-control)}.user-dock{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;display:flex;gap:4px;padding:6px;max-width:calc(100vw - 20px);background:var(--side);border:1px solid var(--side-line);border-radius:var(--r-frame);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow-ink) 28%,transparent)}.dock-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:76px;min-height:52px;padding:6px 12px;border-radius:var(--r-control);color:var(--side-muted);font-size:var(--type-meta);text-decoration:none;white-space:nowrap}.dock-link>i{margin:0;font-size:var(--type-subtitle)}.dock-link:hover{color:var(--side-text);background:var(--side-line)}.dock-link:focus-visible{outline:2px solid var(--side-text);outline-offset:-2px}.dock-link.active{color:var(--side-text);background:var(--side-line);font-weight:600}.dock-link.active>i{color:var(--brand)}.dock-link.active:before{content:"";position:absolute;top:0;left:50%;width:20px;height:3px;margin-left:-10px;border-radius:0 0 3px 3px;background:var(--brand)}body:has(.dock-shell) .toasts{bottom:92px}@media(max-width:900px){.user-dock{left:10px;right:10px;transform:none;max-width:none;justify-content:space-around}.dock-link{flex:1 1 0;min-width:0;min-height:56px;padding:6px 4px}.dock-link>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dock-shell>.workspace{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}@media(max-width:600px){.header-brand .wordmark{display:none}}@supports (corner-shape: squircle){.user-dock{corner-shape:squircle}}
