:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#f6f7f9;background:#0a0c10;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#111821,#090c11 36%,#0b0d11 90%);font-size:15px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.brand{font-size:24px;letter-spacing:.12em;font-weight:900}.brand::first-letter{color:#ee263f}.brand small{display:block;font-size:10px;color:#b1bac6;letter-spacing:.18em}.topbar{border-bottom:1px solid #27303b;display:flex;gap:12px;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:15px 22px}.topbar form{margin-left:auto}.stage,.pill{border:1px solid #394352;color:#d4dce5;padding:6px 9px;border-radius:99px;font-size:11px;letter-spacing:.08em}.app{max-width:1200px;padding:22px;margin:auto}.hero{padding:18px 4px 12px;display:flex;gap:12px;justify-content:space-between;align-items:start}.hero h1{font-size:clamp(21px,4vw,34px);margin:6px 0}.eyebrow{color:#f05a69;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}.muted{color:#a9b4c2}.hero .muted{margin-top:5px}.tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 0 18px}.tab,.ghost,.primary{border-radius:11px;border:1px solid #4a5360;padding:10px 14px;color:#f5f6f8;background:#202832;white-space:nowrap;min-height:43px}.tab.active,.primary{background:#bd1732;border-color:#e82647}.tab:hover,.ghost:hover{background:#2b3543}.panel{background:#141920;border:1px solid #2c333e;border-radius:18px;padding:18px;margin-bottom:16px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{font-size:18px;margin:0 0 12px}.panel h3{font-size:15px}.panelhead h2{margin:0}input{border-radius:12px;padding:12px 13px;min-height:48px;width:100%;background:#0e1218;border:1px solid #4b5360;color:#fff;outline:none}input:focus{border-color:#f04b64;box-shadow:0 0 0 2px #ed2c4a33}.cards{display:grid;gap:11px;padding-top:15px}.dealer-card{border:1px solid #303a46;border-radius:13px;background:#1a2029;padding:12px 14px;display:flex;align-items:center;gap:12px;justify-content:space-between}.dealer-card h3{margin:0 0 5px}.dealer-card p{margin:0}.dealer-card button{flex-shrink:0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.small-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #303744;gap:16px}.small-row span:last-child{text-align:right;color:#aeb6c2;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.stats>div{background:#0e131a;border:1px solid #2b333d;border-radius:13px;padding:15px 10px}.stats span{display:block;color:#aab4bf;font-size:12px;margin-bottom:7px}.stats strong{font-size:19px}.note{font-size:12px;color:#aab3c1}.gift-card{display:flex;gap:15px;align-items:start;border:1px solid #333d47;border-radius:13px;background:#1a2029;padding:12px}.gift-card img,.gift-placeholder{width:100px;height:100px;object-fit:cover;border-radius:9px;background:#222b34;display:grid;place-items:center;font-size:30px}.gift-card h3{margin:2px 0}.gift-card p{margin:5px 0 10px}.error{color:#ffd1d6;background:#5b1b2b55;border:1px solid #aa3850;padding:10px 12px;border-radius:10px}.footer{text-align:center;color:#87919f;font-size:11px;padding:30px 0}.login-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{background:#151b23;border:1px solid #36404e;border-radius:20px;padding:26px;max-width:440px;width:100%;box-shadow:0 24px 80px #0006}.login-card h1{font-size:25px;margin:12px 0 8px}.login-card label{display:block;color:#c8d1dc;margin:13px 0;font-size:13px}.login-card label input{margin-top:6px}.login-card .primary{width:100%;margin:8px 0}.login-card .brand{margin-bottom:26px}@media(max-width:650px){.topbar{padding:12px}.topbar .brand{font-size:20px}.app{padding:12px}.hero{padding:11px 2px}.hero .stage{display:none}.panel{padding:13px}.dealer-card{align-items:stretch;flex-direction:column}.dealer-card button{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats strong{font-size:17px}.gift-card img,.gift-placeholder{width:80px;height:80px;flex-shrink:0}.gift-card{gap:10px}.gift-card p{font-size:13px}}


/* Official VELCORE branding: replaces the temporary text logo. */
.brand.brand--logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  line-height: 1;
  letter-spacing: normal;
}
.brand.brand--logo img {
  display: block;
  width: 192px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.brand.brand--logo small {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .24em;
  color: #bfc7d2;
}
.login-card .brand--logo { margin-bottom: 24px; }
.login-card .brand--logo img { width: 248px; }
.topbar .brand--logo img { width: 180px; }
@media (max-width: 650px) {
  .login-card .brand--logo img { width: 218px; }
  .topbar .brand--logo img { width: 148px; }
}
/* Mobile-first Stage 2: workshop activity before Rewards panels */
.mobile-intro{margin:6px 0 17px;padding:5px 1px}.mobile-intro h2{font-size:clamp(21px,4vw,28px);margin:5px 0}.mobile-intro p{margin:7px 0 12px}
.track-banner{border:1px solid #425060;border-radius:17px;background:linear-gradient(130deg,#1c2430,#121921);padding:16px 18px;margin-bottom:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}.track-banner h2{font-size:22px;margin:6px 0}.track-banner p{margin:0;font-size:12px}.track-banner .muted{font-size:12px}
.tracking-panel{max-width:780px}.tracking-panel h2{font-size:19px}.tracking-panel p.muted{line-height:1.5}.tracking-panel label{display:block;margin:15px 0;color:#d1d7df;font-size:13px}.tracking-panel input,.tracking-panel select{display:block;width:100%;margin-top:7px;min-height:48px;border-radius:11px;border:1px solid #475361;background:#0c1118;color:#fff;padding:12px}.tracking-panel input[type=radio]{display:inline;width:auto;min-height:auto;margin:0 7px 0 0;accent-color:#ce1438}.tracking-panel fieldset{border:0;padding:0}.tracking-panel .kind-switch{display:flex;gap:17px;flex-wrap:wrap}.kind-switch label{margin:10px 0;display:flex;align-items:center}
.camera-box{background:#0e141b;border:1px dashed #606974;border-radius:14px;padding:14px;display:grid;gap:11px;margin:16px 0}.camera-box video,.camera-box img{width:100%;max-height:340px;object-fit:contain;border-radius:10px;background:#05080b}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.camera-actions button{min-width:0;white-space:normal}.primary-wide{width:100%;min-height:52px;font-weight:750;font-size:16px;margin-top:8px}.prospect-details{margin-top:18px;padding:14px;border:1px solid #343d48;border-radius:12px}.prospect-details summary{cursor:pointer;font-weight:700}.visit-timer{font-size:34px;font-weight:900;margin:12px 0;color:#f7f8fa}.status-dot{color:#58d49a;font-size:11px;font-weight:800;letter-spacing:.1em}.visit-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;background:#19212b;border:1px solid #313c49;border-radius:13px}.visit-card p{margin:5px 0}.visit-photo-links{display:flex;gap:7px;flex-wrap:wrap}.visit-photo-links a{border:1px solid #445160;border-radius:8px;color:#dbe6ef;padding:7px;text-decoration:none;font-size:12px;white-space:nowrap}.track-success{color:#befad3;background:#123b2840;border:1px solid #327751;border-radius:12px;padding:12px;margin:12px 0}.tabs{scrollbar-width:none}
@media(max-width:650px){.topbar{padding:10px 12px}.app{padding:11px}.hero{padding:5px 2px 8px}.hero h1{font-size:23px}.hero .muted{font-size:12px}.tabs{position:sticky;top:0;z-index:4;background:#0c1016;padding:10px 2px}.tabs .tab{font-size:13px;padding:10px 12px}.panel{margin-bottom:12px}.camera-actions{gap:8px}.visit-card{flex-direction:column}.track-banner{padding:12px}}

/* One-tap dealer search, prospect fields only in prospect mode */
#prospectDetails[hidden], #pickProspect[hidden], #pickDealer[hidden], #trackingDealerResults[hidden], #trackingDealerSelected[hidden] {display:none!important}
#trackingDealerResults{display:grid;gap:5px;margin:8px 0;border:1px solid #465465;padding:6px;border-radius:12px;background:#0d131b;max-height:260px;overflow-y:auto}
.dealer-suggestion{width:100%;text-align:left;white-space:normal;border:1px solid #32404e;border-radius:10px;padding:12px 13px;background:#1b2530;color:#f6f7f9;display:flex;flex-direction:column;gap:4px;min-height:60px}
.dealer-suggestion strong{font-size:14px}.dealer-suggestion span{font-size:12px;color:#aeb8c4}
.dealer-suggestion:hover,.dealer-suggestion:focus-visible{background:#2a3848;border-color:#f04865}
.dealer-selected{margin:9px 0;border:1px solid #368465;border-radius:11px;background:#123b2840;color:#bcf5d4;padding:11px 13px;font-size:13px;font-weight:650}

/* Phase 2.2 · one-step new prospect and searchable repeat visits */
#pickProspect[hidden],#prospectNewFields[hidden],#prospectExistingFields[hidden],#prospectResults[hidden],#prospectSelected[hidden],#prospectMapLink[hidden]{display:none!important}
.prospect-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 10px}
.tracking-panel .prospect-choice label{border:1px solid #405063;border-radius:12px;background:#101821;padding:12px 10px;display:flex;align-items:center;margin:0;font-size:13px;min-height:52px}
.prospect-choice input{margin-right:6px}
.prospect-inline{border:1px solid #364350;background:#111820;padding:14px;border-radius:12px}
.prospect-inline h3{margin:2px 0 10px;font-size:15px}
.tracking-panel .prospect-inline label{margin:10px 0}
.gps-tag-box{border:1px solid #405c57;border-radius:12px;margin:12px 0;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0d211c}
.gps-tag-box p{margin:7px 0 0;overflow-wrap:anywhere}.gps-tag-box a{color:#a3e7cb;font-size:12px;display:inline-block;margin-top:8px}
.gps-tag-box button{flex-shrink:0}.required{color:#ff7587}
@media(max-width:480px){.gps-tag-box{align-items:stretch;flex-direction:column}.gps-tag-box button{width:100%}.prospect-choice{gap:6px}.tracking-panel .prospect-choice label{font-size:12px;padding:10px 8px}}

/* Fasa 2.3 – mobile-first territory map. Third-party Leaflet/OpenStreetMap tiles load on map tab. */
.territory-panel .eyebrow{margin:0 0 6px}.map-toolbar{display:grid;grid-template-columns:1fr 1fr auto auto;gap:9px;align-items:end;margin:14px 0 10px}
.map-toolbar--salesman{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(170px,1.1fr) auto auto}
.map-toolbar label{font-size:12px;color:#b9c6d4;display:grid;gap:5px}.map-toolbar select{background:#0e151d;border:1px solid #445266;border-radius:10px;padding:10px;color:#fff;min-height:44px;width:100%}
#mapSearch{margin:10px 0}.territory-map{width:100%;height:min(62vh,520px);min-height:320px;border:1px solid #364351;border-radius:14px;background:#141b24;z-index:1}
.map-stats{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.map-stat{font-size:12px;padding:8px 10px;background:#1e2732;border:1px solid #354459;border-radius:11px;color:#e1eaf5}
.map-maplist,.map-missing{margin-top:12px;border:1px solid #354350;border-radius:12px;padding:13px;background:#131d27}.map-maplist h3{margin:0 0 10px}
.map-list{display:grid;gap:7px;max-height:300px;overflow:auto}.map-listitem{padding:11px;border-radius:10px;border:1px solid #2e3c49;background:#1b2733;display:flex;align-items:center;gap:8px;justify-content:space-between}
.map-listitem strong{display:block;font-size:13px}.map-listitem small{display:block;font-size:11px;color:#b5c2d2;margin-top:4px}.map-listitem a{white-space:nowrap;text-decoration:none;color:#eaf4ff;border:1px solid #526077;padding:7px 9px;border-radius:8px;font-size:12px}
.territory-map .leaflet-popup-content-wrapper,.territory-map .leaflet-popup-tip{background:#1d2835;color:#f8fafc}.territory-map .leaflet-popup-content{line-height:1.5}
.territory-map .leaflet-control-attribution{font-size:11px!important}.map-popup-title{font-weight:800;font-size:13px}.map-popup-sub{color:#ccd7e5;margin:5px 0 10px}.map-popup-link{display:inline-block;padding:6px 8px;margin:0 6px 5px 0;border-radius:7px;background:#bc1735;color:#fff!important;text-decoration:none}
@media(max-width:700px){.map-toolbar{grid-template-columns:1fr 1fr}.map-toolbar button{width:100%}.territory-map{height:47vh;min-height:290px}.map-listitem{align-items:start;flex-direction:column}.map-listitem a{align-self:flex-end}}

/* Territory Map 2.3.1: one workshop pin, attached visit history */
.map-listitem .map-place-text{flex:1;min-width:0}
.map-place-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;border:1px solid #fff}
.map-place-dot.dealer{background:#dc2626}.map-place-dot.prospect{background:#facc15;border-color:#854d0e}
.map-place-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.map-place-actions button{border:1px solid #526077;border-radius:8px;background:#1e2835;color:#eaf4ff;padding:7px 9px;font-size:12px;cursor:pointer}
.map-listitem small{font-size:11px}.map-stat--red{border-color:#dc2626}.map-stat--yellow{border-color:#facc15}
.map-popup-history{margin-top:9px;border-top:1px solid #45566a;padding-top:8px;max-height:225px;overflow:auto}
.map-visit-title{font-size:12px;font-weight:700;margin-bottom:5px}
.map-visit-row{padding:7px 0;border-top:1px solid #394859;font-size:11px}
.map-visit-row strong,.map-visit-row small{display:block}.map-visit-row small{color:#bdcbdc}
.map-visit-row a{display:inline-block;margin:4px 7px 0 0;text-decoration:underline;color:#fecdd3}
.map-visit-empty{font-size:11px;color:#bdcbdc}
@media(max-width:700px){.map-place-actions{width:100%}.map-place-actions a{margin-left:auto}}

/* Stage 2.3.2: mobile-first prospect-to-dealer request & HQ matching */
.conversion-panel{max-width:960px}
.conversion-form{display:grid;gap:12px;padding:16px;margin:18px 0;border:1px solid #344050;border-radius:14px;background:#121b25}
.conversion-form label{display:grid;gap:6px;font-size:14px}
.conversion-card{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.conversion-card>div:first-child{min-width:0;flex:1}
.conversion-card .conversion-status{flex:0 0 auto;border-radius:99px;background:#243140;border:1px solid #506074;padding:5px 8px;font-size:11px;white-space:nowrap}
.conversion-card .conversion-status.pending{color:#facc15;border-color:#a16207}
.conversion-card .conversion-status.linked{color:#86efac;border-color:#16a34a}
.conversion-link-box{margin:14px 0 4px;padding:12px;border:1px solid #3b495a;border-radius:12px;display:grid;gap:10px}
.conversion-dealer-search{min-width:0;width:100%}
.conversion-candidates{display:grid;gap:6px}
.conversion-candidates .dealer-suggestion{text-align:left;display:grid;width:100%}
.conversion-candidates .dealer-suggestion span{font-size:12px;color:#b4c1d1}
.conversion-choice{color:#86efac;font-size:13px}
@media(max-width:600px){.conversion-card{flex-direction:column}.conversion-form{padding:12px}}


/* 2.3.3: Mobile-first separate Work, Workshop, Map, Records and More pages */
.tabs--main{display:flex;gap:8px;scrollbar-width:none;overflow:visible;padding-bottom:12px}
.tabs--main .tab{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;flex:1}
.tabs--main .tab-icon{font-size:19px;line-height:1}
.tabs--main .tab-label{font-size:13px;font-weight:700}
.back-to-menu{display:block;margin:0 0 12px;min-height:44px}
.tab-shortcuts{display:flex;gap:10px;flex-wrap:wrap}
.tab-shortcuts--menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.menu-shortcut{display:grid;text-align:left;justify-items:start;gap:6px;min-width:0;min-height:130px;background:#182331;border:1px solid #3b4657;color:#f3f5f8;padding:16px;border-radius:15px;white-space:normal}
.menu-shortcut>span{font-size:22px}.menu-shortcut strong{font-size:14px}.menu-shortcut small{color:#aebac9;font-size:12px;line-height:1.4}
.quick-next-panel{border-color:#3a4656}
@media(max-width:650px){
  .app{padding-bottom:96px}
  .tabs--main{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:990;background:#101720;
    border-top:1px solid #3a4555;margin:0;padding:8px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;box-shadow:0 -6px 24px #0005}
  .tabs--main .tab{min-width:0;min-height:56px;display:flex;flex-direction:column;gap:3px;white-space:normal;padding:6px 1px;border-radius:11px}
  .tabs--main .tab-icon{font-size:20px}.tabs--main .tab-label{font-size:11px;line-height:1.15}
  .hero{padding:5px 1px 8px}.hero h1{font-size:19px;line-height:1.25;margin:5px 0}
  .hero .muted{font-size:11px;line-height:1.35}
  .mobile-intro{margin:5px 0 12px}.mobile-intro h2{font-size:21px}
  .tab-shortcuts--menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-shortcut{padding:12px;min-height:116px}
  #trackMessage{position:sticky;top:0;z-index:10}
}
@media(max-width:360px){.tabs--main .tab-label{font-size:10px}.tabs--main .tab-icon{font-size:18px}}


/* 2.3.4 — Role-specific mobile pages; every hidden pane truly disappears. */
[hidden]{display:none!important}
.history-panel{max-width:880px}
.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 0}
.history-pagination button{min-width:108px}
.filter-label{display:block;font-size:13px;color:#cbd5e1;margin:6px 0 8px}
.history-panel select{display:block;width:100%;max-width:420px;background:#0e141b;color:#fff;border:1px solid #445365;border-radius:11px;min-height:48px;padding:12px}
.visit-staff{display:block;color:#fca5ad;font-size:12px;font-weight:700;letter-spacing:.01em;margin-bottom:4px}
.visit-card strong{display:block}
.mileage-details{background:#0c141d;border:1px solid #324151;border-radius:12px;padding:12px;margin:10px 0}
.mileage-details summary{font-weight:600;cursor:pointer;font-size:13px;color:#d1dae6}
.mileage-details[open] summary{padding-bottom:8px}
@media(max-width:650px){
  .hero .eyebrow,.hero .muted,.hero .stage{display:none}
  .hero h1{font-size:16px;margin:0 0 4px}
  .hero{padding:4px 1px 6px}
  .topbar{padding:8px 12px}
  .tabs--main{grid-template-columns:repeat(var(--mobile-tab-count,5),minmax(0,1fr))}
  .history-pagination{gap:5px}
  .history-pagination button{min-width:0;padding:10px;flex:1}
  .history-pagination span{flex:0 0 50px;text-align:center}
  #tab-work .mobile-intro{display:none}
  #tab-work .track-banner{padding:11px 13px;margin-top:3px}
  #tab-work .tracking-panel h2{font-size:16px}
  #tab-work .tracking-panel p.muted{font-size:12px;margin:5px 0}
  #tab-work .tracking-panel label{margin:10px 0}
  .history-panel .visit-card{padding:11px}
}

/* 2.3.6 Map salesman selector: compact on phones; no whole-page horizontal overflow. */
@media(max-width:850px){.map-toolbar--salesman{grid-template-columns:repeat(2,minmax(0,1fr))}.map-toolbar--salesman label:nth-child(3){grid-column:1/-1}}
@media(max-width:420px){.map-toolbar--salesman label,.map-toolbar--salesman button{min-width:0}}

/* 2.3.7: Role-scoped dealer directory dropdown. Records already use staff filter. */
.dealer-filter-bar{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:10px;margin:12px 0 16px}
.dealer-filter-bar label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--muted,#adb4c0)}
.dealer-filter-bar input,.dealer-filter-bar select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:600px){.dealer-filter-bar{grid-template-columns:minmax(0,1fr)}}

/* VELCORE Phase 2.4 — Head + HQ performance: compact and mobile-first */
.performance-panel{max-width:960px;margin-bottom:18px}
.perf-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.perf-filters label,.perf-custom label{display:grid;gap:5px;color:#bcc7d5;font-size:13px;min-width:0}
.perf-filters select,.perf-custom input,#perfSearch{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:11px;border-radius:10px;background:#0c141d;color:#f2f5f9;border:1px solid #405165;min-height:44px}
.perf-custom{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.perf-custom label{flex:1;min-width:120px}.perf-custom button{align-self:end;min-height:44px}
.perf-hero-metric{background:linear-gradient(130deg,#243245,#121a25);border:1px solid #455468;border-radius:16px;text-align:center;padding:19px;margin:12px 0 10px;display:grid;gap:2px}
.perf-hero-metric span{color:#c8d1df;font-size:13px;font-weight:800;letter-spacing:.08em}.perf-hero-metric strong{font-size:42px;line-height:1.1;color:#fff}.perf-hero-metric small{color:#a9b7ca}
.perf-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.perf-metric{display:grid;gap:4px;padding:14px;border:1px solid #39495b;border-radius:14px;background:#17212e}
.perf-metric.dealer{border-top:3px solid #dc2626}.perf-metric.prospect{border-top:3px solid #eab308}
.perf-metric span{font-weight:750;font-size:14px}.perf-metric strong{font-size:29px}.perf-metric small{font-size:12px;color:#adbacb}
.perf-unique{font-size:13px;color:#b2c0d2;margin:12px 0 20px}
.perf-staff-details,.perf-archive{border:1px solid #334153;border-radius:13px;padding:12px;margin:12px 0 19px;background:#101923}
.perf-staff-details summary,.perf-archive summary{cursor:pointer;font-weight:800;color:#ecf1f7;min-height:32px}
.perf-staff-details summary span{font-size:12px;color:#aebbd0}
.perf-person,.perf-workshop{display:flex;width:100%;gap:10px;justify-content:space-between;text-align:left;align-items:center;padding:12px 10px;border:1px solid #344356;background:#182434;color:#f4f6fb;border-radius:11px;margin-top:7px;cursor:pointer}
.perf-person>span:first-child,.perf-workshop>span:first-child{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.perf-person small,.perf-workshop small{display:block;color:#acbbce;font-size:12px}
.perf-person-numbers,.perf-workshop-count{text-align:right;flex:0 0 auto;font-size:13px}
.perf-workshop-count strong{font-size:21px;color:#fff}
.perf-workshop-title h3{margin:14px 0 3px}.perf-workshop-title p{margin:2px 0 10px}
.perf-drill{background:#0e1722;border:1px solid #536176;border-radius:14px;padding:13px;margin-top:14px}
.perf-visit{display:grid;gap:4px;padding:10px 0;border-top:1px solid #354458}
.perf-visit small{color:#aebdd1;font-size:12px}.perf-visit p{font-size:13px;margin:5px 0}
.perf-visit-links{display:flex;gap:10px;flex-wrap:wrap}.perf-visit-links a{font-size:12px;color:#ffb3bc;text-decoration:underline}
.perf-archive .history-panel{margin:10px 0 0;max-width:none}
@media(max-width:650px){.perf-filters{grid-template-columns:minmax(0,1fr)}.perf-hero-metric{padding:15px}.perf-hero-metric strong{font-size:37px}.perf-metric{padding:12px}.perf-metric strong{font-size:25px}.perf-archive{padding:9px}.performance-panel{padding:13px}}

/* 2.4.1 Mobile home dashboard for Salesman, Head and HQ */
#tab-dashboard .performance-panel{max-width:960px}
.home-work-quick{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(120deg,#172a23,#0f1b22);border:1px solid #285943;border-radius:12px;padding:10px 12px}
.home-work-quick>span{display:grid;gap:2px;min-width:0}.home-work-quick small{font-size:10px;color:#98b3a7;letter-spacing:.07em}.home-work-quick strong{font-size:15px}.home-work-quick .primary{min-width:124px;max-width:50%;min-height:42px}
.perf-coverage{background:#111b27;border:1px solid #3d4b5c;border-radius:14px;padding:13px;margin:8px 0 10px}
.perf-coverage h3{margin:0 0 10px;font-size:15px}
.perf-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.perf-coverage-grid>div,.perf-coverage-grid>button{display:grid;gap:4px;padding:9px 7px;background:#1c2a39;border:1px solid #384a5e;border-radius:10px;color:#eff4fc;text-align:center;min-width:0}
.perf-coverage-grid span{font-size:11px;line-height:1.2;color:#cad5e6}.perf-coverage-grid strong{font-size:23px}
.perf-unvisited-toggle{cursor:pointer}.perf-unvisited-toggle:not(:disabled){border-color:#d9a441}.perf-unvisited-toggle small{font-size:9px;display:block;color:#c7a55b}.perf-unvisited-toggle:disabled{cursor:default}
.perf-progress-head{display:flex;justify-content:space-between;margin:10px 0 6px;font-size:12px;color:#a7bbd1}.perf-progress-head strong{color:#86efac}
.perf-progress{background:#304050;border-radius:99px;height:8px;overflow:hidden}.perf-progress>div{height:100%;background:#36ae70;border-radius:99px;transition:width .2s ease;width:0}
.perf-unvisited-panel{margin:10px 0 0;padding:11px;border:1px solid #485770;border-radius:11px;background:#0d1520}
.perf-unvisited-panel h4{margin:2px 0}.perf-unvisited-item{border-top:1px solid #39485d;padding:10px 0}.perf-unvisited-item span{display:grid;gap:4px}.perf-unvisited-item small{font-size:11px;color:#b1c0d3}
.perf-repeat-details{background:#101923;border:1px solid #344153;padding:12px;border-radius:13px;margin:10px 0}
.perf-repeat-details>summary{font-weight:750;cursor:pointer;min-height:24px}.perf-home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.perf-home-shortcuts button{white-space:normal;font-size:12px;min-height:42px;padding:8px}
.perf-source-note{font-size:11px!important;line-height:1.4}
@media(max-width:650px){
 #tab-dashboard .performance-panel{padding:11px}
 #tab-dashboard .panelhead{gap:5px;margin-bottom:6px}
 #tab-dashboard .panelhead h2{font-size:19px;margin:0}
 #tab-dashboard .perf-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0}
 #tab-dashboard .perf-filters label{font-size:11px}
 #tab-dashboard .perf-filters select{min-height:39px;padding:8px;font-size:12px}
 #tab-dashboard .perf-hero-metric{padding:10px;margin:7px 0;gap:1px}
 #tab-dashboard .perf-hero-metric strong{font-size:33px}
 #tab-dashboard .perf-hero-metric span{font-size:11px}
 #tab-dashboard .perf-hero-metric small{font-size:11px}
 #tab-dashboard .perf-metric{padding:9px;gap:1px}
 #tab-dashboard .perf-metric span{font-size:12px}
 #tab-dashboard .perf-metric strong{font-size:25px}
 #tab-dashboard .perf-metric small{font-size:10px}
 #tab-dashboard .perf-unique{margin:7px 0 9px}
 .perf-coverage{padding:10px;margin:8px 0}
 .perf-coverage-grid strong{font-size:20px}
 .home-work-quick strong{font-size:13px}
 .home-work-quick .primary{min-width:103px;font-size:12px;padding:9px}
}


/* 2.4.2 — Visit records grouped by workshop, compact on mobile */
.records-module{max-width:980px}.records-module .panelhead h2{margin:0}
.records-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:10px 0}
.records-filters label,.records-custom-dates label{font-size:12px;color:#c0cada;font-weight:600}
.records-filters select,.records-custom-dates input{width:100%;display:block;margin-top:5px;min-height:44px;padding:10px;border-radius:10px;color:#f5f6fa;border:1px solid #465366;background:#0e141b}
.records-custom-dates{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin:12px 0}.records-custom-dates label{flex:1;min-width:145px}
.records-search-label{display:block;color:#c7d2df;font-size:12px;margin:13px 0 6px}.records-workshops{display:grid;gap:9px;margin-top:13px}
.records-workshop{background:#1b232d;border:1px solid #344252;border-radius:13px;overflow:hidden}
.records-workshop-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;color:#f3f6fb;background:transparent;border:0;padding:15px}
.records-workshop-trigger:hover,.records-workshop-trigger[aria-expanded=true]{background:#233042}
.records-workshop-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}
.records-workshop-info strong{font-size:14px;overflow-wrap:anywhere}
.records-workshop-info small{color:#a9b8c9;font-size:11px;line-height:1.5}
.records-kind{font-weight:700}.records-kind--dealer{color:#ff6677}.records-kind--prospect{color:#ffd05a}
.records-workshop-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap}
.records-workshop-right b{font-size:15px;color:#fff}.records-workshop-right small{font-size:11px;color:#ffadb9}
.records-workshop-history{border-top:1px solid #435062;padding:14px;background:#111923}
.records-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.records-detail-heading span{color:#a7b4c2;font-size:11px}
.records-visit{border:1px solid #37485c;border-radius:11px;background:#1a2530;padding:12px;margin-bottom:9px}
.records-visit-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.records-visit-title span{font-size:11px;color:#b5c4d6}
.records-visit-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.records-visit-times>span{border-radius:9px;background:#0e1720;padding:9px;min-width:0}.records-visit-times small{display:block;color:#9fb1c5;font-size:10px;margin-bottom:5px}.records-visit-times b{font-size:12px;overflow-wrap:anywhere;font-weight:650}
.records-visit-meta{display:flex;gap:9px;justify-content:space-between;flex-wrap:wrap;color:#bfcbd9;font-size:11px}
.records-visit-notes{font-size:12px;color:#c9d2df}.records-visit-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:11px}
.records-visit-links a{color:#ffabb7;font-size:12px;text-underline-offset:2px}
@media(max-width:650px){.records-module{padding:12px}.records-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.records-workshop-trigger{padding:12px;gap:8px}.records-workshop-right b{font-size:13px}.records-workshop-info small{font-size:10px}.records-visit-times{gap:5px}.records-visit-times>span{padding:7px 5px}.records-visit-times b{font-size:11px}.records-workshop-history{padding:9px}.records-detail-heading{flex-wrap:wrap}}
@media(max-width:370px){.records-visit-times{grid-template-columns:1fr 1fr}.records-visit-times>span:last-child{grid-column:span 2}}

/* Fasa 2.5 — Today staff status (Head/HQ only, read-only). */
.staff-today-panel{margin:12px 0 14px;padding:13px;border:1px solid #344355;background:#121a25;border-radius:14px}
.staff-today-head{display:flex;align-items:start;justify-content:space-between;gap:10px}
.staff-today-head h3{margin:0 0 4px;font-size:17px}
.staff-today-head p{margin:0 0 6px;font-size:11px}
.staff-today-head button{min-height:40px}
.staff-today-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}
.staff-today-stat{display:flex;flex-direction:column;align-items:center;gap:3px;background:#1c2634;padding:9px 5px;border:1px solid #3c495c;border-radius:10px;text-align:center;min-width:0}
.staff-today-stat strong{font-size:23px;line-height:1.1}
.staff-today-stat span{font-size:11px;color:#b8c5d6}
.staff-today-stat.visiting strong{color:#facc15}.staff-today-stat.working strong{color:#7dd3fc}.staff-today-stat.done strong{color:#86efac}
.staff-today-group{margin:11px 0 5px;color:#d7e0ed;font-weight:750;font-size:12px;letter-spacing:.03em}
.staff-today-list{display:grid;gap:6px}
.staff-today-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:#1b2736;color:#eff4fa;border:1px solid #354759;border-radius:11px;text-align:left;cursor:pointer}
.staff-today-row:hover{border-color:#8a98ad}
.staff-today-identity{display:grid;gap:3px;min-width:0;flex:1;overflow-wrap:anywhere}
.staff-today-identity strong{font-size:14px}.staff-today-identity strong small{font-size:10px;color:#a6b3c8}
.staff-today-identity>small,.staff-today-current{font-size:11px;color:#a6b7cb}
.staff-today-identity .staff-today-attention{color:#ffb985}
.staff-today-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:48%}
.staff-today-side>small{font-size:10px;color:#afbed0;text-align:right}
.staff-today-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #506073;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;white-space:nowrap;background:#2b3542}
.staff-today-badge.not-started{color:#cbd5e1;background:#303946;border-color:#576273}
.staff-today-badge.working{color:#bbecff;background:#173b55;border-color:#298ac1}
.staff-today-badge.visiting{color:#ffe786;background:#554311;border-color:#c18a1e}
.staff-today-badge.done{color:#bcf7d0;background:#174d35;border-color:#328c5b}
.staff-today-toggle{width:100%;margin-top:9px}
.staff-today-updated{font-size:10px!important;line-height:1.5;margin:8px 0 0!important}
@media(max-width:650px){.staff-today-panel{padding:10px}.staff-today-stat{padding:8px 2px}.staff-today-stat strong{font-size:20px}.staff-today-stat span{font-size:9px}.staff-today-row{padding:9px}.staff-today-identity strong{font-size:12px}.staff-today-badge{font-size:10px;padding:4px 6px}.staff-today-mini{display:none}}
@media(max-width:355px){.staff-today-counts{gap:4px}.staff-today-row{gap:5px}.staff-today-side{max-width:49%}.staff-today-stat span{font-size:8px}}

/* Fasa 2.5 — Drill-down daily / monthly / yearly reports */
.report-module{margin-bottom:12px}
.report-module>summary{cursor:pointer;font-weight:850;font-size:16px;min-height:26px}
.report-module>.note{font-size:12px}
.report-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.report-toolbar label{display:grid;gap:5px;font-size:12px;color:#bdc9d8;min-width:0}
.report-toolbar select,.report-toolbar input{width:100%;min-height:42px;min-width:0;box-sizing:border-box;background:#101923;color:#fff;border:1px solid #415063;border-radius:9px;padding:9px}
.report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0}
.report-summary>div{display:grid;gap:3px;place-items:center;text-align:center;background:#1b2838;border:1px solid #3d5066;border-radius:10px;padding:10px 4px}
.report-summary strong{font-size:22px}.report-summary small{font-size:10px;color:#b9c5d4}
.report-buckets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
.report-bucket{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:#1b2635;border:1px solid #3c4a5a;border-radius:10px;padding:11px;color:#f1f6fc;cursor:pointer}
.report-bucket>span{display:grid;gap:4px;min-width:0}.report-bucket b{font-size:13px}.report-bucket small{font-size:10px;color:#b4c3d6}
.report-bucket>strong{white-space:nowrap;font-size:18px;text-align:right}.report-bucket>strong small{display:block}
.report-bucket:hover{border-color:#f0576e}
.report-day-list{display:grid;gap:9px;margin:10px 0}.report-visit{display:grid;gap:7px;padding:12px;background:#1c2736;border:1px solid #3c4b5d;border-radius:11px}
.report-visit-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.report-visit-header strong{font-size:14px}.report-visit-kind{font-size:11px;white-space:nowrap}
.report-visit>small{color:#aec1d6;font-size:11px}.report-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.report-times>span{display:grid;gap:4px;background:#0d1823;border-radius:9px;padding:8px 7px}
.report-times small{font-size:10px;color:#a8b7c7}.report-times b{font-size:12px;overflow-wrap:anywhere}
.report-visit-links{display:flex;flex-wrap:wrap;gap:12px}.report-visit-links a{color:#ffc1c9;text-decoration:underline;font-size:12px}
@media(max-width:650px){.report-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary strong{font-size:19px}.report-buckets{grid-template-columns:1fr}.report-visit-header{align-items:flex-start}.report-times b{font-size:11px}}
/* Compact monthly calendar — avoids 28–31 long rows on mobile. */
.report-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important}
.report-day-label{text-align:center;color:#9eafc5;font-size:10px;padding:7px 0 3px}
.report-calendar .report-day{min-height:65px;display:flex;flex-direction:column;justify-content:space-between;gap:1px;padding:6px 2px;min-width:0}
.report-calendar .report-day-number{font-size:11px;color:#abbcd1;align-self:flex-start;padding-left:4px}
.report-calendar .report-day>strong{font-size:18px;text-align:center;line-height:1.1}.report-calendar .report-day>small{font-size:9px;text-align:center;line-height:1.2;min-height:11px}
.report-calendar .report-day:focus-visible{outline:2px solid #e12a48;outline-offset:2px}
.report-year{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-year .report-bucket{flex-direction:column;align-items:stretch}.report-year .report-bucket>strong{text-align:left}
@media(max-width:650px){.report-year{grid-template-columns:repeat(2,minmax(0,1fr))}.report-calendar .report-day{min-height:59px}}

/* VELCORE 2.6 attendance: compact, mobile-first and opt-in drilldown. */
.attendance-module{margin-bottom:16px}
.attendance-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}
.attendance-filters label{min-width:0}
.attendance-filters input,.attendance-filters select{width:100%;min-width:0}
.attendance-filters button{align-self:end}
.attendance-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:12px 0}
.attendance-day{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:1px solid #344052;background:#19222e;color:#f5f7fa;padding:10px 12px;border-radius:11px;cursor:pointer;min-height:68px}
.attendance-day:hover,.attendance-day:focus-visible{outline:2px solid #f34b60;outline-offset:1px}
.attendance-day span{display:flex;flex-direction:column;gap:3px}
.attendance-day strong{font-size:14px}
.attendance-day small{font-size:11px;color:#a7b6c8}
.attendance-day-meta{align-items:flex-end;text-align:right}
.attendance-day.DONE{border-left:3px solid #22c55e}
.attendance-day.WORKING{border-left:3px solid #3b82f6}
.attendance-day.PENDING_END{border-left:3px solid #eab308;background:#332c1d}
.attendance-day.LEAVE{border-left:3px solid #a78bfa}
.attendance-day.NO_RECORD,.attendance-day.FUTURE{opacity:.67}
.attendance-timeline{display:grid;gap:10px;margin-top:12px}
.attendance-timeline-heading{display:flex;flex-direction:column;gap:4px}
.attendance-timeline-heading small{color:#a5b2c0}
.attendance-event{border:1px solid #344052;background:#1b2633;padding:12px;border-radius:12px;display:grid;gap:9px}
.attendance-workday{border-left:3px solid #f03f56}
.attendance-event-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.attendance-event-top small{white-space:nowrap}
.attendance-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.attendance-time-grid span{font-size:11px;color:#acb8c8;display:grid;gap:5px}
.attendance-time-grid b{font-size:13px;color:#f4f6fa;overflow-wrap:anywhere}
.attendance-flags{display:flex;gap:6px;flex-wrap:wrap}
.attendance-flag{font-size:11px;border:1px solid #b57d22;border-radius:99px;color:#ffe0a1;padding:4px 8px}
.attendance-review{border-top:1px solid #344052;margin-top:14px;padding-top:14px}
.attendance-review textarea{width:100%;resize:vertical}
.staff-today-stat.attention{border-color:#d6a229}
.staff-today-badge.attention{color:#facc15;background:rgba(250,204,21,.12)}
@media(max-width:700px){.attendance-days{grid-template-columns:1fr}.attendance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-time-grid b{font-size:12px}}

/* Smart End Day — lightweight resolution panel; no automatic shift closure or break controls. */
.late-end-panel{border:1px solid #bd842e;background:linear-gradient(160deg,#2b2419,#151c27);margin:12px 0}
.late-end-panel h2{font-size:17px}.missed-end-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.late-end-panel form{display:grid;gap:11px;margin-top:13px;border-top:1px solid #59452a;padding-top:12px}
.late-end-panel input[type=datetime-local],.late-end-panel textarea{width:100%;min-width:0;background:#101923;color:#f5f5f5;border:1px solid #516075;border-radius:9px;padding:10px}
.late-end-ack{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.45}
.late-end-ack input{flex-shrink:0;margin-top:3px}
.attendance-day.DECLARED_END{border-left:3px solid #f59e0b;background:#35291a}
.attendance-day.DONE_CORRECTED{border-left:3px solid #22c55e}
@media(max-width:640px){.missed-end-options{grid-template-columns:1fr}}

/* 2.6.2 — Separate Salesman / Head / HQ home UX. Keep real data and controls compact. */
.staff-today-counts,.perf-home-shortcuts{display:none!important}
.staff-today-search{display:grid;gap:5px;font-size:11px;color:#b6c5d6;margin:8px 0}
.staff-today-search input{width:100%;min-height:40px;background:#0d141e;color:#f2f5fa;border:1px solid #405064;border-radius:9px;padding:10px}
.staff-view-profile{color:#ec7182!important}
.staff-profile-overlay[hidden],.track-closed-note[hidden]{display:none!important}
.staff-profile-overlay{position:fixed;inset:0;z-index:1200;display:flex;justify-content:center;align-items:flex-end}
.staff-profile-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76)}
.staff-profile-sheet{position:relative;width:min(100%,630px);max-height:92dvh;overflow:auto;background:#111a26;border:1px solid #46566c;box-shadow:0 -14px 60px #0009;padding:18px;border-radius:18px 18px 0 0;color:#f3f5f9;overscroll-behavior:contain}
.staff-profile-head{display:flex;align-items:start;justify-content:space-between;gap:10px}
.staff-profile-head h3{font-size:21px;margin:5px 0 12px}
.staff-profile-head .ghost{white-space:nowrap}
.staff-profile-summary{display:grid;gap:8px;border-radius:12px;background:#1b2836;padding:13px;margin-bottom:12px}
.staff-profile-summary small{color:#b7c6d6}
.staff-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.staff-profile-section{padding:12px 0;border-top:1px solid #364557}
.staff-profile-section summary{cursor:pointer;font-size:14px;font-weight:700}
.staff-profile-event{display:grid;gap:4px;margin:9px 0;padding:10px;border:1px solid #38485b;border-radius:9px;background:#1a2635}
.staff-profile-event small{color:#b8c7d7;font-size:12px}
.staff-restart-form{display:grid;gap:10px;border:1px solid #a57622;border-radius:11px;padding:13px;background:#241d17}
.staff-restart-form h4{margin:0}.staff-restart-form textarea{width:100%;background:#121a25;color:#f4f4f5;border:1px solid #596477;border-radius:8px;padding:10px}
.staff-profile-open{overflow:hidden}
.track-closed-note{padding:12px;background:#261d19;border:1px solid #a97630;border-radius:10px;color:#ffe3af;margin:12px 0}
.top-more-button{margin-left:auto;margin-right:8px;min-width:65px}
@media(min-width:700px){.staff-profile-overlay{align-items:center}.staff-profile-sheet{border-radius:18px;max-height:88vh}}
@media(max-width:600px){.top-more-button{font-size:11px;min-width:55px;padding:9px 6px}.staff-today-row{align-items:flex-start}.staff-today-side{max-width:43%}.staff-profile-sheet{padding:14px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.staff-today-identity>small,.staff-today-side>small{font-size:11px}}

/* VELCORE 2.7 — compact Sales MTD, dedicated sales page, 4-tab staff insights. */
.vc-mtd-quick{display:grid;gap:5px;text-align:left;width:100%;background:linear-gradient(130deg,#1d2530,#111b27);color:#f8fafc;border:1px solid #535b67;border-left:4px solid #df2944;border-radius:14px;padding:14px 16px;margin:12px 0;cursor:pointer}
.vc-mtd-quick strong#vcMtdAmount{font-size:clamp(24px,5.6vw,34px);letter-spacing:-.6px;line-height:1.15;font-variant-numeric:tabular-nums}
.vc-mtd-cap{display:flex;justify-content:space-between;align-items:start;gap:10px}
.vc-mtd-cap strong{font-size:11px;letter-spacing:.08em}.vc-mtd-cap small,.vc-mtd-quick>small{font-size:11px;color:#b7c4d3}
.vc-sales-panel .vc-sales-kpi,.vc-insights-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
.vc-sales-kpi>div,.vc-insights-metrics>div{background:#1c2938;border:1px solid #39495c;border-radius:12px;padding:12px;display:grid;gap:7px;min-width:0}
.vc-sales-kpi small,.vc-insights-metrics small{color:#b4c4d4;font-size:11px}.vc-sales-kpi strong,.vc-insights-metrics strong{font-size:clamp(18px,4vw,24px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.vc-sales-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vc-sales-panel label,.vc-insights-top label{display:block;font-size:13px;font-weight:600;color:#c8d3df;margin:10px 0}
.vc-sales-panel label input,.vc-sales-panel label select,.vc-sales-panel label textarea,.vc-insights-top input,.vc-team-profiles input{display:block;width:100%;margin-top:5px;min-width:0;background:#0e1722;color:#fff;border:1px solid #465366;border-radius:10px;padding:10px;box-sizing:border-box}
.vc-sales-add{border:1px solid #424f5f;border-radius:12px;margin:16px 0;padding:12px;background:#131f2c}
.vc-sales-add summary{cursor:pointer;color:#fff;font-size:15px;font-weight:700}
.vc-sales-form{padding:8px 0 2px}.vc-sales-matches{max-height:220px;overflow:auto;display:grid;gap:5px;margin-top:5px}
.vc-customer-choice{border:1px solid #4b5a70;border-radius:8px;background:#202f40;color:#fff;display:grid;gap:3px;text-align:left;padding:10px;cursor:pointer}
.vc-customer-choice small{color:#bcc9d7;font-size:12px}
.vc-sales-history{display:grid;gap:9px}
.vc-sale-row{padding:13px;background:#182431;border:1px solid #3e4c5d;border-radius:12px;display:grid;gap:7px}
.vc-sale-row-top,.vc-sale-row-bottom{display:flex;justify-content:space-between;align-items:start;gap:8px}
.vc-sale-row strong{font-size:14px}.vc-sale-row small{font-size:11px;color:#b9c7d6}.vc-sale-value{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.vc-sale-status{border-radius:999px;padding:3px 8px;background:#394559;color:#dce5ee;font-size:11px;font-weight:700}
.vc-sale-status.VERIFIED{background:#123f35;color:#8bf0c0}.vc-sale-status.DISPUTED{background:#583622;color:#f9bd8a}.vc-sale-status.VOIDED{background:#531e2c;color:#fda1b1}
.vc-sale-review{display:flex;gap:8px}.vc-sale-review button{flex:1;font-size:12px}
.vc-insights{margin:10px 0 16px;background:#142232;border:1px solid #37495c;padding:11px;border-radius:12px}
.vc-insights-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.vc-insights-top h4{margin:0;font-size:15px}.vc-insights-top label{margin:0;font-size:11px}.vc-insights-top input{max-width:160px;min-width:125px}
.vc-insights-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:14px 0}
.vc-insights-tabs button{border-radius:9px;padding:10px 3px;border:1px solid #42546c;background:#172537;color:#b9c7d7;min-width:0;font-weight:700;font-size:11px;cursor:pointer}
.vc-insights-tabs button.active{background:#b71a36;border-color:#fa4f6a;color:#fff}
.vc-insights-content h4{font-size:13px;margin:18px 0 8px}
.vc-insights-row{padding:10px;margin:7px 0;background:#1d2a3b;border:1px solid #37495c;border-radius:9px;display:grid;gap:5px}
.vc-insights-row strong{font-size:13px}.vc-insights-row small{font-size:11px;color:#b9c8da}.vc-insights-row span{font-weight:700;font-size:13px}
.vc-insights-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.vc-insights-metrics strong{font-size:17px}
.vc-insights-workshop{display:grid;width:100%;gap:5px;padding:10px;margin-bottom:7px;text-align:left;background:#1c2939;color:#fff;border:1px solid #425064;border-radius:9px;cursor:pointer}
.vc-insights-workshop small{font-size:11px;color:#b8c7d8}.vc-insights-workshop span{font-size:11px;color:#f9b6c1}
.vc-insights-links{display:flex;flex-wrap:wrap;gap:6px}.vc-insights-links a{border:1px solid #53677f;background:#22354a;color:#f9fafc;text-decoration:none;padding:6px 8px;border-radius:7px;font-size:11px}
.vc-team-profile-list{display:grid;gap:6px}.vc-team-profile-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#1b2a3b;border:1px solid #415168;padding:11px;border-radius:10px;color:#f6f8fb;cursor:pointer;text-align:left}.vc-team-profile-row>span:first-child{display:grid;gap:4px}.vc-team-profile-row small{font-size:11px;color:#b3c4d5}.vc-team-profile-row>span:last-child{font-size:11px;color:#fac5cd}
@media(max-width:420px){.vc-mtd-quick{padding:12px}.vc-mtd-cap{display:grid;gap:3px}.vc-sales-filters{grid-template-columns:1fr}.vc-sale-row-top{align-items:baseline}.vc-sale-value{font-size:14px}.vc-insights{padding:9px}.vc-insights-metrics{gap:5px}.vc-insights-metrics>div{padding:9px 5px}.vc-insights-metrics strong{font-size:15px}.tabs--main .tab-icon{font-size:17px}.tabs--main .tab-label{font-size:10px}}

/* VELCORE 2.7.1 — Head My Team short list / drill down. */
.vc-team-profile-list{display:grid;gap:10px}
.vc-team-card{display:grid;gap:9px;width:100%;text-align:left;padding:15px;border:1px solid #36485d;border-radius:13px;background:#1b2838;color:#f5f7fb;cursor:pointer;transition:border-color .15s,background .15s}
.vc-team-card:hover,.vc-team-card:focus-visible{border-color:#b8213d;background:#233144;outline-offset:2px}
.vc-team-card-top{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.vc-team-card-top>strong{font-size:15px}
.vc-team-sales{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.vc-team-sales small,.vc-team-card-activity{font-size:11px;color:#a9bacd}
.vc-team-sales b{font-size:14px;font-variant-numeric:tabular-nums}
.vc-team-card-footer{border-top:1px solid #36485d;padding-top:9px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.vc-team-card-footer small{font-size:11px;color:#b7c8d9}.vc-team-card-footer>span{color:#f29bac;font-size:20px}
.vc-team-reports-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:16px;border:1px solid #35475d;border-radius:13px;background:#182431;color:#eef3f9;cursor:pointer;margin:12px 0}
.vc-team-reports-trigger>span:first-child{display:grid;gap:4px}.vc-team-reports-trigger strong{font-size:15px}.vc-team-reports-trigger small{font-size:11px;color:#afc0d3}
.vc-team-reports-trigger #vcTeamReportsArrow{font-size:24px;color:#eab4bf}.vc-team-reports-trigger[aria-expanded="true"]{border-color:#b8213d}
.vc-team-reports-workspace{display:grid;gap:12px}.vc-team-reports-workspace[hidden]{display:none!important}
@media(max-width:650px){.vc-team-card{padding:12px}.vc-team-card-footer small{font-size:10px}}

/* V2.7.2: Simple visit-based Follow-Up; no phone/WhatsApp logs. */
.vc-followup-panel{display:grid;gap:12px}.vc-followup-date-wrap{padding:12px;border:1px solid #594b33;background:#201e21;border-radius:10px;margin:10px 0}
.vc-followup-date-wrap[hidden]{display:none!important}.vc-followup-date-wrap input{display:block;width:100%;margin-top:7px;min-height:42px;background:#0e1722;color:#fff;border:1px solid #59687a;border-radius:10px;padding:10px;box-sizing:border-box}
.vc-followup-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.vc-followup-metrics>span{border:1px solid #415269;background:#1b2939;border-radius:11px;padding:12px 5px;text-align:center;display:grid;gap:5px}.vc-followup-metrics b{font-size:22px;font-variant-numeric:tabular-nums}.vc-followup-metrics small{color:#b7c7d9;font-size:10px}
.vc-followup-filters,.vc-followup-modes{display:flex;flex-wrap:wrap;gap:6px}.vc-followup-filters button,.vc-followup-modes button{border:1px solid #47586f;color:#c5d4e3;background:#192637;border-radius:9px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:700}.vc-followup-filters button.active,.vc-followup-modes button.active{background:#ac1735;color:#fff;border-color:#d14b64}
.vc-followup-list{display:grid;gap:10px}.vc-followup-card{display:grid;gap:8px;background:#172433;border:1px solid #405065;border-radius:13px;padding:14px}.vc-followup-card.overdue{border-left:3px solid #ec6b74}.vc-followup-card.today{border-left:3px solid #f2ae5a}.vc-followup-card.upcoming{border-left:3px solid #4bcaa1}
.vc-followup-card .vc-followup-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.vc-followup-card strong{font-size:14px;overflow-wrap:anywhere}.vc-followup-card small{font-size:11px;color:#b8c9d9}.vc-followup-date{font-weight:700;font-size:13px;color:#e4eaf1}.vc-followup-badge{border-radius:15px;background:#35475b;padding:4px 8px;white-space:nowrap;font-size:10px;font-weight:800}.vc-followup-badge.overdue{background:#5e2531;color:#ffb4c0}.vc-followup-badge.today{background:#5d4326;color:#ffe0a8}.vc-followup-badge.upcoming{background:#1b5346;color:#aef6d8}.vc-followup-card button{justify-self:start;font-size:12px}

/* VELCORE V2.7.3 — restrained notification bell and dealer visit alerts */
.vc-notify-bell{position:relative;border:1px solid #435268;background:#1b2430;color:#f9fbff;border-radius:12px;min-width:43px;min-height:43px;padding:7px 9px;font-size:19px;display:grid;place-items:center;cursor:pointer}
.vc-notify-bell:hover,.vc-notify-bell:focus-visible{border-color:#ed4666;background:#2a2f3c}
.vc-notify-count{position:absolute;top:-7px;right:-8px;background:#c9203f;border:2px solid #121820;border-radius:99px;padding:1px 5px;font-size:10px;line-height:16px;min-width:20px;color:#fff;font-weight:800;text-align:center}
.vc-notify-count[hidden]{display:none!important}
.vc-notify-panel{display:grid;gap:12px}
.vc-notify-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.vc-notify-metrics>span{border:1px solid #3b4b60;background:#1b2838;padding:13px;border-radius:12px;display:grid;gap:5px}
.vc-notify-metrics strong{font-size:24px;font-variant-numeric:tabular-nums}
.vc-notify-metrics small{font-size:11px;color:#b8c8d7}
.vc-notify-list{display:grid;gap:9px}
.vc-notify-card{padding:13px;background:#192635;border:1px solid #405068;border-left:3px solid #5e7187;border-radius:12px;display:grid;gap:8px}
.vc-notify-card.urgent{border-left-color:#e84154}.vc-notify-card.overdue{border-left-color:#e7a74c}.vc-notify-card.soon{border-left-color:#84a4bc}.vc-notify-card.never{border-left-color:#6f93b3}
.vc-notify-card.today{border-left-color:#edb356}
.vc-notify-card-head{display:flex;align-items:start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.vc-notify-card-head strong{font-size:14px;overflow-wrap:anywhere}
.vc-notify-card>small{color:#aebdcf;font-size:11px}
.vc-notify-tag{border-radius:99px;background:#344354;color:#e6edf5;font-size:10px;font-weight:800;padding:5px 8px;white-space:nowrap}
.vc-notify-tag.urgent,.vc-notify-tag.overdue{background:#612b38;color:#ffd5dc}
.vc-notify-tag.today{background:#5c462e;color:#ffe3b3}
.vc-notify-actions{display:flex;gap:7px;flex-wrap:wrap}.vc-notify-actions button{min-height:37px;font-size:11px;padding:7px 10px}
.vc-notify-empty{border:1px solid #285542;background:#183529;color:#a4ecd1;border-radius:12px;padding:17px 12px;font-size:13px}
.vc-team-idle-flag{color:#ffd0a1;font-size:11px;font-weight:700;line-height:1.4}
@media(max-width:650px){.vc-notify-bell{min-width:39px;min-height:39px;padding:5px 7px}.vc-notify-card{padding:12px}}

/* VELCORE 2.7.4 — Staff-first overdue navigation, Head own card & compact alert counters. */
.vc-team-identity{display:grid;gap:3px}.vc-team-identity small{font-size:11px;color:#a7b9cb;font-weight:500}
.vc-team-menu-end{display:flex;align-items:center;gap:12px;flex:none;color:#f4b9c5;font-size:21px}
.vc-team-menu-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;box-sizing:border-box;background:#34465b;border:1px solid #496076;border-radius:99px;color:#dde9f4;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.vc-team-menu-count.is-active{background:#81263c;border-color:#ce5069;color:#fff}
.vc-notify-navigator{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vc-notify-navigator small{font-size:12px;color:#aebfd2}
.vc-notify-navigator[hidden],.vc-notify-metrics[hidden],.vc-followup-filters[hidden],#vcNotifyFollowupLink[hidden]{display:none!important}
.vc-notify-person{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #40546b;border-radius:12px;padding:14px;text-align:left;background:#1b2939;color:#f5f7fb;cursor:pointer}
.vc-notify-person:hover,.vc-notify-person:focus-visible{background:#27364a;border-color:#c93d56;outline-offset:2px}
.vc-notify-person-main{display:grid;gap:5px;min-width:0}.vc-notify-person-main strong{font-size:14px;overflow-wrap:anywhere}.vc-notify-person-main small{font-size:11px;color:#adbed0}
.vc-notify-person-end{display:flex;align-items:center;gap:10px;color:#edb1bf;font-size:23px;flex:none}
.vc-notify-num{font-size:12px;min-width:29px;padding:6px 8px;text-align:center;font-weight:800;border-radius:99px;background:#5a2333;color:#ffd4dd;font-variant-numeric:tabular-nums}
.vc-notify-num.is-clear{background:#173c32;color:#8de1bd}
@media(max-width:650px){.vc-team-reports-trigger{padding:13px}.vc-notify-person{padding:12px}.vc-notify-navigator{gap:7px}}
/* V2.8: Staff Services / HQ Expense Claim + automatic Mileage */
.svc-panel{max-width:920px}
.svc-toggle{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 16px}
.svc-toggle button{min-width:0;min-height:44px}
.svc-create{background:#101a25;border:1px solid #344357;border-radius:12px;padding:12px;margin:14px 0}
.svc-create summary{cursor:pointer;font-weight:700;padding:5px 0}
.svc-create form{display:grid;gap:11px;margin-top:13px}
.svc-create label{display:grid;gap:6px}
.svc-create input,.svc-create select,.svc-create textarea{width:100%;min-width:0;box-sizing:border-box}
.svc-claim-filter{max-width:270px;margin:14px 0}
.svc-claim-filter label{display:grid;gap:7px}
.svc-claim-filter select{width:100%}
.svc-list{display:grid;gap:9px;margin-top:12px}
.svc-claim-card,.svc-mileage-card{border:1px solid #334455;border-radius:12px;background:#14202c;padding:14px;display:grid;gap:9px}
.svc-claim-top,.svc-claim-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.svc-claim-card small,.svc-mileage-card small{color:#a6b4c3}
.svc-claim-bottom a{color:#a8d3ff;font-weight:600;text-decoration:underline;font-size:.85rem}
.svc-status{border:1px solid #4a5870;padding:4px 8px;border-radius:8px;font-size:11px;color:#d4dee9}
.svc-status.SUBMITTED{color:#ffe09a;border-color:#ac782c}
.svc-status.HQ_APPROVED{color:#a0ebba;border-color:#347956}
.svc-status.REJECTED{color:#ffb2bf;border-color:#a3324a}
.svc-review-actions{display:flex;gap:8px;flex-wrap:wrap}
.svc-review-actions button{flex:1;min-width:115px}
.svc-km-total{padding:18px;background:linear-gradient(135deg,#1b2c3f,#14212f);border:1px solid #3a536b;border-radius:13px;display:grid;gap:5px;margin-top:14px}
.svc-km-total small{font-size:12px;color:#afc3d9}
.svc-km-total strong{font-size:27px;color:#fff;font-variant-numeric:tabular-nums}
@media(max-width:560px){.svc-panel{padding:12px}.svc-claim-card,.svc-mileage-card{padding:11px}}

/* VELCORE V2.9 · Staff Services: Leave + Monthly-to-date Mileage */
.svc-toggle{grid-template-columns:repeat(3,minmax(0,1fr))}
.svc-toggle button{font-size:.87rem;padding:10px 6px}
.svc-leave-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.svc-leave-view{display:flex;gap:8px;margin:16px 0 10px;flex-wrap:wrap}
.svc-leave-view button{flex:1;min-width:130px}
.svc-leave-status-filter{display:grid;gap:6px;max-width:250px;margin:12px 0}
.svc-counter{display:inline-block;margin-left:3px;background:#b90d2e;color:#fff;border-radius:9px;padding:2px 6px;font-size:10px}
.svc-leave-card{border:1px solid #334455;border-radius:12px;background:#14202c;padding:14px;display:grid;gap:8px}
.svc-leave-card small{color:#a6b4c3}.svc-leave-card .svc-leave-reason{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.svc-leave-action-note{font-size:.78rem;color:#a4b4c5}
.svc-leave-card .svc-status.APPROVED{border-color:#347956;color:#a0ebba}
.svc-leave-card .svc-status.CANCELLED{border-color:#708096;color:#bbc4cf}
@media(max-width:560px){.svc-toggle{gap:5px}.svc-toggle button{font-size:11px;padding:10px 3px}.svc-leave-date-grid{gap:7px}.svc-leave-card{padding:11px}}
.svc-leave-create select,.svc-leave-status-filter select{background:#0e1622;color:#eaf0f7;border:1px solid #41516a;border-radius:9px;min-height:42px;padding:10px}
.svc-leave-create textarea{background:#0e1622;color:#eaf0f7;border:1px solid #41516a;border-radius:9px;padding:10px}
.svc-leave-create input[type=file]{background:#0e1622;color:#eaf0f7;border:1px solid #41516a;border-radius:9px;padding:9px}
.svc-leave-create input[type=file]::file-selector-button{background:#263446;color:#fff;border:1px solid #556579;border-radius:6px;padding:7px 10px;margin-right:9px}

/* V2.9.1 — one combined activity/attendance/approved leave report */
.vc-unified-panel{margin-top:12px}
.vc-unified-subtitle{font-size:14px;margin:12px 0 8px;color:#e7edf6}
.vc-unified-att-wrap .report-summary{margin-bottom:14px}
.vc-unified-calendar .report-day{min-height:78px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;overflow-wrap:anywhere}
.vc-unified-calendar .report-day strong{font-size:15px;line-height:1.1}
.vc-unified-calendar .report-day strong small{font-size:9px;font-weight:500;white-space:normal}
.vc-unified-calendar .report-day .vc-unified-status{display:block;font-size:9px;line-height:1.25;color:#99acc5;font-weight:650}
.vc-unified-calendar .report-day.LEAVE,.vc-unified-calendar .report-day.LEAVE_SCHEDULED{border-color:#388dc2;background:#142d44}
.vc-unified-calendar .report-day.LEAVE_HALF,.vc-unified-calendar .report-day.LEAVE_HALF_SCHEDULED{border-color:#9b7ed4;background:#252136}
.vc-unified-calendar .report-day.has-leave:not(.LEAVE):not(.LEAVE_SCHEDULED):not(.LEAVE_HALF):not(.LEAVE_HALF_SCHEDULED){box-shadow:inset 0 0 0 1px #9b7ed4}
.vc-unified-calendar .report-day.WORKING{border-color:#3b82f6}
.vc-unified-calendar .report-day.DONE,.vc-unified-calendar .report-day.DONE_CORRECTED{border-color:#328c5b}
.vc-unified-calendar .report-day.PENDING_END,.vc-unified-calendar .report-day.DECLARED_END{border-color:#c28e26}
.vc-unified-calendar .report-day .vc-unified-status.LEAVE,.vc-unified-calendar .report-day .vc-unified-status.LEAVE_SCHEDULED{color:#95d5ff}
.vc-unified-calendar .report-day .vc-unified-status.LEAVE_HALF,.vc-unified-calendar .report-day .vc-unified-status.LEAVE_HALF_SCHEDULED{color:#dabdff}
.vc-unified-day-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #364454;margin:4px 0 12px}
.vc-unified-leave-event{background:#162d42;border-color:#347da8}
.vc-unified-leave-event small{display:block;margin-top:5px}
.staff-today-badge.leave{color:#a5daff;border-color:#347da8;background:#153449}
.staff-today-badge.leave-half{color:#dabdff;border-color:#9372b9;background:#2b2540}
@media(max-width:650px){.vc-unified-calendar .report-day{min-height:66px;padding:6px 2px}.vc-unified-calendar .report-day strong{font-size:12px}.vc-unified-calendar .report-day strong small{display:block;font-size:8px}.vc-unified-calendar .report-day .vc-unified-status{font-size:8px}.vc-unified-day-heading{flex-wrap:wrap}}

/* VELCORE 2.9.2 — Compact Head mobile UX. Keep desktop and other roles unchanged. */
.svc-title-mobile{display:none}
.vc-team-leave-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;text-align:left;background:#202a3a;color:#fce4e7;border:1px solid #b44558;border-radius:11px;padding:12px 15px;margin:8px 0;cursor:pointer}
.vc-team-leave-trigger[hidden]{display:none!important}
.vc-team-leave-trigger>span:last-child{font-size:22px}
.vc-team-leave-trigger:focus-visible{outline:2px solid #f46b85;outline-offset:2px}
@media(max-width:650px){
 /* Name + status + one sales line, never a long staff dossier in the roster. */
 #tab-team .mobile-intro{margin-bottom:9px}
 #tab-team .mobile-intro .muted{display:none}
 #tab-team .vc-team-profiles{padding:11px}
 #tab-team .vc-team-profiles .panelhead{margin-bottom:9px;gap:8px}
 #tab-team .vc-team-profiles .panelhead h3{font-size:14px}
 #tab-team .vc-team-profiles .panelhead .note{font-size:10px}
 #tab-team .vc-team-profiles .panelhead button{padding:7px 9px;min-height:34px;font-size:11px}
 #tab-team .vc-team-profile-list{gap:7px}
 #tab-team .vc-team-card{gap:7px;padding:11px;border-radius:10px}
 #tab-team .vc-team-card-top{flex-wrap:nowrap}
 #tab-team .vc-team-identity strong{font-size:13px}
 #tab-team .vc-team-identity small{font-size:10px}
 #tab-team .staff-today-badge{font-size:10px;max-width:49%;white-space:normal;text-align:center}
 #tab-team .vc-team-sales small{font-size:10px}
 #tab-team .vc-team-sales b{font-size:13px}
 #tab-team .vc-team-card-activity{display:none}
 #tab-team .vc-team-idle-flag,#tab-team .vc-team-leave-flag{font-size:10px;line-height:1.25}
 #tab-team .vc-team-card-footer{padding-top:6px}
 #tab-team .vc-team-card-footer small{font-size:10px}
 #tab-team .vc-team-reports-trigger{min-height:52px;padding:11px 13px;margin:7px 0;border-radius:10px}
 #tab-team .vc-team-reports-trigger strong{font-size:13px}
 #tab-team .vc-team-reports-trigger small{display:none}
 #tab-team .vc-team-menu-count{height:23px;min-width:23px;font-size:11px}
 #tab-team .vc-team-leave-trigger{min-height:49px;padding:11px 13px}
 #tab-services .mobile-intro .muted{display:none}
 #tab-services .svc-toggle{gap:5px}
 #tab-services .svc-toggle button{min-height:44px;font-size:12px;padding:10px 4px}
 #tab-services .svc-title-wide{display:none}
 #tab-services .svc-title-mobile{display:inline}
 #tab-services .svc-leave-view{margin:10px 0 8px;gap:5px}
 #tab-services .svc-leave-view button{font-size:12px;padding:11px 6px;min-width:0}
 #tab-services .svc-leave-create summary{padding:9px 2px}
}


/* VELCORE 2.9.3 - Head My Team mobile only. HQ/Salesman & desktop reports unchanged. */
#tab-team .vc-head-history-toggle{display:none}
#tab-team .vc-head-history-body{min-width:0}
@media(max-width:650px){
  #tab-team{min-width:0}
  #tab-team .vc-team-reports-workspace{min-width:0;gap:10px}
  #tab-team .vc-head-history-toggle{
    display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;
    padding:14px 13px;margin:0 0 9px;border:1px solid #3a4b60;border-radius:12px;
    background:#182535;color:#f2f6fc;text-align:left;min-height:61px;
  }
  #tab-team .vc-head-history-toggle[aria-expanded="true"]{border-color:#c34a60;background:#202b3b}
  #tab-team .vc-head-history-toggle:focus-visible{outline:2px solid #f0576e;outline-offset:2px}
  #tab-team .vc-head-history-label{display:flex;gap:10px;align-items:center;min-width:0}
  #tab-team .vc-head-history-label>span:last-child{display:grid;gap:4px;min-width:0}
  #tab-team .vc-head-history-label strong{font-size:14px;line-height:1.3}
  #tab-team .vc-head-history-label small{color:#b4c6d9;font-size:11px;line-height:1.35}
  #tab-team .vc-head-history-icon{width:31px;height:31px;flex:none;border-radius:9px;background:#324257;display:grid;place-items:center;font-size:21px;color:#f4c2ce}
  #tab-team .vc-head-history-chevron{font-size:23px;line-height:1;color:#d7e2f0;transition:transform .18s ease}
  #tab-team .vc-head-history-toggle[aria-expanded="true"] .vc-head-history-chevron{transform:rotate(180deg)}
  #tab-team .vc-head-history-body:not(.is-open){display:none}
  #tab-team .vc-head-history-body.is-open{display:block}
  #tab-team .vc-head-history-body>.records-module{padding:12px;margin:0 0 12px;border-radius:12px;min-width:0}
  #tab-team .records-module .panelhead{align-items:center;gap:9px;margin-bottom:10px}
  #tab-team .records-module .panelhead h2{font-size:14px;margin:0 0 5px}
  #tab-team .records-module .panelhead p.note{font-size:11px;line-height:1.4;margin:0}
  #tab-team .records-module .panelhead .ghost{padding:8px 10px;min-height:37px;font-size:12px}
  #tab-team .records-module .records-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #tab-team .records-module .records-filters label{min-width:0;font-size:12px}
  #tab-team .records-module .records-filters select{min-width:0;width:100%;font-size:13px;min-height:45px}
  #tab-team .records-module #recordsSearch{width:100%;min-height:44px;font-size:14px}
  #tab-team .records-module .records-workshop-trigger{min-height:61px;gap:8px}
  #tab-team .records-module .records-workshop-info{min-width:0;overflow-wrap:anywhere}
  #tab-team .records-module .records-workshop-right{min-width:68px}
  #tab-team .vc-unified-panel{margin-top:0;padding:12px;border-radius:12px;min-width:0}
  #tab-team .vc-unified-panel>summary{font-size:14px;line-height:1.35;padding:2px 0;min-height:31px}
  #tab-team .vc-unified-panel>.note{font-size:11px;line-height:1.45;margin:7px 0}
  #tab-team .report-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:11px 0 9px}
  #tab-team .report-toolbar label{font-size:12px;min-width:0;gap:5px}
  #tab-team .report-toolbar label:has(#reportStaff){grid-column:1 / -1}
  #tab-team .report-toolbar select,#tab-team .report-toolbar input{font-size:14px;min-height:45px;padding:9px 10px}
  #tab-team #reportRefresh{width:100%;min-height:42px;font-size:13px}
  #tab-team #reportMessage{font-size:11px;line-height:1.45;margin:9px 0}
  #tab-team .report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
  #tab-team .report-summary>div{min-width:0;min-height:58px;padding:8px 5px;gap:2px}
  #tab-team .report-summary strong{font-size:18px;line-height:1.25}
  #tab-team .report-summary small{font-size:10px;line-height:1.3}
  #tab-team .vc-unified-subtitle{font-size:13px;margin:11px 0 6px}
  #tab-team .report-calendar{gap:3px!important;margin:10px 0 12px}
  #tab-team .report-day-label{font-size:10px;font-weight:700;padding:4px 0 5px}
  #tab-team .vc-unified-calendar .report-day{min-height:55px;padding:5px 2px;gap:2px;border-radius:8px;justify-content:space-between;align-items:center;overflow:hidden}
  #tab-team .vc-unified-calendar .report-day-number{font-size:11px;font-weight:750;padding:0;align-self:flex-start;margin-left:3px;color:#d4e0ef;line-height:1}
  #tab-team .vc-unified-calendar .report-day>strong{font-size:15px;line-height:1.1;margin:auto 0;text-align:center}
  #tab-team .vc-unified-calendar .report-day>strong small{display:none}
  #tab-team .vc-unified-calendar .report-day>small:not(.vc-unified-status){display:none}
  #tab-team .vc-unified-calendar .report-day .vc-unified-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;line-height:1.2;font-size:8px;min-height:9px}
  #tab-team .vc-unified-day-heading{padding:10px 0;gap:8px}
  #tab-team .vc-unified-day-heading strong{font-size:13px}
  #tab-team .vc-unified-day-heading button{min-height:40px;font-size:12px}
  #tab-team .attendance-timeline{min-width:0}
  #tab-team .attendance-time-grid,#tab-team .report-times{grid-template-columns:repeat(3,minmax(0,1fr))}
  #tab-team .attendance-time-grid b,#tab-team .report-times b{overflow-wrap:anywhere}
  #tab-team .vc-team-reports-trigger[aria-expanded="true"]{background:#1d2d3e}
}
@media(max-width:370px){
 #tab-team .vc-unified-calendar .report-day{min-height:53px;padding:4px 1px}
 #tab-team .vc-unified-calendar .report-day>strong{font-size:13px}
 #tab-team .vc-unified-calendar .report-day .vc-unified-status{font-size:7px}
 #tab-team .report-day-label{font-size:9px}
}

/* VELCORE Sales Tracker 3.0 · HQ Command Centre (isolated; Head/Salesman unchanged). */
.vc-hq-lead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:27px 28px;margin-bottom:14px;border-radius:20px;background:linear-gradient(115deg,#202735,#151b24 68%,#221821);border:1px solid #3a3b48;box-shadow:0 10px 35px #0003}
.vc-hq-lead h2{font-size:clamp(23px,2.7vw,32px);margin:6px 0}.vc-hq-lead p:not(.eyebrow){margin:0;max-width:690px;color:#b7c3d2;font-size:13px;line-height:1.5}.vc-hq-lead-icon{display:grid;place-items:center;width:61px;height:61px;border-radius:17px;background:linear-gradient(140deg,#d3314c,#7f1931);font-size:34px;color:white;flex:none}
.vc-hq-overview{display:grid;gap:13px}.vc-hq-range-top,.vc-hq-scope{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.vc-hq-range-top label,.vc-hq-scope label{display:grid;gap:6px;min-width:180px;flex:1 1 190px;font-size:12px;color:#c3cfdf;font-weight:650}
.vc-hq-range-top input,.vc-hq-range-top select,.vc-hq-scope select{height:46px;min-height:46px;min-width:0;width:100%;padding:10px 11px;border:1px solid #475362;border-radius:11px;background:#131b25;color:#f6f8fb;font:inherit;color-scheme:dark}
.vc-hq-range-top button{min-height:46px}.vc-hq-range-top,.vc-hq-scope{background:#151c27;border:1px solid #2c3746;border-radius:14px;padding:12px}.vc-hq-note{color:#b8c7d9;font-size:12px;line-height:1.5;padding:3px 1px;margin:0}
.vc-hq-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.vc-hq-kpi{background:linear-gradient(145deg,#1d2734,#141b26);padding:17px 16px;border-radius:15px;border:1px solid #344255;display:grid;gap:5px;min-width:0}.vc-hq-kpi small{color:#aab9cb;font-size:12px;font-weight:650}.vc-hq-kpi strong{font-size:clamp(20px,2.2vw,29px);line-height:1.2;color:#f9fbff;overflow-wrap:anywhere}.vc-hq-kpi span{font-size:11px;color:#a6b4c4;line-height:1.5}
.vc-hq-chart-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:13px}.vc-hq-card{margin:0;min-width:0}.vc-hq-section-title{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.vc-hq-section-title h2,.vc-hq-section-title h3{margin:0;font-size:18px}.vc-hq-section-title small{font-size:11px;color:#96a7ba}.vc-hq-subhead{margin:20px 0 10px;font-size:13px}.vc-hq-chart{min-width:0}.vc-hq-column-scroller{max-width:100%;overflow-x:auto;padding-bottom:9px}.vc-hq-columns{height:190px;min-width:420px;display:flex;gap:5px;align-items:end;border-bottom:1px solid #364350;padding:6px 5px 0}.vc-hq-col{flex:1 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:3px;height:100%;font-size:10px;color:#97a8ba;min-width:0}.vc-hq-col-value{font-size:9px;color:#e2eaf6}.vc-hq-col-box{height:142px;width:100%;min-width:10px;display:flex;flex-direction:column;justify-content:flex-end}.vc-hq-col-box>span{background:linear-gradient(0deg,#a51e3c,#ea5368);width:100%;border-radius:4px 4px 0 0;display:block;min-height:2px}.vc-hq-col small{font-size:9px;line-height:1.4}.vc-hq-bar-row{display:grid;grid-template-columns:minmax(80px,115px) minmax(60px,1fr) minmax(36px,auto);gap:10px;align-items:center;margin:10px 0}.vc-hq-bar-row>span:first-child{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-hq-bar-row b{font-size:12px;text-align:right}.vc-hq-bar-track{height:11px;background:#303c4b;border-radius:12px;overflow:hidden;display:block}.vc-hq-bar-track>i{height:100%;display:block;background:linear-gradient(90deg,#94223f,#ef566e);border-radius:12px}.vc-hq-kind{margin-top:16px}.vc-hq-attention{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:13px 0;border-bottom:1px solid #313e4c}.vc-hq-attention b{font-size:23px;color:#ffd4dc}.vc-hq-attention span{font-size:13px}.vc-hq-attention small{display:block;color:#9faec0;font-size:11px;line-height:1.4}.vc-hq-attention .ghost{padding:6px 9px;min-height:36px;font-size:11px}
.vc-hq-staff-list{display:grid;gap:9px}.vc-hq-staff{border:1px solid #334356;border-radius:13px;background:#17212d;color:#f8fafe;padding:14px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;text-align:left;width:100%;white-space:normal}.vc-hq-staff:hover,.vc-hq-staff:focus-visible{background:#253246;border-color:#d64160}.vc-hq-staff span:first-child{display:grid;gap:5px;min-width:0}.vc-hq-staff span:first-child strong{font-size:14px}.vc-hq-staff small{font-size:11px;color:#aebed2;line-height:1.4}.vc-hq-staff-metrics{display:grid;gap:4px;text-align:right}.vc-hq-staff-metrics b{font-size:13px}.vc-hq-actions{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 5px}.vc-hq-actions button{min-height:45px;white-space:normal;text-align:center}.vc-hq-table-scroll{overflow-x:auto;width:100%;border:1px solid #334051;border-radius:12px;margin:14px 0}.vc-hq-table{width:100%;border-collapse:collapse;min-width:930px}.vc-hq-table th,.vc-hq-table td{padding:13px 11px;border-bottom:1px solid #293644;font-size:12px;text-align:left;white-space:nowrap}.vc-hq-table th{color:#a5bad3;font-weight:750;background:#1c2632}.vc-hq-table tbody tr:hover{background:#1e2a39}.vc-hq-table-name{border:0;background:transparent;color:#f5f8fa;text-align:left;display:grid;gap:4px;padding:0;white-space:normal}.vc-hq-table-name b{text-decoration:underline;text-decoration-color:#9a2c47;text-underline-offset:3px}.vc-hq-table-name small{font-size:11px;color:#a0b0c4}.vc-hq-claim{padding:16px;background:#192330;border:1px solid #334356;border-radius:13px;min-width:0}.vc-hq-claim-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.vc-hq-claim-top>b{font-size:14px}.vc-hq-claim-top>span{font-size:11px;color:#f1d2db;background:#422234;border:1px solid #87445a;border-radius:99px;padding:5px 10px}.vc-hq-claim-top>.vc-hq-status-PAID,.vc-hq-claim-top>.vc-hq-status-HQ_APPROVED{color:#b7f4d1;background:#133f30;border-color:#30815f}.vc-hq-claim-amount{display:block;font-size:22px;margin:9px 0}.vc-hq-claim p{font-size:12px;color:#c0ccdb;margin:5px 0 9px}.vc-hq-claim-bottom,.vc-hq-claim-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vc-hq-claim-bottom a,.vc-hq-item-links a{color:#f3a2b3;text-decoration:underline;font-weight:650}.vc-hq-claim-bottom span{font-size:12px}.vc-hq-claim-actions{margin-top:12px}.vc-hq-claim-actions button{min-height:39px;padding:7px 13px}
.vc-hq-dialog[hidden]{display:none!important}.vc-hq-dialog{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:15px}.vc-hq-dialog-bg{position:absolute;inset:0;background:rgba(0,0,0,.78)}.vc-hq-dialog-panel{position:relative;z-index:1;width:min(850px,100%);max-height:94vh;overflow:auto;background:#131c28;border:1px solid #405269;border-radius:18px;padding:20px;box-shadow:0 30px 90px #000a}.vc-hq-dialog-open{overflow:hidden}.vc-hq-detail-group{border:1px solid #37465a;border-radius:12px;padding:11px 14px;margin:13px 0;background:#182231}.vc-hq-detail-group>summary{font-weight:800;cursor:pointer;padding:4px 0 10px}.vc-hq-detail-item{padding:12px 5px;border-top:1px solid #344256}.vc-hq-detail-item>b{display:block;font-size:13px}.vc-hq-detail-item>small{color:#a8b9ce;display:block;margin:5px 0;font-size:11px}.vc-hq-detail-item p{font-size:12px;color:#b8c5d5}.vc-hq-item-links{display:flex;flex-wrap:wrap;gap:13px;font-size:12px;margin:8px 0 0}
@media(max-width:800px){.vc-hq-chart-grid{grid-template-columns:minmax(0,1fr)}.vc-hq-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.vc-hq-lead{padding:17px}.vc-hq-lead-icon{width:44px;height:44px;font-size:24px}.vc-hq-lead h2{font-size:23px}.vc-hq-lead p:not(.eyebrow){font-size:12px}.vc-hq-overview{gap:10px}.vc-hq-range-top,.vc-hq-scope{padding:9px;gap:8px}.vc-hq-range-top label,.vc-hq-scope label{min-width:0;flex:1 1 calc(50% - 8px);font-size:11px}.vc-hq-range-top label:last-of-type:nth-child(3){flex-basis:100%}.vc-hq-range-top button{flex:1 1 100%}.vc-hq-card{padding:13px}.vc-hq-card h2{font-size:17px}.vc-hq-kpis{gap:7px}.vc-hq-kpi{padding:12px 10px;gap:3px}.vc-hq-kpi small{font-size:10px}.vc-hq-kpi strong{font-size:19px}.vc-hq-kpi span{font-size:10px}.vc-hq-col{min-width:15px}.vc-hq-section-title{gap:7px}.vc-hq-section-title h3{font-size:15px}.vc-hq-section-title button{font-size:11px;padding:7px 9px}.vc-hq-staff{padding:11px;gap:8px}.vc-hq-staff-metrics b{font-size:12px}.vc-hq-staff-metrics small{font-size:10px}.vc-hq-attention{grid-template-columns:34px 1fr auto;gap:7px}.vc-hq-attention b{font-size:18px}.vc-hq-attention span{font-size:12px}.vc-hq-attention .ghost{font-size:10px;padding:5px 7px}.vc-hq-actions button{flex:1 1 calc(50% - 6px);font-size:12px;padding:8px}.vc-hq-dialog{padding:0}.vc-hq-dialog-panel{max-height:100dvh;height:100dvh;width:100%;border-radius:0;padding:13px}.vc-hq-dialog-panel .vc-hq-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vc-hq-claim{padding:12px}}
@media(max-width:390px){.vc-hq-lead-icon{display:none}.vc-hq-staff{grid-template-columns:minmax(0,1fr) auto}.vc-hq-staff-metrics{grid-column:1/2;grid-row:2;text-align:left}.vc-hq-staff>span:last-child{grid-column:2/3;grid-row:1/3}.vc-hq-range-top label{flex-basis:100%}}

/* HQ V3.0.1 — End Day queue; responsive and keyboard-accessible. */
.vc-hq-endday-list{display:grid;gap:10px}
.vc-hq-endday-card{min-width:0;border:1px solid #3b4757;background:#182330;border-radius:13px;padding:14px;display:grid;gap:10px}
.vc-hq-endday-top{display:flex;justify-content:space-between;align-items:start;gap:10px;flex-wrap:wrap}
.vc-hq-endday-top>div{display:grid;gap:4px;min-width:0}.vc-hq-endday-top strong{font-size:14px;color:#f4f7fc}
.vc-hq-endday-top small,.vc-hq-endday-meta small{font-size:11px;color:#abbad0}
.vc-hq-endday-status{display:inline-block;border:1px solid #936847;background:#3a2a24;color:#f7d5a5;border-radius:25px;padding:5px 9px;font-size:11px;font-weight:650}
.vc-hq-endday-status.vc-hq-endday-ready{border-color:#765d3c;background:#39301f;color:#ffe6aa}
.vc-hq-endday-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vc-hq-endday-meta span{display:grid;gap:3px}.vc-hq-endday-meta b{font-size:12px;color:#ebf0f8}
.vc-hq-endday-reason{color:#e6d5c1;font-size:12px;line-height:1.5;margin:0}.vc-hq-endday-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vc-hq-endday-actions a{color:#ffb4c2;font-size:12px;text-decoration:underline}.vc-hq-endday-actions button{min-height:40px}
.vc-hq-endday-review{border-top:1px solid #3c4959;padding-top:9px}.vc-hq-endday-review summary{cursor:pointer;color:#ffc4cf;font-weight:700;font-size:13px;min-height:35px}
.vc-hq-endday-review form{display:grid;gap:10px;max-width:700px}.vc-hq-endday-review label{display:grid;gap:6px;font-size:12px;color:#e7eff8}
.vc-hq-endday-review textarea{background:#101923;color:#fff;border:1px solid #58697e;border-radius:9px;padding:11px;font:inherit;width:100%;resize:vertical}
.vc-hq-endday-review button{justify-self:start;min-height:42px}.vc-hq-endday-warning{font-size:12px;color:#e1c0a4;line-height:1.5;margin:0}
@media(max-width:550px){.vc-hq-endday-card{padding:12px}.vc-hq-endday-meta{grid-template-columns:1fr}.vc-hq-endday-review button{width:100%}}

/* V3.0.2 — HQ exact date range controls: comfortably spaced on mobile. */
@media(max-width:650px){
  .vc-hq-range-top label:first-child{flex:1 1 100%;}
  .vc-hq-range-top label:nth-child(2),.vc-hq-range-top label:nth-child(3){flex:1 1 calc(50% - 8px);min-width:0;}
  .vc-hq-range-top label:last-of-type:nth-child(3){flex-basis:calc(50% - 8px);}
  .vc-hq-range-top label:nth-child(n+4){flex:1 1 100%;}
  .vc-hq-range-top input[type="date"]{font-size:13px;padding-inline:7px;}
}

/* VELCORE V3.1.0 unified release — Head/Salesman phone field experience + HQ Finance */
.vc-finance-report{margin-top:22px;padding-top:18px;border-top:1px solid #354257;min-width:0}
.vc-finance-report .vc-hq-section-title{margin-bottom:12px}
.vc-finance-controls{display:flex;gap:9px;flex-wrap:wrap;align-items:end}
.vc-finance-controls label{flex:1 1 260px;min-width:180px;display:grid;gap:5px;font-size:13px;color:#c6d5e6}
.vc-finance-controls select{width:100%;height:48px;border:1px solid #516074;border-radius:12px;background:#111d29;color:#fff;padding:11px;font:inherit}
.vc-finance-controls button{min-height:46px;padding:10px 14px;white-space:normal}
.vc-finance-report .vc-hq-kpis{margin-top:12px}
.vc-finance-table{min-width:780px}
.vc-finance-table td{vertical-align:top;white-space:normal;min-width:74px;max-width:260px}
.vc-finance-table th{white-space:normal;min-width:74px}
.vc-finance-table td:first-child{min-width:130px}
.vc-finance-table small{display:block;font-size:11px;color:#9db1c7;margin-top:4px}
.vc-finance-table a{color:#ffa9ba;text-decoration:underline}
.vc-finance-flag{display:block;color:#ffc17c!important;font-size:11px;line-height:1.4;margin-top:5px;white-space:normal}
.vc-finance-evidence-btn{font-size:12px;margin-top:8px;min-height:40px!important;border-color:#61718a!important}

/* CSS-fullscreen camera is intentional: works on iOS Safari where the browser's fullscreen API may be unavailable. */
.vc-camera-fullscreen[hidden]{display:none!important}
.vc-camera-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:99999;background:#060a10;color:#fff;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}
body.vc-camera-lock{overflow:hidden;touch-action:none}
.vc-camera-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;gap:12px;background:#0e1722;border-bottom:1px solid #253143}
.vc-camera-header strong{font-size:15px;text-align:center;line-height:1.3}
.vc-camera-header>span{font-size:11px;letter-spacing:.1em;font-weight:800;color:#75f1a9}
.vc-camera-quiet{background:#1b2937;color:#f1f5fa;border:1px solid #4c5c6e;border-radius:10px;padding:9px 12px;min-height:42px;white-space:nowrap}
.vc-camera-viewport{min-height:0;position:relative;flex:1;background:#030507;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vc-camera-video-host{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;min-height:0}
.vc-camera-video-host video,.vc-camera-viewport>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#000;display:block;border-radius:0}
.vc-camera-video-host video[hidden],.vc-camera-viewport>img[hidden]{display:none!important}
.vc-camera-viewport>img{position:absolute;inset:0}
#vcCameraError{position:absolute;left:14px;right:14px;bottom:15px;padding:12px;border:1px solid #da4d60;background:#451a25;color:#fff;border-radius:12px;z-index:1}
.vc-camera-bottom{flex:0 0 auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:#0e1722;border-top:1px solid #253143;text-align:center;display:grid;justify-items:center;gap:11px}
.vc-camera-bottom p{margin:0;font-size:13px;color:#c7d2dd;line-height:1.45}
.vc-camera-shutter{border:4px solid #fff;border-radius:999px;background:transparent;width:75px;height:75px;display:flex;justify-content:center;align-items:center;padding:6px;cursor:pointer}
.vc-camera-shutter>span{display:block;background:#f6f8fa;border-radius:999px;width:55px;height:55px}
.vc-camera-shutter:disabled{opacity:.5;cursor:wait}
#vcCameraConfirmActions{display:flex;gap:12px;justify-content:center;width:min(100%,480px)}
#vcCameraConfirmActions[hidden]{display:none!important}
#vcCameraConfirmActions button{flex:1;min-height:52px;font-size:15px;white-space:normal}
#tab-work .camera-actions,#tab-tracking .camera-actions{display:block}
#tab-work [data-camera-open],#tab-tracking [data-camera-open]{width:100%;min-height:53px;font-weight:750;font-size:15px}
#tab-work [data-camera-shot],#tab-tracking [data-camera-shot]{display:none!important}
#tab-work .camera-box video,#tab-tracking .camera-box video{display:none!important}

@media(max-width:700px){
 #tab-work .tracking-panel,#tab-tracking .tracking-panel{max-width:100%;width:100%;padding:15px 13px;border-radius:15px}
 #tab-work .tracking-panel h2,#tab-tracking .tracking-panel h2{font-size:19px!important;line-height:1.35}
 #tab-work .tracking-panel p.muted,#tab-tracking .tracking-panel p.muted{font-size:13px!important;line-height:1.5}
 #tab-work .tracking-panel label,#tab-tracking .tracking-panel label{font-size:14px!important;font-weight:650;line-height:1.5}
 #tab-work .tracking-panel input:not([type="radio"]):not([type="checkbox"]),#tab-tracking .tracking-panel input:not([type="radio"]),#tab-tracking .tracking-panel select,#tab-tracking .tracking-panel textarea,#tab-work .tracking-panel textarea,#tab-work .tracking-panel select,
 #formMissedEnd input:not([type="checkbox"]),#formMissedEnd textarea{font-size:16px!important;min-height:54px!important;width:100%;max-width:100%;border-radius:13px;padding:13px!important;box-sizing:border-box}
 #tab-tracking .kind-switch{display:grid!important;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 18px}
 #tab-tracking .kind-switch label{min-width:0;background:#182838;border:1px solid #4a6078;border-radius:13px;padding:16px 10px;min-height:58px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:15px!important;margin:0}
 #tab-tracking .kind-switch label:has(input:checked),#tab-tracking .prospect-choice label:has(input:checked){border:2px solid #f04c65;background:#36202b;color:#fff}
 #tab-tracking .tracking-panel input[type="radio"]{width:19px;height:19px;flex:0 0 19px;margin:0}
 #tab-tracking .prospect-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 #tab-tracking .prospect-choice label{font-size:14px!important;min-height:62px;padding:12px!important}
 #tab-tracking #trackingDealerResults,#tab-tracking #prospectResults{max-height:48dvh;overflow-y:auto;border-radius:13px}
 #tab-tracking .dealer-suggestion{min-height:66px;padding:14px 13px;display:grid;gap:6px;text-align:left;white-space:normal;font-size:15px}
 #tab-tracking .dealer-suggestion strong{font-size:16px}
 #tab-tracking .dealer-suggestion span{font-size:12px;line-height:1.4}
 #tab-tracking #trackingDealerSearch,#tab-tracking #newProspectName,#tab-tracking #prospectSearch{min-height:60px!important;font-size:18px!important}
 #tab-tracking .dealer-selected{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
 #tab-work .mileage-details input{font-size:24px!important;font-weight:750;letter-spacing:.02em}
 #tab-work .primary-wide,#tab-tracking .primary-wide{min-height:58px;font-size:16px;white-space:normal}
 #tab-tracking .camera-box,#tab-work .camera-box{padding:13px;margin-top:15px}
 #tab-tracking .camera-box img,#tab-work .camera-box img{max-height:210px;object-fit:contain}
 .vc-finance-controls label{min-width:100%;flex-basis:100%}
 .vc-finance-controls button{flex:1 1 calc(50% - 10px);min-width:120px}
}

/* V3.1.1 — HQ same-day second work session authorisation */
.vc-hq-restart{border:1px solid #395269;border-radius:13px;background:#172535;padding:14px;margin:14px 0}
.vc-hq-restart[hidden],.vc-hq-restart form[hidden]{display:none!important}
.vc-hq-restart h3{margin:0 0 8px;font-size:16px}
.vc-hq-restart label{display:block;font-size:13px;margin-top:12px;color:#cbd7e7}
.vc-hq-restart textarea{display:block;width:100%;min-height:76px;margin:7px 0 11px;font-size:16px;resize:vertical}
.vc-hq-restart button{min-height:46px;width:100%}
@media(min-width:700px){.vc-hq-restart button{width:auto}}

/* VELCORE V3.1.2 — rejection reasons in staff-facing Claim & Apply Cuti */
.svc-rejection-note{border:1px solid #a33d54;border-left:4px solid #ef536e;border-radius:10px;background:#301b27;color:#f9dce3;padding:12px 14px;max-width:100%;min-width:0}
.svc-rejection-note strong{display:block;font-size:.9rem;font-weight:700;color:#ffd7e0}
.svc-rejection-note p{margin:6px 0 0;font-size:.91rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:560px){.svc-rejection-note{padding:12px}.svc-rejection-note strong{font-size:14px}.svc-rejection-note p{font-size:14px}}

/* V3.1.3 · HQ Memo & Announcements · responsive, role-gated PDF preview */
.vc-memo-home{border-color:#465063;background:linear-gradient(135deg,#17222e,#121921 72%)}
.vc-memo-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.vc-memo-heading h2,.vc-memo-heading h3{margin:4px 0 7px;font-size:clamp(17px,2.4vw,22px)}
.vc-memo-heading .note{margin:3px 0}.vc-memo-heading button{white-space:normal;flex-shrink:0}
.vc-memo-home-items,.vc-memo-list{display:grid;gap:10px}
.vc-memo-card{padding:14px;border-radius:13px;background:#1a2532;border:1px solid #354456;display:grid;gap:9px;min-width:0}
.vc-memo-card.is-unread{border-left:3px solid #e83b55}
.vc-memo-card-top,.vc-memo-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.vc-memo-card-title{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
.vc-memo-card-title strong{font-size:15px;overflow-wrap:anywhere}
.vc-memo-status{font-size:11px;color:#d1d8e2;border:1px solid #526073;border-radius:50px;padding:5px 9px;white-space:nowrap}
.vc-memo-meta{color:#a9b6c6;font-size:12px;margin:0;line-height:1.5}
.vc-memo-summary{color:#e1e7f0;font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.vc-memo-actions{justify-content:flex-start}.vc-memo-actions button,.vc-memo-actions a,.vc-memo-actions select{min-height:44px;padding:10px 13px;text-decoration:none;font-size:13px}
.vc-memo-actions a{display:inline-flex;align-items:center}.vc-memo-status-select{border-radius:10px;border:1px solid #526073;background:#0d141d;color:#fff;max-width:180px}
.vc-memo-manage label{display:block;color:#e3e8ef;font-size:13px;font-weight:600;margin:13px 0}
.vc-memo-manage input:not([type=checkbox]),.vc-memo-manage select,.vc-memo-manage textarea{display:block;background:#0f151e;border:1px solid #506074;border-radius:11px;color:#f8f9fc;min-height:48px;width:100%;padding:12px;margin-top:7px;font-size:16px}
.vc-memo-manage select{appearance:auto}.vc-memo-manage textarea{resize:vertical}
.vc-memo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}
.vc-memo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.vc-memo-check{display:flex!important;align-items:flex-start;gap:11px;background:#19222e;border:1px solid #364757;border-radius:13px;padding:13px!important;margin:0!important;cursor:pointer}
.vc-memo-check input[type=checkbox]{min-width:21px;width:21px;height:21px;margin:2px 0 0;accent-color:#db2b49;flex:0 0 auto}
.vc-memo-check span{display:grid;gap:5px}.vc-memo-check small{font-size:12px;font-weight:400;color:#afbdcc;line-height:1.45}
.vc-memo-group-title{margin:4px 0 10px;font-size:14px}.vc-memo-archive{margin-top:12px;border-top:1px solid #354152;padding-top:14px}
.vc-memo-archive summary{cursor:pointer;font-weight:700;margin:0 0 13px;color:#cbd6e1}.vc-memo-archive .vc-memo-card{margin:10px 0}
.vc-memo-overlay{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:90;display:flex;align-items:center;justify-content:center;padding:12px}
.vc-memo-overlay[hidden],.vc-memo-dialog-actions a[hidden],.vc-memo-dialog-actions button[hidden],#vcMemoTargetBox[hidden]{display:none!important}
.vc-memo-viewing{overflow:hidden}.vc-memo-dialog{display:flex;flex-direction:column;background:#131b25;border:1px solid #4b5a6a;border-radius:16px;width:min(960px,100%);height:min(92dvh,930px);min-height:300px;min-width:0;padding:14px;gap:9px;box-shadow:0 22px 75px #0009}
.vc-memo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.vc-memo-dialog-head h3{margin:4px 0;overflow-wrap:anywhere;font-size:18px}
.vc-memo-dialog-head .eyebrow{margin:0}.vc-memo-dialog-head button{flex-shrink:0}
.vc-memo-dialog>p{margin:0;line-height:1.35}.vc-memo-dialog iframe{display:block;flex:1;width:100%;min-height:80px;border:1px solid #465163;border-radius:10px;background:#f8f8f8}
.vc-memo-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.vc-memo-dialog-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:650px){
 .vc-memo-heading{align-items:stretch}.vc-memo-heading h2{font-size:18px}.vc-memo-heading button{font-size:12px;max-width:142px}
 .vc-memo-form-grid,.vc-memo-options{grid-template-columns:1fr}
 .vc-memo-actions button,.vc-memo-actions a{min-height:48px}
 .vc-memo-overlay{padding:0}.vc-memo-dialog{width:100%;height:100dvh;border:0;border-radius:0;padding:11px}
 .vc-memo-dialog-head h3{font-size:16px}.vc-memo-dialog iframe{min-height:0}
 .vc-memo-dialog-actions .primary,.vc-memo-dialog-actions a{flex:1;text-align:center;white-space:normal}
}
.vc-memo-existing-flags{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0;border-top:1px solid #394659}
.vc-memo-existing-flags label{display:flex;align-items:center;gap:8px;font-size:12px;color:#e5e9ef;cursor:pointer;min-height:32px}
.vc-memo-existing-flags input{min-height:18px;height:19px;width:19px;accent-color:#d52543}
.vc-memo-recipients{border:1px solid #465568;border-radius:12px;padding:11px;background:#101821;display:grid;gap:9px}
.vc-memo-recipients[hidden]{display:none!important}
.vc-memo-recipient{display:flex;justify-content:space-between;gap:9px;padding:9px 0;border-top:1px solid #354051;font-size:12px}
.vc-memo-recipient span{color:#b6c3d0;text-align:right}
@media(max-width:650px){.vc-memo-recipient{flex-direction:column}.vc-memo-recipient span{text-align:left}}
.vc-memo-dialog .note a{color:#a9c9ff;text-underline-offset:3px}

/* V3.1.4 – native in-app canvas PDF reader on mobile; desktop keeps its PDF iframe. */
.vc-memo-mobile-reader[hidden],.vc-memo-reader-toolbar[hidden],.vc-memo-reader-fallback[hidden],#vcMemoFrame[hidden]{display:none!important}
.vc-memo-mobile-reader{display:flex;flex-direction:column;flex:1;min-height:0;background:#18222d;border:1px solid #455367;border-radius:11px;overflow:hidden}
.vc-memo-reader-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;background:#343b44;padding:8px;display:flex;align-items:flex-start;justify-content:flex-start}
.vc-memo-reader-scroll canvas{display:block;margin:0 auto;background:white;box-shadow:0 4px 18px #0006;max-width:none}
.vc-memo-reader-status{padding:9px 11px;margin:0;color:#d5e2f1;font-size:13px;text-align:center}
.vc-memo-reader-status[hidden]{display:none!important}
.vc-memo-reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px;background:#121d27;border-top:1px solid #465466}
.vc-memo-reader-toolbar .ghost{font-size:13px;min-height:40px;padding:8px 12px}
.vc-memo-reader-toolbar span{font-weight:700;font-size:13px;white-space:nowrap}
.vc-memo-reader-fallback a{color:#ff9fac}
@media(max-width:650px){
  #vcMemoHome[data-role="SALESMAN"] .vc-memo-home-items .vc-memo-card:nth-child(n+2),
  #vcMemoHome[data-role="HEAD"] .vc-memo-home-items .vc-memo-card:nth-child(n+2){display:none}
  #vcMemoHome[data-role="SALESMAN"],#vcMemoHome[data-role="HEAD"]{padding:12px;margin-bottom:9px}
  #vcMemoHome:not([data-role="HQ"]) .eyebrow,#vcMemoHome:not([data-role="HQ"]) .vc-memo-heading .note{display:none}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-heading{gap:6px;align-items:center;margin-bottom:4px}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-heading h2{font-size:16px;margin:0}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-heading button{min-height:36px;padding:7px;font-size:11px}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-home-card{padding:10px 11px;gap:6px}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-home-card .vc-memo-meta,
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-home-card .vc-memo-summary,
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-home-card [data-memo-download]{display:none}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-home-card .vc-memo-actions{margin:5px 0 0}
  #vcMemoHome:not([data-role="HQ"]) .vc-memo-home-card [data-memo-open]{width:100%;min-height:42px}
  #vcMemoHome:not([data-role="HQ"]) #vcMemoHomeStatus{margin:5px 0;font-size:11px}
  .vc-memo-dialog{gap:6px;padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .vc-memo-dialog-head .eyebrow{display:none}.vc-memo-dialog-head h3{font-size:16px}
  #vcMemoViewNotice{font-size:11px;line-height:1.2;max-height:2.4em;overflow:hidden}
  .vc-memo-dialog-actions{flex-wrap:nowrap}.vc-memo-dialog-actions a,.vc-memo-dialog-actions button{font-size:13px;min-height:45px;padding:9px 11px}
}

@media(max-width:650px){
 #tab-memos:not([data-role="HQ"]) .mobile-intro{margin:2px 0 10px}
 #tab-memos:not([data-role="HQ"]) .mobile-intro .eyebrow,
 #tab-memos:not([data-role="HQ"]) .mobile-intro .muted{display:none}
 #tab-memos:not([data-role="HQ"]) .mobile-intro h2{font-size:19px}
 #tab-memos:not([data-role="HQ"]) .vc-memo-card{padding:11px;gap:7px}
 #tab-memos:not([data-role="HQ"]) .vc-memo-card .vc-memo-summary{display:none}
 #tab-memos:not([data-role="HQ"]) .vc-memo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 #tab-memos:not([data-role="HQ"]) .vc-memo-actions>button:first-child{grid-column:1 / -1}
 #tab-memos:not([data-role="HQ"]) .vc-memo-actions a{justify-content:center}
}
/* V3.1.5 offline field mode and HQ evidence review */
.vc-offline-launch{display:flex;align-items:center;justify-content:space-between;gap:12px}.vc-offline-launch h3{margin:0}.vc-offline-launch-button{padding:12px 16px;background:#b9142e;color:#fff;border-radius:10px;text-decoration:none;white-space:nowrap;font-weight:700}.vc-offline-hq-list{display:grid;gap:10px}.vc-offline-hq-card{background:#172332;border:1px solid #36485d;padding:12px;border-radius:10px;display:grid;gap:9px}.vc-offline-hq-head{display:flex;flex-direction:column;gap:4px}.vc-offline-hq-head small{color:#a7b8cc}.vc-offline-hq-card p{margin:0;overflow-wrap:anywhere;font-size:13px}.vc-offline-hq-card a{color:#faa1ac}.vc-offline-hq-card textarea{min-height:60px}.vc-offline-hq-btns{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:600px){.vc-offline-launch{flex-direction:column;align-items:stretch}.vc-offline-launch-button{text-align:center}.vc-offline-hq-btns button{flex:1}}

/* V3.1.6: Mode Offline berada dalam tab Lagi, gaya pintasan pautan */
a.menu-shortcut{text-decoration:none;cursor:pointer}
a.menu-shortcut:focus-visible{outline:2px solid #f04b60;outline-offset:3px}


/* VELCORE 1.2.7 — use more phone screen width, keep desktop unchanged. */
@media (max-width:650px) {
  .app {
    padding-left:max(7px, env(safe-area-inset-left));
    padding-right:max(7px, env(safe-area-inset-right));
  }
  #tab-dashboard .performance-panel {
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:9px;
    padding-right:9px;
    border-radius:14px;
  }
  #tab-dashboard .vc-memo-home {
    margin-left:0;
    margin-right:0;
  }
}

/* VELCORE Sales Tracker v1.2.7 / UI STATUS SERAGAM R1 (10 Nov 2026)
 * Only colour accents change. Work-day decisions, attendance and access stay in existing code.
 * Shared palettes: WORKING green, VISITING amber, DONE grey, NOT_STARTED red.
 */
.staff-today-badge.working{color:#dcfce7;background:#14532d;border-color:#4ade80}
.staff-today-badge.visiting{color:#fef3c7;background:#67450f;border-color:#fbbf24}
.staff-today-badge.done{color:#e2e8f0;background:#334155;border-color:#718096}
.staff-today-badge.not-started{color:#fecaca;background:#531c26;border-color:#f87171}
.staff-today-stat.working strong{color:#86efac}
.staff-today-stat.visiting strong{color:#fde68a}
.staff-today-stat.done strong{color:#cbd5e1}
.staff-today-stat.not-started strong{color:#fca5a5}
/* Salesman + Head Home work-status strip (never colour the action button). */
.home-work-quick[data-work-status="loading"]{background:#192330;border-color:#405064}
.home-work-quick[data-work-status="loading"] small{color:#a6b5c6}
.home-work-quick[data-work-status="not-started"]{background:linear-gradient(120deg,#301d26,#161a24);border-color:#b94352}
.home-work-quick[data-work-status="not-started"] small{color:#fca5a5}
.home-work-quick[data-work-status="not-started"] strong{color:#fecaca}
.home-work-quick[data-work-status="working"]{background:linear-gradient(120deg,#153627,#101f24);border-color:#2e9a62}
.home-work-quick[data-work-status="working"] small{color:#9be7b9}
.home-work-quick[data-work-status="working"] strong{color:#dcfce7}
.home-work-quick[data-work-status="visiting"]{background:linear-gradient(120deg,#3a2d1a,#171b23);border-color:#c28d29}
.home-work-quick[data-work-status="visiting"] small{color:#ffe099}
.home-work-quick[data-work-status="visiting"] strong{color:#fef3c7}
.home-work-quick[data-work-status="done"]{background:linear-gradient(120deg,#243142,#151c28);border-color:#65758a}
.home-work-quick[data-work-status="done"] small{color:#becce0}
.home-work-quick[data-work-status="done"] strong{color:#e2e8f0}
.home-work-quick[data-work-status="attention"]{background:linear-gradient(120deg,#41301d,#1e1c20);border-color:#d69b36}
.home-work-quick[data-work-status="attention"] small{color:#fed7aa}
.home-work-quick[data-work-status="attention"] strong{color:#ffedd5}
/* HQ Command Centre daily staff status labels. */
.vc-hq-work-state{display:inline-block;font:inherit;font-weight:750;line-height:1.3;border:1px solid #576273;border-radius:999px;padding:3px 7px;color:#cbd5e1;background:#303946;white-space:normal}
.vc-hq-work-state.working{color:#dcfce7;background:#14532d;border-color:#4ade80}
.vc-hq-work-state.visiting{color:#fef3c7;background:#67450f;border-color:#fbbf24}
.vc-hq-work-state.done{color:#e2e8f0;background:#334155;border-color:#718096}
.vc-hq-work-state.not-started{color:#fecaca;background:#531c26;border-color:#f87171}
.vc-hq-work-state.attention{color:#fef3c7;background:#5a401b;border-color:#fbbf24}
.vc-hq-work-state.leave{color:#a5daff;background:#153449;border-color:#347da8}
.vc-hq-work-state.leave-half{color:#dabdff;background:#2b2540;border-color:#9372b9}

/* VELCORE v1.2.7 R2 · Head/HQ unified calendar. Read-only visual classifications.
   Role-neutral selectors because calendar is shared by Head/HQ/Salesman.
   No proof of absence or day off until HQ holds an approved duty roster. */
.vc-calendar-legend[hidden]{display:none!important}
.vc-calendar-legend{margin:12px 0 5px;display:grid;gap:8px}
.vc-calendar-legend-items{display:flex;gap:6px;flex-wrap:wrap}
.vc-calendar-legend-items>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 8px;border:1px solid #526174;border-radius:999px;font-size:10px;font-weight:700;line-height:1.25;background:#172230;color:#d9e5f3}
.vc-calendar-legend-items>span::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.vc-calendar-legend-items>.vc-legend-present{color:#86efac;border-color:#297951;background:#12291f}
.vc-calendar-legend-items>.vc-legend-missing{color:#fda4af;border-color:#994150;background:#321d26}
.vc-calendar-legend-items>.vc-legend-leave{color:#cbd5e1;border-color:#6f7885;background:#242b35}
.vc-calendar-legend-items>.vc-legend-review{color:#fde68a;border-color:#a67a28;background:#30291c}
.vc-calendar-legend-items>.vc-legend-future{color:#aab9cb;border-color:#48576b;background:#192331}
.vc-calendar-disclaimer{font-size:10px;color:#adbace;line-height:1.45;margin:0}
.vc-calendar-disclaimer strong{color:#f5cbd2}
.vc-unified-calendar.vc-calendar-r2 .report-day{background:#1b2635;border:1px solid #3c4a5a;min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:3px;flex-direction:column;padding:7px 3px;overflow:hidden;border-radius:10px;box-shadow:none}
.vc-unified-calendar.vc-calendar-r2 .report-day .report-day-number{font-size:11px;font-weight:750;align-self:flex-start;color:#c6d3e4;padding-left:2px;margin:0}
.vc-unified-calendar.vc-calendar-r2 .report-day>strong{font-size:18px;line-height:1;text-align:center;margin:auto 0 2px;color:#fff;white-space:nowrap}
.vc-unified-calendar.vc-calendar-r2 .report-day>strong small{display:block;font-size:9px;margin-top:4px;font-weight:550;line-height:1}
.vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-status{display:block!important;color:#b9c7d7;font-size:10px;font-weight:750;line-height:1.2;max-width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere;min-height:11px}
.vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-extra{display:block;font-size:9px;font-weight:750;line-height:1.2;color:#d0d8e3;white-space:normal;text-align:center}
.vc-unified-calendar.vc-calendar-r2 .report-day .vc-day-kinds{min-height:10px;display:flex;gap:3px;align-items:center;justify-content:center;font-size:9px;font-weight:750;line-height:1}
.vc-unified-calendar.vc-calendar-r2 .vc-day-dealer{color:#ff8797}.vc-unified-calendar.vc-calendar-r2 .vc-day-prospect{color:#ffdc81}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-present{border-color:#2a8b5d;background:#10291f}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-present .vc-unified-status{color:#9ae9b9}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-missing{border-color:#ad4553;background:#321c25}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-missing .vc-unified-status{color:#ffadba}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-leave{border-color:#718094;background:#242c36}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-leave .vc-unified-status{color:#e0e8f2}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-review{border-color:#c29632;background:#31291b}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-review .vc-unified-status{color:#ffdd83}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-today,.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-future{border-color:#3b4a5d;background:#1b2635}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-today .vc-unified-status,.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-future .vc-unified-status{color:#aebbcf}
.vc-unified-calendar.vc-calendar-r2 .report-day:focus-visible{outline:2px solid #f1748d;outline-offset:1px}
@media(max-width:650px){
  .vc-calendar-legend-items>span{font-size:9px;padding:4px 6px}
  .vc-calendar-disclaimer{font-size:10px}
  .vc-unified-calendar.vc-calendar-r2{gap:3px!important}
  .vc-unified-calendar.vc-calendar-r2 .report-day{min-height:77px;padding:5px 1px;gap:2px;border-radius:7px}
  .vc-unified-calendar.vc-calendar-r2 .report-day .report-day-number{font-size:10px;padding:0 2px}
  .vc-unified-calendar.vc-calendar-r2 .report-day>strong{font-size:14px;margin:auto 0 1px}
  .vc-unified-calendar.vc-calendar-r2 .report-day>strong small{display:none}
  .vc-unified-calendar.vc-calendar-r2 .report-day .vc-day-kinds{font-size:8px;min-height:8px;gap:1px}
  .vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-status{font-size:8px;line-height:1.1;min-height:9px;white-space:normal;overflow-wrap:anywhere}
  .vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-extra{font-size:7px;line-height:1.1}
}
@media(max-width:370px){
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day,.vc-unified-calendar.vc-calendar-r2 .report-day{min-height:75px;padding:4px 1px}
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-status,.vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-status{font-size:7.5px;white-space:normal;overflow:visible;text-overflow:clip}
}

@media(max-width:650px){
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day{min-height:77px;padding:5px 1px;gap:2px;justify-content:space-between;align-items:center;overflow:hidden}
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day>strong{font-size:14px;margin:auto 0 1px}
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day .vc-unified-status{font-size:8px;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;min-height:9px}
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day .vc-day-kinds{display:flex}
}

/* R3 Official Duty and weekly roster: progressive mobile styling, isolated. */
.r3-duty-fields,.r3-schedule-panel,.r3-duty-history{margin-top:14px}
.r3-duty-fields>label,.r3-schedule-panel form>label{display:block;margin:12px 0}
.r3-duty-fields input,.r3-duty-fields textarea,.r3-duty-fields select,.r3-schedule-panel input[type=date],.r3-schedule-panel textarea,.r3-schedule-panel select{display:block;width:100%;max-width:100%;margin-top:6px}
.r3-schedule-panel summary,.r3-duty-history summary{cursor:pointer;font-weight:700;font-size:1rem}
.r3-off-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;border:1px solid #354454;border-radius:12px;padding:12px 8px}
.r3-off-days legend{font-weight:600;font-size:.83rem;padding:0 5px}
.r3-off-days label{display:flex;flex-direction:column;align-items:center;gap:8px;background:#1a2735;border-radius:9px;padding:8px 2px;font-size:.76rem}
.r3-off-days input{width:18px;height:18px;accent-color:#e11d48}
.r3-duty-history-controls{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;margin:12px 0}
.r3-duty-history-controls label{flex:1;min-width:160px}
.r3-duty-history-controls select{display:block;width:100%}
.r3-duty-row,.r3-roster-row{padding:13px;margin:9px 0;background:#162232;border:1px solid #354454;border-radius:12px}
.r3-duty-row strong{display:block;margin-bottom:5px}
.r3-duty-row small,.r3-roster-row small{display:block;color:#afbcd0;margin:4px 0}
.r3-duty-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.r3-duty-links a{color:#ff8da1;text-decoration:underline}
.vc-unified-duty{color:#d6b7ff;font-size:.65rem;white-space:nowrap;font-weight:600}
@media(max-width:410px){.r3-off-days{gap:2px;padding:10px 4px}.r3-off-days label{font-size:.67rem;padding:7px 0}.r3-duty-history-controls label{min-width:120px}}

/* R3: Off Day is a scheduled rest day, neutral grey, not a red missing punch. */
.staff-today-badge.off,.vc-hq-work-state.off{color:#d2dbe7;background:#2b3542;border-color:#748193}
.staff-today-stat.off strong{color:#ccd6e3}
/* Three activity choices: full-width third option on small screens. */
@media(max-width:650px){#tab-tracking .kind-switch label:last-child:nth-child(3){grid-column:1/-1}}

/* R3.1 — Weekly Off Day (Head/HQ and staff monthly attendance).
   No date or visit numerals shown in the Off Day tile. Full date, activity
   and work-day details remain available by tapping the tile. */
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday,
#tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday{
  background:#37414e;
  border:2px solid #c3cfde;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  color:#f4f7fb;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
  padding:6px 2px;
}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday:hover,
#tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday:hover{
  border-color:#f2f6fb;
  background:#414d5b;
}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-title,
#tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
  padding:0;
  width:100%;
  font-size:clamp(18px,2vw,22px);
  font-weight:900;
  letter-spacing:.025em;
  line-height:1.02;
  color:#fff;
  white-space:nowrap;
  overflow:visible;
}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-sub,
#tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-sub{
  display:block;
  width:100%;
  font-size:9px;
  font-weight:650;
  color:#e0e7f1;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-review{
  color:#ffe39c;
}
@media(max-width:650px){
  .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday,
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday{
    gap:4px;
    padding:4px 0;
    min-height:77px;
  }
  .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-title,
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-title{
    font-size:clamp(13px,3.7vw,16px);
    letter-spacing:0;
  }
  .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-sub,
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-sub{
    display:none;
  }
  .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-alert,
  #tab-team .vc-unified-calendar.vc-calendar-r2 .report-day.vc-cal-offday>.vc-offday-alert{
    display:block;
    font-size:7px;
    line-height:1.1;
  }
}

/* R4 Performance Points: isolated dark-mode dashboard; all existing layouts untouched. */
.r4-home-tile{width:100%;border:1px solid #45566a;border-radius:13px;background:linear-gradient(125deg,#192637,#111b29);color:#f4f6fa;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:14px;margin-top:12px;cursor:pointer}
.r4-home-tile span{display:flex;flex-direction:column;gap:5px}.r4-home-tile small{color:#acbbcc;font-size:12px}.r4-home-tile>strong{font-size:23px;color:#e6b65e}
.r4-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0}.r4-toolbar label{min-width:175px}
.r4-module .r4-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}
.r4-board,.r4-personal,.r4-admin{background:#172230;border:1px solid #334255;padding:14px;border-radius:13px;margin:12px 0}
.r4-board h3,.r4-personal h3{margin:0 0 8px}.r4-board .note{font-size:12px}
.r4-line,.r4-event,.r4-rule{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #324050;min-width:0}
.r4-line:last-child,.r4-event:last-child,.r4-rule:last-child{border-bottom:0}
.r4-rank{color:#edc568;font-weight:800;min-width:31px}.r4-line .r4-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.r4-who b{overflow-wrap:anywhere}.r4-who small,.r4-event small,.r4-rule small{display:block;color:#abb9c9;font-size:11px;line-height:1.4}
.r4-line>strong,.r4-event>b,.r4-rule>b{font-size:14px;white-space:nowrap;color:#e8c66a}
.r4-event span,.r4-rule span{flex:1;min-width:0}.r4-own-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:10px 0}.r4-own-summary strong{font-size:28px;color:#d8e7f8}.r4-own-summary span{font-size:12px;color:#b6c6d7}
.r4-admin form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end}.r4-admin form label{min-width:0}.r4-admin form button{grid-column:1/-1}
.r4-admin-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
@media(max-width:650px){.r4-module .r4-grid{grid-template-columns:minmax(0,1fr)}.r4-admin form{grid-template-columns:1fr}.r4-line>strong{font-size:13px}.r4-board{padding:11px}.r4-module .r4-toolbar label{min-width:0;flex:1}}
