/* Vital Workshop application shell — intentionally self-contained so the UI works even when theme styling is unavailable. */
:root{--vb-primary:#17324D;--vb-accent:#16A66F;--vb-secondary:#8D6BDB;--vb-bg:#F5F7F9;--vb-card:#fff;--vb-text:#182536;--vb-muted:#687684;--vb-border:#E4E8EC;--vb-success:#16A66F;--vb-warning:#F59E0B;--vb-danger:#EF4444;--vb-radius:12px;--vb-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--vb-sidebar-width:238px;--vb-header-height:64px}
.vb-app,.vb-app *{box-sizing:border-box}.vb-app{min-height:100vh;background:var(--vb-bg);font-family:var(--vb-font);color:var(--vb-text);font-size:13px;line-height:1.45;display:flex}.vb-sidebar{width:var(--vb-sidebar-width);background:var(--vb-card);border-right:1px solid var(--vb-border);position:fixed;inset:0 auto 0 0;z-index:50;display:flex;flex-direction:column}.vb-sidebar-brand{height:92px;padding:20px 20px;border-bottom:1px solid #f0f2f4;display:flex;align-items:center}.vb-sidebar-brand .vb-logo-img{width:var(--vb-logo-width,170px);max-width:100%;height:auto;max-height:52px;object-fit:contain}.vb-logo-placeholder{border:1px dashed #cfd6dc;border-radius:8px;padding:8px 14px;color:var(--vb-muted);font-size:11px}.vb-sidebar-nav{padding:13px 10px;overflow:auto;flex:1}.vb-side-label{font-size:9px;font-weight:800;letter-spacing:.08em;color:#7b8792;padding:13px 10px 6px}.vb-side-link{height:36px;display:flex;align-items:center;gap:10px;padding:0 11px;border-radius:8px;color:#334153;text-decoration:none;margin:2px 0;font-size:12px;font-weight:500}.vb-side-link:hover{background:#f4f7f8}.vb-side-link.active{background:#eaf8f2;color:var(--vb-accent);font-weight:700}.vb-side-icon{width:18px;text-align:center;font-size:15px;opacity:.9}.vb-sidebar-bottom{margin:10px;border-top:1px solid var(--vb-border);padding:13px 8px;display:flex;gap:9px;align-items:center}.vb-sidebar-bottom strong,.vb-sidebar-bottom small{display:block}.vb-sidebar-bottom strong{font-size:11px}.vb-sidebar-bottom small{font-size:9px;color:var(--vb-muted);margin-top:2px}.vb-status-dot{width:9px;height:9px;border-radius:50%;background:var(--vb-accent);box-shadow:0 0 0 3px #e6f7ef}.vb-main{margin-left:var(--vb-sidebar-width);min-width:0;flex:1;min-height:100vh}.vb-topbar{height:var(--vb-header-height);background:var(--vb-card);border-bottom:1px solid var(--vb-border);display:flex;align-items:center;padding:0 22px;gap:18px;position:sticky;top:0;z-index:40}.vb-menu{border:0;background:none;font-size:18px;color:#344252;cursor:pointer;padding:5px}.vb-mobile-logo{display:none}.vb-topbar-search{margin-left:auto;width:min(310px,35vw);height:34px;border:1px solid var(--vb-border);border-radius:7px;display:flex;align-items:center;padding:0 10px;color:#9aa4ad;background:#fff}.vb-topbar-search input{border:0;outline:0;width:100%;padding-left:7px;font:inherit;color:var(--vb-text);background:transparent}.vb-topbar-actions{display:flex;align-items:center;gap:12px}.vb-topbar-actions>button{position:relative;border:0;background:none;color:#344252;font-size:16px;cursor:pointer;padding:5px}.vb-topbar-actions>button b{position:absolute;right:-2px;top:-2px;background:var(--vb-danger);color:#fff;font-size:8px;line-height:14px;min-width:14px;height:14px;border-radius:10px}.vb-user{display:flex;align-items:center;gap:8px;margin-left:3px}.vb-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8eef2;color:var(--vb-primary);font-weight:800;font-size:12px}.vb-user-text strong,.vb-user-text small{display:block}.vb-user-text strong{font-size:11px}.vb-user-text small{font-size:9px;color:var(--vb-muted)}.vb-content{padding:22px 24px 10px;max-width:1500px;margin:0 auto}.vb-page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.vb-page-head h1{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.4px}.vb-page-head p{margin:5px 0 0;color:var(--vb-muted);font-size:11px}.vb-content>.vb-page-head+*{margin-top:0}.vb-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.vb-card{background:var(--vb-card);border:1px solid var(--vb-border);border-radius:var(--vb-radius);padding:15px;box-shadow:0 2px 8px rgba(24,37,54,.025)}.vb-card h2{font-size:14px;margin:0 0 13px}.vb-card h3{font-size:10px;font-weight:600;color:var(--vb-muted);margin:0 0 8px}.vb-value{font-size:23px;font-weight:800;letter-spacing:-.5px}.vb-section{margin-top:14px}.vb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:9px 12px;background:var(--vb-primary);color:#fff!important;text-decoration:none;cursor:pointer;font-weight:700;font-size:11px}.vb-btn.gold{background:var(--vb-accent)}.vb-btn.light{background:#f2f5f7;color:var(--vb-text)!important;border-color:var(--vb-border)}.vb-btn.danger{background:var(--vb-danger)}.vb-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--vb-card);border:1px solid var(--vb-border);border-radius:10px;overflow:hidden}.vb-table th,.vb-table td{padding:9px 10px;border-bottom:1px solid #edf0f2;text-align:left;font-size:10px}.vb-table th{background:#fbfcfd;color:#7b8792;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.vb-table tr:last-child td{border-bottom:0}.vb-badge{display:inline-block;padding:4px 7px;border-radius:5px;font-size:9px;font-weight:700}.vb-badge.pending{background:#fff1d6;color:#a66b00}.vb-badge.approved{background:#e8f0ff;color:#2563eb}.vb-badge.issued,.vb-badge.completed{background:#e7f7ef;color:#16794b}.vb-badge.rejected{background:#fee9e7;color:#b42318}.vb-form{background:var(--vb-card);border:1px solid var(--vb-border);border-radius:var(--vb-radius);padding:18px}.vb-form label{display:block;font-size:10px;font-weight:700;margin:0 0 5px}.vb-form input,.vb-form select,.vb-form textarea{width:100%;padding:9px;border:1px solid #d4dbe1;border-radius:7px;margin-bottom:12px;font:inherit;background:#fff;color:var(--vb-text)}.vb-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vb-alert{padding:11px;border-radius:8px;margin:9px 0;font-size:11px}.vb-alert.warning{background:#fff7df;border:1px solid #ecd27a}.vb-alert.danger{background:#fee9e7;border:1px solid #f3b5b0}.vb-alert.success{background:#e8f7ef;border:1px solid #a9dec2}.vb-footer{text-align:center;color:#89949e;font-size:9px;padding:24px}.vb-logo-img{display:block}
.vb-dashboard-charts{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr);gap:12px}.vb-chart-bars{height:205px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:14px 8px 4px;border-top:1px solid #f1f3f5}.vb-chart-day{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative}.vb-bar{width:12px;border-radius:3px 3px 0 0;background:var(--vb-accent);min-height:4px}.vb-bar.alt{background:#d2b5ff;background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 3px,rgba(255,255,255,.65) 3px,rgba(255,255,255,.65) 5px)}.vb-chart-label{position:absolute;bottom:-17px;font-size:9px;color:#7c8791}.vb-low-item{padding:9px 0;border-bottom:1px solid #edf0f2}.vb-low-item:last-child{border-bottom:0}.vb-low-head{display:flex;justify-content:space-between;font-size:10px;font-weight:700}.vb-low-meta{font-size:9px;color:var(--vb-danger)}.vb-progress{height:4px;background:#edf0f2;border-radius:5px;margin-top:7px;overflow:hidden}.vb-progress span{display:block;height:100%;background:var(--vb-danger)}.vb-donut{width:138px;height:138px;border-radius:50%;background:conic-gradient(var(--vb-accent) 0 78%,#d7b7ff 78% 100%);position:relative;margin:10px auto}.vb-donut:after{content:"";position:absolute;inset:28px;background:#fff;border-radius:50%}.vb-donut strong{position:absolute;z-index:1;inset:0;display:grid;place-items:center;font-size:20px}.vb-util{display:flex;justify-content:space-between;gap:18px;align-items:center}.vb-util-legend{flex:1}.vb-util-row{display:flex;justify-content:space-between;font-size:10px;padding:7px 0}.vb-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--vb-accent);margin-right:6px}.vb-dot.purple{background:#d7b7ff}.vb-kpi-trend{font-size:9px;margin-top:6px}.vb-up{color:#07945b}.vb-down{color:var(--vb-danger)}
@media(max-width:1200px){.vb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vb-dashboard-charts{grid-template-columns:1fr}.vb-sidebar{width:210px}.vb-main{margin-left:210px}}
@media(max-width:800px){.vb-sidebar{transform:translateX(-100%);transition:transform .2s}.vb-app.menu-open .vb-sidebar{transform:translateX(0)}.vb-main{margin-left:0}.vb-topbar{padding:0 12px}.vb-topbar-search{width:auto;flex:1;max-width:none}.vb-user-text,.vb-user>span{display:none}.vb-mobile-logo{display:block}.vb-mobile-logo .vb-logo-img{width:120px;max-height:38px}.vb-sidebar-brand{height:70px}.vb-content{padding:16px 12px}.vb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vb-grid{grid-template-columns:1fr}.vb-topbar-actions>button{display:none}.vb-page-head h1{font-size:19px}.vb-dashboard-charts{display:block}.vb-card{margin-bottom:12px}.vb-chart-bars{height:170px}.vb-table{display:block;overflow:auto;white-space:nowrap}.vb-row{grid-template-columns:1fr}}
@media print{.vb-sidebar,.vb-topbar,.vb-footer,.no-print{display:none!important}.vb-main{margin:0}.vb-content{padding:0}.vb-card{box-shadow:none}}

/* v1.4 polish + authentication */
.vb-login-shell{min-height:100vh;background:radial-gradient(circle at top left,#eef8f4 0,#f6f8fa 42%,#eef1f4 100%);display:grid;place-items:center;padding:28px;font-family:var(--vb-font)}
.vb-login-card{width:min(430px,100%);background:#fff;border:1px solid var(--vb-border);border-radius:18px;padding:34px;box-shadow:0 20px 60px rgba(24,37,54,.10)}
.vb-login-logo{text-align:center;margin:0 auto 22px}.vb-login-logo img{width:var(--vb-logo-width,170px);max-width:100%;height:auto;max-height:70px;object-fit:contain}.vb-login-logo-placeholder{width:var(--vb-logo-width,170px);max-width:100%;height:58px;margin:0 auto 22px;border:1px dashed #cfd7de;border-radius:10px;display:grid;place-items:center;color:var(--vb-muted);font-size:11px;font-weight:800}
.vb-login-heading{text-align:center;margin-bottom:22px}.vb-login-heading h1{font-size:25px;letter-spacing:-.5px;margin:0 0 5px}.vb-login-heading p{margin:0;color:var(--vb-muted);font-size:12px}.vb-login-form label{display:block;font-size:11px;font-weight:750;margin:0 0 6px}.vb-login-form>label{margin-top:14px}.vb-login-form input[type=text],.vb-login-form input[type=password]{width:100%;height:43px;border:1px solid #d6dde3;border-radius:9px;padding:0 12px;background:#fff;color:var(--vb-text);outline:none;font:inherit}.vb-login-form input:focus{border-color:var(--vb-accent);box-shadow:0 0 0 3px rgba(22,166,111,.10)}.vb-password{position:relative}.vb-password input{padding-right:55px!important}.vb-show-pass{position:absolute;right:5px;top:5px;height:33px;border:0;background:#f3f6f7;border-radius:7px;color:var(--vb-muted);font-size:10px;font-weight:700;cursor:pointer;padding:0 9px}.vb-login-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 18px;font-size:10px}.vb-login-options a{color:var(--vb-accent);text-decoration:none;font-weight:700}.vb-check{display:flex!important;align-items:center;gap:5px!important;margin:0!important;color:var(--vb-muted);font-weight:500!important}.vb-check input{accent-color:var(--vb-accent)}.vb-login-submit{width:100%;height:44px;font-size:12px}.vb-login-submit span{font-size:15px}.vb-login-note{text-align:center;color:#8b959e;font-size:10px;margin:18px 0 0}.vb-user-menu{position:relative}.vb-user{border:0;background:transparent;display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px}.vb-user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:190px;background:#fff;border:1px solid var(--vb-border);border-radius:10px;box-shadow:0 12px 30px rgba(24,37,54,.12);padding:7px;z-index:100}.vb-user-menu.open .vb-user-dropdown{display:block}.vb-user-dropdown a{display:block;padding:9px 10px;border-radius:7px;text-decoration:none;font-size:11px}.vb-user-dropdown a:hover{background:#f4f7f8}.vb-dropdown-name{font-weight:800;font-size:11px;padding:9px 10px 7px;border-bottom:1px solid #edf0f2;margin-bottom:4px}.vb-user-dropdown .vb-logout{color:var(--vb-danger)}
.vb-sidebar-brand{overflow:hidden}.vb-sidebar-brand .vb-logo-img{width:var(--vb-logo-width,170px)!important}.vb-topbar{box-shadow:0 1px 0 rgba(20,35,50,.01)}.vb-card{transition:box-shadow .16s ease,transform .16s ease}.vb-card:hover{box-shadow:0 7px 22px rgba(24,37,54,.055)}
@media(max-width:800px){.vb-login-shell{padding:18px}.vb-login-card{padding:27px 22px}.vb-user-menu .vb-user-text{display:none}}

/* v1.5 application shell reset + polish */
html,body{margin:0!important;padding:0!important;background:var(--vb-bg)!important;}
body{overflow-x:hidden;}
.vb-app{width:100%;min-width:0;}
.vb-content{position:relative;}
.vb-page-actions{display:flex;justify-content:flex-end;margin:-4px 0 14px;}
.vb-page-head{margin-bottom:10px;}
.vb-page-head h1{font-weight:750;}
.vb-topbar-search input::placeholder{color:#a0a9b1;}
.vb-side-link,.vb-btn,.vb-topbar-actions button,.vb-user{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.vb-btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(24,37,54,.08);}
.vb-side-link.active{box-shadow:inset 3px 0 0 var(--vb-accent);}
.vb-sidebar-brand .vb-logo-placeholder{width:100%;text-align:center;}
.vb-topbar{backdrop-filter:saturate(1.1) blur(8px);}
@media(max-width:800px){.vb-page-actions{margin-top:0;}.vb-page-head{align-items:flex-start;}}

/* Official branded documents */
.vb-print-document{display:none}
.vb-document-brand{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:0 0 18px;margin-bottom:20px;border-bottom:2px solid var(--vb-primary)}
.vb-document-brand-main{display:flex;align-items:center;gap:14px}.vb-document-logo{width:var(--vb-logo-width,170px);max-height:58px;object-fit:contain}.vb-document-company{font-size:20px;font-weight:800;color:var(--vb-primary)}.vb-document-department{font-size:11px;color:var(--vb-muted);margin-top:3px}.vb-document-meta{text-align:right;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--vb-muted)}.vb-document-meta strong{font-size:14px;color:var(--vb-text)}
.vb-document-vehicle{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 22px}.vb-document-vehicle>div{padding:11px;border:1px solid var(--vb-border);border-radius:7px}.vb-document-vehicle span{display:block;font-size:9px;text-transform:uppercase;color:var(--vb-muted);letter-spacing:.4px}.vb-document-vehicle strong{display:block;margin-top:4px;font-size:12px}
.vb-print-document h2{font-size:15px;margin:0 0 10px}.vb-document-table{width:100%;border-collapse:collapse;font-size:10px}.vb-document-table th{background:#f1f4f6;color:var(--vb-text);text-align:left;padding:8px;border:1px solid #d8dee3}.vb-document-table td{padding:8px;border:1px solid #d8dee3}.vb-document-note{margin-top:18px;padding:10px;background:#f7f9fa;border-left:3px solid var(--vb-accent);font-size:10px;color:var(--vb-muted)}.vb-document-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.vb-document-signatures span{font-size:10px;font-weight:700}.vb-document-signatures .sig-line{border-bottom:1px solid #555;height:35px}.vb-document-signatures small{font-size:9px;color:var(--vb-muted)}.vb-document-footer{display:flex;justify-content:space-between;border-top:1px solid #d8dee3;margin-top:35px;padding-top:10px;font-size:9px;color:#687684}
@media print{.vb-print-document{display:block!important}.vb-screen-document{display:none!important}.vb-document-brand{break-inside:avoid}.vb-document-table{page-break-inside:auto}.vb-document-table tr{page-break-inside:avoid}.vb-document-footer{position:relative}}

@page{size:A4;margin:14mm}@media print{.vb-print-document{display:block!important}.vb-screen-document{display:none!important}.vb-app{display:block!important}.vb-sidebar,.vb-topbar,.vb-page-head,.vb-sidebar-nav{display:none!important}.vb-main,.vb-content{display:block!important;padding:0!important;margin:0!important}.vb-print-document .vb-card{border:0!important;box-shadow:none!important;padding:0!important;background:#fff!important}}

/* v1.5.5 official document print order */
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important;}
  body{font-size:11px!important;}
  .vb-app{display:block!important;margin:0!important;padding:0!important;}
  .vb-main,.vb-content{display:block!important;margin:0!important;padding:0!important;}
  .vb-print-document{display:block!important;margin:0!important;padding:0!important;}
  .vb-screen-document,.vb-sidebar,.vb-topbar,.vb-footer,.vb-page-head,.vb-page-actions,.no-print{display:none!important;}
  .vb-document-brand{margin-top:0!important;padding-top:0!important;page-break-inside:avoid;}
  .vb-document-table{width:100%!important;}
}
@page{size:A4;margin:12mm 12mm 14mm 12mm;}

/* v1.5.6 official document: no application/site chrome in print */
@media print {
  html, body { margin:0 !important; padding:0 !important; background:#fff !important; }
  #wpadminbar, .admin-bar, .site-header, .site-footer,
  .vb-top, .vb-topbar, .vb-header, .vb-footer,
  .vb-sidebar, .vb-nav, .vb-app-header, .vb-screen-document,
  .no-print { display:none !important; }
  .vb-print-document { display:block !important; margin:0 !important; padding:0 !important; }
}

/* v1.6 search controls and workflow chart */
.vb-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.vb-list-head h2{margin:0}
.vb-list-search{width:min(380px,100%);height:38px;border:1px solid var(--vb-border);border-radius:9px;background:#fff;padding:0 12px;font:inherit;color:var(--vb-text);outline:none}.vb-list-search:focus{border-color:var(--vb-accent);box-shadow:0 0 0 3px rgba(22,166,111,.08)}
.vb-search-select{position:relative;min-width:210px}.vb-search-input{width:100%;height:38px;border:1px solid var(--vb-border);border-radius:8px;padding:0 11px;background:#fff;color:var(--vb-text);font:inherit;outline:none}.vb-search-input:focus{border-color:var(--vb-accent);box-shadow:0 0 0 3px rgba(22,166,111,.08)}.vb-search-results{display:none;position:absolute;z-index:50;left:0;right:0;top:42px;background:#fff;border:1px solid var(--vb-border);border-radius:9px;box-shadow:0 10px 25px rgba(15,30,45,.12);max-height:230px;overflow:auto;padding:5px}.vb-search-results.open{display:block}.vb-search-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:6px;font:inherit;font-size:12px;color:var(--vb-text);cursor:pointer}.vb-search-option:hover{background:#f1f7f5}.vb-search-empty{padding:10px;color:var(--vb-muted);font-size:12px}.vb-request-items td{vertical-align:top}
.vb-status-chart{display:flex;align-items:center;gap:22px;min-height:190px}.vb-status-donut{width:142px;height:142px;flex:0 0 142px;border-radius:50%;background:conic-gradient(var(--vb-accent) 0 calc(var(--p)*1%),#a987e9 0 calc((var(--p) + var(--a))*1%),#4b83d8 0 calc((var(--p) + var(--a) + var(--i))*1%),#ef4444 0 100%);display:grid;place-items:center;position:relative}.vb-status-donut:after{content:"";position:absolute;inset:29px;background:#fff;border-radius:50%}.vb-status-donut strong,.vb-status-donut span{position:relative;z-index:1}.vb-status-donut strong{font-size:24px}.vb-status-donut span{margin-top:-48px;font-size:9px;color:var(--vb-muted)}.vb-dot.blue{background:#4b83d8!important}.vb-dot.red{background:#ef4444!important}
@media(max-width:700px){.vb-list-head{align-items:stretch;flex-direction:column}.vb-list-search{width:100%}.vb-status-chart{justify-content:center}.vb-search-select{min-width:180px}}

/* v1.6.2 functional header controls */
.vb-top-search-form{display:flex;align-items:center;flex:1;min-width:0}.vb-top-search-form input{width:100%}
.vb-action-popover{position:absolute;right:70px;top:calc(100% + 8px);width:220px;background:#fff;border:1px solid var(--vb-border);border-radius:10px;box-shadow:0 12px 30px rgba(24,37,54,.12);padding:12px;z-index:120;display:none}.vb-action-popover.open{display:flex;flex-direction:column;gap:5px}.vb-action-popover strong{font-size:11px}.vb-action-popover span{font-size:10px;color:var(--vb-muted)}
.vb-topbar-actions{position:relative}.vb-global-search-form{margin:0}.vb-global-search-box{display:flex;align-items:center;gap:9px;border:1px solid var(--vb-border);border-radius:10px;padding:5px 5px 5px 12px;background:#fff}.vb-global-search-box span{color:#9aa4ad}.vb-global-search-box input{flex:1;border:0;outline:0;height:36px;font:inherit;min-width:0}.vb-search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.vb-search-results-grid h2{display:flex;justify-content:space-between;align-items:center}.vb-count{font-size:10px;background:#eef3f5;padding:4px 7px;border-radius:999px;color:var(--vb-muted)}.vb-search-result{display:flex;flex-direction:column;gap:3px;padding:10px;border-top:1px solid #edf0f2;text-decoration:none}.vb-search-result:hover{background:#f6faf8}.vb-search-result strong{font-size:11px}.vb-search-result span,.vb-search-none,.vb-search-empty-state span{font-size:10px;color:var(--vb-muted)}.vb-search-empty-state{display:flex;flex-direction:column;gap:5px;padding:35px 5px 10px;text-align:center}
@media(max-width:800px){
 .vb-sidebar{transform:translateX(-105%);transition:transform .2s ease;box-shadow:10px 0 30px rgba(0,0,0,.08)}
 .vb-app.menu-open .vb-sidebar{transform:translateX(0)}
 .vb-app.menu-open:after{content:"";position:fixed;inset:0;background:rgba(15,25,35,.25);z-index:45}
 .vb-main{margin-left:0}
 .vb-menu{z-index:60}
 .vb-topbar-search{width:auto;flex:1;margin-left:0}
 .vb-topbar-search input{min-width:0}
 .vb-user-text{display:none}
 .vb-search-results-grid{grid-template-columns:1fr}
}

/* v1.6.3 intelligent header search */
.vb-topbar-search{position:relative;z-index:130}.vb-header-suggestions{display:none;position:absolute;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid var(--vb-border);border-radius:10px;box-shadow:0 15px 35px rgba(20,35,50,.14);padding:5px;max-height:390px;overflow:auto;z-index:200}.vb-header-suggestions.open{display:block}.vb-header-suggestion{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;padding:9px 10px;border-radius:7px;text-decoration:none;color:var(--vb-text)}.vb-header-suggestion:hover{background:#f4f8f7}.vb-header-suggestion strong{font-size:11px}.vb-header-suggestion small{grid-column:2;color:var(--vb-muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vb-suggestion-type{font-size:8px;font-weight:800;color:var(--vb-accent);text-transform:uppercase;letter-spacing:.05em;grid-row:1/3;align-self:start;padding-top:2px}.vb-header-see-all{width:100%;border:0;border-top:1px solid #edf0f2;background:#fff;padding:10px;text-align:left;font:inherit;font-size:10px;font-weight:700;color:var(--vb-primary);cursor:pointer;border-radius:0 0 7px 7px}.vb-header-no-results{padding:12px 10px;color:var(--vb-muted);font-size:10px}.vb-topbar-search:focus-within{border-color:var(--vb-accent);box-shadow:0 0 0 3px rgba(22,166,111,.08)}

/* v1.6.4 single notification control + functional settings */
.vb-topbar-actions{gap:8px}.vb-notification-button{position:relative}.vb-notification-button b{position:absolute;right:-3px;top:-5px}
.vb-settings-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.vb-settings-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.vb-settings-title h2{margin:0 0 4px}.vb-settings-title p,.vb-setting-row small,.vb-settings-link small{display:block;color:var(--vb-muted);font-size:10px;margin:0}.vb-settings-icon{width:32px;height:32px;border-radius:9px;background:#eef7f3;display:grid;place-items:center;color:var(--vb-accent)}.vb-setting-row{display:grid;grid-template-columns:1fr 90px 45px;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #edf0f2}.vb-setting-row strong{display:block;font-size:11px;margin-bottom:3px}.vb-setting-row input{height:36px;border:1px solid var(--vb-border);border-radius:8px;padding:0 9px;width:100%;box-sizing:border-box}.vb-setting-row>span{font-size:10px;color:var(--vb-muted)}.vb-settings-actions{padding-top:15px}.vb-settings-link{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-top:1px solid #edf0f2}.vb-settings-link strong{display:block;font-size:11px;margin-bottom:3px}
@media(max-width:800px){.vb-settings-grid{grid-template-columns:1fr}.vb-setting-row{grid-template-columns:1fr 85px 40px}}

.vb-badge.collected{background:#e8f7ef;color:#16834e}

.vb-document-seal{margin-top:10px;padding:7px 10px;border:1px solid #d9dee3;border-left:3px solid var(--vb-accent);display:flex;gap:14px;align-items:center;font-size:9px;color:#5d6975}.vb-document-seal strong{font-size:10px;color:#182538}.vb-document-seal span{white-space:nowrap}@media print{.vb-document-seal{break-inside:avoid}}

/* v1.7.0 accounting valuation + vehicle-as-warehouse UI */
.vb-inline-value{display:flex;gap:4px;align-items:center}.vb-inline-value input{width:88px;height:30px;border:1px solid var(--vb-border);border-radius:7px;padding:0 6px;font-size:10px}.vb-inline-value button{height:30px;border:0;border-radius:7px;background:#eef7f3;color:var(--vb-accent);font-size:9px;font-weight:700;cursor:pointer}.vb-accounts-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.vb-accounts-kpis .vb-kpi-trend{font-size:10px;color:var(--vb-muted)}.vb-account-bars{margin-top:15px}.vb-account-bar{margin:0 0 14px}.vb-account-bar>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin-bottom:5px}.vb-account-bar small{color:var(--vb-muted)}.vb-account-bar strong{font-size:10px}.vb-progress{height:5px;background:#edf1f2;border-radius:99px;overflow:hidden}.vb-progress span{display:block;height:100%;background:var(--vb-accent);border-radius:99px}
@media(max-width:900px){.vb-accounts-grid{grid-template-columns:1fr}}

.vb-history-source{font-weight:700}.vb-history-source.warehouse{color:var(--vb-accent)}.vb-history-source.vehicle{color:#4b83d8}.vb-document-table th{white-space:nowrap}

.vb-table td strong{font-weight:700}.vb-table td:nth-child(5){color:var(--vb-accent)}

/* v1.8.0 Workshop Jobs / Job Cards */
.vb-job-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--vb-border)}.vb-job-hero>div>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--vb-accent)}.vb-job-hero h2{margin:4px 0}.vb-job-hero p{margin:0;color:var(--vb-muted);font-size:11px}.vb-job-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.vb-job-meta>div{border:1px solid var(--vb-border);border-radius:9px;padding:10px}.vb-job-meta span,.vb-document-vehicle span{display:block;text-transform:uppercase;font-size:8px;color:var(--vb-muted);letter-spacing:.06em}.vb-job-meta strong{display:block;margin-top:4px;font-size:11px}.vb-assignee-row{display:grid;grid-template-columns:180px 1fr auto;gap:8px;margin:8px 0}.vb-assignee-row select,.vb-assignee-row input{min-width:0}.vb-job-print-box{min-height:60px;border:1px solid #dfe4e8;border-radius:7px;padding:12px;font-size:11px}.vb-job-print{max-width:900px;margin:0 auto}.vb-print-document .vb-job-print{background:#fff}
@media(max-width:800px){.vb-job-meta{grid-template-columns:1fr 1fr}.vb-assignee-row{grid-template-columns:1fr}}
@media print{.vb-job-print{max-width:none!important}}
/* v1.9.0 technician performance */
.vb-performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.vb-performance-card{border:1px solid var(--vb-border);border-radius:10px;padding:13px}.vb-performance-card span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.08em;color:var(--vb-muted)}.vb-performance-card strong{display:block;margin-top:5px;font-size:17px}.vb-performance-card small{display:block;margin-top:5px;color:var(--vb-muted);font-size:10px}.vb-assignee-row{grid-template-columns:minmax(180px,.8fr) 1fr auto}.vb-assignee-row select{min-width:0}
@media(max-width:700px){.vb-performance-grid{grid-template-columns:1fr}.vb-assignee-row{grid-template-columns:1fr}}


/* v1.9.2 UI alignment + lighter typography */
.vb-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.vb-page-head h1{font-weight:600;font-size:20px;line-height:1.25;letter-spacing:-.25px}
.vb-page-head p{margin:5px 0 0;line-height:1.45}
.vb-card h2,.vb-section h2,.vb-list-head h2,.vb-job-hero h2,.vb-settings-title h2{font-weight:600;letter-spacing:-.15px}
.vb-card h2{font-size:14px;line-height:1.35}
.vb-card h3{font-weight:600}
.vb-section{margin-bottom:16px}
.vb-card{box-sizing:border-box}
.vb-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.vb-list-head>div{min-width:0}
.vb-list-search{width:min(320px,100%);box-sizing:border-box}
.vb-table{width:100%;table-layout:auto}
.vb-table th,.vb-table td{vertical-align:middle}
.vb-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.vb-form .vb-row{align-items:start}
.vb-form label{display:block;margin:0 0 6px;font-weight:600}
.vb-form input,.vb-form select,.vb-form textarea{box-sizing:border-box}
.vb-btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1.2;white-space:nowrap}
.vb-dashboard-grid,.vb-stats-grid{align-items:stretch}
.vb-stat-card,.vb-metric-card{height:100%;box-sizing:border-box}
.vb-document-seal{align-items:center}
@media(max-width:760px){
 .vb-page-head,.vb-list-head{display:block}
 .vb-list-search{margin-top:10px;width:100%}
 .vb-page-actions{justify-content:flex-start}
}

/* v1.9.5 — compact official one-page job card */
.vb-jobcard-print-onepage .vb-job-print{page-break-inside:avoid}
.vb-jobcard-print-onepage .vb-document-vehicle{margin-bottom:10px}
.vb-jobcard-print-onepage .vb-document-table{margin-bottom:10px}
.vb-jobcard-print-onepage h2{margin:10px 0 5px;font-size:12px}
@media print{
 @page{size:A4 portrait;margin:10mm}
 html,body{height:auto!important}
 .vb-jobcard-print-onepage{display:block!important;page-break-before:avoid!important;page-break-after:avoid!important}
 .vb-jobcard-print-onepage .vb-job-print{width:100%!important;max-width:none!important;box-sizing:border-box!important;page-break-inside:avoid!important}
 .vb-jobcard-print-onepage .vb-document-signatures{page-break-inside:avoid!important}
 .vb-jobcard-print-onepage .vb-document-table tr{page-break-inside:avoid!important}
}

/* v1.9.6 — one-page job card print layout */
@media print{
  @page{size:A4 portrait;margin:7mm 9mm 7mm 9mm}
  .vb-jobcard-print-onepage{width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;break-before:avoid!important;break-after:avoid!important;page-break-before:avoid!important;page-break-after:avoid!important}
  .vb-jobcard-print-onepage .vb-job-print{font-size:9.5px!important;line-height:1.25!important;max-width:none!important;width:100%!important;box-sizing:border-box!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .vb-jobcard-print-onepage .vb-document-brand{margin:0 0 5px!important;padding:0 0 5px!important}
  .vb-jobcard-print-onepage .vb-document-vehicle{gap:6px!important;margin:5px 0 7px!important}
  .vb-jobcard-print-onepage .vb-document-vehicle>div{padding:6px 8px!important;min-height:0!important}
  .vb-jobcard-print-onepage h2{font-size:10.5px!important;margin:6px 0 3px!important}
  .vb-jobcard-print-onepage .vb-job-print-box{min-height:38px!important;padding:7px!important}
  .vb-jobcard-print-onepage .vb-document-table{margin:0 0 6px!important;font-size:9px!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .vb-jobcard-print-onepage .vb-document-table th{padding:5px 6px!important}
  .vb-jobcard-print-onepage .vb-document-table td{padding:5px 6px!important}
  .vb-jobcard-print-onepage .vb-document-table td[style*="height:90px"]{height:125px!important;min-height:125px!important}
  .vb-jobcard-print-onepage .vb-document-signatures{margin-top:7px!important;gap:12px!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .vb-jobcard-print-onepage .vb-document-signatures>div{padding-top:3px!important}
  .vb-jobcard-print-onepage .vb-document-signatures .sig-line{margin:12px 0 3px!important}
  .vb-jobcard-print-onepage .vb-document-footer{margin-top:5px!important;padding-top:4px!important}
}

/* v1.27.0 — Vital red/white header polish */
.vb-topbar{background:#c8102e!important;border-bottom-color:#a90d26!important;color:#fff!important}
.vb-topbar .vb-menu,.vb-topbar .vb-topbar-actions>button,.vb-topbar .vb-user,.vb-topbar .vb-user-text strong,.vb-topbar .vb-user-text small,.vb-topbar .vb-user>span{color:#fff!important}
.vb-topbar-search{background:#fff!important;border-color:rgba(255,255,255,.55)!important}
.vb-topbar-search input{color:#182536!important}
.vb-topbar-search input::placeholder{color:#7b8792!important}
.vb-topbar .vb-topbar-actions>button b{background:#fff!important;color:#c8102e!important}
.vb-avatar{background:#fff!important;color:#c8102e!important}
.vb-topbar .vb-user-dropdown{border-top:3px solid #c8102e}
/* v1.9.7 — eliminate phantom first print page and keep job card together */
@media print{
  @page{size:A4 portrait;margin:6mm 8mm}
  .vb-jobcard-print-onepage{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    page-break-before:avoid!important;
    page-break-after:avoid!important;
    break-before:avoid-page!important;
    break-after:avoid-page!important;
  }
  .vb-jobcard-print-onepage .vb-job-print{
    display:block!important;
    position:relative!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    page-break-before:avoid!important;
    page-break-after:avoid!important;
    page-break-inside:auto!important;
    break-before:avoid-page!important;
    break-after:avoid-page!important;
    break-inside:auto!important;
  }
  .vb-jobcard-print-onepage .vb-document-brand{
    display:flex!important;
    position:relative!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 0 5px!important;
    padding:0 0 5px!important;
    page-break-before:avoid!important;
    page-break-after:avoid!important;
    break-before:avoid-page!important;
    break-after:avoid-page!important;
    break-inside:avoid!important;
  }
  .vb-jobcard-print-onepage .vb-document-seal{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    margin:4px 0!important;
    padding:4px 7px!important;
    page-break-before:avoid!important;
    page-break-after:avoid!important;
    break-inside:avoid!important;
  }
  .vb-jobcard-print-onepage .vb-document-vehicle{
    display:grid!important;
    clear:both!important;
    position:relative!important;
    margin:5px 0 7px!important;
    page-break-before:avoid!important;
    break-before:avoid-page!important;
    break-inside:avoid!important;
  }
  .vb-jobcard-print-onepage h2,
  .vb-jobcard-print-onepage .vb-job-print-box,
  .vb-jobcard-print-onepage .vb-document-table,
  .vb-jobcard-print-onepage .vb-document-signatures,
  .vb-jobcard-print-onepage .vb-document-footer{
    position:relative!important;
    clear:both!important;
  }
  .vb-jobcard-print-onepage .vb-document-table td[style*="height:90px"]{
    height:105px!important;
    min-height:105px!important;
  }
}

/* v1.9.8 — print only the official document; hide on-screen job metadata */
@media print{
  /* This four-box on-screen job summary was causing the phantom first page. */
  .vb-job-meta{display:none!important}
  .vb-page-head,.vb-page-actions,.vb-form,.no-print{display:none!important}
  .vb-print-document.vb-jobcard-print-onepage{
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    top:0!important;
    left:0!important;
    clear:both!important;
    page-break-before:avoid!important;
    break-before:avoid-page!important;
  }
  .vb-print-document.vb-jobcard-print-onepage .vb-job-print{
    margin:0!important;
    padding:0!important;
  }

  /* Give the technician writing/record areas substantially more room. */
  .vb-jobcard-print-onepage .vb-document-table.workshop-record-table td,
  .vb-jobcard-print-onepage .vb-workshop-record td{
    height:170px!important;
    min-height:170px!important;
    vertical-align:top!important;
  }
}

/* v1.9.9 — official job card starts at the top of the printed page */
@media print{
  html,body{
    margin:0!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    background:#fff!important;
  }

  /* Collapse the application shell so hidden dashboard content cannot reserve space. */
  .vb-app{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }
  .vb-sidebar,.vb-topbar,.vb-footer,.vb-page-head,.vb-page-actions,.vb-job-meta,.vb-form,.no-print{
    display:none!important;
    visibility:hidden!important;
  }
  .vb-main{
    display:block!important;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
  }
  .vb-content{
    display:block!important;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    height:auto!important;
    width:100%!important;
  }

  /* The printable document itself is the first printable flow element. */
  .vb-print-document.vb-jobcard-print-onepage{
    display:block!important;
    visibility:visible!important;
    position:relative!important;
    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:auto!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
    page-break-before:avoid!important;
    break-before:avoid-page!important;
  }

  /* Do not make the entire document an unbreakable box. That was pushing
     the header toward the bottom and creating a phantom first page. */
  .vb-jobcard-print-onepage .vb-job-print{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    page-break-before:avoid!important;
    page-break-after:auto!important;
    page-break-inside:auto!important;
    break-before:avoid-page!important;
    break-after:auto!important;
    break-inside:auto!important;
  }

  .vb-jobcard-print-onepage .vb-document-brand{
    margin:0 0 6px!important;
    padding:0 0 6px!important;
    page-break-before:avoid!important;
    break-before:avoid-page!important;
    break-inside:avoid!important;
  }

  .vb-jobcard-print-onepage .vb-document-vehicle{
    margin:5px 0 8px!important;
    break-inside:avoid!important;
  }

  /* More usable writing area without forcing the whole document onto a
     second page just because this table is large. */
  .vb-jobcard-print-onepage .workshop-record-table{
    width:100%!important;
    table-layout:fixed!important;
    break-inside:avoid!important;
  }
  .vb-jobcard-print-onepage .workshop-record-table td{
    height:145px!important;
    min-height:145px!important;
    vertical-align:top!important;
  }
}

/* v1.10.0 — document references are part of every generated/exported record */
.vb-document-meta span{font-variant-numeric:tabular-nums}

/* v1.11.0 — CSV import cards */
.vb-import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vb-import-grid input[type=file]{width:100%;padding:10px}.vb-import-grid .vb-btn{white-space:nowrap}@media(max-width:900px){.vb-import-grid{grid-template-columns:1fr}}

/* v1.13.1 — technician performance typography refinement */
.vb-performance-card > span{
  font-size:12px!important;
  font-weight:600!important;
}
.vb-performance-card > small{
  font-size:12px!important;
  font-weight:500!important;
}
.vb-performance-card strong{
  font-weight:700!important;
}

/* v1.15.0 — role-specific dashboards */
.vb-dashboard-subtitle{margin:0 0 16px;color:var(--vb-muted);font-size:12px}.vb-role-kpis{margin-top:0}.vb-role-kpi{text-decoration:none;display:flex;flex-direction:column;gap:5px}.vb-role-kpi span{font-size:11px;color:var(--vb-muted);font-weight:600}.vb-role-kpi strong{font-size:25px;line-height:1.15;font-weight:700;color:var(--vb-text)}.vb-role-kpi small{font-size:11px;color:var(--vb-muted)}.vb-role-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.vb-dashboard-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.vb-dashboard-links a{display:block;padding:10px 12px;border:1px solid var(--vb-border);border-radius:8px;text-decoration:none;font-size:12px;font-weight:600;color:var(--vb-text);background:#fff}.vb-dashboard-links a:hover{border-color:var(--vb-accent)}@media(max-width:800px){.vb-role-dashboard-grid{grid-template-columns:1fr}.vb-dashboard-links{grid-template-columns:1fr}}

/* v1.16.0 — modern application UI refresh */
:root{
 --vb-radius:14px;
 --vb-shadow:0 8px 24px rgba(24,37,54,.055);
}
.vb-app{
 background:
   radial-gradient(circle at 90% 0%,rgba(22,166,111,.035),transparent 28%),
   var(--vb-bg);
}
.vb-sidebar{
 background:rgba(255,255,255,.96);
 box-shadow:4px 0 20px rgba(24,37,54,.025);
}
.vb-sidebar-brand{
 height:88px;
 padding:18px 20px;
 background:#fff;
}
.vb-sidebar-nav{padding:16px 10px}
.vb-side-label{
 font-size:9px;
 font-weight:700;
 letter-spacing:.11em;
 color:#8b96a1;
 padding:14px 10px 7px;
}
.vb-side-link{
 height:40px;
 border-radius:10px;
 margin:3px 0;
 padding:0 12px;
 font-size:12px;
 color:#425165;
 transition:all .18s ease;
}
.vb-side-link:hover{
 background:#f3f7f6;
 color:var(--vb-primary);
 transform:translateX(2px);
}
.vb-side-link.active{
 background:linear-gradient(90deg,#e7f8f0,#f0faf6);
 color:var(--vb-accent);
 box-shadow:inset 3px 0 0 var(--vb-accent);
}
.vb-main{background:transparent}
.vb-topbar{
 height:68px;
 padding:0 24px;
 background:rgba(255,255,255,.92);
 box-shadow:0 1px 0 rgba(24,37,54,.035);
}
.vb-topbar-search{
 width:min(390px,42vw);
 height:38px;
 border-radius:10px;
 background:#f8fafb;
 border-color:#e1e7eb;
}
.vb-topbar-search:focus-within{
 background:#fff;
 border-color:#b9dccc;
 box-shadow:0 0 0 3px rgba(22,166,111,.08);
}
.vb-content{
 padding:28px 30px 24px;
}
.vb-page-head{
 margin-bottom:20px;
 align-items:center;
}
.vb-page-head h1{
 font-size:24px;
 font-weight:650;
 letter-spacing:-.55px;
 color:#132235;
}
.vb-page-head p{
 font-size:11px;
 margin-top:6px;
}
.vb-page-actions{
 gap:8px;
 margin:-2px 0 18px;
}
.vb-btn{
 min-height:38px;
 padding:9px 14px;
 border-radius:9px;
 font-size:11px;
 font-weight:650;
 box-shadow:0 2px 5px rgba(24,37,54,.04);
}
.vb-btn.gold{
 box-shadow:0 5px 14px rgba(22,166,111,.16);
}
.vb-btn.light{
 background:#fff;
}
.vb-btn:hover{
 transform:translateY(-1px);
 box-shadow:0 7px 16px rgba(24,37,54,.09);
}
.vb-card{
 border-radius:14px;
 padding:18px;
 border-color:#e1e7eb;
 box-shadow:var(--vb-shadow);
}
.vb-card h2{
 font-size:15px;
 font-weight:650;
 letter-spacing:-.15px;
}
.vb-card h3{
 font-size:10px;
 font-weight:600;
}
.vb-role-kpis{
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:14px;
}
.vb-role-kpi{
 min-height:132px;
 padding:18px;
 position:relative;
 overflow:hidden;
 background:linear-gradient(145deg,#fff 0%,#fbfcfd 100%);
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.vb-role-kpi:before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 width:100%;
 height:3px;
 background:var(--vb-accent);
 opacity:.8;
}
.vb-role-kpi:hover{
 transform:translateY(-3px);
 box-shadow:0 14px 28px rgba(24,37,54,.09);
 border-color:#d6e4dd;
}
.vb-role-kpi span{
 font-size:10px;
 font-weight:650;
 letter-spacing:.025em;
 text-transform:uppercase;
 color:#74808c;
}
.vb-role-kpi strong{
 margin-top:4px;
 font-size:28px;
 line-height:1.1;
 font-weight:650;
 letter-spacing:-.8px;
 color:#132235;
}
.vb-role-kpi small{
 margin-top:auto;
 font-size:10px;
 color:#788593;
}
.vb-dashboard-subtitle{
 margin:0 0 16px;
 font-size:12px;
 color:#647383;
}
.vb-role-dashboard-grid{
 gap:14px;
 margin-top:16px;
}
.vb-role-dashboard-grid .vb-card{
 min-height:150px;
}
.vb-role-dashboard-grid .vb-card h2{
 margin-bottom:7px;
}
.vb-role-dashboard-grid .vb-card p{
 color:#71808f;
 font-size:11px;
 line-height:1.6;
 max-width:620px;
}
.vb-dashboard-links{
 gap:9px;
 margin-top:14px;
}
.vb-dashboard-links a{
 padding:11px 13px;
 border-radius:9px;
 background:#fff;
 border-color:#e2e8ec;
 font-size:11px;
 font-weight:600;
 transition:all .16s ease;
}
.vb-dashboard-links a:hover{
 color:var(--vb-accent);
 border-color:#bfe1d1;
 background:#f8fcfa;
 transform:translateY(-1px);
}
.vb-section{margin-top:16px}
.vb-table{
 border-radius:11px;
}
.vb-table th{
 padding:11px 12px;
 font-size:8px;
 font-weight:700;
}
.vb-table td{
 padding:11px 12px;
 font-size:10px;
}
@media(max-width:1050px){
 .vb-role-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .vb-content{padding:20px 16px}
 .vb-page-head h1{font-size:21px}
 .vb-role-kpis{grid-template-columns:1fr 1fr;gap:10px}
 .vb-role-kpi{min-height:118px;padding:15px}
 .vb-role-kpi strong{font-size:24px}
}
@media(max-width:520px){
 .vb-role-kpis{grid-template-columns:1fr}
 .vb-page-actions{justify-content:stretch}
 .vb-page-actions .vb-btn{flex:1}
}

/* v1.17.0 — focused role sidebar and responsive drawer */
.vb-sidebar-nav{scrollbar-width:thin;scrollbar-color:#d7dfe4 transparent}
.vb-sidebar-nav::-webkit-scrollbar{width:5px}
.vb-sidebar-nav::-webkit-scrollbar-thumb{background:#d7dfe4;border-radius:8px}
.vb-sidebar-bottom{background:#fafcfc;border-radius:10px;margin:8px;padding:11px 9px}
.vb-side-label{margin-top:2px}
.vb-side-link{white-space:nowrap}
@media(max-width:800px){
 .vb-sidebar{transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 0 28px rgba(24,37,54,.12)}
 .vb-app.vb-sidebar-open .vb-sidebar{transform:translateX(0)}
 .vb-main{margin-left:0}
 .vb-topbar{padding:0 16px}
 .vb-app.vb-sidebar-open:after{content:"";position:fixed;inset:0;background:rgba(18,32,45,.25);z-index:45}
}

/* v1.19.0 — clickable vehicle records */
.vb-vehicle-link{color:var(--vb-text);text-decoration:none}
.vb-vehicle-link strong{color:var(--vb-accent)}
.vb-vehicle-link:hover{text-decoration:underline}
.vb-vehicle-row{transition:background .15s ease}
.vb-vehicle-row:hover{background:#f8fbfa}
.vb-edit-hint{margin:4px 0 14px;color:var(--vb-muted);font-size:11px}

/* v1.23.0 — workshop inventory is read-only */
.vb-readonly-value{font-weight:600;color:var(--vb-text);white-space:nowrap}
.vb-dashboard-stat-list{display:grid;gap:0;margin:0 0 18px}.vb-dashboard-stat-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}.vb-dashboard-stat-list>div:last-child{border-bottom:0}.vb-dashboard-stat-list span{font-size:13px;opacity:.72}.vb-dashboard-stat-list strong{font-size:15px;font-weight:700}


/* v1.25.0 — polished system-user management / frontend-only WP experience */
.vb-user-admin-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(480px,1.35fr);gap:16px;align-items:start}
.vb-user-admin-grid>.vb-card{min-width:0}
.vb-field-note{font-size:9px;font-weight:400;color:var(--vb-muted);margin-left:5px}
.vb-form-actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}
.vb-count-pill{display:inline-flex;align-items:center;border:1px solid var(--vb-border);background:var(--vb-soft);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:700;color:var(--vb-muted);white-space:nowrap}
.vb-user-list{display:flex;flex-direction:column;gap:7px}
.vb-user-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid var(--vb-border);border-radius:11px;background:var(--vb-surface,#fff);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.vb-user-row:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(0,0,0,.05);border-color:rgba(0,0,0,.12)}
.vb-user-avatar{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--vb-accent);color:#fff;font-weight:800;font-size:13px}
.vb-user-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.vb-user-main strong{font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vb-user-main span{font-size:9px;color:var(--vb-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vb-user-role{font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 7px;border-radius:999px;background:var(--vb-soft);color:var(--vb-accent);white-space:nowrap}
.vb-user-actions .vb-btn{font-size:9px;padding:7px 10px}
@media(max-width:1000px){.vb-user-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.vb-user-row{grid-template-columns:34px minmax(0,1fr);gap:8px}.vb-user-avatar{width:34px;height:34px}.vb-user-role{grid-column:2;justify-self:start}.vb-user-actions{grid-column:2}.vb-user-actions .vb-btn{width:100%}}


/* v1.25.0 — general UI polish */
.vb-app{font-smoothing:antialiased;-webkit-font-smoothing:antialiased}
.vb-card{box-shadow:0 1px 0 rgba(0,0,0,.02),0 8px 28px rgba(0,0,0,.035);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
.vb-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.055)}
.vb-role-kpi{position:relative;overflow:hidden}
.vb-role-kpi:after{content:"";position:absolute;right:-28px;top:-28px;width:80px;height:80px;border-radius:50%;background:var(--vb-accent);opacity:.045;pointer-events:none}
.vb-btn{border-radius:8px;font-weight:700;letter-spacing:-.05px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}
.vb-btn:hover{transform:translateY(-1px)}
.vb-topbar-search{border-radius:10px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.015)}
.vb-side-link{transition:background .15s ease,color .15s ease,transform .15s ease}
.vb-side-link:hover{transform:translateX(1px)}
.vb-table tr{transition:background .12s ease}
.vb-table tbody tr:hover,.vb-table tr:hover{background:rgba(0,0,0,.012)}


/* v1.26.0 — dedicated analytics experience */
.vb-analytics-period{display:inline-block;margin-left:8px;padding:4px 8px;border:1px solid var(--vb-border);border-radius:999px;background:#fff;color:var(--vb-muted);font-size:9px}
.vb-analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.vb-analytics-kpi{min-height:96px;display:flex;flex-direction:column;justify-content:center}.vb-analytics-kpi>span{font-size:9px;color:var(--vb-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.vb-analytics-kpi>strong{font-size:22px;line-height:1.1;margin:6px 0 4px}.vb-analytics-kpi>small{font-size:9px;color:var(--vb-muted)}
.vb-analytics-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:12px}.vb-analytics-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.vb-analytics-heading h2{margin:0}.vb-analytics-heading p{margin:3px 0 0;color:var(--vb-muted);font-size:10px}.vb-analytics-heading>a{font-size:10px;white-space:nowrap}.vb-analytics-legend{font-size:9px;color:var(--vb-muted);white-space:nowrap}.vb-analytics-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--vb-accent);margin-right:4px}.vb-analytics-legend i.transfer{background:#b98cff}
.vb-analytics-bars{height:225px;display:flex;align-items:flex-end;gap:7px;padding:14px 2px 22px;border-top:1px solid #f0f2f4}.vb-analytics-bar-day{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.vb-analytics-bar-stack{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.vb-analytics-bar{width:min(13px,38%);min-height:2px;border-radius:3px 3px 0 0;background:var(--vb-accent);transition:height .25s ease}.vb-analytics-bar.transfer{background:#b98cff}.vb-analytics-bar-day small{position:absolute;bottom:-18px;font-size:8px;color:var(--vb-muted);white-space:nowrap;transform:rotate(-25deg)}
.vb-analytics-pipeline{display:grid;gap:10px}.vb-analytics-pipeline-row>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:5px}.vb-analytics-pipeline-row>small{display:block;text-align:right;color:var(--vb-muted);font-size:8px;margin-top:2px}.vb-analytics-pipeline-row .vb-progress{margin-top:0}
.vb-analytics-list{display:grid;gap:9px}.vb-analytics-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f2}.vb-analytics-list-row:last-child{border-bottom:0}.vb-analytics-list-main{min-width:0}.vb-analytics-list-main strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vb-analytics-list-main span{display:block;color:var(--vb-muted);font-size:8px;margin-top:2px}.vb-analytics-list-value{width:100px;text-align:right}.vb-analytics-list-value>strong{font-size:10px}.vb-analytics-list-value .vb-progress{margin-top:5px}
.vb-job-donut{width:150px;height:150px;margin:6px auto 12px;border-radius:50%;background:conic-gradient(var(--vb-accent) 0 var(--open),#b98cff var(--open) calc(var(--open) + var(--progress)),#4b83d8 calc(var(--open) + var(--progress)) calc(var(--open) + var(--progress) + var(--complete)),#dfe3e7 calc(var(--open) + var(--progress) + var(--complete)) 100%);display:grid;place-items:center}.vb-job-donut>div{width:96px;height:96px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center}.vb-job-donut strong{font-size:23px}.vb-job-donut span{font-size:8px;color:var(--vb-muted)}.vb-analytics-job-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px}.vb-analytics-job-legend>div{display:flex;justify-content:space-between;font-size:9px;padding:5px 0;border-bottom:1px solid #edf0f2}.vb-analytics-job-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--vb-accent);margin-right:5px}.vb-analytics-job-legend i.in-progress{background:#b98cff}.vb-analytics-job-legend i.completed{background:#4b83d8}.vb-analytics-job-legend i.closed{background:#dfe3e7}
.vb-analytics-category-list{display:grid;gap:11px}.vb-analytics-category-list>div>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:9px;margin-bottom:5px}.vb-analytics-category-list span{color:var(--vb-muted);text-align:right}.vb-analytics-tech-table td small{display:block;color:var(--vb-muted);font-size:8px;margin-top:2px}.vb-analytics-empty{color:var(--vb-muted);font-size:10px}.vb-analytics-footnote{display:flex;gap:12px;align-items:flex-start}.vb-analytics-footnote strong{font-size:10px;white-space:nowrap}.vb-analytics-footnote span{font-size:10px;color:var(--vb-muted);line-height:1.5}
@media(max-width:1100px){.vb-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-analytics-grid{grid-template-columns:1fr}}@media(max-width:520px){.vb-analytics-kpis{grid-template-columns:1fr 1fr}.vb-analytics-kpi>strong{font-size:18px}.vb-analytics-period{display:block;margin:7px 0 0;width:max-content}.vb-analytics-heading{flex-direction:column}.vb-analytics-bars{height:185px}.vb-analytics-list-row{align-items:flex-start}.vb-analytics-list-value{width:85px}.vb-analytics-footnote{display:block}.vb-analytics-footnote span{display:block;margin-top:6px}}
