/* =========================================================
   DCMS v3.1.4 — Complete Office / Dealer Portal desktop pass
   Scope: office/dealer portal pages only. Technician /dcms-app is untouched.
   ========================================================= */
:root{
  --dcms-office-max-wide: 1720px;
  --dcms-office-max-standard: 1600px;
  --dcms-office-gap-desktop: 20px;
  --dcms-office-card-radius: 18px;
  --dcms-office-card-shadow: 0 10px 28px rgba(16,24,40,.06);
  --dcms-office-line: #dfe4ee;
  --dcms-office-bg: #f4f6fa;
  --dcms-office-card: #fff;
  --dcms-office-text: #101828;
  --dcms-office-muted: #667085;
  --dcms-office-orange: #f97316;
  --dcms-office-navy: #101828;
}

/* Hard reset WordPress/theme wrappers for all Office Portal surfaces */
body.dot-dcms-unified-page,
body.dcms-office-shell-page,
body.dot-dcms-dealer-hub-page,
body.dot-dcms-dealer-page,
body.dot-dcms-operations-page,
body.dot-dcms-native-sales-page,
body.dot-dcms-office-suite-page,
body.dot-dcms-live-tracker-page,
body.dot-dcms-team-page,
body.dot-dcms-production-page,
body.dot-dcms-metrics-page,
body.dcms-v3-office-page{
  background:var(--dcms-office-bg)!important;
  color:var(--dcms-office-text)!important;
  overflow-x:hidden!important;
}
body.dot-dcms-unified-page #page,
body.dot-dcms-unified-page #content,
body.dot-dcms-unified-page .site,
body.dot-dcms-unified-page .site-content,
body.dot-dcms-unified-page .content-area,
body.dot-dcms-unified-page #primary,
body.dot-dcms-unified-page .site-main,
body.dot-dcms-unified-page .entry-content,
body.dot-dcms-unified-page .wp-block-post-content,
body.dcms-office-shell-page #page,
body.dcms-office-shell-page #content,
body.dcms-office-shell-page .site,
body.dcms-office-shell-page .site-content,
body.dcms-office-shell-page .content-area,
body.dcms-office-shell-page #primary,
body.dcms-office-shell-page .site-main,
body.dcms-office-shell-page .entry-content,
body.dcms-office-shell-page .wp-block-post-content{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;
}
body.dot-dcms-unified-page .site-header,body.dot-dcms-unified-page .site-footer,
body.dot-dcms-unified-page .entry-header,body.dot-dcms-unified-page .page-header,
body.dot-dcms-unified-page .wp-block-post-title,
body.dot-dcms-unified-page header.wp-block-template-part,
body.dot-dcms-unified-page footer.wp-block-template-part{display:none!important}

/* Desktop application shell */
@media(min-width:1000px){
  body.dcms-office-shell-page{padding-left:224px!important;padding-top:68px!important;padding-bottom:0!important;}
  .doc-topbar{height:68px!important;grid-template-columns:224px minmax(190px,260px) minmax(320px,760px) minmax(260px,1fr)!important;gap:16px!important;}
  .doc-sidebar{display:flex!important;width:224px!important;top:68px!important;bottom:0!important;overflow-y:auto!important;}
  .doc-mobile-nav,.dd-mobile-nav,.dd-mobile-more,.dd-mobile-only,.ops-job-mobile-schedule{display:none!important;}
  .dd-desktop-nav,.dd-desktop-only{display:flex!important;}
  .dcms-office-chrome + *, .dcms-office-chrome ~ *{box-sizing:border-box!important;}
}

/* Primary canvases — force desktop width instead of mobile-card width */
body.dot-dcms-unified-page .dh-ai-main,
body.dot-dcms-unified-page .dh-main,
body.dot-dcms-unified-page .dcms-dealer-main,
body.dot-dcms-unified-page .dcms-dealer-metrics,
body.dot-dcms-unified-page .ops-main,
body.dot-dcms-unified-page .dns-main,
body.dot-dcms-unified-page .dos-app,
body.dot-dcms-unified-page .dt-main,
body.dot-dcms-unified-page .dcms-team-main,
body.dot-dcms-unified-page .prod-main,
body.dot-dcms-unified-page .prod-go-live-main,
body.dot-dcms-unified-page .dv3-page,
body.dot-dcms-unified-page .dv3-main,
body.dcms-office-shell-page .dh-ai-main,
body.dcms-office-shell-page .dh-main,
body.dcms-office-shell-page .dcms-dealer-main,
body.dcms-office-shell-page .dcms-dealer-metrics,
body.dcms-office-shell-page .ops-main,
body.dcms-office-shell-page .dns-main,
body.dcms-office-shell-page .dos-app,
body.dcms-office-shell-page .dt-main,
body.dcms-office-shell-page .dcms-team-main,
body.dcms-office-shell-page .prod-main,
body.dcms-office-shell-page .prod-go-live-main,
body.dcms-office-shell-page .dv3-page,
body.dcms-office-shell-page .dv3-main{
  width:min(var(--dcms-office-max-standard), calc(100vw - 272px))!important;
  max-width:var(--dcms-office-max-standard)!important;
  margin-left:auto!important;margin-right:auto!important;
  padding:28px 0 72px!important;
  box-sizing:border-box!important;
}
body.dcms-office-shell-page .dt-main,
body.dcms-office-shell-page .ops-main,
body.dcms-office-shell-page .dcms-dealer-main,
body.dcms-office-shell-page .dv3-page,
body.dcms-office-shell-page .dv3-main{max-width:var(--dcms-office-max-wide)!important;width:min(var(--dcms-office-max-wide), calc(100vw - 272px))!important;}

/* Page/hero heads: desktop two-column, not stacked/mobile */
@media(min-width:1000px){
  .dh-ai-hero,.dh-hero,.dd-hero,.ops-hero,.ops-page-head,.dns-hero,.dos-top,.dt-hero,.prod-hero,.prod-launch-hero,.dv3-page-head,.dcms-team-head,.dcms-metrics-toolbar{
    display:grid!important;grid-template-columns:minmax(0,1.55fr) auto!important;align-items:center!important;gap:24px!important;margin:0 0 22px!important;
  }
  .dh-ai-hero h1,.dh-hero h1,.dd-hero h1,.ops-hero h1,.ops-page-head h1,.dns-hero h1,.dos-top h1,.dt-hero h1,.prod-hero h1,.prod-hero h2,.prod-launch-hero h1,.dv3-page-head h1,.dcms-team-head h1{font-size:clamp(28px,2.5vw,42px)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:0 0 6px!important;}
  .dh-ai-hero p,.dh-hero p,.dd-hero p,.ops-hero p,.ops-page-head p,.dns-hero span,.dos-top span,.dt-hero p,.prod-hero p,.prod-launch-hero p,.dv3-page-head p,.dcms-team-head p{font-size:14px!important;line-height:1.55!important;max-width:900px!important;}
  .dh-ai-hero-actions,.dd-hero-actions,.ops-hero-actions,.dos-top-actions,.prod-actions,.prod-go-live-tools,.dv3-head-actions,.dcms-team-head-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;}
}

/* Main dashboard / dealer portal */
@media(min-width:1180px){
  .dh-ai-hero{grid-template-columns:minmax(0,1.45fr) minmax(380px,.75fr)!important;}
  .dh-ai-kpi-strip,.dh-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
  .dh-ai-workbench{display:grid!important;grid-template-columns:minmax(360px,.85fr) minmax(0,1.45fr)!important;gap:20px!important;align-items:start!important;}
  .dh-ai-lower-grid,.dh-two-column,.dh-pro-secondary-grid,.dh-pro-bottom-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;align-items:start!important;}
  .dh-ai-action-grid,.dh-action-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
  .dh-ai-more-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
  .dh-pro-main-grid{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr)!important;gap:18px!important;}
}

/* Customers & Sales / Work Orders */
@media(min-width:1100px){
  .dd-stat-grid,.dd-summary-grid,.dns-kpis,.dos-kpis,.prod-kpis,.dcms-metrics-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
  .dd-filter-grid,.dd-record-edit-grid,.dd-form-grid,.dns-grid,.dos-grid-form,.prod-detail-grid,.dv3-rule-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .dd-form-grid .span-2,.dns-grid .span-2,.dos-grid-form .wide,.prod-detail-grid .span-2,.dv3-rule-grid .span-2{grid-column:1/-1!important;}
  .dd-work-card-list,.dd-record-stack,.dd-customer-card-list,.ops-command-grid,.ops-dashboard-grid,.ops-template-grid,.prod-review-actions,.prod-checklist,.dcms-team-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .dns-split,.ops-split,.prod-split,.dv3-split{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)!important;gap:20px!important;align-items:start!important;}
}
@media(min-width:1450px){
  .dd-work-card-list,.dd-record-stack,.ops-command-grid,.prod-checklist{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .dcms-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

/* Operations board and dispatch */
@media(min-width:1000px){
  .ops-kpis,.dt-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
  .ops-board{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(285px,1fr))!important;gap:14px!important;align-items:start!important;overflow:visible!important;}
  .ops-lane{min-height:520px!important;margin:0!important;display:flex!important;flex-direction:column!important;}
  .ops-lane-body{min-height:360px!important;max-height:72vh!important;overflow:auto!important;padding:10px!important;}
  .ops-filterbar{display:grid!important;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(150px,.7fr)) auto!important;gap:12px!important;align-items:end!important;}
  .ops-route{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)!important;gap:18px!important;align-items:start!important;}
  .dt-layout{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(360px,.85fr)!important;gap:18px!important;align-items:stretch!important;}
  .dt-map{height:650px!important;min-height:650px!important;}
  .dt-list-panel{min-height:650px!important;}
  .dt-toolbar{display:grid!important;grid-template-columns:minmax(170px,1fr) minmax(220px,1.2fr) minmax(180px,1fr) minmax(170px,1fr) auto auto auto!important;gap:10px!important;align-items:end!important;}
}

/* Management / team / payroll / production */
@media(min-width:1100px){
  .dos-grid,.dos-readiness,.dos-compliance-settings,.dos-check-list,.dos-summary-list,.dv3-grid,.dv3-metrics,.dv3-wizard,.prod-evidence-grid,.prod-detail-grid,.prod-launch-kpis,.prod-launch-sequence,.prod-tool-section,.dcms-metrics-definition-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .dos-grid.three,.dv3-grid.three,.prod-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .dos-grid.one,.dv3-grid.one,.prod-grid.one{grid-template-columns:1fr!important;}
  .dcms-team-form,.dcms-team-form form,.dcms-team-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .dcms-team-wide,.dcms-team-form-actions{grid-column:1/-1!important;}
  .prod-launch-hero{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)!important;}
}
@media(min-width:1450px){
  .dos-kpis,.dv3-metrics,.prod-launch-kpis,.dcms-metrics-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .dcms-metrics-definition-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

/* Panels and cards: consistent desktop polish */
.dh-ai-card,.dh-ai-priority-panel,.dh-ai-actions-panel,.dh-ai-more-tools,.dh-ai-lower-grid>.dh-ai-card,
.dh-pro-card,.dh-pro-panel,.dh-profile-card,
.dd-panel,.dd-card,.dd-table-card,.dd-list-panel,.dd-filter-panel,.dd-form-panel,.dd-manager-panel,
.ops-panel,.ops-kpi,.ops-lane,.ops-job-card,.ops-template,
.dns-panel,.dns-kpis>div,.dos-panel,.dos-kpis>div,.dt-map-panel,.dt-list-panel,.dt-warning-panel,.dt-metric,
.dcms-team-panel,.dcms-team-form-panel,.prod-section,.prod-review-card,.prod-mapping,.prod-activation,.prod-inventory,
.dv3-panel,.dv3-records,.dv3-step,.dcms-metrics-filter-card,.dcms-metrics-history-card,.dcms-metrics-table-card,.dcms-metrics-definition-card{
  border:1px solid var(--dcms-office-line)!important;border-radius:var(--dcms-office-card-radius)!important;background:var(--dcms-office-card)!important;box-shadow:var(--dcms-office-card-shadow)!important;box-sizing:border-box!important;
}

/* Tables: desktop uses table width, mobile gets horizontal scroll */
.dd-table-wrap,.dd-reschedule-table,.dd-compact-table,.dcms-dealer-table-wrap,
.ops-table-wrap,.dns-table-wrap,.dos-table-wrap,.dt-list-panel,.dcms-team-table-wrap,.prod-cron-table,.prod-table-wrap,.dv3-table-wrap,.dcms-metrics-table-wrap{
  width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;
}
.dd-table,.dd-table-wrap table,.dd-reschedule-table table,.dd-compact-table table,.dcms-dealer-table,
.ops-table,.ops-table-wrap table,.dns-table,.dos-table-wrap table,.dcms-team-table,.prod-cron-table table,.prod-table,.dv3-table,.dcms-metrics-table{
  width:100%!important;min-width:920px!important;border-collapse:collapse!important;
}
@media(min-width:1200px){
  .dd-table,.dd-table-wrap table,.ops-table,.ops-table-wrap table,.dns-table,.dos-table-wrap table,.dcms-team-table,.prod-table,.dv3-table,.dcms-metrics-table{min-width:100%!important;}
}
body.dot-dcms-unified-page table th, body.dcms-office-shell-page table th{background:#f8fafc!important;color:#667085!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:900!important;white-space:nowrap!important;}
body.dot-dcms-unified-page table td, body.dcms-office-shell-page table td{font-size:13px!important;color:#344054!important;vertical-align:top!important;}

/* Tabs and nav rows */
@media(min-width:900px){
  .dd-tabs,.dns-tabs,.ops-tabs,.dos-link-row,.prod-tabs,.dv3-tabs,.dcms-metrics-tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important;overflow:visible!important;margin:0 0 18px!important;padding:4px 0!important;}
  .dd-tabs a,.dd-tabs button,.dns-tabs a,.dns-tabs button,.ops-tabs a,.ops-tabs button,.dos-link-row a,.prod-tabs a,.prod-tabs button,.dv3-tabs a,.dv3-tabs button,.dcms-metrics-tabs a,.dcms-metrics-tabs button{border-radius:999px!important;min-height:38px!important;padding:9px 14px!important;white-space:nowrap!important;font-weight:850!important;}
}

/* Inputs and buttons normalize on desktop */
body.dot-dcms-unified-page input:not([type="checkbox"]):not([type="radio"]),body.dot-dcms-unified-page select,body.dot-dcms-unified-page textarea,
body.dcms-office-shell-page input:not([type="checkbox"]):not([type="radio"]),body.dcms-office-shell-page select,body.dcms-office-shell-page textarea{
  max-width:100%!important;box-sizing:border-box!important;border-radius:11px!important;border:1px solid #cfd6e3!important;background:#fff!important;color:#111827!important;box-shadow:none!important;
}
.dd-btn,.ops-btn,.dns-btn,.dos-btn,.dt-toolbar button,.prod-tool-btn,.prod-activate-btn,.prod-rollback-btn,.dv3-btn,.dcms-team-action,.dcms-metrics-button{border-radius:11px!important;font-weight:850!important;}

/* Desktop record cards should not look like phone cards */
@media(min-width:1000px){
  .dd-work-card,.dd-record-card,.dd-customer-card,.ops-job-card,.dns-activity-list article,.dos-payroll-action,.dv3-list article,.dcms-team-summary{min-height:auto!important;}
  .dd-work-card,.dd-record-card,.dd-customer-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:14px!important;}
  .dd-work-card-top,.dd-record-card-head,.ops-job-top{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;}
  .dd-inline-actions,.dd-record-actions,.ops-inline-actions,.ops-thread-actions,.dv3-row-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-end!important;}
}

/* Mobile remains clean/app-like */
@media(max-width:999px){
  body.dcms-office-shell-page{padding-left:0!important;padding-top:62px!important;padding-bottom:76px!important;}
  .doc-topbar{height:62px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:0 12px!important;}
  .doc-sidebar{display:none!important;}
  .doc-mobile-nav{display:flex!important;}
  .dh-ai-main,.dh-main,.dcms-dealer-main,.dcms-dealer-metrics,.ops-main,.dns-main,.dos-app,.dt-main,.dcms-team-main,.prod-main,.prod-go-live-main,.dv3-page,.dv3-main{width:calc(100vw - 20px)!important;margin:0 auto!important;padding:14px 0 88px!important;max-width:none!important;}
  .dh-ai-hero,.dh-hero,.dd-hero,.ops-hero,.ops-page-head,.dns-hero,.dos-top,.dt-hero,.prod-hero,.prod-launch-hero,.dv3-page-head,.dcms-team-head{display:block!important;border-radius:20px!important;}
  .dh-ai-kpi-strip,.dh-stats,.dd-stat-grid,.dd-summary-grid,.dns-kpis,.dos-kpis,.ops-kpis,.dt-metrics,.prod-kpis,.dv3-metrics,.dcms-metrics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .dh-ai-workbench,.dh-ai-lower-grid,.dd-grid,.dcms-dealer-grid,.ops-grid,.dns-grid,.dos-grid,.dt-layout,.dcms-team-grid,.prod-grid,.dv3-grid{grid-template-columns:1fr!important;}
  .dd-tabs,.dns-tabs,.ops-tabs,.dos-link-row,.prod-tabs,.dv3-tabs,.dcms-metrics-tabs{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important;}
  .dd-tabs::-webkit-scrollbar,.dns-tabs::-webkit-scrollbar,.ops-tabs::-webkit-scrollbar,.dos-link-row::-webkit-scrollbar,.prod-tabs::-webkit-scrollbar,.dv3-tabs::-webkit-scrollbar,.dcms-metrics-tabs::-webkit-scrollbar{display:none!important;}
}
@media(max-width:560px){
  .dh-ai-kpi-strip,.dh-stats,.dd-stat-grid,.dd-summary-grid,.dns-kpis,.dos-kpis,.ops-kpis,.dt-metrics,.prod-kpis,.dv3-metrics,.dcms-metrics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  .dd-table,.dd-table-wrap table,.ops-table,.ops-table-wrap table,.dns-table,.dos-table-wrap table,.dcms-team-table,.prod-table,.dv3-table,.dcms-metrics-table{min-width:760px!important;}
}
@media(max-width:420px){
  .dh-ai-kpi-strip,.dh-stats,.dd-stat-grid,.dd-summary-grid,.dns-kpis,.dos-kpis,.ops-kpis,.dt-metrics,.prod-kpis,.dv3-metrics,.dcms-metrics-kpi-grid{grid-template-columns:1fr!important;}
}


/* =========================================================
   DCMS v3.1.5 — Operations page desktop rebuild
   Scope: /dcms-operations/ only. Technician mobile app untouched.
   Goals: remove doubled-up mobile feeling, use one office shell, restore desktop density,
   keep DOT orange/black/white brand, and keep mobile responsive.
   ========================================================= */
body.dcms-office-shell-page.dot-dcms-operations-page{
  background:#f3f5f9!important;
  overflow-x:hidden!important;
}

/* The Office Shell already provides the global top bar and left nav. Keep the module brand header hidden. */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-topbar{
  display:none!important;
}

/* Turn the Operations internal nav into a modern horizontal sub-nav, not another side/mobile nav. */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav{
  display:flex!important;
  position:sticky!important;
  top:calc(var(--doc-top,68px) + 10px)!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:250!important;
  width:min(1680px, calc(100% - 32px))!important;
  height:auto!important;
  margin:14px auto 18px!important;
  padding:8px!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid #dfe4ee!important;
  border-radius:18px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav::-webkit-scrollbar{height:0!important;display:none!important;}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a{
  flex:0 0 auto!important;
  min-width:148px!important;
  height:auto!important;
  min-height:54px!important;
  display:grid!important;
  align-content:center!important;
  gap:2px!important;
  padding:10px 13px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:#344054!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a:hover{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
  color:#9a3412!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a.active{
  background:linear-gradient(180deg,#fff2e7,#fff)!important;
  border-color:#fb923c!important;
  color:#9a3412!important;
  box-shadow:inset 0 3px 0 #f97316, 0 8px 18px rgba(249,115,22,.10)!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a span{
  display:block!important;
  color:inherit!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  line-height:1.1!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a small{
  display:block!important;
  color:#667085!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.15!important;
}

/* Main canvas: account for the global office sidebar by using percentage, not viewport width. */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-shell{
  width:100%!important;
  min-height:calc(100vh - var(--doc-top,68px))!important;
  background:transparent!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-main{
  width:min(1680px, calc(100% - 32px))!important;
  max-width:1680px!important;
  margin:0 auto!important;
  padding:0 0 96px!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-main > *{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Premium page hero / page heads */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:24px!important;
  padding:24px!important;
  margin:0 0 18px!important;
  border:0!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 90% 12%, rgba(249,115,22,.34) 0, transparent 36%),
    linear-gradient(135deg,#0f172a 0%,#111827 55%,#1f2937 100%)!important;
  color:#fff!important;
  box-shadow:0 18px 44px rgba(15,23,42,.18)!important;
  overflow:hidden!important;
  position:relative!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero:after,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head:after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 20px);
  pointer-events:none;
  opacity:.6;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero > *,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head > *{position:relative;z-index:1;}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero span,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head span{
  color:#fb923c!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero h1,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head h1{
  color:#fff!important;
  font-size:38px!important;
  line-height:1.05!important;
  margin:5px 0 7px!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero p,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head p{
  color:#d8e0ee!important;
  font-size:15px!important;
  line-height:1.5!important;
  max-width:980px!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero-actions,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:10px!important;
}

/* KPIs: desktop width, not mobile tiles. */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-kpis{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:14px!important;
  margin:0 0 18px!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-kpi{
  min-height:108px!important;
  border-radius:18px!important;
  padding:16px 17px!important;
  border:1px solid #e0e5ee!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
  position:relative!important;
  overflow:hidden!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-kpi:before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;height:4px;
  background:#f97316;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-kpi span{
  font-size:10px!important;
  letter-spacing:.07em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  color:#667085!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-kpi strong{
  font-size:34px!important;
  line-height:1!important;
  margin-top:13px!important;
  color:#111827!important;
  letter-spacing:-.05em!important;
}

/* Dashboard and record layout */
@media(min-width:1180px){
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-dashboard-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(380px,.85fr)!important;
    gap:18px!important;
    align-items:start!important;
    margin-bottom:18px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-command-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:start!important;
    margin-bottom:18px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-span-2{grid-column:auto!important;}
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-panel{
  border:1px solid #dfe4ee!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(15,23,42,.06)!important;
  padding:20px!important;
  overflow:hidden!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-panel-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:16px!important;
  margin-bottom:16px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #edf0f5!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-panel-head span{
  color:#f97316!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-panel-head h2{
  font-size:21px!important;
  line-height:1.15!important;
  color:#111827!important;
  margin:3px 0 0!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}

/* Dispatch filters and board */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-filterbar{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) minmax(190px,.8fr) minmax(190px,.8fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  padding:14px!important;
  border:1px solid #dfe4ee!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
  margin:0 0 18px!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-filterbar label{
  min-width:0!important;
  width:auto!important;
  display:grid!important;
  gap:5px!important;
  color:#667085!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-filterbar input,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-filterbar select{
  width:100%!important;
  min-height:42px!important;
  border-radius:11px!important;
}
@media(min-width:1180px){
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-board{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;
    gap:16px!important;
    align-items:start!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-lane{
    min-height:640px!important;
    border-radius:20px!important;
    margin:0!important;
    border:1px solid #dfe4ee!important;
    box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-lane-body{
    max-height:calc(100vh - 330px)!important;
    min-height:430px!important;
    overflow:auto!important;
    padding:12px!important;
  }
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-lane > header{
  padding:15px!important;
  background:#fff!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-lane > header h2{
  font-size:17px!important;
  line-height:1.15!important;
  margin:3px 0!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-job-card{
  border-radius:16px!important;
  border:1px solid #dfe4ee!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,23,42,.05)!important;
  padding:13px!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-job-card:hover{
  border-color:#fb923c!important;
  box-shadow:0 12px 24px rgba(249,115,22,.10)!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-job-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
}

/* Calendar */
@media(min-width:1180px){
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-calendar{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-calendar-day{
    min-height:190px!important;
    border-radius:16px!important;
    border:1px solid #dfe4ee!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(15,23,42,.045)!important;
  }
}

/* Tables and forms */
body.dcms-office-shell-page.dot-dcms-operations-page .ops-table-wrap{
  width:100%!important;
  overflow-x:auto!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-table{
  width:100%!important;
  min-width:1000px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-table th{
  background:#f8fafc!important;
  color:#667085!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-weight:950!important;
}
body.dcms-office-shell-page.dot-dcms-operations-page .ops-table td{
  font-size:13px!important;
  vertical-align:top!important;
}
@media(min-width:1180px){
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-form-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-form-grid .span-2,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-form-grid .wide{
    grid-column:1/-1!important;
  }
}

/* Mobile/tablet: still responsive, but no duplicate bottom Operations nav. Office shell owns bottom nav. */
@media(max-width:999px){
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav{
    display:flex!important;
    position:sticky!important;
    top:calc(var(--doc-top,62px) + 8px)!important;
    width:calc(100vw - 20px)!important;
    margin:10px auto 12px!important;
    padding:7px!important;
    border-radius:16px!important;
    gap:7px!important;
    overflow-x:auto!important;
    background:rgba(255,255,255,.96)!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a{
    min-width:120px!important;
    min-height:46px!important;
    padding:8px 10px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-nav a small{display:none!important;}
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-main{
    width:calc(100vw - 20px)!important;
    padding:0 0 88px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head{
    display:block!important;
    padding:18px!important;
    border-radius:20px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero h1,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-head h1{
    font-size:27px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-hero-actions,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-page-actions{
    justify-content:flex-start!important;
    margin-top:12px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-dashboard-grid,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-command-grid,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-route{
    grid-template-columns:1fr!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-filterbar{
    grid-template-columns:1fr!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-board{
    display:block!important;
    overflow:visible!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-lane{
    min-height:0!important;
    margin-bottom:12px!important;
  }
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-lane-body{
    min-height:60px!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* =========================================================
   DCMS v3.1.6 — Operations Desktop Layout Fix
   Scope: /dcms-operations/ inside Office Shell only.
   Fixes desktop view where Operations tabs/subnav were still rendering
   like stacked mobile cards and content was too narrow/centered.
   Technician mobile portal is untouched.
   ========================================================= */

/* Make the Operations module use the full office content canvas. */
@media (min-width:1000px){
  body.dot-dcms-operations-page,
  body.dcms-office-shell-page.dot-dcms-operations-page{
    overflow-x:hidden!important;
  }

  body.dot-dcms-operations-page .site,
  body.dot-dcms-operations-page .site-content,
  body.dot-dcms-operations-page .content-area,
  body.dot-dcms-operations-page .site-main,
  body.dot-dcms-operations-page .entry-content,
  body.dot-dcms-operations-page .wp-block-post-content,
  body.dot-dcms-operations-page .wp-site-blocks,
  body.dot-dcms-operations-page #page,
  body.dot-dcms-operations-page #content,
  body.dot-dcms-operations-page #primary{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.dot-dcms-operations-page .ops-shell,
  body.dcms-office-shell-page .ops-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    background:transparent!important;
    display:block!important;
  }

  /* Hide the old module topbar. The Office Shell already provides the real app header. */
  body.dot-dcms-operations-page .ops-topbar,
  body.dcms-office-shell-page .ops-topbar{
    display:none!important;
  }

  /* Turn internal Operations navigation into a true desktop subnav. */
  body.dot-dcms-operations-page .ops-shell > .ops-nav,
  body.dcms-office-shell-page .ops-shell > .ops-nav,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-shell > .ops-nav{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    position:sticky!important;
    top:calc(var(--doc-top,68px) + 8px)!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    margin:0 0 22px!important;
    padding:10px!important;
    gap:10px!important;
    overflow:visible!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid #dfe4ee!important;
    border-radius:18px!important;
    box-shadow:0 10px 28px rgba(15,23,42,.075)!important;
    z-index:200!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a,
  body.dcms-office-shell-page .ops-shell > .ops-nav a{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:58px!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:3px!important;
    padding:11px 14px!important;
    margin:0!important;
    border-radius:13px!important;
    border:1px solid #e6ebf2!important;
    background:#f8fafc!important;
    color:#344054!important;
    text-align:left!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a:before,
  body.dcms-office-shell-page .ops-shell > .ops-nav a:before{
    display:none!important;
    content:none!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a span,
  body.dcms-office-shell-page .ops-shell > .ops-nav a span{
    display:block!important;
    color:#111827!important;
    font-size:13px!important;
    font-weight:950!important;
    line-height:1.1!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a small,
  body.dcms-office-shell-page .ops-shell > .ops-nav a small{
    display:block!important;
    color:#667085!important;
    font-size:10px!important;
    font-weight:750!important;
    line-height:1.15!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a:hover,
  body.dcms-office-shell-page .ops-shell > .ops-nav a:hover{
    background:#fff7ed!important;
    border-color:#fed7aa!important;
    color:#9a3412!important;
    transform:translateY(-1px)!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a.active,
  body.dcms-office-shell-page .ops-shell > .ops-nav a.active{
    background:linear-gradient(180deg,#fff3e8,#fff)!important;
    border-color:#fb923c!important;
    color:#9a3412!important;
    box-shadow:inset 0 4px 0 #f97316, 0 9px 20px rgba(249,115,22,.10)!important;
  }

  body.dot-dcms-operations-page .ops-shell > .ops-nav a.active span,
  body.dcms-office-shell-page .ops-shell > .ops-nav a.active span{
    color:#9a3412!important;
  }

  /* Main area should not behave like a centered phone container. */
  body.dot-dcms-operations-page .ops-main,
  body.dcms-office-shell-page .ops-main,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-main{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0 28px 96px!important;
    box-sizing:border-box!important;
  }

  body.dot-dcms-operations-page .ops-main > *,
  body.dcms-office-shell-page .ops-main > *,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-main > *{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* Reschedule / Requests view: full-width desktop composition. */
  body.dot-dcms-operations-page .ops-main-reschedules .ops-page-head,
  body.dcms-office-shell-page .ops-main-reschedules .ops-page-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    width:100%!important;
    min-height:178px!important;
    padding:28px!important;
    margin:0 0 18px!important;
    border-radius:24px!important;
  }

  body.dot-dcms-operations-page .ops-main-reschedules .ops-filterbar,
  body.dcms-office-shell-page .ops-main-reschedules .ops-filterbar{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    align-items:end!important;
    justify-content:flex-start!important;
    gap:12px!important;
    padding:14px!important;
    margin:0 0 18px!important;
  }

  body.dot-dcms-operations-page .ops-main-reschedules .ops-filterbar label,
  body.dcms-office-shell-page .ops-main-reschedules .ops-filterbar label{
    width:260px!important;
    min-width:240px!important;
    max-width:300px!important;
  }

  body.dot-dcms-operations-page .ops-main-reschedules .ops-filterbar .ops-btn,
  body.dcms-office-shell-page .ops-main-reschedules .ops-filterbar .ops-btn{
    min-width:180px!important;
  }

  body.dot-dcms-operations-page .ops-main-reschedules .ops-panel,
  body.dcms-office-shell-page .ops-main-reschedules .ops-panel{
    width:100%!important;
    max-width:none!important;
    padding:18px!important;
    margin:0!important;
  }

  body.dot-dcms-operations-page .ops-main-reschedules .ops-table-wrap,
  body.dcms-office-shell-page .ops-main-reschedules .ops-table-wrap{
    width:100%!important;
    max-width:none!important;
    border-radius:16px!important;
  }

  body.dot-dcms-operations-page .ops-main-reschedules .ops-table,
  body.dcms-office-shell-page .ops-main-reschedules .ops-table{
    width:100%!important;
    min-width:1100px!important;
  }
}

/* Medium desktop: let subnav wrap into two clean rows, not vertical cards. */
@media (min-width:1000px) and (max-width:1280px){
  body.dot-dcms-operations-page .ops-shell > .ops-nav,
  body.dcms-office-shell-page .ops-shell > .ops-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Mobile/tablet stays app-like and scrollable. */
@media (max-width:999px){
  body.dot-dcms-operations-page .ops-shell > .ops-nav,
  body.dcms-office-shell-page .ops-shell > .ops-nav{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    position:sticky!important;
    top:calc(var(--doc-top,62px) + 8px)!important;
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    margin:10px auto 12px!important;
    padding:7px!important;
    border-radius:16px!important;
    gap:7px!important;
    background:rgba(255,255,255,.96)!important;
  }
}


/* =========================================================
   DCMS v3.1.7 — Operations Date Controls Fix
   Scope: /dcms-operations/ only.
   Fixes invisible previous/next arrows and suppresses Google Translate
   triggering on date controls.
   ========================================================= */
body.dot-dcms-operations-page .ops-date-controls,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-jump,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-jump{
  width:170px!important;
  min-width:170px!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:12px!important;
  border:1px solid #cfd6e3!important;
  background:#fff!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:800!important;
  text-align:center!important;
  padding:0 12px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.10)!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow{
  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  border:1px solid #d9e0ea!important;
  background:#fff!important;
  color:#101828!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(15,23,42,.10)!important;
  font-size:0!important;
  line-height:1!important;
  position:relative!important;
  overflow:hidden!important;
  cursor:pointer!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow span,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow span{
  display:none!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow::before,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow::before{
  display:block!important;
  color:#111827!important;
  font-size:32px!important;
  font-weight:950!important;
  line-height:1!important;
  transform:translateY(-1px);
  font-family:Arial,Helvetica,sans-serif!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow.prev::before,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow.prev::before{
  content:"‹"!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow.next::before,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow.next::before{
  content:"›"!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow:hover,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow:hover{
  border-color:#fb923c!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  transform:translateY(-1px)!important;
}

body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow:hover::before,
body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow:hover::before{
  color:#9a3412!important;
}

/* Suppress translate treatment on Operations controls/content. */
body.dot-dcms-operations-page .notranslate,
body.dcms-office-shell-page.dot-dcms-operations-page .notranslate,
body.dot-dcms-operations-page [translate="no"],
body.dcms-office-shell-page.dot-dcms-operations-page [translate="no"]{
  unicode-bidi:isolate!important;
}

/* Mobile keeps the date controls readable without breaking the page head. */
@media(max-width:760px){
  body.dot-dcms-operations-page .ops-date-controls,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls{
    width:100%!important;
    justify-content:flex-start!important;
    margin-top:14px!important;
  }
  body.dot-dcms-operations-page .ops-date-controls .ops-date-jump,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-jump{
    width:calc(100% - 116px)!important;
    min-width:0!important;
  }
  body.dot-dcms-operations-page .ops-date-controls .ops-date-arrow,
  body.dcms-office-shell-page.dot-dcms-operations-page .ops-date-controls .ops-date-arrow{
    width:48px!important;
    min-width:48px!important;
  }
}


/* =========================================================
   DCMS v3.1.8 — Office Portal Typography + Alignment Review
   Scope: Dealer / Office Portal only. Technician /dcms-app/ untouched.
   Goals:
   - Remove theme/serif/swirly heading feel.
   - Use a consistent professional operations font.
   - Align desktop card grids and prevent 5+1 layouts where possible.
   - Add more breathing room and cleaner section rhythm.
   ========================================================= */

:root{
  --dcms-office-pro-font:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --dcms-office-pro-ink:#111827;
  --dcms-office-pro-muted:#667085;
  --dcms-office-pro-line:#dde4ee;
  --dcms-office-pro-soft:#f6f8fb;
  --dcms-office-pro-orange:#f97316;
  --dcms-office-pro-navy:#101827;
  --dcms-office-pro-shadow:0 8px 24px rgba(15,23,42,.055);
  --dcms-office-pro-shadow-strong:0 16px 42px rgba(15,23,42,.10);
}

/* Professional typography across office/dealer pages only. */
body.dcms-office-shell-page,
body.dot-dcms-dealer-hub-page,
body.dot-dcms-dealer-page,
body.dot-dcms-operations-page,
body.dcms-v3-office-page,
body.dot-dcms-native-sales-page,
body.dot-dcms-office-suite-page,
body.dot-dcms-live-tracker-page,
body.dot-dcms-production-page,
body.dcms-team-page,
body.dcms-v3-customer-page{
  font-family:var(--dcms-office-pro-font)!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}

body.dcms-office-shell-page *,
body.dot-dcms-dealer-hub-page *,
body.dot-dcms-dealer-page *,
body.dot-dcms-operations-page *,
body.dcms-v3-office-page *,
body.dot-dcms-native-sales-page *,
body.dot-dcms-office-suite-page *,
body.dot-dcms-live-tracker-page *,
body.dot-dcms-production-page *,
body.dcms-team-page *{
  font-family:var(--dcms-office-pro-font)!important;
}

/* Remove any inherited theme serif/rounded display feel from main headings. */
body.dcms-office-shell-page h1,
body.dcms-office-shell-page h2,
body.dcms-office-shell-page h3,
body.dot-dcms-dealer-hub-page h1,
body.dot-dcms-dealer-hub-page h2,
body.dot-dcms-dealer-hub-page h3,
body.dot-dcms-dealer-page h1,
body.dot-dcms-dealer-page h2,
body.dot-dcms-dealer-page h3,
body.dot-dcms-operations-page h1,
body.dot-dcms-operations-page h2,
body.dot-dcms-operations-page h3,
body.dcms-v3-office-page h1,
body.dcms-v3-office-page h2,
body.dcms-v3-office-page h3,
body.dot-dcms-native-sales-page h1,
body.dot-dcms-native-sales-page h2,
body.dot-dcms-native-sales-page h3,
body.dot-dcms-office-suite-page h1,
body.dot-dcms-office-suite-page h2,
body.dot-dcms-office-suite-page h3,
body.dot-dcms-live-tracker-page h1,
body.dot-dcms-live-tracker-page h2,
body.dot-dcms-live-tracker-page h3,
body.dot-dcms-production-page h1,
body.dot-dcms-production-page h2,
body.dot-dcms-production-page h3,
body.dcms-team-page h1,
body.dcms-team-page h2,
body.dcms-team-page h3{
  font-family:var(--dcms-office-pro-font)!important;
  font-style:normal!important;
  color:var(--dcms-office-pro-ink);
}

/* Main title style: modern, bold, not swirly. */
.dh-ai-hero h1,
.dh-pro-hero h1,
.dh-hero h1,
.dd-hero h1,
.dns-hero h1,
.ops-hero h1,
.ops-page-head h1,
.dv3-page-head h1,
.dos-top h1,
.dt-hero h1,
.prod-hero h1,
.prod-launch-hero h1,
.dcms-team-head h1,
.dcms-dealer-metrics-header h1,
.dcms-dealer-header h1{
  font-family:var(--dcms-office-pro-font)!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
  line-height:1.05!important;
}

/* Secondary headings: cleaner, calmer, consistent. */
.dh-ai-panel-head h2,
.dh-pro-card h2,
.dd-panel h2,
.dd-card h2,
.dns-panel h2,
.ops-panel-head h2,
.dv3-panel-head h2,
.dos-panel h2,
.dt-list-panel h2,
.prod-section h2,
.dcms-team-panel-head h2,
.dcms-metrics-card h2{
  font-family:var(--dcms-office-pro-font)!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  line-height:1.15!important;
  color:var(--dcms-office-pro-ink)!important;
}

/* Center and widen office canvases consistently on desktop. */
@media(min-width:1000px){
  .dh-ai-main,
  .dh-pro-main,
  .dh-main,
  .dcms-dealer-main,
  .dcms-dealer-metrics,
  .dns-main,
  .dos-app,
  .dt-main,
  .dcms-team-main,
  .prod-main,
  .prod-go-live-main,
  .dv3-page{
    width:min(1640px, calc(100% - 56px))!important;
    max-width:1640px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.dcms-office-shell-page .dh-ai-main,
  body.dcms-office-shell-page .dh-pro-main,
  body.dcms-office-shell-page .dh-main,
  body.dcms-office-shell-page .dcms-dealer-main,
  body.dcms-office-shell-page .dcms-dealer-metrics,
  body.dcms-office-shell-page .dns-main,
  body.dcms-office-shell-page .dos-app,
  body.dcms-office-shell-page .dt-main,
  body.dcms-office-shell-page .dcms-team-main,
  body.dcms-office-shell-page .prod-main,
  body.dcms-office-shell-page .prod-go-live-main,
  body.dcms-office-shell-page .dv3-page{
    width:min(1640px, calc(100% - 44px))!important;
    max-width:1640px!important;
  }
}

/* Reduce crowded feeling by standardizing vertical rhythm. */
@media(min-width:1000px){
  .dh-ai-card,
  .dh-ai-priority-panel,
  .dh-ai-actions-panel,
  .dh-ai-more-tools,
  .dh-pro-card,
  .dh-pro-panel,
  .dd-panel,
  .dd-card,
  .dd-table-card,
  .dd-filter-panel,
  .dd-form-panel,
  .dns-panel,
  .ops-panel,
  .dv3-panel,
  .dos-panel,
  .dt-map-panel,
  .dt-list-panel,
  .dcms-team-panel,
  .dcms-team-form-panel,
  .prod-section,
  .prod-review-card,
  .prod-mapping,
  .dcms-metrics-filter-card,
  .dcms-metrics-history-card,
  .dcms-metrics-definition-card{
    border-radius:20px!important;
    border:1px solid var(--dcms-office-pro-line)!important;
    box-shadow:var(--dcms-office-pro-shadow)!important;
    padding:22px!important;
  }

  .dh-ai-workbench,
  .dh-ai-lower-grid,
  .dh-pro-main-grid,
  .dd-grid,
  .dcms-dealer-grid,
  .dns-grid,
  .ops-dashboard-grid,
  .ops-command-grid,
  .ops-route,
  .dv3-grid,
  .dos-grid,
  .dt-layout,
  .dcms-team-grid,
  .prod-grid,
  .prod-detail-grid{
    gap:20px!important;
    margin-bottom:20px!important;
  }
}

/* Metric boxes: larger, aligned, less cramped. */
.dv3-metrics > div,
.dos-kpis > div,
.prod-kpis > div,
.prod-launch-kpis > div,
.dcms-metrics-kpi-grid > *,
.dns-kpis > div,
.ops-kpi,
.dd-stat-grid > *,
.dd-summary-grid > *,
.dcms-team-summary > div,
.dt-metric{
  min-height:112px!important;
  padding:17px 18px!important;
  border-radius:18px!important;
  border:1px solid var(--dcms-office-pro-line)!important;
  background:#fff!important;
  box-shadow:var(--dcms-office-pro-shadow)!important;
}

/* Metric labels and values. */
.dv3-metrics small,
.dos-kpis small,
.prod-kpis small,
.prod-launch-kpis small,
.dcms-metrics-kpi-grid small,
.dns-kpis small,
.ops-kpi span,
.dd-stat-grid small,
.dd-summary-grid small,
.dcms-team-summary small,
.dt-metric small{
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:var(--dcms-office-pro-muted)!important;
}

.dv3-metrics strong,
.dos-kpis strong,
.prod-kpis strong,
.prod-launch-kpis strong,
.dcms-metrics-kpi-grid strong,
.dns-kpis strong,
.ops-kpi strong,
.dd-stat-grid strong,
.dd-summary-grid strong,
.dcms-team-summary strong,
.dt-metric strong{
  font-size:31px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:850!important;
  color:var(--dcms-office-pro-ink)!important;
}

/* Prevent ugly 5+1 or 6 auto-fit metric layouts where these sections are designed as balanced office dashboards. */
@media(min-width:1100px){
  .dv3-metrics-six,
  .dv3-inventory-stock-metrics,
  .dv3-metrics:has(> :nth-child(6)):not(:has(> :nth-child(7))),
  .dos-kpis:has(> :nth-child(6)):not(:has(> :nth-child(7))),
  .prod-kpis:has(> :nth-child(6)):not(:has(> :nth-child(7))),
  .prod-launch-kpis:has(> :nth-child(6)):not(:has(> :nth-child(7))),
  .dcms-metrics-kpi-grid:has(> :nth-child(6)):not(:has(> :nth-child(7))),
  .dns-kpis:has(> :nth-child(6)):not(:has(> :nth-child(7))){
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }

  /* Four-box stat rows stay as four. */
  .dd-stat-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  .dd-summary-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  .ops-kpis:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  .dv3-metrics:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  .dns-kpis:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  .dos-kpis:has(> :nth-child(4)):not(:has(> :nth-child(5))){
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
  }

  /* Five-box rows should not become 4+1 or 5 cramped; make them balanced 3+2. */
  .dv3-metrics:has(> :nth-child(5)):not(:has(> :nth-child(6))),
  .dos-kpis:has(> :nth-child(5)):not(:has(> :nth-child(6))),
  .prod-kpis:has(> :nth-child(5)):not(:has(> :nth-child(6))),
  .dcms-metrics-kpi-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* Inventory & Stock specifically: always 3 over 3 on desktop. */
@media(min-width:1100px){
  .dcms-v3-office-page .dv3-inventory-stock-metrics,
  body.dcms-office-shell-page .dv3-inventory-stock-metrics{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* Cleaner tabs: professional, less crowded, better aligned. */
@media(min-width:900px){
  .dd-tabs,
  .dns-tabs,
  .ops-tabs,
  .dos-link-row,
  .prod-tabs,
  .dv3-tabs,
  .dcms-metrics-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    align-items:center!important;
    margin:0 0 20px!important;
    padding:0!important;
  }

  .dd-tabs a,
  .dd-tabs button,
  .dns-tabs a,
  .dns-tabs button,
  .ops-tabs a,
  .ops-tabs button,
  .dos-link-row a,
  .prod-tabs a,
  .prod-tabs button,
  .dv3-tabs a,
  .dv3-tabs button,
  .dcms-metrics-tabs a,
  .dcms-metrics-tabs button{
    min-height:42px!important;
    padding:10px 15px!important;
    border-radius:999px!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:-.01em!important;
  }
}

/* Forms and filters: more breathing room, less jammed. */
@media(min-width:1000px){
  .dd-filter-grid,
  .dd-record-edit-grid,
  .dd-form-grid,
  .dns-grid,
  .dos-grid-form,
  .prod-detail-grid,
  .dv3-rule-grid,
  .dv3-filter,
  .ops-filterbar,
  .dcms-team-form,
  .dcms-team-options{
    gap:16px!important;
  }

  .dv3-filter,
  .ops-filterbar,
  .dd-filter-panel form,
  .dns-filters,
  .dos-inline-form{
    padding:16px!important;
    border-radius:18px!important;
  }

  body.dcms-office-shell-page input:not([type="checkbox"]):not([type="radio"]),
  body.dcms-office-shell-page select,
  body.dcms-office-shell-page textarea,
  body.dot-dcms-dealer-page input:not([type="checkbox"]):not([type="radio"]),
  body.dot-dcms-dealer-page select,
  body.dot-dcms-dealer-page textarea,
  body.dcms-v3-office-page input:not([type="checkbox"]):not([type="radio"]),
  body.dcms-v3-office-page select,
  body.dcms-v3-office-page textarea{
    min-height:42px!important;
    padding:10px 12px!important;
    border-radius:11px!important;
  }
}

/* Tables: desktop alignment and breathing room. */
@media(min-width:1000px){
  .dd-table th,
  .dd-table td,
  .ops-table th,
  .ops-table td,
  .dv3-table th,
  .dv3-table td,
  .dns-table th,
  .dns-table td,
  .dos-table-wrap table th,
  .dos-table-wrap table td,
  .dcms-team-table th,
  .dcms-team-table td,
  .prod-table th,
  .prod-table td,
  .dcms-metrics-table th,
  .dcms-metrics-table td{
    padding:13px 14px!important;
  }

  .dd-table th,
  .ops-table th,
  .dv3-table th,
  .dns-table th,
  .dos-table-wrap table th,
  .dcms-team-table th,
  .prod-table th,
  .dcms-metrics-table th{
    font-size:10.5px!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    color:#667085!important;
    background:#f8fafc!important;
  }
}

/* Keep mobile clean and not overly spaced. */
@media(max-width:760px){
  .dv3-metrics,
  .dos-kpis,
  .prod-kpis,
  .prod-launch-kpis,
  .dcms-metrics-kpi-grid,
  .dns-kpis,
  .ops-kpis,
  .dd-stat-grid,
  .dd-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .dv3-metrics > div,
  .dos-kpis > div,
  .prod-kpis > div,
  .prod-launch-kpis > div,
  .dcms-metrics-kpi-grid > *,
  .dns-kpis > div,
  .ops-kpi,
  .dd-stat-grid > *,
  .dd-summary-grid > *{
    min-height:92px!important;
    padding:13px!important;
    border-radius:14px!important;
  }
}

@media(max-width:420px){
  .dv3-metrics,
  .dos-kpis,
  .prod-kpis,
  .prod-launch-kpis,
  .dcms-metrics-kpi-grid,
  .dns-kpis,
  .ops-kpis,
  .dd-stat-grid,
  .dd-summary-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   DCMS v3.1.9 — Live Map / Live Dispatch Desktop Cleanup
   Scope: Operations > Live Map / /dcms-dispatch/ / /dcms-tracker/ only.
   Technician /dcms-app/ untouched.
   ========================================================= */

:root{
  --dt-pro-font:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --dt-pro-ink:#111827;
  --dt-pro-muted:#667085;
  --dt-pro-line:#dfe4ee;
  --dt-pro-soft:#f6f8fb;
  --dt-pro-orange:#f97316;
  --dt-pro-navy:#101827;
  --dt-pro-shadow:0 8px 24px rgba(15,23,42,.06);
  --dt-pro-shadow-strong:0 18px 44px rgba(15,23,42,.12);
}

body.dot-dcms-live-tracker-page,
body.dot-dcms-live-dispatch-page{
  background:#f3f5f9!important;
  overflow-x:hidden!important;
  font-family:var(--dt-pro-font)!important;
}

body.dot-dcms-live-tracker-page *,
body.dot-dcms-live-dispatch-page *{
  font-family:var(--dt-pro-font)!important;
  box-sizing:border-box!important;
}

/* Hide duplicate module header when Office Shell is active. */
body.dcms-office-shell-page.dot-dcms-live-tracker-page .dt-header,
body.dcms-office-shell-page.dot-dcms-live-dispatch-page .dt-header{
  display:none!important;
}

body.dot-dcms-live-tracker-page .dcms-tracker-page,
body.dot-dcms-live-dispatch-page .dcms-tracker-page,
body.dcms-office-shell-page.dot-dcms-live-tracker-page .dcms-tracker-page,
body.dcms-office-shell-page.dot-dcms-live-dispatch-page .dcms-tracker-page{
  min-height:calc(100vh - var(--doc-top,68px))!important;
  background:transparent!important;
  color:var(--dt-pro-ink)!important;
}

/* Desktop canvas: full office width, not a mobile/narrow container. */
@media(min-width:1000px){
  body.dot-dcms-live-tracker-page .dt-main,
  body.dot-dcms-live-dispatch-page .dt-main,
  body.dcms-office-shell-page.dot-dcms-live-tracker-page .dt-main,
  body.dcms-office-shell-page.dot-dcms-live-dispatch-page .dt-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px 28px 96px!important;
  }

  body.dot-dcms-live-tracker-page .dt-main > *,
  body.dot-dcms-live-dispatch-page .dt-main > *,
  body.dcms-office-shell-page.dot-dcms-live-tracker-page .dt-main > *,
  body.dcms-office-shell-page.dot-dcms-live-dispatch-page .dt-main > *{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* Premium hero. */
body.dot-dcms-live-tracker-page .dt-hero,
body.dot-dcms-live-dispatch-page .dt-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:24px!important;
  padding:28px!important;
  margin:0 0 18px!important;
  border-radius:24px!important;
  border:0!important;
  background:
    radial-gradient(circle at 92% 10%, rgba(249,115,22,.34) 0, transparent 34%),
    linear-gradient(135deg,#0f172a 0%,#111827 58%,#241d1a 120%)!important;
  color:#fff!important;
  box-shadow:var(--dt-pro-shadow-strong)!important;
  overflow:hidden!important;
  position:relative!important;
}

body.dot-dcms-live-tracker-page .dt-hero::after,
body.dot-dcms-live-dispatch-page .dt-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 20px);
  opacity:.55;
  pointer-events:none;
}

body.dot-dcms-live-tracker-page .dt-hero > *,
body.dot-dcms-live-dispatch-page .dt-hero > *{
  position:relative!important;
  z-index:1!important;
}

body.dot-dcms-live-tracker-page .dt-kicker,
body.dot-dcms-live-dispatch-page .dt-kicker{
  color:#fb923c!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

body.dot-dcms-live-tracker-page .dt-hero h1,
body.dot-dcms-live-dispatch-page .dt-hero h1{
  font-size:40px!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:850!important;
  margin:4px 0 7px!important;
  color:#fff!important;
}

body.dot-dcms-live-tracker-page .dt-hero p:not(.dt-kicker),
body.dot-dcms-live-dispatch-page .dt-hero p:not(.dt-kicker){
  max-width:920px!important;
  font-size:15px!important;
  line-height:1.5!important;
  color:#d8e0ee!important;
}

body.dot-dcms-live-tracker-page .dt-live-pill,
body.dot-dcms-live-dispatch-page .dt-live-pill{
  min-width:190px!important;
  min-height:58px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}

/* Metrics: four clean desktop boxes. */
body.dot-dcms-live-tracker-page .dt-metrics,
body.dot-dcms-live-dispatch-page .dt-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin:0 0 18px!important;
}

body.dot-dcms-live-tracker-page .dt-metric,
body.dot-dcms-live-dispatch-page .dt-metric{
  min-height:112px!important;
  padding:17px 18px!important;
  border-radius:18px!important;
  border:1px solid var(--dt-pro-line)!important;
  background:#fff!important;
  box-shadow:var(--dt-pro-shadow)!important;
  position:relative!important;
  overflow:hidden!important;
}

body.dot-dcms-live-tracker-page .dt-metric::before,
body.dot-dcms-live-dispatch-page .dt-metric::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:var(--dt-pro-orange);
}

body.dot-dcms-live-tracker-page .dt-metric span,
body.dot-dcms-live-dispatch-page .dt-metric span{
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:var(--dt-pro-muted)!important;
}

body.dot-dcms-live-tracker-page .dt-metric strong,
body.dot-dcms-live-dispatch-page .dt-metric strong{
  font-size:32px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:850!important;
  color:var(--dt-pro-ink)!important;
}

/* Toolbar: stop it from stacking like mobile. */
@media(min-width:1100px){
  body.dot-dcms-live-tracker-page .dt-toolbar,
  body.dot-dcms-live-dispatch-page .dt-toolbar,
  body.dot-dcms-live-tracker-page .dt-live-map-toolbar,
  body.dot-dcms-live-dispatch-page .dt-live-map-toolbar{
    display:grid!important;
    grid-template-columns:minmax(160px,.75fr) minmax(230px,1.1fr) minmax(210px,1fr) minmax(210px,1fr) minmax(270px,1.15fr) auto!important;
    gap:12px!important;
    align-items:end!important;
    width:100%!important;
    padding:16px!important;
    margin:0 0 18px!important;
    border-radius:18px!important;
    border:1px solid var(--dt-pro-line)!important;
    background:#fff!important;
    box-shadow:var(--dt-pro-shadow)!important;
  }

  body.dot-dcms-live-tracker-page .dt-toolbar label,
  body.dot-dcms-live-dispatch-page .dt-toolbar label{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:6px!important;
  }

  body.dot-dcms-live-tracker-page .dt-toolbar input,
  body.dot-dcms-live-tracker-page .dt-toolbar select,
  body.dot-dcms-live-dispatch-page .dt-toolbar input,
  body.dot-dcms-live-dispatch-page .dt-toolbar select{
    min-height:44px!important;
    border-radius:12px!important;
  }

  body.dot-dcms-live-tracker-page .dt-layer-switches,
  body.dot-dcms-live-dispatch-page .dt-layer-switches{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    padding:8px!important;
    border:1px solid #e6ebf2!important;
    border-radius:12px!important;
    background:#f8fafc!important;
  }

  body.dot-dcms-live-tracker-page .dt-layer-switches label,
  body.dot-dcms-live-dispatch-page .dt-layer-switches label{
    min-height:30px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:6px 8px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:1px solid #e6ebf2!important;
    white-space:nowrap!important;
    font-size:12px!important;
    font-weight:800!important;
  }

  body.dot-dcms-live-tracker-page .dt-toolbar-actions,
  body.dot-dcms-live-dispatch-page .dt-toolbar-actions{
    display:flex!important;
    gap:8px!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-width:190px!important;
  }

  body.dot-dcms-live-tracker-page .dt-toolbar-actions button,
  body.dot-dcms-live-dispatch-page .dt-toolbar-actions button{
    min-height:44px!important;
    white-space:nowrap!important;
    padding:0 14px!important;
  }
}

/* Main Live Map desktop layout. */
@media(min-width:1100px){
  body.dot-dcms-live-tracker-page .dt-layout,
  body.dot-dcms-live-dispatch-page .dt-layout,
  body.dot-dcms-live-tracker-page .dt-live-map-layout,
  body.dot-dcms-live-dispatch-page .dt-live-map-layout{
    display:grid!important;
    grid-template-columns:minmax(0,2.25fr) minmax(360px,.75fr)!important;
    gap:18px!important;
    align-items:stretch!important;
    width:100%!important;
    margin:0 0 18px!important;
  }

  body.dot-dcms-live-tracker-page .dt-map-panel,
  body.dot-dcms-live-dispatch-page .dt-map-panel,
  body.dot-dcms-live-tracker-page .dt-list-panel,
  body.dot-dcms-live-dispatch-page .dt-list-panel{
    border-radius:20px!important;
    border:1px solid var(--dt-pro-line)!important;
    background:#fff!important;
    box-shadow:var(--dt-pro-shadow)!important;
    overflow:hidden!important;
  }

  body.dot-dcms-live-tracker-page .dt-map,
  body.dot-dcms-live-dispatch-page .dt-map{
    height:690px!important;
    min-height:690px!important;
    width:100%!important;
  }

  body.dot-dcms-live-tracker-page .dt-list-panel,
  body.dot-dcms-live-dispatch-page .dt-list-panel{
    min-height:690px!important;
    max-height:690px!important;
    display:flex!important;
    flex-direction:column!important;
  }

  body.dot-dcms-live-tracker-page .dt-technician-list,
  body.dot-dcms-live-dispatch-page .dt-technician-list{
    flex:1 1 auto!important;
    max-height:none!important;
    overflow:auto!important;
    padding:12px!important;
    gap:9px!important;
  }
}

/* Technician cards: desktop-ready, less cramped. */
body.dot-dcms-live-tracker-page .dt-tech-card,
body.dot-dcms-live-dispatch-page .dt-tech-card{
  border-radius:15px!important;
  border:1px solid #e6ebf2!important;
  background:#fff!important;
  padding:12px!important;
  box-shadow:0 3px 10px rgba(15,23,42,.035)!important;
}

body.dot-dcms-live-tracker-page .dt-tech-card:hover,
body.dot-dcms-live-dispatch-page .dt-tech-card:hover{
  border-color:#fb923c!important;
  background:#fff7ed!important;
}

/* Jobs list under the map. */
body.dot-dcms-live-tracker-page .dt-jobs-panel,
body.dot-dcms-live-dispatch-page .dt-jobs-panel{
  width:100%!important;
  max-width:none!important;
  border-radius:20px!important;
  border:1px solid var(--dt-pro-line)!important;
  background:#fff!important;
  box-shadow:var(--dt-pro-shadow)!important;
  padding:18px!important;
  margin:0 0 18px!important;
}

body.dot-dcms-live-tracker-page .dt-jobs-head,
body.dot-dcms-live-dispatch-page .dt-jobs-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:16px!important;
  padding-bottom:14px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid #edf0f5!important;
}

@media(min-width:1100px){
  body.dot-dcms-live-tracker-page .dt-job-list,
  body.dot-dcms-live-dispatch-page .dt-job-list{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }
}

/* Warning panel alignment. */
body.dot-dcms-live-tracker-page .dt-warning-panel,
body.dot-dcms-live-dispatch-page .dt-warning-panel{
  border-radius:20px!important;
  border:1px solid #fed7aa!important;
  background:#fff7ed!important;
  box-shadow:var(--dt-pro-shadow)!important;
  padding:18px!important;
  margin:0 0 18px!important;
}

/* Settings area. */
body.dot-dcms-live-tracker-page .dt-settings,
body.dot-dcms-live-dispatch-page .dt-settings{
  width:100%!important;
  max-width:none!important;
  border-radius:20px!important;
  border:1px solid var(--dt-pro-line)!important;
  background:#fff!important;
  box-shadow:var(--dt-pro-shadow)!important;
  padding:16px!important;
}

body.dot-dcms-live-tracker-page .dt-settings form,
body.dot-dcms-live-dispatch-page .dt-settings form{
  margin-top:14px!important;
}

@media(min-width:1100px){
  body.dot-dcms-live-tracker-page .dt-settings form,
  body.dot-dcms-live-dispatch-page .dt-settings form{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:end!important;
  }

  body.dot-dcms-live-tracker-page .dt-settings .full,
  body.dot-dcms-live-dispatch-page .dt-settings .full{
    grid-column:1/-1!important;
  }
}

/* Tablet and mobile: remain app-like, but not broken. */
@media(max-width:1099px){
  body.dot-dcms-live-tracker-page .dt-main,
  body.dot-dcms-live-dispatch-page .dt-main{
    width:calc(100vw - 22px)!important;
    max-width:none!important;
    padding:16px 0 90px!important;
    margin:0 auto!important;
  }

  body.dot-dcms-live-tracker-page .dt-hero,
  body.dot-dcms-live-dispatch-page .dt-hero{
    display:block!important;
    padding:22px!important;
    border-radius:22px!important;
  }

  body.dot-dcms-live-tracker-page .dt-live-pill,
  body.dot-dcms-live-dispatch-page .dt-live-pill{
    margin-top:14px!important;
    width:max-content!important;
  }

  body.dot-dcms-live-tracker-page .dt-metrics,
  body.dot-dcms-live-dispatch-page .dt-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body.dot-dcms-live-tracker-page .dt-toolbar,
  body.dot-dcms-live-dispatch-page .dt-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:11px!important;
    padding:14px!important;
    border-radius:18px!important;
  }

  body.dot-dcms-live-tracker-page .dt-layer-switches,
  body.dot-dcms-live-dispatch-page .dt-layer-switches,
  body.dot-dcms-live-tracker-page .dt-toolbar-actions,
  body.dot-dcms-live-dispatch-page .dt-toolbar-actions{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }

  body.dot-dcms-live-tracker-page .dt-toolbar-actions button,
  body.dot-dcms-live-dispatch-page .dt-toolbar-actions button{
    flex:1 1 140px!important;
  }

  body.dot-dcms-live-tracker-page .dt-layout,
  body.dot-dcms-live-dispatch-page .dt-layout{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  body.dot-dcms-live-tracker-page .dt-map,
  body.dot-dcms-live-dispatch-page .dt-map{
    height:470px!important;
    min-height:470px!important;
  }

  body.dot-dcms-live-tracker-page .dt-list-panel,
  body.dot-dcms-live-dispatch-page .dt-list-panel{
    min-height:0!important;
    max-height:none!important;
  }
}

@media(max-width:520px){
  body.dot-dcms-live-tracker-page .dt-metrics,
  body.dot-dcms-live-dispatch-page .dt-metrics{
    grid-template-columns:1fr!important;
  }

  body.dot-dcms-live-tracker-page .dt-map,
  body.dot-dcms-live-dispatch-page .dt-map{
    height:390px!important;
    min-height:390px!important;
  }
}
