@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Poppins:wght@400;500;600&family=Open+Sans:wght@400;600;700&display=swap");:root{--surface:#ffffff;--surface-sunken:#f5f7f6;--surface-raised:#ffffff;--surface-hover:#eef1ef;--border:#e4e7e5;--border-strong:#878f8a;--ink:#0b0f0c;--ink-muted:#5b635e;--brand:#0e7c47;--brand-strong:#0a6338;--on-brand:#ffffff;--brand-soft:#e3f4ea;--brand-ink:#0a5c35;--signal:#3ddc84;--black:#0b0f0c;--on-black:#f2f5f3;--on-black-muted:#a3aca6;--danger:#b42a24;--danger-soft:#fbe7e6;--warning:#8a5300;--warning-soft:#fdf1dc;--focus:var(--brand);--font-sans:Poppins,"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:Montserrat,Poppins,"Open Sans",system-ui,sans-serif;--text-micro:11px;--text-small:12px;--text-body:13px;--text-h2:15px;--text-h1:20px;--text-display:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--control-sm:24px;--control-md:28px;--control-lg:36px;--sidebar-width:232px;--topbar-height:48px;--shadow-sm:0 1px 2px rgba(11,15,12,0.06);--shadow-md:0 8px 24px rgba(11,15,12,0.12),0 1px 3px rgba(11,15,12,0.08);--qr-surface:#ffffff;--qr-ink:#0b0f0c;--qr-size:176px;--ease-out:cubic-bezier(0.16,1,0.3,1);--duration:150ms;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:#0b0f0c;--surface-sunken:#070a08;--surface-raised:#141a16;--surface-hover:#1a211c;--border:#232b26;--border-strong:#6b7570;--ink:#f2f5f3;--ink-muted:#9aa39d;--brand:#34d27f;--brand-strong:#5ee09a;--on-brand:#04140b;--brand-soft:#10281a;--brand-ink:#7ce8ad;--danger:#ff7b72;--danger-soft:#2c1312;--warning:#f2b14c;--warning-soft:#2a2010;--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 8px 24px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.06);--qr-surface:#ffffff;--qr-ink:#0b0f0c;color-scheme:dark}}:root[data-theme=dark]{--surface:#0b0f0c;--surface-sunken:#070a08;--surface-raised:#141a16;--surface-hover:#1a211c;--border:#232b26;--border-strong:#6b7570;--ink:#f2f5f3;--ink-muted:#9aa39d;--brand:#34d27f;--brand-strong:#5ee09a;--on-brand:#04140b;--brand-soft:#10281a;--brand-ink:#7ce8ad;--danger:#ff7b72;--danger-soft:#2c1312;--warning:#f2b14c;--warning-soft:#2a2010;--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 8px 24px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.06);--qr-surface:#ffffff;--qr-ink:#0b0f0c;color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:20px;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;caret-color:var(--brand);accent-color:var(--brand);scrollbar-color:var(--border-strong) var(--surface-sunken)}::selection{background:var(--signal);color:var(--black)}a{color:var(--brand);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0}.vx-h1{font:700 var(--text-h1)/28px var(--font-display);letter-spacing:-.01em}.vx-h2{font:600 var(--text-h2)/22px var(--font-sans)}.vx-display{font:700 var(--text-display)/32px var(--font-display);letter-spacing:-.02em}.vx-overline{font:700 10px/14px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.vx-muted,.vx-overline{color:var(--ink-muted)}.vx-small{font-size:var(--text-small);line-height:16px}.vx-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vx-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vx-stack{display:flex;flex-direction:column;gap:var(--space-3)}.vx-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.vx-spacer{margin-left:auto}.vx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font:600 var(--text-body)/20px var(--font-sans);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out)}.vx-btn:hover{background:var(--surface-hover)}.vx-btn--primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.vx-btn--primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.vx-btn--ghost{border-color:transparent;background:none}.vx-btn--danger{color:var(--danger)}.vx-btn--sm{height:var(--control-sm);padding:0 var(--space-2);font-size:var(--text-small)}.vx-btn--lg{height:var(--control-lg);padding:0 var(--space-4);font-size:14px}.vx-btn--block{width:100%}.vx-btn:disabled,.vx-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.vx-btn[aria-busy=true]{cursor:progress;opacity:.7}.vx-btn svg{width:16px;height:16px;flex:none}.vx-field{display:flex;flex-direction:column;gap:var(--space-1)}.vx-label{font-weight:600;color:var(--ink)}.vx-help,.vx-label{font-size:var(--text-small);line-height:16px}.vx-help{color:var(--ink-muted)}.vx-input,.vx-select,.vx-textarea{height:var(--control-md);width:100%;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font:var(--text-body)/20px var(--font-sans)}.vx-textarea{height:auto;min-height:80px;padding:var(--space-2) var(--space-3);resize:vertical}.vx-input--lg,.vx-select.vx-input--lg{height:var(--control-lg);font-size:14px}.vx-input::placeholder,.vx-textarea::placeholder{color:var(--ink-muted)}.vx-input:focus,.vx-select:focus,.vx-textarea:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:var(--brand)}.vx-field--error .vx-input,.vx-input[aria-invalid=true]{border-color:var(--danger)}.vx-field--error .vx-help,.vx-help--error{color:var(--danger)}.vx-check{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.vx-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:18px;margin:0;flex:none;position:relative;cursor:pointer;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface-sunken)}.vx-switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:var(--radius-full);background:var(--ink-muted);transition:transform var(--duration) var(--ease-out)}.vx-switch:checked{background:var(--brand);border-color:var(--brand)}.vx-switch:checked:after{transform:translateX(14px);background:var(--on-brand)}.vx-switch:disabled{opacity:.45;cursor:not-allowed}.vx-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);font:600 var(--text-micro)/14px var(--font-sans);background:var(--surface-hover);color:var(--ink-muted);white-space:nowrap}.vx-badge--brand{background:var(--brand-soft);color:var(--brand-ink)}.vx-badge--warning{background:var(--warning-soft);color:var(--warning)}.vx-badge--danger{background:var(--danger-soft);color:var(--danger)}.vx-badge--signal{background:var(--signal);color:var(--black)}.vx-dot{width:6px;height:6px;background:currentColor}.vx-avatar,.vx-dot{border-radius:var(--radius-full);flex:none}.vx-avatar{width:24px;height:24px;background:var(--black);color:var(--signal);font:700 10px/24px var(--font-display);text-align:center;text-transform:uppercase}.vx-avatar--lg{width:32px;height:32px;line-height:32px;font-size:var(--text-micro)}.vx-tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--border);overflow-x:auto}.vx-tab{height:32px;padding:0;border:0;background:none;cursor:pointer;white-space:nowrap;color:var(--ink-muted);font:600 var(--text-body)/20px var(--font-sans);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-1);box-shadow:inset 0 -2px 0 transparent}.vx-tab:hover{color:var(--ink)}.vx-tab[aria-current=page],.vx-tab[aria-selected=true]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--brand)}.vx-segmented{display:inline-flex;flex-wrap:wrap;padding:2px;gap:2px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm)}.vx-segmented>button{height:24px;padding:0 var(--space-3);border:0;border-radius:4px;background:none;cursor:pointer;color:var(--ink-muted);font:600 var(--text-small)/20px var(--font-sans)}.vx-segmented>button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-sm)}.vx-table-wrap{overflow-x:auto}.vx-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vx-table th{background:var(--surface-sunken);text-align:left;white-space:nowrap;color:var(--ink-muted);font:700 10px/14px var(--font-display);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-2) var(--space-3)}.vx-table td,.vx-table th{border-bottom:1px solid var(--border)}.vx-table td{padding:6px var(--space-3);vertical-align:middle}.vx-table tr:last-child td{border-bottom:0}.vx-table tbody tr:hover{background:var(--surface-hover)}.vx-table tr[aria-selected=true]{background:var(--brand-soft)}.vx-table .vx-num{text-align:right}.vx-panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0}.vx-panel__head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.vx-panel__body{padding:var(--space-4)}.vx-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.vx-card--dragging{box-shadow:var(--shadow-md);transform:rotate(1.5deg)}.vx-notice{display:flex;gap:var(--space-2);padding:10px var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);font-size:var(--text-small);line-height:18px;color:var(--ink-muted)}.vx-notice--ok{background:var(--brand-soft);border-color:transparent;color:var(--brand-ink)}.vx-notice--warning{background:var(--warning-soft);border-color:transparent;color:var(--warning)}.vx-notice--danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.vx-meter{height:6px;border-radius:var(--radius-full);background:var(--surface-hover);overflow:hidden}.vx-meter>span{display:block;height:100%;background:var(--brand)}.vx-meter--warning>span{background:var(--warning)}.vx-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-8);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--ink-muted)}.vx-kpi{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-raised)}.vx-kpi__label{font-size:var(--text-small);color:var(--ink-muted)}.vx-kpi__value{font:700 var(--text-h1)/28px var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vx-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-md);padding:var(--space-6);max-width:min(480px,calc(100vw - 32px))}.vx-dialog::-webkit-backdrop{background:rgba(11,15,12,.45)}.vx-dialog::backdrop{background:rgba(11,15,12,.45)}.vx-toast{position:fixed;left:50%;bottom:calc(var(--space-6) + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);background:var(--black);color:var(--on-black);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-body);z-index:100}.vx-menu,.vx-toast{box-shadow:var(--shadow-md)}.vx-menu{list-style:none;margin:0;padding:var(--space-1);max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink)}.vx-menu:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.vx-menu__item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-lg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer}.vx-menu__item:hover,.vx-menu__item[data-active=true]{background:var(--surface-hover)}.vx-menu__item[aria-selected=true]{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.vx-menu__item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.vx-menu__item svg{flex:none}.vx-menu__text{display:flex;flex-direction:column;min-width:0;flex:1 1}.vx-menu__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-menu__meta{font-size:var(--text-small);line-height:16px;color:var(--ink-muted);font-weight:400}.vx-menu__item[aria-selected=true] .vx-menu__meta{color:var(--brand-ink)}.vx-app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.vx-sidebar{background:var(--surface-sunken);border-right:1px solid var(--border);padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.vx-sidebar__brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-3);font:700 var(--text-h2)/22px var(--font-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}.vx-sidebar__brand img,.vx-sidebar__brand svg{width:24px;height:24px}.vx-sidebar .vx-overline{padding:var(--space-3) var(--space-2) var(--space-1)}.vx-sidebar__foot{margin-top:auto;border-top:1px solid var(--border);padding:var(--space-2) var(--space-2) 0}.vx-nav__item,.vx-sidebar__foot{display:flex;align-items:center;gap:var(--space-2)}.vx-nav__item{height:var(--control-md);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;font-size:var(--text-body)}.vx-nav__item:hover{background:var(--surface-hover)}.vx-nav__item[aria-current=page]{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.vx-nav__item svg{width:16px;height:16px;flex:none}.vx-nav__count{margin-left:auto;font-size:var(--text-micro);color:var(--ink-muted);font-weight:600}.vx-main{min-width:0;display:flex;flex-direction:column}.vx-topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:10}.vx-page{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);max-width:1280px;width:100%}.vx-page__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}@media (max-width:860px){.vx-app{grid-template-columns:minmax(0,1fr)}.vx-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border)}.vx-sidebar .vx-overline,.vx-sidebar__foot{display:none}.vx-page{padding:var(--space-4)}}.vx-auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vx-auth__side{background:var(--black);color:var(--on-black);padding:var(--space-8) 48px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-8)}.vx-auth__side p{color:var(--on-black-muted)}.vx-auth__form{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4)}.vx-auth__box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}@media (max-width:860px){.vx-auth{grid-template-columns:minmax(0,1fr)}.vx-auth__side{display:none}}.vx-qr{display:block;width:var(--qr-size);max-width:100%;height:auto;aspect-ratio:1;background:var(--qr-surface);border-radius:var(--radius-sm)}.vx-qr path{fill:var(--qr-ink)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}