:root{--vs-brand:#1274ac;--vs-brand-contrast:#fff;--vs-brand-soft:#1274ac1f;--vs-app-bg:#f2f6f9;--vs-card-bg:#fff;--vs-text:#1c2b36;--vs-muted:#5b6b78;--vs-border:#d6dfe6;--vs-ok:#2e9e4f;--vs-warn:#d98c00;--vs-bad:#d13438;--vs-track:#e3eaf0}:root[data-theme=dark]{--vs-brand:#4aa3df;--vs-brand-contrast:#0c1217;--vs-brand-soft:#4aa3df2e;--vs-app-bg:#14181c;--vs-card-bg:#1f2429;--vs-text:#e8edf2;--vs-muted:#9aa8b4;--vs-border:#39424a;--vs-ok:#4cc06d;--vs-warn:#e8a33d;--vs-bad:#ef6a6e;--vs-track:#2d343b}html,body,#root{height:100%;margin:0}body{background-color:var(--vs-app-bg);color:var(--vs-text);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.vs-appbar.k-appbar{background-color:var(--vs-brand);color:var(--vs-brand-contrast);z-index:3;padding:0 12px;box-shadow:0 1px 4px #00000040}:root[data-theme=dark] .vs-appbar.k-appbar{color:#e8edf2;border-bottom:1px solid var(--vs-border);background-color:#10202c}.vs-appbar .vs-brand-title{letter-spacing:.04em;white-space:nowrap;font-size:1.1rem;font-weight:600}.vs-appbar .vs-brand-logo{align-items:center;gap:10px;display:inline-flex}.vs-appbar .k-button{color:inherit}.vs-appbar-user{opacity:.9;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.85rem;overflow:hidden}.vs-shell{flex-direction:column;height:100vh;display:flex}.vs-shell .k-drawer-container{flex:auto;min-height:0}.vs-shell .k-drawer-content{background-color:var(--vs-app-bg);overflow:auto}.vs-shell .k-drawer{background-color:var(--vs-card-bg);color:var(--vs-text);border-color:var(--vs-border)}.vs-shell .k-drawer-item{color:var(--vs-text)}.vs-shell .k-drawer-item.k-selected{background-color:var(--vs-brand);color:var(--vs-brand-contrast)}.vs-page{max-width:1600px;padding:16px 20px 28px}.vs-page h2{color:var(--vs-text);margin:4px 0 14px;font-size:1.25rem}.vs-card{background:var(--vs-card-bg);border:1px solid var(--vs-border);border-radius:8px;padding:14px 16px}:root[data-theme=light],:root:not([data-theme=dark]){--kendo-color-primary:#1274ac;--kendo-color-primary-hover:#0f6494;--kendo-color-primary-active:#0c547d;--kendo-color-on-primary:#fff;--kendo-color-primary-emphasis:#4aa3df;--kendo-color-primary-subtle:#e2f1fa;--kendo-color-primary-subtle-hover:#d0e8f6;--kendo-color-primary-subtle-active:#b9ddf1;--kendo-color-primary-on-subtle:#0c3a57;--kendo-color-primary-on-surface:#1274ac}:root[data-theme=dark]{--kendo-color-primary:#4aa3df;--kendo-color-primary-hover:#5fb0e6;--kendo-color-primary-active:#3b8dc6;--kendo-color-on-primary:#0c1217;--kendo-color-primary-emphasis:#7cc0ec;--kendo-color-primary-subtle:#173a52;--kendo-color-primary-subtle-hover:#1c4663;--kendo-color-primary-subtle-active:#225474;--kendo-color-primary-on-subtle:#cfe7f7;--kendo-color-primary-on-surface:#4aa3df}.vs-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.vs-toolbar .vs-spacer{flex:auto}.vs-toolbar .k-datepicker{width:160px}.vs-count{color:var(--vs-muted);white-space:nowrap;font-size:.85rem}.vs-badge{border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-block}.vs-badge-monthly{background:var(--vs-brand-soft);color:var(--vs-brand)}.vs-badge-perpetual{color:#8a63d2;background:#6e50be24}.vs-status-2xx{color:var(--vs-ok);background:#2e9e4f26}.vs-status-4xx{color:var(--vs-warn);background:#d98c0026}.vs-status-5xx{color:var(--vs-bad);background:#d1343826}.vs-status-other{background:var(--vs-track);color:var(--vs-muted)}.vs-status-queued{background:var(--vs-brand-soft);color:var(--vs-brand)}.vs-desc{color:var(--vs-muted);margin:-8px 0 14px;font-size:.85rem}.vs-section{margin-top:24px}.vs-section-title{color:var(--vs-text);margin:18px 0 10px;font-size:1.05rem}.vs-truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:320px;display:inline-block;overflow:hidden}.vs-tiles{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.vs-tile{background:var(--vs-card-bg);border:1px solid var(--vs-border);border-left-width:4px;border-radius:8px;min-width:120px;padding:10px 18px}.vs-tile-value{font-size:1.45rem;font-weight:700;line-height:1.2}.vs-tile-label{color:var(--vs-muted);font-size:.78rem}.vs-tile-ok{border-left-color:var(--vs-ok)}.vs-tile-ok .vs-tile-value{color:var(--vs-ok)}.vs-tile-warn{border-left-color:var(--vs-warn)}.vs-tile-warn .vs-tile-value{color:var(--vs-warn)}.vs-tile-info{border-left-color:var(--vs-brand)}.vs-tile-info .vs-tile-value{color:var(--vs-brand)}.vs-tile-bad{border-left-color:var(--vs-bad)}.vs-tile-bad .vs-tile-value{color:var(--vs-bad)}.vs-filestate{flex-wrap:wrap;gap:8px 40px;margin-bottom:14px;display:flex}.vs-filestate .vs-field-label{margin-bottom:2px}.vs-cred-form{grid-template-columns:1fr 1fr;gap:4px 20px;max-width:820px;margin-bottom:6px;display:grid}.vs-card .k-textarea,.vs-card textarea{width:100%}@media (width<=860px){.vs-cred-form{grid-template-columns:1fr}}.vs-row-click{cursor:pointer}.vs-row-click:hover td{background-color:var(--vs-brand-soft)!important}.vs-vcard{min-width:0;max-height:74vh;padding:18px 22px 22px;overflow:auto}.vs-vcard-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.vs-vcard-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vs-vcard-title{color:var(--vs-text);font-size:1.45rem;font-weight:700}.vs-make-chip{letter-spacing:.08em;color:#fff;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.vs-make-renault{background:#1274ac}.vs-make-ford{background:#1d3f77}.vs-make-toyota{background:#d13438}.vs-make-lexus{background:#4a4f54}.vs-make-mercedes{background:#566b76}.vs-make-other{background:var(--vs-muted)}.vs-vcard-vin{align-items:center;gap:4px;margin:4px 0 2px;font-size:.95rem;display:flex}.vs-vcard-lang{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.vs-vcard-tiles{flex-wrap:wrap;gap:10px;margin-bottom:6px;display:flex}.vs-vtile{background:var(--vs-card-bg);border:1px solid var(--vs-border);border-radius:8px;min-width:110px;padding:8px 14px}.vs-vtile-value{color:var(--vs-text);font-size:.92rem;font-weight:600}.vs-vtile-label{color:var(--vs-muted);margin-top:1px;font-size:.72rem}.vs-vcard-section{margin-top:16px}.vs-vcard-section h4{color:var(--vs-text);border-bottom:1px solid var(--vs-border);margin:0 0 8px;padding-bottom:4px;font-size:.95rem}.vs-chip-row{flex-wrap:wrap;gap:8px;display:flex}.vs-chip{border:1px solid var(--vs-border);background:var(--vs-card-bg);color:var(--vs-text);border-radius:999px;align-items:center;gap:8px;padding:3px 12px;font-size:.82rem;display:inline-flex}.vs-chip-label{color:var(--vs-muted);font-size:.75rem}.vs-dl{grid-template-columns:1fr 1fr;gap:2px 32px;margin:0;display:grid}.vs-dl-row{border-bottom:1px dashed var(--vs-border);justify-content:space-between;gap:12px;padding:3px 0;font-size:.85rem;display:flex}.vs-dl-row dt{color:var(--vs-muted);white-space:nowrap}.vs-dl-row dd{text-align:right;word-break:break-word;margin:0}.vs-tyre-row{align-items:baseline;gap:14px;padding:3px 0;font-size:.85rem;display:flex}.vs-tyre-row .vs-field-label{min-width:60px;margin:0}.vs-plate-number{margin-bottom:8px;font-size:.85rem}.vs-equip-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 14px;max-height:320px;padding-right:4px;display:grid;overflow:auto}.vs-equip-item{flex-direction:column;align-items:flex-start;gap:3px;padding-bottom:4px;font-size:.82rem;line-height:1.35;display:flex}.vs-chip-code{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;flex:none;max-width:100%;padding:1px 7px;font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem;overflow:hidden}.vs-chip-ordered{background:var(--vs-brand);color:var(--vs-brand-contrast);border:1px solid var(--vs-brand)}.vs-chip-outline{color:var(--vs-brand);border:1px solid var(--vs-brand);background:0 0}.vs-equip-desc{color:var(--vs-text);padding-left:2px}@media (width<=760px){.vs-dl{grid-template-columns:1fr}.vs-vcard-header{flex-direction:column}.vs-vcard-lang{align-items:flex-start}}.vs-colmenu{min-width:190px;padding:10px}.vs-colmenu .k-input{width:100%}.vs-colmenu-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.vs-colmenu-list{flex-direction:column;max-height:280px;padding:6px;display:flex;overflow:auto}.vs-colmenu-option{text-align:left;cursor:pointer;font:inherit;color:var(--vs-text);background:0 0;border:none;border-radius:5px;padding:6px 10px}.vs-colmenu-option:hover{background:var(--vs-brand-soft)}.vs-colmenu-option-active{background:var(--vs-brand);color:var(--vs-brand-contrast);font-weight:600}.vs-colmenu-option-active:hover{background:var(--vs-brand)}.vs-col-filtered .k-grid-column-menu,.vs-col-filtered .k-grid-header-menu{border-radius:4px;color:var(--vs-brand)!important;background-color:var(--vs-brand-soft)!important}.vs-usagebar{flex-direction:column;gap:3px;min-width:110px;display:flex}.vs-usagebar-track{background:var(--vs-track);border-radius:3px;height:6px;overflow:hidden}.vs-usagebar-fill{border-radius:3px;height:100%;transition:width .4s}.vs-usagebar-label{color:var(--vs-muted);white-space:nowrap;font-size:.75rem}.vs-brands-list{flex-direction:column;gap:10px;min-width:240px;margin:4px 0 10px;display:flex}.vs-brands-row{color:var(--vs-text);justify-content:space-between;align-items:center;gap:16px;font-size:.9rem;display:flex}.vs-notice{border:1px solid #0000;border-radius:6px;margin:8px 0;padding:8px 12px;font-size:.875rem}.vs-notice-error{color:var(--vs-bad);background:#d134381f;border-color:#d1343866}.vs-notice-success{color:var(--vs-ok);background:#2e9e4f1f;border-color:#2e9e4f66}.vs-notice-info{background:var(--vs-brand-soft);border-color:var(--vs-brand);color:var(--vs-brand)}.vs-notice-warn{color:var(--vs-warn);background:#d98c001f;border-color:#d98c0073}.vs-vincheck-busy,.vs-vincheck-result{align-items:center;gap:8px;margin:8px 0;font-size:.85rem;display:flex}.vs-login-wrap{background:linear-gradient(#08203280, #082032a6), url(/login-bg.jpg) center center / cover no-repeat, var(--vs-app-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}:root[data-theme=dark] .vs-login-wrap{background:linear-gradient(#060c14b8, #060c14d1), url(/login-bg.jpg) center center / cover no-repeat, var(--vs-app-bg)}.vs-login-card{background:var(--vs-card-bg);border:1px solid var(--vs-border);border-radius:10px;width:100%;max-width:400px;padding:28px 28px 24px;box-shadow:0 18px 48px #04121e73}.vs-login-brand{color:var(--vs-brand);letter-spacing:.05em;justify-content:center;align-items:center;gap:10px;margin-bottom:6px;font-size:1.3rem;font-weight:700;display:flex}.vs-login-sub{text-align:center;color:var(--vs-muted);margin-bottom:18px;font-size:.85rem}.vs-login-card .k-form-field,.vs-field{margin-bottom:12px;display:block}.vs-field-label{color:var(--vs-muted);margin-bottom:4px;font-size:.8rem;display:block}.vs-login-actions{margin-top:16px}.vs-login-actions .k-button{width:100%}.vs-divider{color:var(--vs-muted);align-items:center;gap:10px;margin:16px 0;font-size:.8rem;display:flex}.vs-divider:before,.vs-divider:after{content:"";background:var(--vs-border);flex:1;height:1px}.vs-oauth-btn{justify-content:center;width:100%;margin-bottom:8px}.vs-oauth-btn .k-button-text{align-items:center;gap:8px;display:inline-flex}.vs-tfa-qr{border:1px solid var(--vs-border);background:#fff;border-radius:8px;width:180px;height:180px;margin:10px auto;padding:6px;display:block}.vs-tfa-secret{text-align:center;background:var(--vs-track);color:var(--vs-text);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;margin:8px 0 14px;padding:6px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:.8rem}.vs-code-input .k-input-inner{text-align:center;letter-spacing:.5em;font-family:SFMono-Regular,Consolas,monospace;font-size:1.3rem}.vs-grid-mono{font-family:SFMono-Regular,Consolas,monospace;font-size:.8rem}.vs-muted{color:var(--vs-muted)}.vs-nowrap{white-space:nowrap}.vs-cache-hit{color:var(--vs-ok);font-weight:600}.vs-cache-miss{color:var(--vs-muted)}.vs-dialog-form{grid-template-columns:1fr 1fr;gap:12px 16px;width:min(560px,82vw);display:grid}.vs-dialog-form .vs-col-span{grid-column:1/-1}.vs-radio-row{align-items:center;gap:18px;padding-top:4px;display:flex}.vs-hint{color:var(--vs-muted);margin-top:3px;font-size:.75rem}@media (width<=1100px){.vs-appbar-user{display:none}}@media (width<=720px){.vs-dialog-form{grid-template-columns:1fr}}
