:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0c0e12;--surface:#13161c;--surface-2:#1a1e26;--surface-3:#232833;--border:#262c37;--border-strong:#353d4b;--text:#e8ebf0;--text-2:#9aa3b2;--text-3:#6b7485;--accent:#6d72f6;--accent-hover:#7f84ff;--accent-fg:#fff;--accent-soft:rgba(109,114,246,.14);--success:#2fbf71;--success-soft:rgba(47,191,113,.14);--danger:#f0524f;--danger-soft:rgba(240,82,79,.14);--warn:#e9a23b;--warn-soft:rgba(233,162,59,.15);--accent-solid:#5b5ff0;--accent-solid-hover:#4f53e6;--success-solid:#15803d;--danger-solid:#dc2626;--code-bg:#0a0c10;--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-lg:0 16px 40px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);--ring:0 0 0 3px rgba(109,114,246,.35)}:root[data-theme=light]{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-2:#f3f4f7;--surface-3:#e9ebf0;--border:#e3e6ec;--border-strong:#cfd4dd;--text:#151922;--text-2:#5b6474;--text-3:#8a93a3;--accent:#4f46e5;--accent-hover:#4338ca;--accent-fg:#fff;--accent-soft:rgba(79,70,229,.09);--success:#15924f;--success-soft:rgba(21,146,79,.1);--danger:#d4302d;--danger-soft:rgba(212,48,45,.09);--warn:#b86e00;--warn-soft:rgba(184,110,0,.1);--accent-solid:#4f46e5;--accent-solid-hover:#4338ca;--success-solid:#15803d;--danger-solid:#c9302c;--code-bg:#f3f4f7;--shadow-sm:0 1px 2px rgba(16,24,40,.06);--shadow-lg:0 16px 40px rgba(16,24,40,.14),0 2px 6px rgba(16,24,40,.06);--ring:0 0 0 3px rgba(79,70,229,.25)}:root{--card:var(--surface);--card2:var(--surface-2);--muted:var(--text-2);--primary:var(--success);--radius-sm:6px;--radius:10px;--radius-lg:14px;--sidebar-w:256px;--topbar-h:64px;--font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.3}p{margin:0 0 12px}code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px}hr{border:0;border-top:1px solid var(--border);margin:18px 0}img,svg,video{max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:var(--accent-solid);color:var(--accent-fg);padding:8px 14px;border-radius:var(--radius-sm)}.skip-link:focus{top:12px;text-decoration:none}.shell{min-height:100vh;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border)}.sidebar-head{height:var(--topbar-h);flex:0 0 auto;justify-content:space-between;padding:0 14px 0 18px;border-bottom:1px solid var(--border)}.brand,.sidebar-head{display:flex;align-items:center}.brand{gap:10px;color:var(--text);min-width:0}.brand:hover{text-decoration:none}.brand-mark{width:32px;height:32px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;box-shadow:0 4px 12px rgba(99,102,241,.35)}.brand-name{display:block;font-weight:700;font-size:14.5px;letter-spacing:-.01em}.brand-sub{display:block;font-size:11.5px;color:var(--text-3)}.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding:12px 10px 16px}.nav-group+.nav-group{margin-top:16px}.nav-group-title{padding:0 10px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:1px 0;border-radius:8px;color:var(--text-2);font-weight:500;transition:background-color .12s,color .12s}.nav-link svg{flex:0 0 auto;opacity:.85}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link.active svg{opacity:1}:root[data-theme=dark] .nav-link.active{color:#b4b7ff}.sidebar-foot{flex:0 0 auto;padding:10px;border-top:1px solid var(--border)}.session{display:flex;align-items:center;gap:10px;padding:6px;border-radius:var(--radius);min-width:0}.avatar{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;background:var(--accent-soft);color:var(--accent)}.muted-avatar{background:var(--surface-2);color:var(--text-3)}.session-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;line-height:1.3}.session-text strong{font-size:13px}.session-sub,.session-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-sub{font-size:12px;color:var(--text-3)}.scrim{display:none}.main{margin-left:var(--sidebar-w);min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 28px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border)}.topbar-title{min-width:0;flex:1 1 auto}.topbar-title h1{font-size:17px;font-weight:650}.topbar-title h1,.topbar-title p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title p{font-size:12.5px;color:var(--text-3)}.topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.sidebar button.sidebar-close,.topbar button.menu-btn{display:none}.container{max-width:1120px;margin:0 auto;padding:28px 28px 64px}.icon-btn,button.icon-btn{width:36px;height:36px;padding:0;margin:0;display:inline-grid;place-items:center;flex:0 0 auto;background:transparent;color:var(--text-2);border:1px solid transparent;border-radius:8px;box-shadow:none}button.icon-btn:hover{background:var(--surface-2);color:var(--text);filter:none}.menu-wrap{position:relative}button.tenant-btn{display:inline-flex;align-items:center;gap:8px;height:36px;max-width:240px;margin:0;padding:0 10px 0 12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;font-weight:500;box-shadow:var(--shadow-sm)}button.tenant-btn:hover{background:var(--surface-2);filter:none}.tenant-btn svg{flex:0 0 auto;color:var(--text-2)}.tenant-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:280px;max-width:calc(100vw - 24px);max-height:70vh;overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:pop .12s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-label{padding:8px 10px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.menu-empty{padding:8px 10px 10px;font-size:13px;color:var(--text-2)}.menu button.menu-item{width:100%;margin:0;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;color:var(--text);border:0;border-radius:7px;font-weight:500;text-align:left;box-shadow:none;filter:none}.menu button.menu-item:hover{background:var(--surface-2);filter:none}.menu button.menu-item.selected{color:var(--accent)}.menu button.menu-item.danger{background:transparent;color:var(--danger)}.menu button.menu-item.danger:hover{background:var(--danger-soft)}.menu-item-text{display:flex;align-items:center;gap:8px;min-width:0}.menu-item-text>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-sep{height:1px;background:var(--border);margin:6px 4px}@media (max-width:1024px){.sidebar{transform:translateX(-100%);transition:transform .22s ease;box-shadow:none;width:min(300px,86vw)}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.sidebar button.sidebar-close{display:inline-grid}.scrim{display:block;position:fixed;inset:0;z-index:35;background:rgba(5,7,12,.5);opacity:0;pointer-events:none;transition:opacity .2s}.scrim.show{opacity:1;pointer-events:auto}.main{margin-left:0}.topbar button.menu-btn{display:inline-grid;margin-left:-6px}.topbar{padding:0 16px}.container{padding:20px 16px 56px}}@media (max-width:560px){.topbar-title p{display:none}.topbar-title h1{font-size:16px}.topbar{gap:8px}button.tenant-btn{max-width:150px}}@media (max-width:380px){.tenant-btn .tenant-name{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow-sm);min-width:0}.card h2{margin:0 0 12px;font-size:15.5px;font-weight:650}.card h3{margin:18px 0 8px;font-size:11.5px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.card>h3:first-child{margin-top:0}.card>:last-child{margin-bottom:0}@media (max-width:560px){.card{padding:16px;border-radius:var(--radius);margin-bottom:16px}}label{display:block;font-size:12.5px;font-weight:500;color:var(--text-2);margin:12px 0 6px}input,select,textarea{width:100%;min-height:38px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);padding:8px 11px;font-size:14px;font-family:inherit;transition:border-color .12s,box-shadow .12s}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-2);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--text-3)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}textarea{resize:vertical;min-height:72px;line-height:1.45}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a93a3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer;box-shadow:none}input[type=color]{padding:3px;min-height:38px;cursor:pointer}input[type=range]{padding:0;min-height:0;border:0;background:transparent;accent-color:var(--accent);box-shadow:none}input[type=file]{padding:6px}input[type=file]::-webkit-file-upload-button{margin-right:10px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-3);color:var(--text);font:inherit;font-weight:500}input[type=file]::file-selector-button{margin-right:10px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-3);color:var(--text);font:inherit;font-weight:500}.button,button{display:inline-block;padding:9px 16px;margin:0;background:var(--accent-solid);color:var(--accent-fg);border:1px solid transparent;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;text-align:center;cursor:pointer;text-decoration:none;transition:background-color .12s,border-color .12s,filter .12s,transform .06s;-webkit-tap-highlight-color:transparent}.button,button:has(>svg){display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.button:hover,button:hover{background:var(--accent-solid-hover);text-decoration:none}.button:active,button:active:not(:disabled){transform:translateY(1px)}.button[aria-disabled=true],button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button:focus-visible,button:focus-visible{box-shadow:var(--ring)}.button.secondary,button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .button.secondary,:root[data-theme=dark] button.secondary{background:var(--surface-2);border-color:var(--border)}.button.secondary:hover,button.secondary:hover:not(:disabled){background:var(--surface-3)}.button.danger,button.danger{background:var(--danger-solid);color:#fff}.button.danger:hover,button.danger:hover:not(:disabled){background:var(--danger-solid);filter:brightness(1.1)}.button.success,button.success{background:var(--success-solid);color:#fff}.button.success:hover,button.success:hover:not(:disabled){background:var(--success-solid);filter:brightness(1.1)}.button.ghost,button.ghost{background:transparent;color:var(--text-2);border-color:transparent}.button.ghost:hover,button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.button.sm,button.sm{padding:6px 11px;font-size:13px;border-radius:7px}.card>.button,.card>button,form>.button,form>button{margin-top:14px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>*{flex:1 1 160px;min-width:0}.row>.badge,.row>.button,.row>a.button,.row>button,.row>input[type=checkbox],.row>input[type=radio]{flex:0 0 auto}.row>code,.row>label,.row>small,.row>span,.row>strong{flex:0 1 auto;min-width:0}.row>h2,.row>h3{flex:1 1 auto;margin:0}.row:has(>div>label){align-items:flex-end}.row>label{margin:0}.grid,.grid-2{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-3{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.stack>*+*{margin-top:12px}.spacer{flex:1 1}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-weight:600;font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;white-space:nowrap}td,th{border-bottom:1px solid var(--border)}td{padding:11px 12px;vertical-align:middle}td .mono,td.mono{overflow-wrap:normal;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px;overflow:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;max-height:420px;white-space:pre-wrap;word-break:break-word;margin:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.6;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.err{background:var(--danger-soft);color:var(--danger)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.info{background:var(--accent-soft);color:var(--accent)}.muted{color:var(--text-2)}.mono{font-family:var(--font-mono);font-size:.93em;overflow-wrap:anywhere}.mono.muted,.muted.mono{color:var(--text-2)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}.dot.ok{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.dot.err{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.dot.off{background:var(--text-3)}.alert{padding:10px 14px;border-radius:var(--radius);font-size:13.5px;border:1px solid}.alert.err{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.alert.ok{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.alert.info{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head h2{margin:0;font-size:20px}.page-head p{margin:4px 0 0;color:var(--text-2)}.hero{position:relative;overflow:hidden;padding:26px 28px;border-radius:var(--radius-lg);border:1px solid var(--border);background:radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--accent) 20%,transparent) 0,transparent 55%),var(--surface);margin-bottom:20px;box-shadow:var(--shadow-sm)}.hero h2{margin:0 0 6px;font-size:22px;font-weight:700}.hero p{margin:0;color:var(--text-2);max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm);min-width:0}.stat-label{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);font-weight:500}.stat-label svg{color:var(--text-3)}.stat-value{margin-top:8px;font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px;min-width:0}.stat-sub,.stat-value>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-sub{margin-top:2px;font-size:12.5px;color:var(--text-3)}.link-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .12s,transform .12s,box-shadow .12s}.link-card:hover{text-decoration:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:translateY(-1px);box-shadow:var(--shadow-lg)}.link-card-icon{width:38px;height:38px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.link-card-body{min-width:0}.link-card-body strong{display:block;font-size:14px}.link-card-body>span{display:block;font-size:13px;color:var(--text-2);margin-top:2px}.steps{list-style:none;counter-reset:step;margin:0;padding:0}.steps li{counter-increment:step;position:relative;padding:0 0 16px 40px;color:var(--text-2)}.steps li:last-child{padding-bottom:0}.steps li:before{content:counter(step);position:absolute;left:0;top:-2px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;background:var(--accent-soft);color:var(--accent)}.steps li strong{color:var(--text)}.auth-screen{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px 16px;background:radial-gradient(60% 50% at 50% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),var(--bg)}.auth-card{width:100%;max-width:400px;padding:28px}@media (max-width:560px){.auth-card{padding:22px 18px}}.auth-card .brand{margin-bottom:22px}.auth-card h2{font-size:20px;margin:0 0 6px}.rnpv-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}@keyframes rnpvPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes rnpvBreathe{0%,to{opacity:.6}50%{opacity:1}}.rnpv-pulse{animation:rnpvPulse 1.4s ease-in-out infinite}.rnpv-breathe{animation:rnpvBreathe 1.6s ease-in-out infinite}.rnpv-dots{color:transparent}.rnpv-dots:after{content:".";color:#ebebf5cc;animation:rnpvDots 1.8s steps(1) infinite}@keyframes rnpvDots{0%{content:"."}33%{content:".."}66%{content:"..."}}