:root{--ve-deep-navy:#0b2d6b;--ve-royal-blue:#1e63ff;--ve-cyan:#00c6ff;--ve-white:#fff;--ve-gray-50:#f7f9fc;--ve-gray-100:#eef1f6;--ve-gray-200:#dde2ea;--ve-gray-300:#c3cad5;--ve-gray-400:#8c95a6;--ve-gray-500:#6b7485;--ve-gray-600:#4b5465;--ve-gray-700:#353d4c;--ve-gray-800:#1f2633;--ve-gray-900:#121722;--ve-black:#000;--ve-scrim:#00000080;--ve-blue-ring:#1e63ff33;--ve-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--ve-font-mono:"JetBrains Mono", Consolas, "Courier New", monospace;--ve-space-1:4px;--ve-space-2:8px;--ve-space-3:12px;--ve-space-4:16px;--ve-space-6:24px;--ve-space-8:32px;--ve-space-12:48px;--ve-space-16:64px;--ve-radius-sm:4px;--ve-radius-md:8px;--ve-radius-lg:12px;--ve-radius-xl:16px;--ve-radius-full:999px;--ve-shadow-1:0 1px 3px #0b2d6b14;--ve-shadow-2:0 4px 12px #0b2d6b1f;--ve-shadow-3:0 12px 32px #0b2d6b2e;--ve-focus-ring:0 0 0 2px #fff, 0 0 0 4px #1e63ff;--ve-sidebar-w:240px;--ve-rail-w:72px;--ve-topbar-h:64px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:400 14px/20px var(--ve-font-sans);color:var(--ve-gray-700);background:var(--ve-gray-50)}:focus-visible{box-shadow:var(--ve-focus-ring);outline:none}a{color:var(--ve-royal-blue)}code,.mono{font:500 13px/20px var(--ve-font-mono);color:var(--ve-gray-900)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display,.kpi{color:var(--ve-deep-navy);margin:0;font-size:32px;font-weight:700;line-height:40px}h1,.h1{color:var(--ve-gray-900);margin:0;font-size:28px;font-weight:600;line-height:36px}h2,.h2{color:var(--ve-gray-900);margin:0;font-size:24px;font-weight:600;line-height:32px}h3,.h3{color:var(--ve-gray-900);margin:0;font-size:20px;font-weight:600;line-height:28px}h4,.h4{color:var(--ve-gray-900);margin:0;font-size:16px;font-weight:600;line-height:24px}.small{color:var(--ve-gray-600);font-size:12px;line-height:16px}.caption{color:var(--ve-gray-500);font-size:12px;line-height:16px}.overline{letter-spacing:.08em;text-transform:uppercase;color:var(--ve-gray-500);font-size:11px;font-weight:500;line-height:16px}.btn{justify-content:center;align-items:center;gap:var(--ve-space-2);height:40px;padding:0 var(--ve-space-4);border-radius:var(--ve-radius-md);font:600 14px/20px var(--ve-font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn-sm{height:32px;padding:0 var(--ve-space-3)}.btn-lg{height:48px;padding:0 var(--ve-space-6)}.btn-primary{background:var(--ve-royal-blue);color:var(--ve-white)}.btn-primary:hover:not(:disabled){background:var(--ve-deep-navy)}.btn-secondary{background:var(--ve-white);color:var(--ve-royal-blue);border-color:var(--ve-royal-blue)}.btn-secondary:hover:not(:disabled){background:var(--ve-gray-50)}.btn-ghost{background:var(--ve-white);color:var(--ve-royal-blue);border:1px dashed var(--ve-gray-300)}.btn-accent{background:var(--ve-cyan);color:var(--ve-deep-navy)}.btn-destructive{background:var(--ve-gray-900);color:var(--ve-white)}.btn-on-dark{color:var(--ve-white);border-color:var(--ve-white);background:0 0}.btn:disabled{background:var(--ve-gray-100);color:var(--ve-gray-300);border-color:var(--ve-gray-200);cursor:not-allowed}.field{margin-bottom:var(--ve-space-4);flex-direction:column;gap:6px;display:flex}.field label{color:var(--ve-gray-900);font-weight:500}.input,.select,.textarea{width:100%;height:40px;padding:0 var(--ve-space-3);border:1px solid var(--ve-gray-400);border-radius:var(--ve-radius-md);font:inherit;color:var(--ve-gray-900);background:var(--ve-white)}.textarea{height:auto;min-height:96px;padding:var(--ve-space-2) var(--ve-space-3);resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--ve-royal-blue);box-shadow:0 0 0 3px var(--ve-blue-ring);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border:2px solid var(--ve-deep-navy)}.input:disabled{color:var(--ve-gray-300);background:var(--ve-gray-50);cursor:not-allowed}.field-error{gap:var(--ve-space-1);color:var(--ve-deep-navy);align-items:flex-start;font-size:12px;font-weight:500;line-height:16px;display:flex}.hint{color:var(--ve-gray-600);font-size:12px;line-height:16px}.check{gap:var(--ve-space-2);margin-bottom:var(--ve-space-3);align-items:center;display:flex}.alert{gap:var(--ve-space-3);padding:var(--ve-space-3) var(--ve-space-4);border-radius:var(--ve-radius-md);background:var(--ve-white);margin-bottom:var(--ve-space-4);color:var(--ve-gray-900);display:flex}.alert-error{border:2px solid var(--ve-deep-navy)}.alert-success{border:1px solid var(--ve-cyan)}.alert-info{border:1px solid var(--ve-gray-300);background:var(--ve-gray-50)}.badge{height:24px;padding:0 var(--ve-space-2);border-radius:var(--ve-radius-full);background:var(--ve-gray-100);color:var(--ve-gray-800);align-items:center;font-size:12px;font-weight:500;display:inline-flex}.badge-live{background:var(--ve-deep-navy);color:var(--ve-white)}.badge-ok{border:1px solid var(--ve-cyan);background:var(--ve-white);color:var(--ve-gray-900)}.badge-error{border:2px solid var(--ve-deep-navy);background:var(--ve-white);color:var(--ve-deep-navy)}.badge-blue{background:var(--ve-royal-blue);color:var(--ve-white)}.card{background:var(--ve-white);border:1px solid var(--ve-gray-200);border-radius:var(--ve-radius-lg);box-shadow:var(--ve-shadow-1);padding:var(--ve-space-6)}.stack{gap:var(--ve-space-4);flex-direction:column;display:flex}.row{gap:var(--ve-space-3);flex-wrap:wrap;align-items:center;display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--ve-space-4);flex-wrap:wrap;display:flex}.grid{gap:var(--ve-space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.muted{color:var(--ve-gray-500)}.table-wrap{background:var(--ve-white);border:1px solid var(--ve-gray-200);border-radius:var(--ve-radius-lg);overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;padding:var(--ve-space-3) var(--ve-space-4);background:var(--ve-gray-50);border-bottom:1px solid var(--ve-gray-200);letter-spacing:.08em;text-transform:uppercase;color:var(--ve-gray-500);font-size:11px;font-weight:500;line-height:16px}.table td{padding:var(--ve-space-3) var(--ve-space-4);border-bottom:1px solid var(--ve-gray-100);color:var(--ve-gray-700);vertical-align:top}.table tbody tr:hover{background:var(--ve-gray-50)}.scrim{background:var(--ve-scrim);z-index:50;padding:var(--ve-space-4);place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--ve-white);border-radius:var(--ve-radius-xl);box-shadow:var(--ve-shadow-3);padding:var(--ve-space-6);width:min(560px,100%);max-height:90vh;overflow:auto}.shell{grid-template-columns:var(--ve-sidebar-w) 1fr;min-height:100%;display:grid}.sidebar{background:var(--ve-deep-navy);color:var(--ve-white);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{gap:var(--ve-space-3);height:var(--ve-topbar-h);padding:0 var(--ve-space-4);align-items:center;font-weight:600;display:flex}.brand-logo-wrap{background:var(--ve-white);border-radius:var(--ve-radius-md);padding:2px;display:inline-flex}.nav{padding:var(--ve-space-2);flex-direction:column;gap:2px;display:flex}.nav .overline{color:var(--ve-gray-300);padding:var(--ve-space-3) var(--ve-space-3) var(--ve-space-1)}.nav a{color:var(--ve-gray-100);padding:var(--ve-space-2) var(--ve-space-3);border-radius:var(--ve-radius-md);text-decoration:none}.nav a:hover{background:#ffffff14}.nav a.active{background:var(--ve-royal-blue);color:var(--ve-white)}.topbar{z-index:10;height:var(--ve-topbar-h);justify-content:space-between;align-items:center;gap:var(--ve-space-4);padding:0 var(--ve-space-8);background:var(--ve-white);border-bottom:1px solid var(--ve-gray-200);display:flex;position:sticky;top:0}.main{padding:var(--ve-space-8);gap:var(--ve-space-6);flex-direction:column;min-width:0;display:flex}.menu-btn{display:none}@media (width<=1279px){.shell{grid-template-columns:var(--ve-rail-w) 1fr}.sidebar .label,.nav .overline{display:none}}@media (width<=767px){.shell{grid-template-columns:1fr}.sidebar{z-index:40;width:var(--ve-sidebar-w);transition:transform .2s;position:fixed;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar.open .label,.sidebar.open .nav .overline{display:initial}.menu-btn{display:inline-flex}.main,.topbar{padding-left:var(--ve-space-4);padding-right:var(--ve-space-4)}}.auth-page{min-height:100%;padding:var(--ve-space-6);background:var(--ve-gray-50);place-items:center;display:grid}.auth-card{width:min(420px,100%)}
