:root{--vb-font:"Segoe UI", "Inter", system-ui, -apple-system, sans-serif;--vb-mono:"Cascadia Code", "Consolas", ui-monospace, monospace;--vb-bg:#f4f6f9;--vb-surface:#fff;--vb-surface-2:#f8fafc;--vb-surface-3:#eef2f7;--vb-border:#d9dfe7;--vb-border-strong:#b8c2cf;--vb-text:#1d2733;--vb-text-2:#4a5868;--vb-text-3:#6f7d8c;--vb-accent:#1f63d6;--vb-accent-hover:#174fae;--vb-accent-soft:#e6efff;--vb-accent-text:#fff;--vb-danger:#c62828;--vb-danger-soft:#fdecec;--vb-warning:#9a6200;--vb-warning-soft:#fff4dc;--vb-success:#1b7a3d;--vb-success-soft:#e5f5ea;--vb-focus:#1f63d6;--vb-shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--vb-shadow-lg:0 12px 32px #1018282e;--vb-radius:6px;--vb-radius-sm:4px;--vb-canvas:#e9edf2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--vb-bg:#12161c;--vb-surface:#1a2028;--vb-surface-2:#1f2630;--vb-surface-3:#27303b;--vb-border:#2f3946;--vb-border-strong:#45525f;--vb-text:#e6ebf1;--vb-text-2:#b6c0cc;--vb-text-3:#8794a3;--vb-accent:#5b93f0;--vb-accent-hover:#7aa8f5;--vb-accent-soft:#1c2c46;--vb-accent-text:#0b1220;--vb-danger:#f07070;--vb-danger-soft:#3a1d1f;--vb-warning:#f0b450;--vb-warning-soft:#3a2d14;--vb-success:#5cc98a;--vb-success-soft:#173323;--vb-focus:#7aa8f5;--vb-canvas:#0e1217;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--vb-bg:#12161c;--vb-surface:#1a2028;--vb-surface-2:#1f2630;--vb-surface-3:#27303b;--vb-border:#2f3946;--vb-border-strong:#45525f;--vb-text:#e6ebf1;--vb-text-2:#b6c0cc;--vb-text-3:#8794a3;--vb-accent:#5b93f0;--vb-accent-hover:#7aa8f5;--vb-accent-soft:#1c2c46;--vb-accent-text:#0b1220;--vb-danger:#f07070;--vb-danger-soft:#3a1d1f;--vb-warning:#f0b450;--vb-warning-soft:#3a2d14;--vb-success:#5cc98a;--vb-success-soft:#173323;--vb-focus:#7aa8f5;--vb-canvas:#0e1217;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--vb-font);color:var(--vb-text);background:var(--vb-bg);-webkit-font-smoothing:antialiased;font-size:13px}:focus-visible{outline:2px solid var(--vb-focus);outline-offset:1px}button,input,select,textarea{font:inherit;color:inherit}.vb-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vb-btn{border:1px solid var(--vb-border-strong);background:var(--vb-surface);border-radius:var(--vb-radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;height:30px;padding:0 12px;display:inline-flex}.vb-btn:hover:not(:disabled){background:var(--vb-surface-3)}.vb-btn:disabled{opacity:.5;cursor:not-allowed}.vb-btn.primary{background:var(--vb-accent);border-color:var(--vb-accent);color:var(--vb-accent-text)}.vb-btn.primary:hover:not(:disabled){background:var(--vb-accent-hover)}.vb-btn.danger{color:var(--vb-danger)}.vb-btn.ghost{background:0 0;border-color:#0000}.vb-btn.ghost:hover:not(:disabled){background:var(--vb-surface-3)}.vb-btn.small{height:24px;padding:0 8px;font-size:12px}.vb-icon-btn{border-radius:var(--vb-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--vb-text-2);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.vb-icon-btn:hover:not(:disabled){background:var(--vb-surface-3);color:var(--vb-text)}.vb-icon-btn[aria-pressed=true]{background:var(--vb-accent-soft);color:var(--vb-accent);border-color:var(--vb-accent)}.vb-icon-btn:disabled{opacity:.4;cursor:not-allowed}.vb-field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.vb-field>span{color:var(--vb-text-2);font-size:12px}.vb-input,.vb-select,.vb-textarea{border:1px solid var(--vb-border-strong);border-radius:var(--vb-radius-sm);background:var(--vb-surface);min-width:0;height:30px;padding:0 8px}.vb-textarea{height:auto;font-family:var(--vb-mono);padding:6px 8px}.vb-input:focus,.vb-select:focus,.vb-textarea:focus{border-color:var(--vb-accent);box-shadow:0 0 0 2px var(--vb-accent-soft);outline:none}.vb-checkbox{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.vb-panel{background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:var(--vb-radius)}.vb-panel-header{border-bottom:1px solid var(--vb-border);align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:flex}.vb-muted{color:var(--vb-text-3)}.vb-badge{background:var(--vb-surface-3);color:var(--vb-text-2);border-radius:10px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.vb-badge.accent{background:var(--vb-accent-soft);color:var(--vb-accent)}.vb-badge.warning{background:var(--vb-warning-soft);color:var(--vb-warning)}.vb-badge.danger{background:var(--vb-danger-soft);color:var(--vb-danger)}.vb-badge.success{background:var(--vb-success-soft);color:var(--vb-success)}.vb-alert{border-radius:var(--vb-radius-sm);border:1px solid;padding:8px 10px;font-size:12px}.vb-alert.error{background:var(--vb-danger-soft);border-color:var(--vb-danger);color:var(--vb-danger)}.vb-alert.warning{background:var(--vb-warning-soft);border-color:var(--vb-warning);color:var(--vb-warning)}.vb-alert.info{background:var(--vb-accent-soft);border-color:var(--vb-accent);color:var(--vb-accent)}.vb-tabs{border-bottom:1px solid var(--vb-border);gap:2px;display:flex}.vb-tab{cursor:pointer;color:var(--vb-text-2);background:0 0;border:none;border-bottom:2px solid #0000;padding:7px 12px}.vb-tab[aria-selected=true]{color:var(--vb-accent);border-bottom-color:var(--vb-accent);font-weight:600}.vb-dialog-backdrop{z-index:1000;background:#0a0f1973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.vb-dialog{background:var(--vb-surface);box-shadow:var(--vb-shadow-lg);border-radius:8px;flex-direction:column;min-width:min(420px,100%);max-width:100%;max-height:calc(100vh - 32px);display:flex}.vb-dialog-title{padding:14px 16px 6px;font-size:16px;font-weight:600}.vb-dialog-body{flex:1;padding:8px 16px;overflow:auto}.vb-dialog-footer{border-top:1px solid var(--vb-border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.vb-tree{margin:0;padding:0;list-style:none}.vb-tree-row{cursor:default;border-radius:var(--vb-radius-sm);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;height:26px;padding-right:6px;display:flex}.vb-tree-row:hover{background:var(--vb-surface-3)}.vb-tree-row[aria-selected=true]{background:var(--vb-accent-soft);color:var(--vb-accent)}.vb-tree-row.drop-target{outline:2px dashed var(--vb-accent)}.vb-tree-row .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.vb-menu{z-index:1100;background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:var(--vb-radius);box-shadow:var(--vb-shadow-lg);min-width:180px;padding:4px;position:fixed}.vb-menu button{text-align:left;border-radius:var(--vb-radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.vb-menu button:hover,.vb-menu button:focus-visible{background:var(--vb-surface-3)}.vb-menu hr{border:none;border-top:1px solid var(--vb-border);margin:4px 0}.vb-spinner{border:2px solid var(--vb-border);border-top-color:var(--vb-accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite vb-spin;display:inline-block}@keyframes vb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.vb-spinner{animation-duration:3s}}.vb-toasts{z-index:1200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:40px;right:16px}.vb-toast{background:var(--vb-surface);border:1px solid var(--vb-border);border-left:4px solid var(--vb-accent);box-shadow:var(--vb-shadow-lg);border-radius:var(--vb-radius);max-width:380px;padding:10px 12px}.vb-toast.error{border-left-color:var(--vb-danger)}.vb-toast.success{border-left-color:var(--vb-success)}.vb-table{border-collapse:collapse;width:100%}.vb-table th,.vb-table td{border-bottom:1px solid var(--vb-border);text-align:left;padding:6px 8px}.vb-table th{color:var(--vb-text-2);background:var(--vb-surface-2);font-weight:600;position:sticky;top:0}.vb-num{font-variant-numeric:tabular-nums;text-align:right!important}.web-app,.web-auth{--w-nav:248px;--w-top:56px;--w-radius:12px;--w-ring:color-mix(in srgb, var(--vb-accent) 22%, transparent);--w-grad:linear-gradient(135deg, #2563eb 0%, #4f46e5 55%, #7c3aed 100%);--w-elev:0 1px 2px #1018280d, 0 2px 8px #1018280f;--w-elev-hover:0 4px 12px #1018281a, 0 12px 28px #1018281a}.web-center{justify-content:center;align-items:center;height:100%;padding:16px;display:flex;position:relative}.web-corner{position:absolute;top:16px;right:20px}.web-brand{color:var(--vb-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.web-logo{color:#fff;background:var(--w-grad);border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 4px 12px #4f46e559}.web-brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:17px;font-weight:600}.web-brand-name b{background:var(--w-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.web-app{grid-template-columns:var(--w-nav) 1fr;background:var(--vb-bg);height:100%;transition:grid-template-columns .18s;display:grid}.web-app.collapsed{--w-nav:68px}.web-body{flex-direction:column;min-width:0;min-height:0;display:flex}.web-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.web-nav{background:var(--vb-surface);border-right:1px solid var(--vb-border);flex-direction:column;gap:4px;min-height:0;padding:12px 10px;display:flex;overflow:hidden auto}.web-nav-brand{align-items:center;height:40px;margin-bottom:12px;padding:0 6px;text-decoration:none;display:flex}.web-nav a,.web-nav-collapse{height:38px;color:var(--vb-text-2);white-space:nowrap;cursor:pointer;font-weight:500;font:inherit;background:0 0;border:none;border-radius:9px;align-items:center;gap:12px;padding:0 11px;text-decoration:none;display:flex}.web-nav a svg,.web-nav-collapse svg{flex-shrink:0}.web-nav a span:last-child,.web-nav-collapse span{text-overflow:ellipsis;overflow:hidden}.web-nav a:hover,.web-nav-collapse:hover{background:var(--vb-surface-3);color:var(--vb-text)}.web-nav a.active{background:var(--vb-accent-soft);color:var(--vb-accent);font-weight:600}.web-nav a.web-nav-brand,.web-nav a.web-nav-brand:hover{height:40px;color:var(--vb-text);background:0 0;padding:0 6px}.web-nav-links{flex-direction:column;gap:2px;display:flex}.web-nav-group{flex-direction:column;gap:2px;margin-top:18px;display:flex}.web-nav-label{letter-spacing:.06em;text-transform:uppercase;color:var(--vb-text-3);white-space:nowrap;padding:0 12px 6px;font-size:11px;font-weight:600}.web-ws-dot{color:#fff;background:hsl(var(--h) 62% 48%);border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.web-nav-collapse{color:var(--vb-text-3);margin-top:auto}.web-app.collapsed .web-nav a>span:not(.web-ws-dot),.web-app.collapsed .web-nav-collapse span,.web-app.collapsed .web-nav-label{display:none}.web-app.collapsed .web-nav a,.web-app.collapsed .web-nav-collapse,.web-app.collapsed .web-nav-brand{justify-content:center;padding:0}.web-app.focus{grid-template-columns:minmax(0,1fr)}.web-app.focus .web-nav{z-index:60;width:264px;box-shadow:none;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.web-app.focus.nav-open .web-nav{box-shadow:var(--vb-shadow-lg);transform:none}.web-scrim{z-index:55;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a59;position:fixed;inset:0}.web-nav-foot{border-top:1px solid var(--vb-border);flex-direction:column;gap:6px;margin-top:auto;padding-top:10px;display:flex}.web-nav-foot .web-nav-collapse{margin-top:0}.web-themepick{height:38px;color:var(--vb-text-2);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:0 6px 0 11px;display:flex;position:relative}.web-themepick:hover{background:var(--vb-surface-3)}.web-themepick svg{flex-shrink:0}.web-themepick .web-theme{min-width:0;height:32px;color:var(--vb-text-2);box-shadow:none;cursor:pointer;background:0 0;border:none;flex:1;padding:0 20px 0 0;font-size:13.5px;font-weight:500}.web-themepick .web-theme:focus{outline:none}.web-themepick:focus-within{box-shadow:0 0 0 3px var(--w-ring)}.web-app.collapsed .web-themepick{justify-content:center;padding:0}.web-app.collapsed .web-themepick .web-theme{opacity:0;width:100%;position:absolute;inset:0}.web-auth .web-themepick{border:1px solid var(--vb-border);background:var(--vb-surface);height:34px}.web-user{position:relative}.web-avatar-btn{width:100%;height:44px;color:var(--vb-text-2);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:0 8px 0 6px;display:flex}.web-avatar-btn:hover,.web-avatar-btn[aria-expanded=true]{background:var(--vb-surface-3)}.web-user-caret{color:var(--vb-text-3);flex-shrink:0;margin-left:auto}.web-app.collapsed .web-avatar-btn{justify-content:center;padding:0}.web-app.collapsed .web-user-name,.web-app.collapsed .web-user-caret{display:none}.web-user-name{color:var(--vb-text);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500;overflow:hidden}.web-avatar{color:#fff;background:linear-gradient(135deg, hsl(var(--h,220) 62% 46%), hsl(calc(var(--h,220) + 40) 62% 38%));border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-grid}.web-avatar.lg{width:40px;height:40px;font-size:14px}.web-avatar.xl{width:64px;height:64px;font-size:22px}.web-usermenu{border-radius:var(--w-radius);background:var(--vb-surface);border:1px solid var(--vb-border);width:260px;box-shadow:var(--vb-shadow-lg);z-index:20;padding:6px;position:absolute;bottom:calc(100% + 6px);left:0}.web-usermenu-head{border-bottom:1px solid var(--vb-border);align-items:center;gap:10px;margin-bottom:6px;padding:10px;display:flex}.web-usermenu-head div{flex-direction:column;min-width:0;display:flex}.web-usermenu-head div span{color:var(--vb-text-3);text-overflow:ellipsis;font-size:12px;overflow:hidden}.web-usermenu a,.web-usermenu button{width:100%;color:var(--vb-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.web-usermenu a:hover,.web-usermenu button:hover{background:var(--vb-surface-3)}.web-page{flex-direction:column;gap:20px;width:100%;max-width:1360px;margin:0 auto;padding:28px 32px 40px;display:flex}.web-page.narrow{max-width:920px}.web-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.web-hero h1{letter-spacing:-.02em;color:var(--vb-text);margin:2px 0 6px;font-size:28px;font-weight:700;line-height:1.15}.web-eyebrow{color:var(--vb-accent);margin:0;font-size:13px;font-weight:600}.web-hero-sub{color:var(--vb-text-2);flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.web-chip{background:var(--vb-surface-3);height:22px;color:var(--vb-text-2);border:1px solid var(--vb-border);text-transform:none;border-radius:999px;align-items:center;margin-left:6px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.web-chip.success{background:var(--vb-success-soft);color:var(--vb-success);border-color:#0000}.web-search{width:min(340px,100%);height:40px;color:var(--vb-text-3);background:var(--vb-surface);border:1px solid var(--vb-border);box-shadow:var(--w-elev);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.web-search:focus-within{border-color:var(--vb-accent);box-shadow:0 0 0 3px var(--w-ring)}.web-search input{color:var(--vb-text);font:inherit;background:0 0;border:none;outline:none;flex:1;height:100%}.web-segment{background:var(--vb-surface-3);border:1px solid var(--vb-border);border-radius:10px;align-self:flex-start;padding:3px;display:inline-flex}.web-segment button{height:30px;color:var(--vb-text-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.web-segment button[aria-checked=true]{background:var(--vb-surface);color:var(--vb-text);box-shadow:var(--w-elev)}.web-rcards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.web-rcard{border-radius:var(--w-radius);background:var(--vb-surface);border:1px solid var(--vb-border);box-shadow:var(--w-elev);transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.web-rcard:hover{box-shadow:var(--w-elev-hover);border-color:var(--vb-border-strong);transform:translateY(-2px)}.web-rcard-open{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.web-rcard-open:disabled{cursor:not-allowed;opacity:.6}.web-rcard-open:focus-visible{outline:2px solid var(--vb-focus);outline-offset:-2px}.web-rcard-cover{background:linear-gradient(135deg, hsl(var(--h) 72% 56%), hsl(calc(var(--h) + 45) 70% 44%));align-items:flex-end;height:128px;padding:18px 18px 0;display:flex;position:relative}.web-rcard-chart{width:100%;height:84px;display:block}.web-rcard-chart rect{fill:#ffffff47}.web-rcard-chart polyline{fill:none;stroke:#ffffffe6;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.web-rcard-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:9px;width:32px;height:32px;padding:7px;position:absolute;top:14px;left:14px}.web-rcard-body{flex-direction:column;gap:4px;padding:14px 16px 16px;display:flex}.web-rcard-body strong{color:var(--vb-text);font-size:15px;font-weight:600}.web-rcard-body span{color:var(--vb-text-3);font-size:12.5px}.web-rcard-fav{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000002e;border:none;border-radius:9px;place-items:center;width:32px;height:32px;transition:background .15s;display:grid;position:absolute;top:12px;right:12px}.web-rcard-fav:hover{background:#00000052}.web-rcard-fav.on{color:#fde047}.web-empty-state{text-align:center;color:var(--vb-text-3);border:1px dashed var(--vb-border-strong);border-radius:var(--w-radius);background:var(--vb-surface);flex-direction:column;align-items:center;gap:6px;padding:56px 24px;display:flex}.web-empty-state h3{color:var(--vb-text);margin:8px 0 0;font-size:16px}.web-empty-state p{max-width:420px;margin:0}.web-card{background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:var(--w-radius);box-shadow:var(--w-elev);padding:20px 22px}.web-card-head{margin-bottom:14px}.web-card-head h2{margin:0;font-size:16px;font-weight:600}.web-card-head p{color:var(--vb-text-3);margin:4px 0 0;font-size:13px}.web-profile{align-items:center;gap:18px;display:flex}.web-profile h1{letter-spacing:-.01em;margin:0;font-size:22px}.web-profile p{color:var(--vb-text-2);margin:2px 0 6px}.web-profile .web-chip{margin-left:0}.web-form-row{grid-template-columns:1fr 1fr auto;align-items:start;gap:0 14px;display:grid}.web-form-row .vb-alert{grid-column:1/-1}.web-form-row>div:has(>.vb-btn){padding-top:20px}.web-form-actions{gap:8px;margin-top:12px;display:flex}.web-app .vb-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--vb-text-3);font-size:12px;font-weight:600}.web-app .vb-table td,.web-app .vb-table th{padding-top:9px;padding-bottom:9px}.web-app .vb-table tbody tr:hover{background:var(--vb-surface-2)}.web-admin-tools{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.web-field-inline{color:var(--vb-text-3);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.web-field-inline .vb-select{min-width:220px;height:36px}.web-admin-tools .web-inline{margin:0}.web-admin-tools .vb-input{height:36px}.web-admin-body{padding-top:16px}.web-app .vb-tabs{border-bottom:1px solid var(--vb-border);gap:4px}.web-app .vb-tab{height:40px;padding:0 14px;font-weight:500}.web-grid2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;display:grid}.web-inline{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.web-fieldset{border-radius:10px;margin:12px 0;padding:14px 16px}.web-fieldset legend{padding:0 6px;font-weight:600}.web-viewer{background:var(--vb-canvas);flex-direction:column;flex:1;min-height:0;display:flex}.web-vbar{background:var(--vb-surface);border-bottom:1px solid var(--vb-border);flex-shrink:0;align-items:center;gap:6px;min-width:0;height:48px;padding:0 8px;display:flex}.web-vbtn{width:34px;height:34px;color:var(--vb-text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;display:inline-grid;position:relative}.web-vbtn:hover:not(:disabled){background:var(--vb-surface-3);color:var(--vb-text)}.web-vbtn:disabled{opacity:.35;cursor:not-allowed}.web-vbtn[aria-pressed=true],.web-vbtn[aria-expanded=true]{background:var(--vb-accent-soft);color:var(--vb-accent)}.web-vtitle{flex-direction:column;flex:0 auto;justify-content:center;min-width:0;max-width:340px;padding:0 6px;display:flex}.web-vtitle h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14.5px;font-weight:650;line-height:1.2;overflow:hidden}.web-vtitle span{color:var(--vb-text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.web-vpages{scrollbar-width:none;gap:2px;min-width:0;display:flex;overflow-x:auto}.web-vpages::-webkit-scrollbar{display:none}.web-vpages button{cursor:pointer;white-space:nowrap;height:30px;color:var(--vb-text-2);font:inherit;background:0 0;border:none;border-radius:7px;padding:0 12px;font-size:13px;font-weight:500}.web-vpages button:hover{background:var(--vb-surface-3);color:var(--vb-text)}.web-vpages button[aria-current=page]{background:var(--vb-accent-soft);color:var(--vb-accent);font-weight:600}.web-vbar>.web-vpages{flex:1;justify-content:center}.web-vactions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.web-vsep{background:var(--vb-border);width:1px;height:20px;margin:0 4px}.web-vcount{background:var(--vb-accent);min-width:20px;height:20px;color:var(--vb-accent-text);border-radius:999px;place-items:center;margin-right:2px;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.web-vmenu-wrap{position:relative}.web-vmenu{z-index:30;background:var(--vb-surface);border:1px solid var(--vb-border);width:280px;box-shadow:var(--vb-shadow-lg);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.web-vmenu strong{font-size:13.5px}.web-vmenu label{color:var(--vb-text-3);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.web-vmenu .vb-select{height:34px}.web-vmenu p{color:var(--vb-text-3);margin:0;font-size:12px}.web-vmenu-actions{justify-content:flex-end;gap:6px;display:flex}.web-vmenu-actions .vb-btn.small{border-radius:7px;height:30px;padding:0 12px}.web-vnote{justify-content:space-between;align-items:center;gap:8px;margin:8px 12px 0;display:flex}.web-vnote button{color:inherit;cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.web-vpages-bottom{background:var(--vb-surface);border-top:1px solid var(--vb-border);flex-shrink:0;padding:4px 8px;display:none}.web-viewer.present{z-index:100;background:var(--vb-canvas);position:fixed;inset:0}.web-viewer.present.idle{cursor:none}.web-vfloat{z-index:5;background:color-mix(in srgb, var(--vb-surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--vb-border);box-shadow:var(--vb-shadow-lg);border-radius:12px;align-items:center;gap:2px;padding:4px;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:12px;right:12px}.web-viewer.present.idle .web-vfloat{opacity:0;pointer-events:none;transform:translateY(-6px)}.web-vfloat button{width:34px;height:34px;color:var(--vb-text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.web-vfloat button:hover:not(:disabled){background:var(--vb-surface-3);color:var(--vb-text)}.web-vfloat button:disabled{opacity:.35}.web-vfloat span{white-space:nowrap;align-items:baseline;gap:6px;padding:0 6px;font-size:13px;font-weight:600;display:flex}.web-vfloat small{color:var(--vb-text-3);font-weight:500}.web-vfloat i{background:var(--vb-border);width:1px;height:20px;margin:0 2px}@media (width<=1180px){.web-vbar>.web-vpages{display:none}.web-vpages-bottom{display:block}}@media (width<=640px){.web-vtitle span{display:none}.web-vtitle{max-width:40vw}.web-vsep{display:none}}@media (height<=520px){.web-vbar{height:38px}.web-vbtn{width:30px;height:30px}.web-vtitle span{display:none}.web-vpages-bottom{padding:2px 6px}.web-vpages button{height:26px;padding:0 10px;font-size:12px}}.web-auth{background:var(--vb-bg);grid-template-columns:minmax(380px,1.05fr) 1fr;height:100%;display:grid}.web-auth-hero{color:#fff;background:radial-gradient(1200px 600px at -10% -20%, #ffffff2e, transparent 60%), var(--w-grad);flex-direction:column;padding:40px 48px;display:flex;position:relative;overflow:hidden}.web-auth-hero .web-brand{color:#fff}.web-auth-hero .web-logo{box-shadow:none;background:#ffffff2e}.web-auth-hero .web-brand-name b{color:#fff;background:0 0}.web-auth-copy{z-index:1;max-width:460px;margin:auto 0;padding-bottom:14vh;position:relative}.web-auth-copy h2{letter-spacing:-.02em;margin:0 0 14px;font-size:34px;line-height:1.15}.web-auth-copy p{color:#ffffffd9;margin:0 0 20px;font-size:15px;line-height:1.55}.web-auth-copy ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.web-auth-copy li{color:#ffffffeb;align-items:center;gap:10px;font-weight:500;display:flex}.web-auth-art{opacity:.75;width:100%;height:22%;position:absolute;bottom:0;left:0;right:0}.web-auth-art rect{fill:#ffffff1f}.web-auth-art polyline{fill:none;stroke:#ffffff8c;stroke-width:2.5px;vector-effect:non-scaling-stroke}.web-auth-form{justify-content:center;align-items:center;padding:32px;display:flex;position:relative}.web-login{flex-direction:column;width:min(380px,100%);display:flex}.web-login h1{letter-spacing:-.02em;color:var(--vb-text);margin:0 0 6px;font-size:26px;font-weight:700}.web-login-sub{color:var(--vb-text-2);margin:0 0 24px}.web-login .vb-input{border-radius:9px;height:42px;padding:0 12px;font-size:14px}.web-login .vb-input:focus{box-shadow:0 0 0 3px var(--w-ring)}.web-login-submit{margin-top:6px;font-weight:600;border-radius:9px!important;height:42px!important;font-size:14px!important}.web-divider{color:var(--vb-text-3);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.web-divider:before,.web-divider:after{content:"";background:var(--vb-border);flex:1;height:1px}.web-sso{height:42px;color:var(--vb-text);border-radius:9px;justify-content:center;align-items:center;gap:8px;font-weight:500;text-decoration:none;display:inline-flex}.web-login-foot{color:var(--vb-text-3);text-align:center;margin:22px 0 0;font-size:12.5px}.web-login-mobile-brand{margin-bottom:28px;display:none}@media (width<=900px){.web-auth{grid-template-columns:1fr}.web-auth-hero{display:none}.web-login-mobile-brand{display:block}.web-app:not(.focus){--w-nav:68px}.web-app:not(.focus) .web-nav a>span:not(.web-ws-dot),.web-app:not(.focus) .web-nav-collapse span,.web-app:not(.focus) .web-nav-label{display:none}.web-app:not(.focus) .web-nav a,.web-app:not(.focus) .web-nav-collapse,.web-app:not(.focus) .web-nav-brand{justify-content:center;padding:0}.web-app:not(.focus) .web-brand-name{display:none}.web-page{padding:20px 16px 32px}.web-app:not(.focus) .web-user-name,.web-app:not(.focus) .web-user-caret{display:none}.web-app:not(.focus) .web-avatar-btn,.web-app:not(.focus) .web-themepick{justify-content:center;padding:0}.web-app:not(.focus) .web-themepick .web-theme{opacity:0;width:100%;position:absolute;inset:0}.web-app.focus .web-nav a>span:not(.web-ws-dot),.web-app.focus .web-nav-collapse span,.web-app.focus .web-nav-label,.web-app.focus .web-brand-name{display:revert}.web-app.focus .web-nav a,.web-app.focus .web-nav-collapse{justify-content:flex-start;padding:0 11px}.web-form-row{grid-template-columns:1fr}}.web-nav-label{justify-content:space-between;align-items:center;display:flex}.web-nav-add{width:22px;height:22px;color:var(--vb-text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.web-nav-add:hover{background:var(--vb-surface-3);color:var(--vb-accent)}.web-app.collapsed .web-nav-add{display:none}.web-chip-link{color:var(--vb-accent);gap:4px;text-decoration:none}.web-chip-link:hover{border-color:var(--vb-accent)}.web-ws-settings{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px 32px;display:grid}.web-ws-settings h3,.web-members h3{margin:0 0 10px;font-size:14px}.web-ws-settings section:first-child{grid-row:span 2}.web-role-card{background:var(--vb-accent-soft);color:var(--vb-text-2);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.web-role-card strong{color:var(--vb-accent);font-size:14px}.web-danger{border:1px solid color-mix(in srgb, var(--vb-danger) 40%, transparent);background:var(--vb-danger-soft);border-radius:10px;padding:14px 16px}.web-danger h3{color:var(--vb-danger)}.web-danger p{color:var(--vb-text-2);margin:0 0 12px;font-size:13px}.web-member-add{border:1px solid var(--vb-border);background:var(--vb-surface-2);border-radius:10px;margin-bottom:14px;padding:14px 16px}.web-member-add .web-inline{margin:0}.web-member-add .vb-select:first-child{min-width:280px}.web-role-hint{color:var(--vb-text-2);margin:10px 0 0;font-size:12.5px}.web-member{align-items:center;gap:10px;display:flex}.web-member div{flex-direction:column;display:flex}.web-member div span{color:var(--vb-text-3);font-size:12px}.web-member-badge{background:var(--vb-accent-soft);width:30px;height:30px;color:var(--vb-accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.web-members .vb-table .vb-select{min-width:150px;height:30px}.web-roles-help{color:var(--vb-text-2);margin-top:14px;font-size:13px}.web-roles-help summary{cursor:pointer;color:var(--vb-accent);font-weight:600}.web-roles-help ul{flex-direction:column;gap:4px;margin:8px 0;padding-left:18px;display:flex}@media (width<=900px){.web-ws-settings{grid-template-columns:1fr}.web-ws-settings section:first-child{grid-row:auto}}.web-app .vb-textarea{font-family:var(--vb-font)}.vb-report-host{background:var(--vb-canvas);flex:1;min-height:0;padding:12px;overflow:auto}.vb-page{box-shadow:var(--vb-shadow);border-radius:2px;margin:0 auto;position:relative}.vb-page,.vb-report-theme{--vb-bg:#f4f6f9;--vb-surface:#fff;--vb-surface-2:#f8fafc;--vb-surface-3:#eef2f7;--vb-border:#d9dfe7;--vb-border-strong:#b8c2cf;--vb-text:#1d2733;--vb-text-2:#4a5868;--vb-text-3:#6f7d8c;--vb-accent:#1f63d6;--vb-accent-hover:#174fae;--vb-accent-soft:#e6efff;--vb-accent-text:#fff;--vb-danger:#c62828;--vb-danger-soft:#fdecec;--vb-warning:#9a6200;--vb-warning-soft:#fff4dc;--vb-success:#1b7a3d;--vb-success-soft:#e5f5ea;--vb-focus:#1f63d6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--vb-text)}.vb-visual.on-dark{--vb-text:#fff;--vb-text-2:#e6ebf1;--vb-text-3:#c3ccd6;--vb-border:#ffffff38;--vb-border-strong:#fff6;--vb-surface-3:#ffffff14}.vb-page-bg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.vb-visual{transition:box-shadow .1s}.vb-visual-header{align-items:center;gap:6px;min-height:0;padding:6px 8px 2px;font-weight:600;display:flex}.vb-visual-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.vb-visual-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.vb-visual-msg{text-align:center;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px;display:flex}.vb-visual-msg.error{color:var(--vb-danger);flex-direction:column;font-size:12px}.vb-card{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.vb-card-value{font-variant-numeric:tabular-nums;font-weight:600}.vb-card-label{color:var(--vb-text-3)}.vb-points-toggle{opacity:0;border:1px solid var(--vb-border);background:var(--vb-surface);cursor:pointer;z-index:2;border-radius:3px;padding:1px 6px;font-size:10px;position:absolute;top:2px;right:2px}.vb-visual:hover .vb-points-toggle,.vb-points-toggle:focus-visible,.vb-points-toggle[aria-expanded=true]{opacity:1}.vb-points{z-index:3;background:var(--vb-surface);border:1px solid var(--vb-border);max-height:calc(100% - 26px);box-shadow:var(--vb-shadow-lg);border-radius:4px;min-width:160px;margin:0;padding:4px;list-style:none;position:absolute;top:22px;right:2px;overflow:auto}.vb-points li{cursor:pointer;border-radius:3px;padding:3px 6px}.vb-points li[aria-selected=true]{background:var(--vb-accent-soft);color:var(--vb-accent);font-weight:600}.vb-tablevis{min-height:0;font-size:inherit;flex-direction:column;flex:1;display:flex}.vb-tablevis-head,.vb-tablevis-row,.vb-tablevis-total{align-items:center;display:grid}.vb-tablevis-head>div,.vb-tablevis-row>div,.vb-tablevis-total>div{text-overflow:ellipsis;white-space:nowrap;padding:0 6px;overflow:hidden}.vb-tablevis-head{border-bottom:1px solid var(--vb-border-strong);color:var(--vb-text-2);padding:4px 0;font-weight:600}.vb-tablevis-body{flex:1;min-height:0;overflow:auto}.vb-tablevis-row{border-bottom:1px solid var(--vb-border);cursor:pointer}.vb-tablevis-row:hover{background:var(--vb-surface-3)}.vb-tablevis-row.selected{background:var(--vb-accent-soft);font-weight:600}.vb-tablevis-row.dimmed,.vb-matrix tr.dimmed{opacity:.55}.vb-matrix tr.selected{background:var(--vb-accent-soft);font-weight:600}.vb-tablevis-total{border-top:2px solid var(--vb-border-strong);padding:4px 0;font-weight:700}.vb-trunc{padding:2px 6px;font-size:11px}.vb-matrix{flex:1;overflow:auto}.vb-matrix .vb-table td,.vb-matrix .vb-table th{padding:3px 6px}.vb-matrix-group td{background:var(--vb-surface-2);font-weight:600}.vb-matrix-group .vb-icon-btn{width:18px;height:18px;margin-right:4px}.vb-matrix-total td{border-top:2px solid var(--vb-border-strong);font-weight:700}.vb-matrix tbody tr{cursor:pointer}.vb-slicer{flex-direction:column;flex:1;gap:6px;min-height:0;padding:6px 8px;display:flex}.vb-slicer ul{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.vb-slicer li{padding:2px 0}.vb-slicer>.vb-btn{z-index:1;padding:0 6px;line-height:1.6;position:absolute;top:-1.9em;right:6px}.vb-text{white-space:pre-wrap;padding:8px;overflow:auto}.vb-shape{background:var(--vb-accent-soft);flex:1;margin:4px}.vb-shape.ellipse{border-radius:50%}.vb-shape.line{background:var(--vb-border-strong);flex:none;height:2px;margin:auto 4px}.vb-image-visual{-webkit-user-select:none;user-select:none;flex:1;width:100%;height:100%;min-height:0;display:block}.vb-nav-btn{background:var(--vb-accent);color:var(--vb-accent-text);cursor:pointer;font:inherit;border:none;flex:1}.vb-nav-btn[aria-current=page]{background:var(--vb-accent-hover);text-decoration:underline}.vb-consume-toolbar{background:var(--vb-surface);border-bottom:1px solid var(--vb-border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.vb-spacer{flex:1}.vb-slicer-range{flex-direction:column;gap:8px;display:flex}.vb-range-fields{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;display:grid}.vb-range-fields .vb-input{width:100%;min-width:0}.vb-range-track{height:22px;margin:0 6px;position:relative}.vb-range-track:before,.vb-range-track:after{content:"";border-radius:2px;height:4px;position:absolute;top:9px}.vb-range-track:before{background:var(--vb-surface-3);left:0;right:0}.vb-range-track:after{left:var(--a);right:calc(100% - var(--b));background:var(--vb-accent)}.vb-range-track input[type=range]{pointer-events:none;appearance:none;z-index:1;background:0 0;width:100%;margin:0;position:absolute;inset:0}.vb-range-track input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;background:var(--vb-surface);border:2px solid var(--vb-accent);cursor:grab;width:16px;height:16px;box-shadow:var(--vb-shadow);border-radius:50%}.vb-range-track input[type=range]::-moz-range-thumb{pointer-events:auto;background:var(--vb-surface);border:2px solid var(--vb-accent);cursor:grab;border-radius:50%;width:14px;height:14px}.vb-range-track input[type=range]::-webkit-slider-runnable-track{background:0 0}.vb-range-foot{justify-content:space-between;align-items:center;gap:6px;display:flex}.vb-dropdown-btn{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.vb-dropdown-pop{z-index:1000;background:var(--vb-surface);border:1px solid var(--vb-border-strong);max-height:360px;box-shadow:var(--vb-shadow-lg);color:var(--vb-text);border-radius:6px;flex-direction:column;gap:6px;padding:8px;font-size:12px;display:flex}.vb-dropdown-pop ul{flex:1;min-height:0;overflow:auto}.vb-sort-btn{all:unset;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline;overflow:hidden}.vb-sort-btn:hover{text-decoration:underline}.vb-sort-btn:focus-visible{outline:2px solid var(--vb-focus);outline-offset:1px}.vb-sort-mark{color:var(--vb-accent);font-size:.8em}.vb-matrix-all{margin-right:4px}.vb-cal{flex-direction:column;flex:1;gap:4px;min-height:0;padding:4px 6px 6px;display:flex}.vb-cal-head{align-items:center;gap:4px;display:flex}.vb-cal-month{border:1px solid var(--vb-border);background:var(--vb-surface);color:var(--vb-text);border-radius:4px;padding:2px 4px;font-weight:600}.vb-cal-total{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.vb-cal-grid{gap:var(--cal-gap,3px);flex-direction:column;flex:1;min-height:0;display:flex}.vb-cal-row{gap:var(--cal-gap,3px);flex:1;grid-template-columns:repeat(7,minmax(0,1fr)) minmax(0,1.1fr);min-height:0;display:grid}.vb-cal.no-week .vb-cal-row{grid-template-columns:repeat(7,minmax(0,1fr))}.vb-cal-dow{color:var(--vb-text-2);text-align:center;flex:none;font-size:.9em;font-weight:600}.vb-cal-cell{border-radius:var(--cal-radius,4px);border:1px solid var(--cal-border,var(--vb-border));background:var(--cal-empty,transparent);cursor:default;flex-direction:column;justify-content:space-between;min-height:0;padding:2px 4px;display:flex;overflow:hidden}.vb-cal-cell.out{border-color:#0000}.vb-cal-cell.has{cursor:pointer}.vb-cal-cell.weekend:not(.has){background:var(--cal-weekend,var(--vb-surface-2))}.vb-cal.no-weekend .vb-cal-cell.weekend:not(.has){background:var(--cal-empty,transparent)}.vb-cal-cell.today{outline:2px solid var(--cal-today,var(--vb-accent));outline-offset:-2px}.vb-cal.no-today .vb-cal-cell.today:not(.selected){outline:none}.vb-cal-cell.selected{outline:2px solid var(--vb-text);outline-offset:-2px;font-weight:700}.vb-cal-cell.dimmed{opacity:.4}.vb-cal-day{opacity:.8;font-size:.85em}.vb-cal-val{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.vb-cal-week{font-variant-numeric:tabular-nums;border-left:2px solid var(--vb-border-strong);white-space:nowrap;justify-content:flex-end;align-items:center;padding-right:4px;font-weight:700;display:flex;overflow:hidden}.vb-cal-dow .vb-cal-week{border-left:none;justify-content:center}.vb-cal.val-bottom_left .vb-cal-val{text-align:left}.vb-cal.val-center .vb-cal-cell{justify-content:center;position:relative}.vb-cal.val-center .vb-cal-day{position:absolute;top:2px;left:4px}.vb-cal.val-center .vb-cal-val{text-align:center}.vb-cal-title{font-weight:600}
