:root{--vz-brand-red: #F0402A;--vz-brand-orange: #F47B20;--vz-brand-gray: #6E6F72;--vz-brand-grad: linear-gradient(100deg, var(--vz-brand-red) 0%, var(--vz-brand-orange) 100%);--vz-color-primary: #F0402A;--vz-color-secondary: #F47B20;--vz-accent: #F47B20;--vz-logo-url: url(/logo.png);--vz-logo-mark-url: url(/logo-mark.png);--vz-logo-login-url: url(/logo-login.png);--vz-font: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--vz-bg: #0E1014;--vz-surface: #171A20;--vz-surface-2: #1E222B;--vz-sidebar-bg: #121419;--vz-border: #2A2F39;--vz-text: #ECEEF1;--vz-text-muted: #969CA6;--vz-danger: #F2554B;--vz-success: #35C28A;--vz-warning: #F0A92B;--vz-radius: 12px;--vz-radius-sm: 8px;--vz-shadow: 0 1px 2px rgba(0, 0, 0, .25);--vz-shadow-lg: 0 14px 40px rgba(0, 0, 0, .55);--vz-sidebar-w: 240px;--vz-sidebar-w-collapsed: 68px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--vz-font);color:var(--vz-text);background:var(--vz-bg);font-size:15px;-webkit-font-smoothing:antialiased}a{color:var(--vz-accent);text-decoration:none}a:hover{text-decoration:underline}h1{color:var(--vz-text);margin:0 0 .5rem;font-size:1.45rem;font-weight:700;letter-spacing:-.01em}h2{color:var(--vz-text);margin:0 0 .5rem;font-size:1.2rem}h3{color:var(--vz-text);margin:0 0 .5rem;font-size:1.02rem;font-weight:700}h4{color:var(--vz-text)}::placeholder{color:#6b727d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:var(--vz-radius-sm);font-size:.9rem;line-height:1.2;border:1px solid transparent;transition:filter .15s,background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--vz-brand-grad);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--vz-surface-2);border-color:var(--vz-border);color:var(--vz-text)}.btn-secondary:hover:not(:disabled){border-color:var(--vz-brand-orange);color:var(--vz-brand-orange)}.btn-ghost{background:transparent;border-color:var(--vz-border);color:var(--vz-text)}.btn-ghost:hover:not(:disabled){background:var(--vz-surface-2)}.btn-danger{background:var(--vz-danger);color:#fff}.btn-sm{padding:.32rem .6rem;font-size:.82rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--vz-text-muted)}.input,.select{width:100%;padding:.5rem .7rem;font:inherit;font-size:.9rem;border:1px solid var(--vz-border);border-radius:var(--vz-radius-sm);background:var(--vz-surface-2);color:var(--vz-text)}.input:focus,.select:focus{outline:2px solid var(--vz-brand-orange);outline-offset:-1px;border-color:transparent}.select option{background:var(--vz-surface-2);color:var(--vz-text)}.card{background:var(--vz-surface);border:1px solid var(--vz-border);border-radius:var(--vz-radius);box-shadow:none}.alert{padding:.7rem .9rem;border-radius:var(--vz-radius-sm);font-size:.9rem;margin-bottom:1rem}.alert-error{background:#f2554b1f;color:#ff9c93;border:1px solid rgba(242,85,75,.4)}.alert-success{background:#35c28a1f;color:#6fe0b4;border:1px solid rgba(53,194,138,.4)}.alert-info{background:#f47b201f;color:#ffb877;border:1px solid rgba(244,123,32,.4)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}.badge-on{background:#35c28a29;color:#6fe0b4}.badge-off{background:#ffffff14;color:var(--vz-text-muted)}code{background:var(--vz-surface-2);padding:.1rem .35rem;border-radius:4px;color:var(--vz-brand-orange)}.brand-logo{width:100%;height:56px;background:var(--vz-logo-url) left center / contain no-repeat}.brand-mark{width:48px;height:48px;background:var(--vz-logo-mark-url) center / contain no-repeat}.brand-logo-login{width:100%;max-width:300px;height:150px;margin:0 auto;background:var(--vz-logo-login-url) center / contain no-repeat}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.62rem .8rem;border-bottom:1px solid var(--vz-border)}.table th{color:var(--vz-text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.table tr:hover td{background:var(--vz-surface-2)}.spinner{width:28px;height:28px;border:3px solid var(--vz-border);border-top-color:var(--vz-brand-orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.page-head .ph-sub{color:var(--vz-text-muted);margin:.2rem 0 0;font-size:.9rem}.page-head h1{margin:0}.page-head-actions{display:flex;gap:.5rem;flex-wrap:wrap}.rowmenu{position:relative;display:inline-block}.rowmenu-btn{background:transparent;border:1px solid var(--vz-border);color:var(--vz-text);border-radius:var(--vz-radius-sm);cursor:pointer;padding:.25rem .55rem;font-size:1.1rem;line-height:1}.rowmenu-btn:hover{background:var(--vz-surface-2)}.rowmenu-pop{position:absolute;right:0;top:calc(100% + 4px);background:var(--vz-surface);border:1px solid var(--vz-border);border-radius:var(--vz-radius-sm);box-shadow:var(--vz-shadow-lg);min-width:180px;z-index:40;padding:.3rem}.rowmenu-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--vz-text);padding:.5rem .7rem;border-radius:6px;cursor:pointer;font-size:.88rem}.rowmenu-item:hover{background:var(--vz-surface-2)}.rowmenu-item.danger{color:var(--vz-danger)}
