:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111;background:#f3f4f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f3f4f6;color:#161616}.hidden{display:none!important}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#111;color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.18)}.top strong{display:block;font-size:21px}.top small{display:block;color:#bbb;margin-top:2px}.page{width:min(1120px,100%);margin:0 auto;padding:18px}.auth-page{max-width:520px;padding-top:50px}.auth-card{padding:28px}.panel{background:#fff;border:1px solid #ddd;border-radius:10px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.045)}.panel.inset{background:#f8f8f8;box-shadow:none;margin-top:14px}.hero{background:#171717;color:#fff;border-color:#171717}.hero p{color:#ccc}h1,h2,h3,h4{margin-top:0}h2{margin-bottom:10px}h3{margin-bottom:9px}.muted{color:#6b7280;line-height:1.5}.hero .muted{color:#ccc}.msg{min-height:20px;font-size:14px;font-weight:600}.msg.success{color:#167a34}.msg.error{color:#b42318}label{display:block;font-size:13px;font-weight:700;margin:9px 0 5px}input,select,textarea{width:100%;font:inherit;border:1px solid #c7c7c7;border-radius:7px;padding:11px 12px;margin-bottom:9px;background:#fff;color:#111}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #222;outline-offset:1px;border-color:#222}button{font:inherit;font-weight:750;border:0;border-radius:7px;padding:11px 15px;background:#111;color:#fff;cursor:pointer;margin:3px 5px 3px 0}button:hover{opacity:.88}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#e5e7eb;color:#111}.danger{background:#b42318}.ghost{background:transparent;border:1px solid #777}.small{padding:7px 10px;font-size:13px}.small-input{max-width:110px}.button-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.button-row input{margin:3px 0}.tabs{position:sticky;top:69px;z-index:15;display:flex;gap:7px;overflow-x:auto;padding:10px 0 14px;background:#f3f4f6}.tabs button{white-space:nowrap;background:#dedede;color:#111}.tabs button.active{background:#111;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.item,.job-card,.vehicle-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;margin:9px 0}.item strong,.job-card strong,.vehicle-card strong{font-size:16px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.filter-row{display:grid;grid-template-columns:2fr 1fr;gap:10px}.panel-title-row,.admin-hero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:16px}.stat-card{background:#111;color:#fff;border-radius:9px;padding:16px}.stat-card .number{font-size:28px;font-weight:850}.stat-card small{color:#c8c8c8}.punch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:15px 0}.punch{min-height:54px;display:flex;align-items:center;justify-content:center;border:2px solid #666;border-radius:5px;font-size:18px;font-weight:800;background:#242424;color:#bbb}.punch.filled{background:#fff;color:#111;border-color:#fff}.loyalty-progress{height:14px;background:#444;border-radius:5px;overflow:hidden;margin-top:13px}.loyalty-progress-bar{height:100%;width:0;background:#fff;transition:width .25s ease}.loyalty-progress-text{font-weight:750}.badge{display:inline-block;border-radius:999px;padding:4px 9px;margin:2px 5px 2px 0;font-size:12px;font-weight:800;background:#e5e7eb;color:#111}.badge.pending{background:#fff0c2}.badge.approved{background:#d9edff}.badge.diagnosing,.badge.in-progress{background:#e5e0ff}.badge.waiting-approval,.badge.waiting-parts{background:#ffe5c2}.badge.ready{background:#d6f5df}.badge.completed{background:#d8d8d8}.badge.declined,.badge.cancelled{background:#ffd8d8}.job-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px 14px;margin:10px 0;font-size:14px}.job-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.job-actions select,.job-actions input{width:auto;min-width:160px;margin:3px 3px 3px 0}.estimate-box{background:#f7f7f7;border:1px solid #ddd;border-radius:7px;padding:12px;margin-top:12px}.estimate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.estimate-grid input{margin-bottom:0}.total-line{font-size:19px;font-weight:850;margin-top:10px}.attention{border-left:5px solid #111}.vehicle-title{font-size:17px;font-weight:850}.vehicle-vin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.4px}.section-heading{display:flex;justify-content:space-between}.link-button{display:inline-block;text-decoration:none;background:#111;color:#fff;border-radius:7px;padding:9px 11px;font-size:13px;font-weight:750;margin:3px 5px 3px 0}.link-button.secondary{background:#e5e7eb;color:#111}@media(max-width:700px){.page{padding:12px}.top{padding:12px}.tabs{top:64px}.two-col,.three-col,.filter-row{grid-template-columns:1fr}.panel-title-row,.admin-hero{display:block}.punch-grid{gap:6px}.punch{min-height:45px}.job-actions select,.job-actions input{width:100%}.button-row>button{flex:1 1 auto}.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* Integrations */
.integration-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.integration-pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#eceff3;font-size:12px;font-weight:700}
.integration-pill.good{background:#dff5e6}
.integration-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.status-good{font-weight:700}
.status-warn{font-weight:700}

.cashapp-button{font-weight:800}.customer-pay-box{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:12px}.payment-paid{margin-top:12px;font-weight:800;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16)}

/* Worker access */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:10px 0 14px}.check-row{display:flex;align-items:flex-start;gap:9px;border:1px solid #ddd;border-radius:8px;padding:10px;background:#fafafa;margin:0;font-weight:650}.check-row input{width:auto;margin:2px 0 0}.worker-card{border-left:4px solid #111}.worker-controls{margin-top:12px;padding-top:12px;border-top:1px solid #ddd}.worker-controls select{max-width:280px}

/* Admin cleanup + upgraded dashboard */
.admin-section-nav{position:sticky;top:122px;z-index:14;display:flex;gap:7px;overflow-x:auto;padding:10px;margin:0 0 16px;background:#f3f4f6;border-bottom:1px solid #d9d9d9}.admin-section-nav button{white-space:nowrap;background:#e4e4e4;color:#111}.admin-section-nav button.active{background:#111;color:#fff}.admin-section{animation:adminfade .12s ease}.compact-stats{margin-bottom:0}.status-help{margin:7px 0 10px;color:#5f6368}.estimate-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.payment-admin{border-top:1px solid #ddd;margin-top:14px;padding-top:12px}.payment-admin input{max-width:180px}.schedule-day{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.schedule-date{display:flex;flex-direction:column}.schedule-date span{font-size:12px;color:#6b7280}.schedule-job{width:100%;display:grid;grid-template-columns:72px minmax(120px,.7fr) 1.5fr;gap:10px;text-align:left;align-items:center;background:#f7f7f7;color:#111;border:1px solid #ddd;margin:0 0 6px}.schedule-job:hover{background:#ececec}.schedule-job small{color:#555}.customer-pay-box{background:#f8f8f8;border-color:#ddd;color:#111}.payment-paid{background:#e7f6eb;border-color:#b7dfc0}.admin-section .panel:last-child{margin-bottom:8px}@keyframes adminfade{from{opacity:.65;transform:translateY(2px)}to{opacity:1;transform:none}}@media(max-width:700px){.admin-section-nav{top:112px;margin-left:-12px;margin-right:-12px;padding-left:12px}.schedule-day{grid-template-columns:1fr}.schedule-job{grid-template-columns:60px 1fr}.schedule-job small{grid-column:1/-1}}

/* Customer Portal Upgrade */
.customer-home{max-width:1050px;margin:0 auto}.customer-welcome{background:linear-gradient(135deg,#111,#292929);color:#fff;border:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px}.customer-welcome h1{font-size:clamp(28px,5vw,42px);margin:4px 0 6px}.customer-welcome .muted{color:#d1d5db;margin:0}.eyebrow{display:block;font-size:11px;letter-spacing:.13em;font-weight:900;color:#6b7280;margin-bottom:5px}.customer-welcome .eyebrow{color:#bbb}.customer-primary-action{background:#fff;color:#111;white-space:nowrap}.customer-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.customer-summary-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:15px}.customer-summary-card .summary-icon{font-size:21px}.customer-summary-card strong{display:block;font-size:20px;margin-top:5px}.customer-summary-card small{color:#6b7280}.customer-active-panel{border-top:4px solid #111}.customer-job-overview{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}.customer-job-title{font-size:21px;font-weight:850;margin-bottom:8px}.customer-status-track{display:flex;gap:4px;margin:16px 0 8px}.customer-status-track span{height:8px;flex:1;border-radius:99px;background:#e5e7eb}.customer-status-track span.done{background:#111}.customer-status-caption{font-size:13px;color:#6b7280}.customer-job-side{background:#f7f7f7;border:1px solid #e2e2e2;border-radius:9px;padding:14px}.customer-job-side .amount{font-size:27px;font-weight:900}.customer-home-columns{align-items:stretch}.customer-home-columns>.panel{height:100%}.loyalty-card-pro{background:#171717;color:#fff;border-color:#171717}.loyalty-card-pro .eyebrow,.loyalty-card-pro small{color:#bbb}.loyalty-card-pro .item{background:#252525;color:#fff;border-color:#3a3a3a}.reward-ready-badge{font-size:11px;font-weight:900;letter-spacing:.08em;background:#fff;color:#111;padding:6px 8px;border-radius:999px}.customer-reward-list{margin-top:12px}.home-vehicle{padding:12px 0;border-bottom:1px solid #e5e7eb}.home-vehicle:last-child{border-bottom:0}.home-history-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.home-history-row:last-child{border-bottom:0}.home-history-row strong{display:block}.appointment-card-pro{border-left:4px solid #111}.appointment-topline{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.appointment-progress{display:flex;gap:4px;margin:12px 0}.appointment-progress span{height:7px;flex:1;background:#e5e7eb;border-radius:99px}.appointment-progress span.done{background:#111}.estimate-total-pro{font-size:28px;font-weight:900;margin:4px 0}.payment-paid{background:#e8f7ed;border:1px solid #b9e2c5;border-radius:8px;padding:10px;font-weight:800}.customer-pay-box{background:#f7f7f7;border:1px solid #ddd;border-radius:9px;padding:13px;margin-top:12px}.cashapp-button{background:#111!important;color:#fff!important}.status-help{margin:5px 0 10px;color:#555}.service-record-meta{font-size:13px;color:#6b7280}@media(max-width:760px){.customer-welcome{align-items:flex-start;flex-direction:column}.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-job-overview{grid-template-columns:1fr}.customer-home-columns{grid-template-columns:1fr}.appointment-topline{flex-direction:column}.customer-primary-action{width:100%;margin:0}.home-history-row{grid-template-columns:1fr}}


/* Productivity upgrade */
.toolGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.miniCard{border:1px solid var(--border,#333);border-radius:14px;padding:16px;background:rgba(255,255,255,.025)}
.miniCard h3{margin-top:0}
.stackList{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto}
.searchResultCard{display:grid;text-align:left;gap:3px;width:100%;padding:12px}
.searchResultCard span,.searchResultCard small{opacity:.75}
.photoGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}
.photoGallery figure{margin:0}.photoGallery img{width:100%;height:110px;object-fit:cover;border-radius:10px}.photoGallery figcaption{font-size:.8rem;margin-top:4px}
@media(max-width:760px){.toolGrid{grid-template-columns:1fr}}
@media print{nav,.adminSubnav,button{display:none!important}}

/* Professional paperwork & authorization upgrade */
.line-items-editor{display:grid;gap:8px;margin:12px 0 16px}
.line-items-head,.line-item-row{display:grid;grid-template-columns:110px minmax(180px,1fr) 80px 100px 70px 42px;gap:7px;align-items:center}
.line-items-head{font-size:.78rem;font-weight:800;opacity:.7;text-transform:uppercase}
.line-item-row input,.line-item-row select{margin:0}
.inline-input{display:inline-block;max-width:150px;margin:0 0 0 5px;padding:6px 8px}
.authorization-box{border:1px solid var(--border,#444);border-radius:12px;padding:12px;margin-top:12px;display:grid;gap:10px}
.authorization-box label{display:grid;gap:5px}.authorization-box .checkline{display:flex;align-items:flex-start;gap:8px}
.authorization-box .checkline input{width:auto;margin-top:3px}
.authorization-record{padding:8px 10px;border-radius:8px;background:rgba(0,180,90,.10)}
.legacy-estimate-title{margin-top:18px;opacity:.8}
@media(max-width:760px){.line-items-head{display:none}.line-item-row{grid-template-columns:1fr 1fr}.line-item-row input[data-line-desc]{grid-column:1/-1}}


/* Estimate archive / no-response */
.estimateArchivePanel{margin-bottom:16px}
.archiveToolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0}
.archiveToolbar input{max-width:420px;margin:0}
.archiveEstimateCard{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--border,#333);border-radius:12px;padding:14px;margin-bottom:10px;background:rgba(255,255,255,.025)}
.archiveEstimateMain{display:grid;gap:5px;min-width:0}
.archiveEstimateTitle{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.archiveBadge{font-size:.75rem;font-weight:800;padding:4px 8px;border-radius:999px;border:1px solid var(--border,#444);opacity:.9}
.archiveEstimateMeta{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;opacity:.85}
.archiveEstimateActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){
  .archiveEstimateCard{align-items:stretch;flex-direction:column}
  .archiveEstimateActions{justify-content:stretch}
  .archiveEstimateActions button{flex:1}
  .archiveToolbar{align-items:stretch;flex-direction:column}
  .archiveToolbar input{max-width:none}
}


/* Customer Estimates & Invoices */
.customer-documents-shell{display:grid;gap:16px}
.customer-documents-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.customer-doc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.customer-doc-stat{border:1px solid var(--border,#333);border-radius:12px;padding:14px;background:rgba(255,255,255,.025);display:grid;gap:4px}
.customer-doc-stat strong{font-size:1.35rem}
.customer-doc-stat span{font-size:.82rem;opacity:.75}
.customer-doc-filters{display:flex;gap:8px;flex-wrap:wrap}
.customer-doc-filters .active{outline:2px solid currentColor}
.customer-documents-list{display:grid;gap:14px}
.customer-document-card{border:1px solid var(--border,#333);border-radius:14px;padding:16px;background:rgba(255,255,255,.025)}
.customer-document-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.customer-document-type{font-size:.8rem;font-weight:800;letter-spacing:.04em;opacity:.8;text-transform:uppercase}
.customer-document-status{font-size:.82rem;font-weight:800;border:1px solid var(--border,#444);border-radius:999px;padding:6px 10px;white-space:nowrap}
.customer-document-meta{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;font-size:.86rem;opacity:.82}
.customer-document-items{margin-top:14px;border-top:1px solid var(--border,#333);border-bottom:1px solid var(--border,#333)}
.customer-document-items-head,.customer-document-item{display:grid;grid-template-columns:minmax(0,1fr) 70px 100px 110px;gap:10px;padding:9px 4px;align-items:center}
.customer-document-items-head{font-size:.76rem;font-weight:800;text-transform:uppercase;opacity:.65}
.customer-document-item{border-top:1px solid rgba(127,127,127,.16)}
.customer-document-item>span:not(:first-child){text-align:right}
.customer-document-item small{display:block;font-size:.66rem;opacity:.6}
.customer-document-totals{margin-left:auto;max-width:360px;margin-top:14px}
.customer-document-totals>div{display:flex;justify-content:space-between;gap:18px;padding:5px 0}
.customer-document-totals .grand{font-size:1.08rem;border-top:1px solid var(--border,#444);margin-top:4px;padding-top:8px}
.customer-document-note,.customer-doc-authorization,.customer-doc-payment,.authorization-record{margin-top:14px;padding:12px;border:1px solid var(--border,#444);border-radius:10px}
.customer-doc-payment.paid{font-weight:800}
.customer-doc-payment.due{font-weight:800}
.customer-doc-authorization{display:grid;gap:10px}
.doc-auth-check{display:flex;gap:9px;align-items:flex-start}
.doc-auth-check input{width:auto;margin-top:3px}
.customer-doc-actions{display:flex;gap:8px;flex-wrap:wrap}
.customer-doc-actions.bottom{margin-top:14px}
.authorization-record.declined{opacity:.8}
@media(max-width:760px){
  .customer-doc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-document-top{flex-direction:column}
  .customer-document-status{white-space:normal}
  .customer-document-items-head{display:none}
  .customer-document-item{grid-template-columns:1fr auto;gap:6px}
  .customer-document-item>span:nth-child(2)::before{content:"Qty: "}
  .customer-document-item>span:nth-child(3)::before{content:"Each: "}
  .customer-document-item>span:nth-child(4)::before{content:"Total: "}
  .customer-document-item>span:not(:first-child){grid-column:2;text-align:right;font-size:.84rem}
}


/* Full Shop Management */
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.tool-grid .wide{grid-column:span 2}
.shop-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inspection-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border,#333);border-radius:12px;padding:12px;margin:8px 0}.inspection-row.urgent{border-left:5px solid currentColor}.inspection-row.attention{border-left:3px solid currentColor}.inspection-dot{font-size:1.2rem}.inspection-body{flex:1;min-width:0}.inspection-thumb{display:block;max-width:220px;max-height:150px;object-fit:cover;border-radius:10px;margin-top:8px}.work-order-card{border:1px solid var(--border,#333);border-radius:12px;padding:14px;margin-top:12px}.work-order-checklist{display:grid;gap:8px;margin-top:12px}.worker-time-clock,.worker-inspection-mini{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.customer-inspection-grid{display:grid;gap:10px;margin:14px 0}.customer-inspection-item{border:1px solid var(--border,#333);border-radius:12px;padding:12px}.customer-inspection-item img{display:block;max-width:100%;max-height:320px;border-radius:10px;margin-top:10px}.customer-recommendations{display:grid;gap:10px}.customer-recommendation{border:1px solid var(--border,#333);border-radius:12px;padding:12px;display:grid;gap:10px}.recommendation-auth{display:grid;gap:8px}.timeline-event{border-left:3px solid var(--border,#555);padding:10px 12px;margin:8px 0;background:rgba(255,255,255,.02)}.timeline-event.completed{border-left-width:5px}
@media(max-width:850px){.tool-grid{grid-template-columns:1fr 1fr}.tool-grid .wide{grid-column:span 2}.shop-two-col{grid-template-columns:1fr}}
@media(max-width:600px){.tool-grid{grid-template-columns:1fr}.tool-grid .wide{grid-column:span 1}.inspection-row{flex-wrap:wrap}.inspection-thumb{max-width:100%}}


/* Three-lane shop suite */
.job-type-picker,.job-lane-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.job-type-choice,.job-lane-btn{opacity:.72}.job-type-choice.active,.job-lane-btn.active{opacity:1;outline:2px solid currentColor}.job-type-fields{padding:12px;border:1px solid var(--border,#333);border-radius:12px;margin-bottom:12px}.vin-action-wrap{display:flex;align-items:end}.dropoff-authorization{display:grid;gap:8px;padding:12px;border:1px solid var(--border,#333);border-radius:12px;margin:12px 0}.job-type-chip{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:2px 8px;font-size:.78rem;margin-right:6px}.job-lane-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lane-job-card{border:1px solid var(--border,#333);border-radius:12px;padding:12px}.calendar-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.calendar-toolbar strong{min-width:180px;text-align:center}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-head>div{text-align:center;font-weight:700;padding:8px}.cal-day{min-height:115px;border:1px solid var(--border,#333);padding:6px;overflow:hidden}.cal-day.other-month{opacity:.45}.cal-day.today{outline:2px solid currentColor;outline-offset:-2px}.cal-job{display:block;width:100%;font-size:.72rem;text-align:left;margin:3px 0;padding:4px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-template-apply{display:flex;gap:8px;align-items:center;margin-bottom:10px}.estimate-template-apply select{flex:1}.final-ro{border:1px solid var(--border,#333);border-radius:12px;padding:18px;margin-top:12px}.final-ro-head{display:flex;justify-content:space-between;gap:20px}.ro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.final-ro table{width:100%;border-collapse:collapse}.final-ro th,.final-ro td{padding:8px;border-bottom:1px solid var(--border,#333);text-align:left}.ro-totals{text-align:right;font-size:1.05rem;margin:16px 0}
@media(max-width:900px){.job-lane-board{grid-template-columns:1fr 1fr}.cal-day{min-height:90px}.cal-job{font-size:.65rem}}
@media(max-width:650px){.job-lane-board{grid-template-columns:1fr}.shop-calendar{overflow-x:auto}.cal-head,.cal-grid{min-width:760px}.final-ro-head,.ro-grid{display:block}.job-type-picker{display:grid;grid-template-columns:1fr}.job-type-choice{width:100%}}


/* Finance / retention / QR check-in */
.qr-checkin-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:center}.checkin-qr-img{width:240px;height:240px;max-width:100%;background:#fff;padding:8px;border-radius:10px}
@media(max-width:650px){.qr-checkin-layout{grid-template-columns:1fr}.checkin-qr-img{margin:auto;display:block}}


.calendar-view-toggle{display:flex;gap:5px}.calendar-view-toggle .active{outline:2px solid currentColor}.calendar-week-view{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto}.calendar-week-day{border:1px solid var(--border,#333);border-radius:10px;padding:8px;min-height:180px}.calendar-day-view{display:grid;gap:8px}.calendar-agenda-job{display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;margin:5px 0}.calendar-agenda-job small{grid-column:2/4}
@media(max-width:800px){.calendar-week-view{min-width:1050px}.calendar-agenda-job{grid-template-columns:70px 1fr}.calendar-agenda-job .badge{grid-column:2}.calendar-agenda-job small{grid-column:2}}


/* Three-Lane Operations + Drag Calendar */
.drag-calendar{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}
.calendar-day{border:1px solid var(--border,#333);border-radius:12px;min-height:260px;background:rgba(255,255,255,.02)}
.calendar-day-head{display:flex;justify-content:space-between;gap:8px;padding:10px;border-bottom:1px solid var(--border,#333)}
.calendar-dropzone{padding:8px;min-height:210px}.calendar-day.drag-over{outline:2px dashed currentColor}
.calendar-job{padding:9px;border-radius:10px;margin-bottom:8px;cursor:grab;border-left:5px solid currentColor;background:rgba(255,255,255,.04)}
.calendar-job.dragging{opacity:.45}.calendar-job small{display:block}.calendar-job-time{font-size:.8rem;opacity:.8}
.lane-automotive{box-shadow:inset 3px 0 0 rgba(255,255,255,.3)}.lane-small-engine{box-shadow:inset 3px 0 0 rgba(255,255,255,.18)}.lane-trailer{box-shadow:inset 3px 0 0 rgba(255,255,255,.1)}
.calendar-empty{opacity:.35;text-align:center;padding:24px 8px;border:1px dashed var(--border,#444);border-radius:8px}
.lane-details{margin:10px 0 18px}.lane-form{border:1px solid var(--border,#333);border-radius:12px;padding:12px;margin-top:10px}
.estimate-template-apply{display:flex;gap:8px;align-items:center;margin:10px 0}.estimate-template-apply select{flex:1}
@media(max-width:1100px){.drag-calendar{grid-template-columns:repeat(7,190px)}}


/* Complete Shop Suite */
.garage-board{display:grid;grid-template-columns:repeat(8,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:12px}
.board-column{border:1px solid var(--border,#333);border-radius:12px;min-height:320px;background:rgba(255,255,255,.02)}
.board-column h4{display:flex;justify-content:space-between;padding:10px;margin:0;border-bottom:1px solid var(--border,#333);position:sticky;top:0;background:inherit}
.board-drop{padding:8px;min-height:270px}.board-job{padding:10px;margin-bottom:8px;border-radius:9px;background:rgba(255,255,255,.05);cursor:grab;border-left:5px solid currentColor}.board-job small{display:block}
.command-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:14px 0}.command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.file-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px}.file-card{border:1px solid var(--border,#333);border-radius:10px;padding:12px}.file-card small{display:block}
@media(max-width:850px){.command-grid{grid-template-columns:1fr 1fr}.garage-board{grid-template-columns:repeat(8,180px)}}@media(max-width:520px){.command-grid{grid-template-columns:1fr}.command-head{display:block}}


/* Torque & Specs Library */
.torque-spec-card{border-left:4px solid currentColor}.torque-spec-main{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.torque-big{font-size:1.25rem;font-weight:800;white-space:nowrap}.warning-text{font-weight:700;margin-top:6px}.torque-spec-card .button-row{margin-top:10px}@media(max-width:620px){.torque-spec-main{display:block}.torque-big{margin-top:8px}}


/* B's Garage Pro Free */
.big-search{font-size:1.15rem;padding:14px 16px;width:100%;margin-bottom:14px}
.shop-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tablet-shell{min-height:75vh}.tablet-job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tablet-job-card{border:1px solid var(--border,#333);border-radius:16px;padding:18px;background:rgba(255,255,255,.03)}.tablet-job-card h3{font-size:1.3rem}.tablet-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.tablet-actions button{min-height:52px;font-size:1rem}.customer-only{margin-top:16px}
@media(max-width:900px){.shop-three-col{grid-template-columns:1fr}.tablet-job-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.tablet-job-grid{grid-template-columns:1fr}.tablet-actions{grid-template-columns:1fr 1fr}}


/* Service Intelligence + Smart Estimating */
.quick-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.quick-tools button{min-height:42px}
.qc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.qc-item{display:flex;gap:10px;align-items:center;border:1px solid var(--border,#333);border-radius:10px;padding:12px}.qc-item input{transform:scale(1.3)}
.warning-box{border:1px solid #8a5b00;padding:12px;border-radius:10px}
@media(max-width:700px){.qc-grid{grid-template-columns:1fr}.quick-tools{display:grid;grid-template-columns:1fr 1fr}.quick-tools button{min-height:50px}}


/* Shop Supplies Inventory */
[data-admin-panel="shopsupplies"] .item .button-row{margin-top:10px}
[data-admin-panel="shopsupplies"] select,[data-admin-panel="shopsupplies"] input,[data-admin-panel="shopsupplies"] textarea{width:100%}


/* Appointment Counter-Offer Workflow */
#appointmentCounterOfferPanel{margin-top:16px}
.counter-offer-card{border:1px solid var(--border,#333);border-radius:14px;padding:16px;margin:12px 0;background:rgba(255,255,255,.03)}
.counter-offer-card h4{margin:8px 0}
.counter-offer-card .button-row{margin-top:12px}


/* Lead Center */
.lead-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.lead-card{border:1px solid var(--border,#333);border-radius:14px;padding:14px;background:rgba(255,255,255,.03)}
.lead-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.lead-card h3{margin:10px 0 6px}
.lead-card p{margin:6px 0}
.lead-due{outline:2px solid rgba(220,150,0,.45)}
@media(max-width:800px){.lead-grid{grid-template-columns:1fr}}

/* Customer inline appointment counter-offer */
.customer-counter-inline{margin-top:14px}
.customer-counter-inline h4{margin:6px 0 10px}
.customer-counter-inline .job-actions{margin-top:12px}

.job-open-highlight{outline:3px solid currentColor;outline-offset:3px;transition:outline .2s ease}

button[data-admin-section="jobs"]{font-weight:800}

.jobs-cleanup-panel{margin-bottom:14px}
.jobs-show-archived{display:flex;align-items:center;gap:8px}
.job-select-box{display:inline-flex;align-items:center;gap:6px;margin-right:8px;font-size:.9rem}
.job-management-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(127,127,127,.25)}
.job-archived{opacity:.72}

.admin-nav-simplified{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:20;padding:10px 0;background:inherit}
.admin-nav-simplified button{min-height:42px}
.admin-more-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px;padding:12px;border:1px solid rgba(127,127,127,.25);border-radius:12px}
.quick-action-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.quick-action-grid button{min-height:58px}
.admin-quick-actions{margin-bottom:14px}
.jobs-command-header{margin-bottom:14px}
@media(max-width:900px){
  .admin-more-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .admin-nav-simplified{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-more-tools,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.system-test-results{display:grid;gap:8px;margin-top:14px}
.system-test-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(127,127,127,.25);border-radius:10px}
.system-test-row small{opacity:.75;text-align:right}
.system-test-row.fail{font-weight:700}
@media(max-width:700px){.system-test-row{display:block}.system-test-row small{display:block;text-align:left;margin-top:4px}}

.revenue-edit-actions{display:grid;grid-template-columns:minmax(120px,180px) auto auto;gap:8px;align-items:center;margin-top:10px}
.revenue-edit-row{margin-bottom:8px}
@media(max-width:650px){.revenue-edit-actions{grid-template-columns:1fr}}

.revenue-history-panel{margin-top:18px}
.revenue-history-row{margin-bottom:8px}

#customerViewBtn{font-weight:700}
body.admin-customer-view .admin-section-nav{display:none}

.inventory-editor{margin-top:16px}
.inventory-row{margin-bottom:10px}
.inventory-value-row{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}
.inventory-value-row span{font-size:.9rem;opacity:.85}
.subtle-panel{background:rgba(255,255,255,.03)}

.service-category-report-panel{margin-top:18px}
.service-category-row{margin-bottom:10px}
.category-profit-number{font-weight:800;font-size:1.05rem}
.small-select{max-width:220px}

.rewards-admin-hero{margin-bottom:14px}
.rewards-manager-panel{border-width:2px}
#adminRewardSummary{margin:12px 0}

.notification-settings-panel{margin-bottom:16px}
.notification-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}
.notification-options label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid rgba(128,128,128,.25);border-radius:10px}
.notification-options input{width:auto}
.status-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:700;background:rgba(128,128,128,.15)}
.status-badge[data-status="granted"]{outline:2px solid currentColor}
.small-note{margin-top:10px}

.true-push-panel{margin-bottom:16px}
.true-push-panel .form-grid{margin-top:10px}

.service-category-block{grid-column:1/-1}
.service-category-block>h3{margin:14px 0 8px}
.service-public-card{display:flex;flex-direction:column;gap:6px}
.service-public-price{font-weight:800;font-size:1.05rem}
.service-price-disclaimer{grid-column:1/-1;margin-top:10px;padding:12px;border:1px solid rgba(128,128,128,.25);border-radius:10px;font-size:.92rem}
.service-create-grid,.service-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.service-disclaimer-editor{margin:16px 0}
.service-manager-filters{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:14px 0}
.service-admin-card{margin-bottom:10px}
.service-active-toggle{display:inline-flex;align-items:center;gap:7px}
.service-active-toggle input{width:auto}
@media(max-width:700px){.service-manager-filters{grid-template-columns:1fr}}

.service-price-help{margin:8px 0 12px}
.service-admin-card input:disabled{opacity:.6;cursor:not-allowed}

.job-command-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.job-command-tabs button.active{font-weight:800;outline:2px solid currentColor}
.command-workspace{border-top:1px solid rgba(128,128,128,.25);padding-top:14px}
.command-list,.command-file-list{margin-top:14px}
.command-torque-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 18px}
.command-est-total{font-size:1.45rem;font-weight:800}
.command-qc-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0}
.command-qc-checks label{display:flex;align-items:center;gap:8px}
.command-qc-checks input{width:auto}
.job-command-stats{margin-top:12px}
@media(max-width:700px){.job-command-tabs{display:grid;grid-template-columns:1fr 1fr}.job-command-tabs button{width:100%}}

/* V15.1 mobile Job Center tap fix */
#jobCommandCenter button,
#jobCommandCenter [data-command-tab]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,.08);
  position:relative;
  z-index:2;
  pointer-events:auto;
  min-height:44px;
}
#jobCommandCenter .job-command-tabs{
  position:relative;
  z-index:3;
  pointer-events:auto;
}
#jobCommandCenter .job-command-tabs button{
  pointer-events:auto;
  user-select:none;
  -webkit-user-select:none;
}
@media(max-width:700px){
  #jobCommandCenter .job-command-tabs button{
    min-height:50px;
    font-size:15px;
  }
}

/* V16 mobile diagnostic worksheet */
.diagnostic-form{display:grid;grid-template-columns:1fr;gap:12px}
.diagnostic-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.diagnostic-form input,.diagnostic-form select,.diagnostic-form textarea{width:100%;max-width:100%;box-sizing:border-box;font-size:16px;min-height:46px}
.diagnostic-form textarea{min-height:92px}
.diagnostic-code-list{margin:10px 0}
.diagnostic-sheet-card{overflow-wrap:anywhere}
#jobCommandCenter .diagnostic-workspace button{touch-action:manipulation;min-height:46px;pointer-events:auto}
@media(max-width:700px){
 .diagnostic-workspace .tool-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px}
 .diagnostic-workspace .button-row{display:grid!important;grid-template-columns:1fr!important;gap:9px}
 .diagnostic-workspace .button-row button,.diagnostic-workspace>button{width:100%;min-height:50px}
 #jobCommandCenter{overflow-x:hidden}
}


/* ===== B'S GARAGE V18 QUICK ESTIMATES ===== */
.quick-estimate-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:16px;align-items:start}
.qe-line-entry{display:grid;grid-template-columns:120px minmax(170px,1fr) 90px 110px 105px auto;gap:8px;align-items:end}
.qe-line-entry input,.qe-line-entry select{width:100%}
.qe-taxable-check{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 4px}
.qe-taxable-check input{width:auto}
.qe-line-table{width:100%;border-collapse:collapse;margin-top:12px}
.qe-line-table th,.qe-line-table td{padding:8px;border-bottom:1px solid var(--line,#333);text-align:left;vertical-align:top}
.qe-line-table th:nth-child(3),.qe-line-table td:nth-child(3),.qe-line-table th:nth-child(4),.qe-line-table td:nth-child(4),.qe-line-table th:nth-child(5),.qe-line-table td:nth-child(5){text-align:right}
.qe-totals{margin:14px 0 8px;padding:12px;border:1px solid var(--line,#333);border-radius:10px;text-align:right;font-size:1.05rem;line-height:1.65}
.qe-totals strong{font-size:1.2rem}
.qe-estimate-card{border:1px solid var(--line,#333);border-radius:12px;padding:12px;margin:10px 0}
.qe-estimate-card .button-row{margin-top:10px;flex-wrap:wrap}
.qe-estimate-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:8px}
.qe-status-pending{opacity:.95}.qe-status-accepted{border-left:4px solid currentColor}.qe-status-declined{opacity:.75}
@media(max-width:900px){
 .quick-estimate-layout{grid-template-columns:1fr}
 .qe-line-entry{grid-template-columns:1fr 1fr}
 .qe-line-entry #qeLineDescription{grid-column:1/-1}
 .qe-line-entry #qeAddLine{grid-column:1/-1;min-height:48px}
 .qe-taxable-check{min-height:48px}
 .qe-line-table{display:block;overflow-x:auto;white-space:nowrap}
 .qe-estimate-meta{grid-template-columns:1fr}
 [data-admin-panel="quickestimates"] input,[data-admin-panel="quickestimates"] select,[data-admin-panel="quickestimates"] textarea,[data-admin-panel="quickestimates"] button{font-size:16px;min-height:46px}
}


/* ===== V19 LABOR GUIDE ===== */
.labor-guide-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px}
.labor-guide-results{display:grid;gap:10px;margin-top:10px}
.labor-guide-card{position:relative}
.labor-guide-hours{font-size:1.35rem;font-weight:800;margin:4px 0}
.labor-guide-search-row{display:flex;gap:10px;align-items:center}
.labor-guide-search-row input{width:100%;min-height:46px}
.labor-guide-quick-box{margin-bottom:14px}
.job-command-tabs button{min-height:46px}
@media(max-width:800px){
  .labor-guide-layout{grid-template-columns:1fr}
  .labor-guide-card button{min-height:46px}
  .labor-guide-search-row{display:block}
  .labor-guide-quick-box .panel-title-row{align-items:flex-start}
}


/* ===== V20 CLEAN ADMIN DASHBOARD ===== */
.admin-shell-v20{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 18px}
.admin-sidebar-v20{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(18,18,20,.96);box-shadow:0 12px 34px rgba(0,0,0,.25);padding:12px;z-index:50}
.admin-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-brand-v20{display:flex;align-items:center;gap:10px;min-width:0}
.admin-brand-v20 strong,.admin-brand-v20 small{display:block}
.admin-brand-v20 small{opacity:.65;margin-top:2px}
.admin-brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:rgba(255,255,255,.08)}
.admin-sidebar-close-v20{display:none}
.admin-nav-groups-v20{display:grid;gap:12px;margin-top:12px}
.admin-nav-group-v20{display:grid;gap:4px}
.admin-nav-heading-v20{padding:4px 8px 2px;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;font-weight:800}
.admin-nav-group-v20 button{width:100%;min-height:42px;display:flex;align-items:center;gap:9px;justify-content:flex-start;text-align:left;border-radius:10px;padding:9px 10px;background:transparent;border:1px solid transparent}
.admin-nav-group-v20 button:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.admin-nav-group-v20 button.active{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14)}
.admin-main-v20{min-width:0}
.admin-topbar-v20{min-height:58px;display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px 14px;margin-bottom:14px;background:rgba(255,255,255,.025)}
.admin-topbar-v20 strong,.admin-topbar-v20 small{display:block}
.admin-topbar-v20 small{opacity:.62;margin-top:2px}
.admin-menu-toggle-v20{display:none}
.admin-dashboard-v20{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:18px;background:rgba(255,255,255,.02)}
.admin-dashboard-heading-v20 h2{margin:0 0 4px}
.admin-dashboard-actions-v20{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.admin-dashboard-actions-v20 button{min-height:108px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:16px;border-radius:14px}
.admin-dashboard-actions-v20 button strong{font-size:1rem}
.admin-dashboard-actions-v20 button span{font-size:.82rem;opacity:.68;font-weight:500}
.admin-sidebar-backdrop-v20{display:none}
@media(min-width:981px){
  .admin-nav,.admin-main-nav,.admin-section-nav,.admin-nav-buttons,.admin-toolbar-nav{display:none!important}
  [data-admin-panel]{margin-left:268px;width:calc(100% - 268px)}
  #adminShellV20{margin-bottom:-70px;pointer-events:none}
  #adminShellV20 .admin-sidebar-v20,#adminShellV20 .admin-main-v20{pointer-events:auto}
  #adminShellV20 .admin-main-v20{visibility:hidden}
  #adminShellV20 #adminDashboardV20,#adminShellV20 .admin-topbar-v20{visibility:visible}
}
@media(max-width:980px){
  .admin-shell-v20{display:block;margin-bottom:14px}
  .admin-main-v20{display:block}
  .admin-menu-toggle-v20{display:inline-flex;min-height:44px}
  .admin-topbar-v20{justify-content:flex-start}
  .admin-dashboard-actions-v20{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-sidebar-v20{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);max-height:none;border-radius:0 16px 16px 0;transform:translateX(-105%);transition:transform .2s ease;z-index:1002}
  .admin-sidebar-close-v20{display:inline-flex}
  .admin-sidebar-backdrop-v20{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1001}
  body.admin-menu-open-v20 .admin-sidebar-v20{transform:translateX(0)}
  body.admin-menu-open-v20 .admin-sidebar-backdrop-v20{opacity:1;pointer-events:auto}
}
@media(max-width:560px){
  .admin-dashboard-actions-v20{grid-template-columns:1fr}
  .admin-dashboard-actions-v20 button{min-height:86px}
}


/* ===== V21 GUEST APPOINTMENTS ===== */
.guest-appointment-panel-v21{border-style:solid}
.guest-estimate-preview-v21{margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.035)}
.guest-estimate-summary-v21{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.guest-estimate-summary-v21 span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);font-size:.85rem}
.guest-badge-v21{font-weight:800}
.guest-attach-modal-v21{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;background:rgba(0,0,0,.66);padding:18px}
.guest-attach-modal-v21.hidden{display:none!important}
.guest-attach-card-v21{width:min(620px,96vw);max-height:90vh;overflow:auto;background:#171719;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
#guestAppointmentPanelV21 input,#guestAppointmentPanelV21 select,#guestAppointmentPanelV21 textarea{min-height:46px}
@media(max-width:700px){
  .guest-estimate-summary-v21{display:grid;grid-template-columns:1fr}
  .guest-attach-card-v21{padding:14px}
}



/* ===== V22 B'S GARAGE PRO DASHBOARD ===== */
:root{
  --v22-bg:#0b0e11;
  --v22-panel:#121820;
  --v22-panel2:#151d26;
  --v22-line:rgba(255,255,255,.10);
  --v22-text:#f3f5f7;
  --v22-muted:#98a4b1;
  --v22-accent:#c92525;
  --v22-accent2:#e43a35;
}
body{background:var(--v22-bg);color:var(--v22-text)}
.admin-shell-v22{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;background:#0a0d10}
.admin-sidebar-v22{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#111922,#0b1118);border-right:1px solid var(--v22-line);padding:14px 10px;z-index:80}
.admin-brand-v22{display:flex;align-items:center;gap:10px;padding:8px 8px 16px;border-bottom:1px solid var(--v22-line);margin-bottom:10px}
.admin-brand-v22 strong,.admin-brand-v22 small{display:block}
.admin-brand-v22 small{color:var(--v22-muted);font-size:.72rem}
.brand-mark-v22{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#38414c,#171c22);font-weight:800}
.sidebar-close-v22{display:none;margin-left:auto}
.nav-section-v22{display:grid;gap:4px;margin:13px 0}
.nav-section-v22>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#74808d;padding:0 10px 4px}
.nav-section-v22 button{width:100%;display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:40px;border:0;border-radius:8px;background:transparent;color:#dbe2e8;text-align:left;padding:9px 10px}
.nav-section-v22 button:hover{background:#16202a}
.nav-section-v22 button.active{background:linear-gradient(90deg,#b51f1f,#d02a2a);color:white}
.admin-main-v22{min-width:0;background:#0d1116}
.admin-topbar-v22{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--v22-line);background:rgba(12,17,23,.95);position:sticky;top:0;z-index:60;backdrop-filter:blur(12px)}
.topbar-left-v22,.topbar-right-v22{display:flex;align-items:center;gap:12px}
.app-title-v22 strong,.app-title-v22 small{display:block}
.app-title-v22 small{font-size:.72rem;color:var(--v22-muted)}
.menu-toggle-v22{display:none}
.admin-avatar-v22{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#4a5664;font-weight:800}
.notification-chip-v22{font-size:1.15rem}
.admin-dashboard-v22{padding:0 18px 18px}
.dashboard-hero-v22{
  min-height:310px;
  margin:0 -18px;
  background:
    linear-gradient(90deg,rgba(8,11,15,.40),rgba(8,11,15,.16)),
    url("./bsg-dashboard-hero-v22.png") center/cover no-repeat;
  border-bottom:1px solid var(--v22-line);
  position:relative;
}
.hero-overlay-v22{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:28px 32px;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(8,11,15,.68))}
.hero-logo-v22{filter:drop-shadow(0 6px 16px #000)}
.hero-b-v22{font-size:5rem;line-height:.9;font-weight:900;font-style:italic;color:#d82626;text-shadow:0 2px 0 #fff,0 5px 14px #000}
.hero-garage-v22{font-size:2.5rem;font-weight:900;letter-spacing:.04em}
.hero-sub-v22{margin-top:6px;border-top:3px solid #bd1e1e;padding-top:7px;font-size:.86rem;letter-spacing:.15em}
.hero-motto-v22{max-width:290px;font-size:2rem;font-style:italic;font-weight:700;text-align:right;text-shadow:0 3px 12px #000}
.dashboard-date-row-v22{display:flex;justify-content:flex-end;margin-top:-42px;position:relative;z-index:3}
.dashboard-date-row-v22>div{background:#151c24;border:1px solid var(--v22-line);border-radius:12px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.dashboard-date-row-v22 strong,.dashboard-date-row-v22 span{display:block}
.dashboard-date-row-v22 span{color:var(--v22-muted);font-size:.8rem;margin-top:2px}
.dashboard-actions-v22{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 0 16px}
.dashboard-actions-v22 button{min-height:112px;border:1px solid var(--v22-line);background:linear-gradient(180deg,#171f28,#121920);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.dashboard-actions-v22 button:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.2)}
.dashboard-actions-v22 button span{font-size:2rem}
.dashboard-actions-v22 button b{font-size:.95rem}
.dashboard-grid-v22{display:grid;grid-template-columns:1.15fr 1fr 1fr .9fr;gap:12px}
.dash-card-v22{background:linear-gradient(180deg,var(--v22-panel2),var(--v22-panel));border:1px solid var(--v22-line);border-radius:12px;padding:14px;min-width:0;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.dash-wide-v22{grid-column:span 2}
.dash-card-head-v22{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--v22-line)}
.dash-card-head-v22 h3{margin:0;font-size:.95rem}
.dash-card-head-v22 span{font-size:.75rem;color:var(--v22-muted)}
.text-btn-v22{background:transparent!important;border:0!important;color:#dbe2e8!important;padding:4px!important;min-height:0!important}
.dash-list-v22{display:grid;gap:6px;margin-top:8px}
.dash-row-v22{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:0;background:transparent;text-align:left;color:inherit;padding:8px;border-radius:8px}
.dash-row-v22:hover{background:rgba(255,255,255,.04)}
.dash-row-v22 span:nth-child(2){min-width:0}
.dash-row-v22 b,.dash-row-v22 small{display:block}
.dash-row-v22 small{color:var(--v22-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-time-v22{font-size:.78rem;color:#d4d8dc}
.status-pill-v22{font-size:.68rem;padding:4px 7px;border-radius:999px;background:#2a3540;white-space:nowrap}
.status-pill-v22.completed,.status-pill-v22.ready{background:#2e9e53;color:#08150b}
.status-pill-v22.in-progress,.status-pill-v22.diagnosing{background:#246fa8}
.status-pill-v22.pending,.status-pill-v22.waiting-approval{background:#d78d21;color:#201407}
.quick-stats-v22{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.quick-stats-v22>div{background:#18212b;border:1px solid var(--v22-line);border-radius:10px;padding:13px;text-align:center}
.quick-stats-v22 strong,.quick-stats-v22 span{display:block}
.quick-stats-v22 strong{font-size:1.4rem}
.quick-stats-v22 span{color:var(--v22-muted);font-size:.75rem;margin-top:3px}
.recent-jobs-v22{display:grid;margin-top:6px}
.recent-job-row-v22{display:grid;grid-template-columns:1.1fr 1.2fr 1.4fr auto;gap:10px;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:inherit;padding:8px;text-align:left}
.recent-job-row-v22:hover{background:rgba(255,255,255,.035)}
#dashboardShopNotesV22{width:100%;margin-top:12px;background:#10161d;border:1px solid var(--v22-line);border-radius:9px;color:#fff}
.dash-note-actions-v22{display:flex;justify-content:flex-end;margin-top:10px}
.dash-note-actions-v22 button{background:#c92525;border-color:#c92525}
.admin-sidebar-backdrop-v22{display:none}

/* Keep actual admin panels aligned with sidebar on desktop */
@media(min-width:981px){
  [data-admin-panel]{margin-left:238px;width:calc(100% - 256px)}
  #adminShellV22{margin-bottom:-66px}
}

@media(max-width:1200px){
  .dashboard-actions-v22{grid-template-columns:repeat(3,1fr)}
  .dashboard-grid-v22{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-card-v22{grid-column:span 1}
}
@media(max-width:980px){
  .admin-shell-v22{display:block;min-height:auto}
  .admin-sidebar-v22{position:fixed;left:0;top:0;bottom:0;width:min(84vw,310px);height:auto;transform:translateX(-105%);transition:transform .2s ease;z-index:1002}
  body.admin-menu-open-v22 .admin-sidebar-v22{transform:translateX(0)}
  .sidebar-close-v22{display:inline-flex}
  .admin-sidebar-backdrop-v22{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;z-index:1001;transition:opacity .2s}
  body.admin-menu-open-v22 .admin-sidebar-backdrop-v22{opacity:1;pointer-events:auto}
  .menu-toggle-v22{display:inline-flex}
  .admin-dashboard-v22{padding:0 12px 14px}
  .dashboard-hero-v22{margin:0 -12px;min-height:230px}
  .hero-overlay-v22{padding:18px}
  .hero-b-v22{font-size:3.4rem}
  .hero-garage-v22{font-size:1.8rem}
  .hero-motto-v22{font-size:1.25rem;max-width:190px}
  .dashboard-date-row-v22{margin-top:-28px}
  [data-admin-panel]{margin-left:0!important;width:auto!important}
}
@media(max-width:650px){
  .admin-label-v22{display:none}
  .dashboard-actions-v22{grid-template-columns:repeat(2,1fr)}
  .dashboard-actions-v22 button{min-height:90px}
  .dashboard-grid-v22{grid-template-columns:1fr}
  .dash-wide-v22{grid-column:span 1}
  .hero-motto-v22{display:none}
  .dashboard-date-row-v22{justify-content:stretch}
  .dashboard-date-row-v22>div{width:100%}
  .recent-job-row-v22{grid-template-columns:1fr auto}
  .recent-job-row-v22 span:nth-child(2),.recent-job-row-v22 span:nth-child(3){display:none}
}


/* ===== V23 MATCHED CUSTOMER PORTAL ===== */
.customer-top-v23{
  background:rgba(10,14,18,.96);
  border-bottom:1px solid rgba(255,255,255,.09);
  min-height:60px;
  padding:0 18px;
  position:sticky;
  top:0;
  z-index:90;
}
.customer-top-brand-v23,.customer-top-actions-v23{display:flex;align-items:center;gap:10px}
.customer-top-brand-v23 strong,.customer-top-brand-v23 small{display:block}
.customer-top-brand-v23 small{color:#8f9ba8;font-size:.72rem}
.customer-top-mark-v23{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#bd2020,#751111);color:white;font-weight:900;
  box-shadow:0 4px 14px rgba(0,0,0,.35)
}
.customer-top-motto-v23{font-style:italic;color:#a8b0b9;font-size:.8rem}

body.customer-portal-mode-v23 #app{
  max-width:none;
  padding:0;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:calc(100vh - 60px);
  align-items:start;
  background:#0d1116;
}
body.customer-portal-mode-v23 .customer-nav-v23{
  grid-column:1;
  display:block;
  position:sticky;
  top:60px;
  height:calc(100vh - 60px);
  overflow:auto;
  margin:0;
  padding:14px 10px;
  background:linear-gradient(180deg,#111922,#0b1118);
  border-right:1px solid rgba(255,255,255,.09);
}
.customer-nav-brand-v23{display:flex;align-items:center;gap:10px;padding:7px 8px 15px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.customer-nav-brand-v23 strong,.customer-nav-brand-v23 small{display:block}
.customer-nav-brand-v23 small{color:#7f8b97;font-size:.7rem}
.customer-nav-logo-v23{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#c42626;color:white;font-weight:900}
.customer-nav-heading-v23{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:#72808d;padding:10px 10px 4px}
body.customer-portal-mode-v23 .customer-nav-v23 button{
  display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin:3px 0;
  justify-content:flex-start;text-align:left;border:0;border-radius:8px;background:transparent;color:#dbe2e8;padding:9px 10px
}
body.customer-portal-mode-v23 .customer-nav-v23 button span{width:24px;text-align:center}
body.customer-portal-mode-v23 .customer-nav-v23 button:hover{background:#16202a}
body.customer-portal-mode-v23 .customer-nav-v23 button.active{background:linear-gradient(90deg,#b51f1f,#d02a2a);color:white}
body.customer-portal-mode-v23 #customerViewBtn{display:none!important}

body.customer-portal-mode-v23 #app>.tab{
  grid-column:2;
  width:auto;
  max-width:none;
  margin:0;
  padding:18px;
  min-width:0;
}
body.customer-portal-mode-v23 #app>.tab.hidden{display:none!important}

.customer-hero-v23{
  min-height:285px;
  margin:-18px -18px 18px;
  position:relative;
  background:
    linear-gradient(90deg,rgba(5,8,11,.36),rgba(5,8,11,.18)),
    url("./bsg-dashboard-hero-v22.png") center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.09)
}
.customer-hero-shade-v23{
  position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:28px 32px;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(6,9,12,.72))
}
.customer-hero-kicker-v23{font-size:.72rem;letter-spacing:.14em;color:#d4dae0;font-weight:800}
.customer-hero-v23 h1{font-size:2.4rem;margin:7px 0 4px;text-shadow:0 3px 14px #000}
.customer-hero-v23 p{max-width:650px;margin:0;color:#c2cad2}
.customer-hero-motto-v23{max-width:280px;text-align:right;font-size:1.6rem;font-style:italic;font-weight:800;text-shadow:0 3px 14px #000}

.customer-quick-actions-v23{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 16px}
.customer-quick-actions-v23 button{
  min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(180deg,#171f28,#121920);color:#fff
}
.customer-quick-actions-v23 button span{font-size:1.8rem}
.customer-quick-actions-v23 button:hover{border-color:rgba(255,255,255,.2);transform:translateY(-1px)}

.customer-summary-grid-v23{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.customer-summary-grid-v23 .customer-summary-card{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,#151d26,#111820);
  border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,.18)
}
.customer-dashboard-row-v23{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin:14px 0}
.customer-next-card-v23{
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;
  background:#10171e;border:1px solid rgba(255,255,255,.09);border-radius:10px;color:#fff;padding:14px
}
.customer-next-date-v23 strong,.customer-next-date-v23 span,.customer-next-info-v23 strong,.customer-next-info-v23 span{display:block}
.customer-next-date-v23 span,.customer-next-info-v23 span{color:#94a0ac;font-size:.82rem;margin-top:3px}
.customer-next-empty-v23{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.customer-next-empty-v23>span{font-size:1.8rem}
.customer-mini-actions-v23{display:grid;gap:8px;margin-top:12px}
.customer-mini-actions-v23 button{width:100%;text-align:left;justify-content:flex-start;background:#151e27;border:1px solid rgba(255,255,255,.09)}

.customer-active-panel,.loyalty-card-pro,.customer-home .panel,
.customer-section-v23>.panel,.customer-documents-shell{
  background:linear-gradient(180deg,#151d26,#111820);
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,.16)
}
.customer-section-banner-v23{
  display:flex;align-items:center;gap:14px;padding:18px 20px;margin:-18px -18px 16px;
  background:linear-gradient(90deg,#151d26,#10161d);
  border-bottom:1px solid rgba(255,255,255,.09)
}
.customer-section-banner-v23>span{font-size:2rem}
.customer-section-banner-v23 h1{margin:0;font-size:1.6rem}
.customer-section-banner-v23 p{margin:3px 0 0;color:#93a0ac}

body.customer-portal-mode-v23 input,
body.customer-portal-mode-v23 select,
body.customer-portal-mode-v23 textarea{
  background:#0f151c;
  border-color:rgba(255,255,255,.12);
  color:#f4f6f8
}
body.customer-portal-mode-v23 button:not(.danger){
  transition:transform .12s ease,border-color .12s ease,background .12s ease
}

/* Mobile customer portal becomes a bottom-nav app */
@media(max-width:820px){
  .customer-top-motto-v23{display:none}
  body.customer-portal-mode-v23 #app{display:block;padding-bottom:78px}
  body.customer-portal-mode-v23 #app>.tab{padding:12px}
  body.customer-portal-mode-v23 .customer-nav-v23{
    position:fixed;
    left:0;right:0;bottom:0;top:auto;
    height:68px;
    z-index:1000;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    overflow:visible;
    padding:5px 4px;
    border:0;
    border-top:1px solid rgba(255,255,255,.12);
    background:rgba(12,17,23,.97);
    backdrop-filter:blur(14px)
  }
  .customer-nav-brand-v23,.customer-nav-heading-v23{display:none}
  body.customer-portal-mode-v23 .customer-nav-v23 button{
    min-width:0;width:auto;margin:0;padding:4px 2px;display:flex;flex-direction:column;justify-content:center;gap:2px;
    border-radius:8px;font-size:.69rem;text-align:center
  }
  body.customer-portal-mode-v23 .customer-nav-v23 button span{width:auto;font-size:1.2rem}
  body.customer-portal-mode-v23 .customer-nav-v23 button b{font-size:.62rem;white-space:nowrap}
  body.customer-portal-mode-v23 .customer-nav-v23 [data-tab="services"],
  body.customer-portal-mode-v23 .customer-nav-v23 [data-tab="inspections"],
  body.customer-portal-mode-v23 .customer-nav-v23 #workerTab,
  body.customer-portal-mode-v23 .customer-nav-v23 #adminTab,
  body.customer-portal-mode-v23 .customer-nav-v23 #customerViewBtn{display:none!important}
  .customer-hero-v23{min-height:220px;margin:-12px -12px 14px}
  .customer-hero-shade-v23{padding:18px}
  .customer-hero-v23 h1{font-size:1.9rem}
  .customer-hero-motto-v23{display:none}
  .customer-quick-actions-v23{grid-template-columns:repeat(2,1fr)}
  .customer-quick-actions-v23 button{min-height:84px}
  .customer-summary-grid-v23{grid-template-columns:repeat(2,1fr)}
  .customer-dashboard-row-v23{grid-template-columns:1fr}
  .customer-section-banner-v23{margin:-12px -12px 14px}
}
@media(max-width:480px){
  .customer-top-v23{padding:0 10px}
  .customer-top-actions-v23{gap:5px}
  .customer-summary-grid-v23{grid-template-columns:1fr 1fr}
  .customer-next-card-v23{grid-template-columns:1fr auto}
  .customer-next-date-v23{grid-column:1/-1}
}

:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111;background:#f3f4f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f3f4f6;color:#161616}.hidden{display:none!important}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#111;color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.18)}.top strong{display:block;font-size:21px}.top small{display:block;color:#bbb;margin-top:2px}.page{width:min(1120px,100%);margin:0 auto;padding:18px}.auth-page{max-width:520px;padding-top:50px}.auth-card{padding:28px}.panel{background:#fff;border:1px solid #ddd;border-radius:10px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.045)}.panel.inset{background:#f8f8f8;box-shadow:none;margin-top:14px}.hero{background:#171717;color:#fff;border-color:#171717}.hero p{color:#ccc}h1,h2,h3,h4{margin-top:0}h2{margin-bottom:10px}h3{margin-bottom:9px}.muted{color:#6b7280;line-height:1.5}.hero .muted{color:#ccc}.msg{min-height:20px;font-size:14px;font-weight:600}.msg.success{color:#167a34}.msg.error{color:#b42318}label{display:block;font-size:13px;font-weight:700;margin:9px 0 5px}input,select,textarea{width:100%;font:inherit;border:1px solid #c7c7c7;border-radius:7px;padding:11px 12px;margin-bottom:9px;background:#fff;color:#111}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #222;outline-offset:1px;border-color:#222}button{font:inherit;font-weight:750;border:0;border-radius:7px;padding:11px 15px;background:#111;color:#fff;cursor:pointer;margin:3px 5px 3px 0}button:hover{opacity:.88}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#e5e7eb;color:#111}.danger{background:#b42318}.ghost{background:transparent;border:1px solid #777}.small{padding:7px 10px;font-size:13px}.small-input{max-width:110px}.button-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.button-row input{margin:3px 0}.tabs{position:sticky;top:69px;z-index:15;display:flex;gap:7px;overflow-x:auto;padding:10px 0 14px;background:#f3f4f6}.tabs button{white-space:nowrap;background:#dedede;color:#111}.tabs button.active{background:#111;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.item,.job-card,.vehicle-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;margin:9px 0}.item strong,.job-card strong,.vehicle-card strong{font-size:16px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.filter-row{display:grid;grid-template-columns:2fr 1fr;gap:10px}.panel-title-row,.admin-hero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:16px}.stat-card{background:#111;color:#fff;border-radius:9px;padding:16px}.stat-card .number{font-size:28px;font-weight:850}.stat-card small{color:#c8c8c8}.punch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:15px 0}.punch{min-height:54px;display:flex;align-items:center;justify-content:center;border:2px solid #666;border-radius:5px;font-size:18px;font-weight:800;background:#242424;color:#bbb}.punch.filled{background:#fff;color:#111;border-color:#fff}.loyalty-progress{height:14px;background:#444;border-radius:5px;overflow:hidden;margin-top:13px}.loyalty-progress-bar{height:100%;width:0;background:#fff;transition:width .25s ease}.loyalty-progress-text{font-weight:750}.badge{display:inline-block;border-radius:999px;padding:4px 9px;margin:2px 5px 2px 0;font-size:12px;font-weight:800;background:#e5e7eb;color:#111}.badge.pending{background:#fff0c2}.badge.approved{background:#d9edff}.badge.diagnosing,.badge.in-progress{background:#e5e0ff}.badge.waiting-approval,.badge.waiting-parts{background:#ffe5c2}.badge.ready{background:#d6f5df}.badge.completed{background:#d8d8d8}.badge.declined,.badge.cancelled{background:#ffd8d8}.job-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px 14px;margin:10px 0;font-size:14px}.job-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.job-actions select,.job-actions input{width:auto;min-width:160px;margin:3px 3px 3px 0}.estimate-box{background:#f7f7f7;border:1px solid #ddd;border-radius:7px;padding:12px;margin-top:12px}.estimate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.estimate-grid input{margin-bottom:0}.total-line{font-size:19px;font-weight:850;margin-top:10px}.attention{border-left:5px solid #111}.vehicle-title{font-size:17px;font-weight:850}.vehicle-vin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.4px}.section-heading{display:flex;justify-content:space-between}.link-button{display:inline-block;text-decoration:none;background:#111;color:#fff;border-radius:7px;padding:9px 11px;font-size:13px;font-weight:750;margin:3px 5px 3px 0}.link-button.secondary{background:#e5e7eb;color:#111}@media(max-width:700px){.page{padding:12px}.top{padding:12px}.tabs{top:64px}.two-col,.three-col,.filter-row{grid-template-columns:1fr}.panel-title-row,.admin-hero{display:block}.punch-grid{gap:6px}.punch{min-height:45px}.job-actions select,.job-actions input{width:100%}.button-row>button{flex:1 1 auto}.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* Integrations */
.integration-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.integration-pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#eceff3;font-size:12px;font-weight:700}
.integration-pill.good{background:#dff5e6}
.integration-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.status-good{font-weight:700}
.status-warn{font-weight:700}

.cashapp-button{font-weight:800}.customer-pay-box{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:12px}.payment-paid{margin-top:12px;font-weight:800;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16)}

/* Worker access */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:10px 0 14px}.check-row{display:flex;align-items:flex-start;gap:9px;border:1px solid #ddd;border-radius:8px;padding:10px;background:#fafafa;margin:0;font-weight:650}.check-row input{width:auto;margin:2px 0 0}.worker-card{border-left:4px solid #111}.worker-controls{margin-top:12px;padding-top:12px;border-top:1px solid #ddd}.worker-controls select{max-width:280px}

/* Admin cleanup + upgraded dashboard */
.admin-section-nav{position:sticky;top:122px;z-index:14;display:flex;gap:7px;overflow-x:auto;padding:10px;margin:0 0 16px;background:#f3f4f6;border-bottom:1px solid #d9d9d9}.admin-section-nav button{white-space:nowrap;background:#e4e4e4;color:#111}.admin-section-nav button.active{background:#111;color:#fff}.admin-section{animation:adminfade .12s ease}.compact-stats{margin-bottom:0}.status-help{margin:7px 0 10px;color:#5f6368}.estimate-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.payment-admin{border-top:1px solid #ddd;margin-top:14px;padding-top:12px}.payment-admin input{max-width:180px}.schedule-day{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.schedule-date{display:flex;flex-direction:column}.schedule-date span{font-size:12px;color:#6b7280}.schedule-job{width:100%;display:grid;grid-template-columns:72px minmax(120px,.7fr) 1.5fr;gap:10px;text-align:left;align-items:center;background:#f7f7f7;color:#111;border:1px solid #ddd;margin:0 0 6px}.schedule-job:hover{background:#ececec}.schedule-job small{color:#555}.customer-pay-box{background:#f8f8f8;border-color:#ddd;color:#111}.payment-paid{background:#e7f6eb;border-color:#b7dfc0}.admin-section .panel:last-child{margin-bottom:8px}@keyframes adminfade{from{opacity:.65;transform:translateY(2px)}to{opacity:1;transform:none}}@media(max-width:700px){.admin-section-nav{top:112px;margin-left:-12px;margin-right:-12px;padding-left:12px}.schedule-day{grid-template-columns:1fr}.schedule-job{grid-template-columns:60px 1fr}.schedule-job small{grid-column:1/-1}}

/* Customer Portal Upgrade */
.customer-home{max-width:1050px;margin:0 auto}.customer-welcome{background:linear-gradient(135deg,#111,#292929);color:#fff;border:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px}.customer-welcome h1{font-size:clamp(28px,5vw,42px);margin:4px 0 6px}.customer-welcome .muted{color:#d1d5db;margin:0}.eyebrow{display:block;font-size:11px;letter-spacing:.13em;font-weight:900;color:#6b7280;margin-bottom:5px}.customer-welcome .eyebrow{color:#bbb}.customer-primary-action{background:#fff;color:#111;white-space:nowrap}.customer-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.customer-summary-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:15px}.customer-summary-card .summary-icon{font-size:21px}.customer-summary-card strong{display:block;font-size:20px;margin-top:5px}.customer-summary-card small{color:#6b7280}.customer-active-panel{border-top:4px solid #111}.customer-job-overview{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}.customer-job-title{font-size:21px;font-weight:850;margin-bottom:8px}.customer-status-track{display:flex;gap:4px;margin:16px 0 8px}.customer-status-track span{height:8px;flex:1;border-radius:99px;background:#e5e7eb}.customer-status-track span.done{background:#111}.customer-status-caption{font-size:13px;color:#6b7280}.customer-job-side{background:#f7f7f7;border:1px solid #e2e2e2;border-radius:9px;padding:14px}.customer-job-side .amount{font-size:27px;font-weight:900}.customer-home-columns{align-items:stretch}.customer-home-columns>.panel{height:100%}.loyalty-card-pro{background:#171717;color:#fff;border-color:#171717}.loyalty-card-pro .eyebrow,.loyalty-card-pro small{color:#bbb}.loyalty-card-pro .item{background:#252525;color:#fff;border-color:#3a3a3a}.reward-ready-badge{font-size:11px;font-weight:900;letter-spacing:.08em;background:#fff;color:#111;padding:6px 8px;border-radius:999px}.customer-reward-list{margin-top:12px}.home-vehicle{padding:12px 0;border-bottom:1px solid #e5e7eb}.home-vehicle:last-child{border-bottom:0}.home-history-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.home-history-row:last-child{border-bottom:0}.home-history-row strong{display:block}.appointment-card-pro{border-left:4px solid #111}.appointment-topline{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.appointment-progress{display:flex;gap:4px;margin:12px 0}.appointment-progress span{height:7px;flex:1;background:#e5e7eb;border-radius:99px}.appointment-progress span.done{background:#111}.estimate-total-pro{font-size:28px;font-weight:900;margin:4px 0}.payment-paid{background:#e8f7ed;border:1px solid #b9e2c5;border-radius:8px;padding:10px;font-weight:800}.customer-pay-box{background:#f7f7f7;border:1px solid #ddd;border-radius:9px;padding:13px;margin-top:12px}.cashapp-button{background:#111!important;color:#fff!important}.status-help{margin:5px 0 10px;color:#555}.service-record-meta{font-size:13px;color:#6b7280}@media(max-width:760px){.customer-welcome{align-items:flex-start;flex-direction:column}.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-job-overview{grid-template-columns:1fr}.customer-home-columns{grid-template-columns:1fr}.appointment-topline{flex-direction:column}.customer-primary-action{width:100%;margin:0}.home-history-row{grid-template-columns:1fr}}


/* Productivity upgrade */
.toolGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.miniCard{border:1px solid var(--border,#333);border-radius:14px;padding:16px;background:rgba(255,255,255,.025)}
.miniCard h3{margin-top:0}
.stackList{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto}
.searchResultCard{display:grid;text-align:left;gap:3px;width:100%;padding:12px}
.searchResultCard span,.searchResultCard small{opacity:.75}
.photoGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}
.photoGallery figure{margin:0}.photoGallery img{width:100%;height:110px;object-fit:cover;border-radius:10px}.photoGallery figcaption{font-size:.8rem;margin-top:4px}
@media(max-width:760px){.toolGrid{grid-template-columns:1fr}}
@media print{nav,.adminSubnav,button{display:none!important}}

/* Professional paperwork & authorization upgrade */
.line-items-editor{display:grid;gap:8px;margin:12px 0 16px}
.line-items-head,.line-item-row{display:grid;grid-template-columns:110px minmax(180px,1fr) 80px 100px 70px 42px;gap:7px;align-items:center}
.line-items-head{font-size:.78rem;font-weight:800;opacity:.7;text-transform:uppercase}
.line-item-row input,.line-item-row select{margin:0}
.inline-input{display:inline-block;max-width:150px;margin:0 0 0 5px;padding:6px 8px}
.authorization-box{border:1px solid var(--border,#444);border-radius:12px;padding:12px;margin-top:12px;display:grid;gap:10px}
.authorization-box label{display:grid;gap:5px}.authorization-box .checkline{display:flex;align-items:flex-start;gap:8px}
.authorization-box .checkline input{width:auto;margin-top:3px}
.authorization-record{padding:8px 10px;border-radius:8px;background:rgba(0,180,90,.10)}
.legacy-estimate-title{margin-top:18px;opacity:.8}
@media(max-width:760px){.line-items-head{display:none}.line-item-row{grid-template-columns:1fr 1fr}.line-item-row input[data-line-desc]{grid-column:1/-1}}


/* Estimate archive / no-response */
.estimateArchivePanel{margin-bottom:16px}
.archiveToolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0}
.archiveToolbar input{max-width:420px;margin:0}
.archiveEstimateCard{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--border,#333);border-radius:12px;padding:14px;margin-bottom:10px;background:rgba(255,255,255,.025)}
.archiveEstimateMain{display:grid;gap:5px;min-width:0}
.archiveEstimateTitle{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.archiveBadge{font-size:.75rem;font-weight:800;padding:4px 8px;border-radius:999px;border:1px solid var(--border,#444);opacity:.9}
.archiveEstimateMeta{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;opacity:.85}
.archiveEstimateActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){
  .archiveEstimateCard{align-items:stretch;flex-direction:column}
  .archiveEstimateActions{justify-content:stretch}
  .archiveEstimateActions button{flex:1}
  .archiveToolbar{align-items:stretch;flex-direction:column}
  .archiveToolbar input{max-width:none}
}


/* Customer Estimates & Invoices */
.customer-documents-shell{display:grid;gap:16px}
.customer-documents-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.customer-doc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.customer-doc-stat{border:1px solid var(--border,#333);border-radius:12px;padding:14px;background:rgba(255,255,255,.025);display:grid;gap:4px}
.customer-doc-stat strong{font-size:1.35rem}
.customer-doc-stat span{font-size:.82rem;opacity:.75}
.customer-doc-filters{display:flex;gap:8px;flex-wrap:wrap}
.customer-doc-filters .active{outline:2px solid currentColor}
.customer-documents-list{display:grid;gap:14px}
.customer-document-card{border:1px solid var(--border,#333);border-radius:14px;padding:16px;background:rgba(255,255,255,.025)}
.customer-document-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.customer-document-type{font-size:.8rem;font-weight:800;letter-spacing:.04em;opacity:.8;text-transform:uppercase}
.customer-document-status{font-size:.82rem;font-weight:800;border:1px solid var(--border,#444);border-radius:999px;padding:6px 10px;white-space:nowrap}
.customer-document-meta{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;font-size:.86rem;opacity:.82}
.customer-document-items{margin-top:14px;border-top:1px solid var(--border,#333);border-bottom:1px solid var(--border,#333)}
.customer-document-items-head,.customer-document-item{display:grid;grid-template-columns:minmax(0,1fr) 70px 100px 110px;gap:10px;padding:9px 4px;align-items:center}
.customer-document-items-head{font-size:.76rem;font-weight:800;text-transform:uppercase;opacity:.65}
.customer-document-item{border-top:1px solid rgba(127,127,127,.16)}
.customer-document-item>span:not(:first-child){text-align:right}
.customer-document-item small{display:block;font-size:.66rem;opacity:.6}
.customer-document-totals{margin-left:auto;max-width:360px;margin-top:14px}
.customer-document-totals>div{display:flex;justify-content:space-between;gap:18px;padding:5px 0}
.customer-document-totals .grand{font-size:1.08rem;border-top:1px solid var(--border,#444);margin-top:4px;padding-top:8px}
.customer-document-note,.customer-doc-authorization,.customer-doc-payment,.authorization-record{margin-top:14px;padding:12px;border:1px solid var(--border,#444);border-radius:10px}
.customer-doc-payment.paid{font-weight:800}
.customer-doc-payment.due{font-weight:800}
.customer-doc-authorization{display:grid;gap:10px}
.doc-auth-check{display:flex;gap:9px;align-items:flex-start}
.doc-auth-check input{width:auto;margin-top:3px}
.customer-doc-actions{display:flex;gap:8px;flex-wrap:wrap}
.customer-doc-actions.bottom{margin-top:14px}
.authorization-record.declined{opacity:.8}
@media(max-width:760px){
  .customer-doc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-document-top{flex-direction:column}
  .customer-document-status{white-space:normal}
  .customer-document-items-head{display:none}
  .customer-document-item{grid-template-columns:1fr auto;gap:6px}
  .customer-document-item>span:nth-child(2)::before{content:"Qty: "}
  .customer-document-item>span:nth-child(3)::before{content:"Each: "}
  .customer-document-item>span:nth-child(4)::before{content:"Total: "}
  .customer-document-item>span:not(:first-child){grid-column:2;text-align:right;font-size:.84rem}
}


/* Full Shop Management */
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.tool-grid .wide{grid-column:span 2}
.shop-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inspection-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border,#333);border-radius:12px;padding:12px;margin:8px 0}.inspection-row.urgent{border-left:5px solid currentColor}.inspection-row.attention{border-left:3px solid currentColor}.inspection-dot{font-size:1.2rem}.inspection-body{flex:1;min-width:0}.inspection-thumb{display:block;max-width:220px;max-height:150px;object-fit:cover;border-radius:10px;margin-top:8px}.work-order-card{border:1px solid var(--border,#333);border-radius:12px;padding:14px;margin-top:12px}.work-order-checklist{display:grid;gap:8px;margin-top:12px}.worker-time-clock,.worker-inspection-mini{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.customer-inspection-grid{display:grid;gap:10px;margin:14px 0}.customer-inspection-item{border:1px solid var(--border,#333);border-radius:12px;padding:12px}.customer-inspection-item img{display:block;max-width:100%;max-height:320px;border-radius:10px;margin-top:10px}.customer-recommendations{display:grid;gap:10px}.customer-recommendation{border:1px solid var(--border,#333);border-radius:12px;padding:12px;display:grid;gap:10px}.recommendation-auth{display:grid;gap:8px}.timeline-event{border-left:3px solid var(--border,#555);padding:10px 12px;margin:8px 0;background:rgba(255,255,255,.02)}.timeline-event.completed{border-left-width:5px}
@media(max-width:850px){.tool-grid{grid-template-columns:1fr 1fr}.tool-grid .wide{grid-column:span 2}.shop-two-col{grid-template-columns:1fr}}
@media(max-width:600px){.tool-grid{grid-template-columns:1fr}.tool-grid .wide{grid-column:span 1}.inspection-row{flex-wrap:wrap}.inspection-thumb{max-width:100%}}


/* Three-lane shop suite */
.job-type-picker,.job-lane-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.job-type-choice,.job-lane-btn{opacity:.72}.job-type-choice.active,.job-lane-btn.active{opacity:1;outline:2px solid currentColor}.job-type-fields{padding:12px;border:1px solid var(--border,#333);border-radius:12px;margin-bottom:12px}.vin-action-wrap{display:flex;align-items:end}.dropoff-authorization{display:grid;gap:8px;padding:12px;border:1px solid var(--border,#333);border-radius:12px;margin:12px 0}.job-type-chip{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:2px 8px;font-size:.78rem;margin-right:6px}.job-lane-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lane-job-card{border:1px solid var(--border,#333);border-radius:12px;padding:12px}.calendar-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.calendar-toolbar strong{min-width:180px;text-align:center}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-head>div{text-align:center;font-weight:700;padding:8px}.cal-day{min-height:115px;border:1px solid var(--border,#333);padding:6px;overflow:hidden}.cal-day.other-month{opacity:.45}.cal-day.today{outline:2px solid currentColor;outline-offset:-2px}.cal-job{display:block;width:100%;font-size:.72rem;text-align:left;margin:3px 0;padding:4px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimate-template-apply{display:flex;gap:8px;align-items:center;margin-bottom:10px}.estimate-template-apply select{flex:1}.final-ro{border:1px solid var(--border,#333);border-radius:12px;padding:18px;margin-top:12px}.final-ro-head{display:flex;justify-content:space-between;gap:20px}.ro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.final-ro table{width:100%;border-collapse:collapse}.final-ro th,.final-ro td{padding:8px;border-bottom:1px solid var(--border,#333);text-align:left}.ro-totals{text-align:right;font-size:1.05rem;margin:16px 0}
@media(max-width:900px){.job-lane-board{grid-template-columns:1fr 1fr}.cal-day{min-height:90px}.cal-job{font-size:.65rem}}
@media(max-width:650px){.job-lane-board{grid-template-columns:1fr}.shop-calendar{overflow-x:auto}.cal-head,.cal-grid{min-width:760px}.final-ro-head,.ro-grid{display:block}.job-type-picker{display:grid;grid-template-columns:1fr}.job-type-choice{width:100%}}


/* Finance / retention / QR check-in */
.qr-checkin-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:center}.checkin-qr-img{width:240px;height:240px;max-width:100%;background:#fff;padding:8px;border-radius:10px}
@media(max-width:650px){.qr-checkin-layout{grid-template-columns:1fr}.checkin-qr-img{margin:auto;display:block}}


.calendar-view-toggle{display:flex;gap:5px}.calendar-view-toggle .active{outline:2px solid currentColor}.calendar-week-view{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto}.calendar-week-day{border:1px solid var(--border,#333);border-radius:10px;padding:8px;min-height:180px}.calendar-day-view{display:grid;gap:8px}.calendar-agenda-job{display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;margin:5px 0}.calendar-agenda-job small{grid-column:2/4}
@media(max-width:800px){.calendar-week-view{min-width:1050px}.calendar-agenda-job{grid-template-columns:70px 1fr}.calendar-agenda-job .badge{grid-column:2}.calendar-agenda-job small{grid-column:2}}


/* Three-Lane Operations + Drag Calendar */
.drag-calendar{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}
.calendar-day{border:1px solid var(--border,#333);border-radius:12px;min-height:260px;background:rgba(255,255,255,.02)}
.calendar-day-head{display:flex;justify-content:space-between;gap:8px;padding:10px;border-bottom:1px solid var(--border,#333)}
.calendar-dropzone{padding:8px;min-height:210px}.calendar-day.drag-over{outline:2px dashed currentColor}
.calendar-job{padding:9px;border-radius:10px;margin-bottom:8px;cursor:grab;border-left:5px solid currentColor;background:rgba(255,255,255,.04)}
.calendar-job.dragging{opacity:.45}.calendar-job small{display:block}.calendar-job-time{font-size:.8rem;opacity:.8}
.lane-automotive{box-shadow:inset 3px 0 0 rgba(255,255,255,.3)}.lane-small-engine{box-shadow:inset 3px 0 0 rgba(255,255,255,.18)}.lane-trailer{box-shadow:inset 3px 0 0 rgba(255,255,255,.1)}
.calendar-empty{opacity:.35;text-align:center;padding:24px 8px;border:1px dashed var(--border,#444);border-radius:8px}
.lane-details{margin:10px 0 18px}.lane-form{border:1px solid var(--border,#333);border-radius:12px;padding:12px;margin-top:10px}
.estimate-template-apply{display:flex;gap:8px;align-items:center;margin:10px 0}.estimate-template-apply select{flex:1}
@media(max-width:1100px){.drag-calendar{grid-template-columns:repeat(7,190px)}}


/* Complete Shop Suite */
.garage-board{display:grid;grid-template-columns:repeat(8,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:12px}
.board-column{border:1px solid var(--border,#333);border-radius:12px;min-height:320px;background:rgba(255,255,255,.02)}
.board-column h4{display:flex;justify-content:space-between;padding:10px;margin:0;border-bottom:1px solid var(--border,#333);position:sticky;top:0;background:inherit}
.board-drop{padding:8px;min-height:270px}.board-job{padding:10px;margin-bottom:8px;border-radius:9px;background:rgba(255,255,255,.05);cursor:grab;border-left:5px solid currentColor}.board-job small{display:block}
.command-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:14px 0}.command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.file-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px}.file-card{border:1px solid var(--border,#333);border-radius:10px;padding:12px}.file-card small{display:block}
@media(max-width:850px){.command-grid{grid-template-columns:1fr 1fr}.garage-board{grid-template-columns:repeat(8,180px)}}@media(max-width:520px){.command-grid{grid-template-columns:1fr}.command-head{display:block}}


/* Torque & Specs Library */
.torque-spec-card{border-left:4px solid currentColor}.torque-spec-main{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.torque-big{font-size:1.25rem;font-weight:800;white-space:nowrap}.warning-text{font-weight:700;margin-top:6px}.torque-spec-card .button-row{margin-top:10px}@media(max-width:620px){.torque-spec-main{display:block}.torque-big{margin-top:8px}}


/* B's Garage Pro Free */
.big-search{font-size:1.15rem;padding:14px 16px;width:100%;margin-bottom:14px}
.shop-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tablet-shell{min-height:75vh}.tablet-job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tablet-job-card{border:1px solid var(--border,#333);border-radius:16px;padding:18px;background:rgba(255,255,255,.03)}.tablet-job-card h3{font-size:1.3rem}.tablet-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.tablet-actions button{min-height:52px;font-size:1rem}.customer-only{margin-top:16px}
@media(max-width:900px){.shop-three-col{grid-template-columns:1fr}.tablet-job-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.tablet-job-grid{grid-template-columns:1fr}.tablet-actions{grid-template-columns:1fr 1fr}}


/* Service Intelligence + Smart Estimating */
.quick-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.quick-tools button{min-height:42px}
.qc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.qc-item{display:flex;gap:10px;align-items:center;border:1px solid var(--border,#333);border-radius:10px;padding:12px}.qc-item input{transform:scale(1.3)}
.warning-box{border:1px solid #8a5b00;padding:12px;border-radius:10px}
@media(max-width:700px){.qc-grid{grid-template-columns:1fr}.quick-tools{display:grid;grid-template-columns:1fr 1fr}.quick-tools button{min-height:50px}}


/* Shop Supplies Inventory */
[data-admin-panel="shopsupplies"] .item .button-row{margin-top:10px}
[data-admin-panel="shopsupplies"] select,[data-admin-panel="shopsupplies"] input,[data-admin-panel="shopsupplies"] textarea{width:100%}


/* Appointment Counter-Offer Workflow */
#appointmentCounterOfferPanel{margin-top:16px}
.counter-offer-card{border:1px solid var(--border,#333);border-radius:14px;padding:16px;margin:12px 0;background:rgba(255,255,255,.03)}
.counter-offer-card h4{margin:8px 0}
.counter-offer-card .button-row{margin-top:12px}


/* Lead Center */
.lead-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.lead-card{border:1px solid var(--border,#333);border-radius:14px;padding:14px;background:rgba(255,255,255,.03)}
.lead-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.lead-card h3{margin:10px 0 6px}
.lead-card p{margin:6px 0}
.lead-due{outline:2px solid rgba(220,150,0,.45)}
@media(max-width:800px){.lead-grid{grid-template-columns:1fr}}

/* Customer inline appointment counter-offer */
.customer-counter-inline{margin-top:14px}
.customer-counter-inline h4{margin:6px 0 10px}
.customer-counter-inline .job-actions{margin-top:12px}

.job-open-highlight{outline:3px solid currentColor;outline-offset:3px;transition:outline .2s ease}

button[data-admin-section="jobs"]{font-weight:800}

.jobs-cleanup-panel{margin-bottom:14px}
.jobs-show-archived{display:flex;align-items:center;gap:8px}
.job-select-box{display:inline-flex;align-items:center;gap:6px;margin-right:8px;font-size:.9rem}
.job-management-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(127,127,127,.25)}
.job-archived{opacity:.72}

.admin-nav-simplified{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:20;padding:10px 0;background:inherit}
.admin-nav-simplified button{min-height:42px}
.admin-more-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px;padding:12px;border:1px solid rgba(127,127,127,.25);border-radius:12px}
.quick-action-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.quick-action-grid button{min-height:58px}
.admin-quick-actions{margin-bottom:14px}
.jobs-command-header{margin-bottom:14px}
@media(max-width:900px){
  .admin-more-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .admin-nav-simplified{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-more-tools,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.system-test-results{display:grid;gap:8px;margin-top:14px}
.system-test-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(127,127,127,.25);border-radius:10px}
.system-test-row small{opacity:.75;text-align:right}
.system-test-row.fail{font-weight:700}
@media(max-width:700px){.system-test-row{display:block}.system-test-row small{display:block;text-align:left;margin-top:4px}}

.revenue-edit-actions{display:grid;grid-template-columns:minmax(120px,180px) auto auto;gap:8px;align-items:center;margin-top:10px}
.revenue-edit-row{margin-bottom:8px}
@media(max-width:650px){.revenue-edit-actions{grid-template-columns:1fr}}

.revenue-history-panel{margin-top:18px}
.revenue-history-row{margin-bottom:8px}

#customerViewBtn{font-weight:700}
body.admin-customer-view .admin-section-nav{display:none}

.inventory-editor{margin-top:16px}
.inventory-row{margin-bottom:10px}
.inventory-value-row{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}
.inventory-value-row span{font-size:.9rem;opacity:.85}
.subtle-panel{background:rgba(255,255,255,.03)}

.service-category-report-panel{margin-top:18px}
.service-category-row{margin-bottom:10px}
.category-profit-number{font-weight:800;font-size:1.05rem}
.small-select{max-width:220px}

.rewards-admin-hero{margin-bottom:14px}
.rewards-manager-panel{border-width:2px}
#adminRewardSummary{margin:12px 0}

.notification-settings-panel{margin-bottom:16px}
.notification-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}
.notification-options label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid rgba(128,128,128,.25);border-radius:10px}
.notification-options input{width:auto}
.status-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:700;background:rgba(128,128,128,.15)}
.status-badge[data-status="granted"]{outline:2px solid currentColor}
.small-note{margin-top:10px}

.true-push-panel{margin-bottom:16px}
.true-push-panel .form-grid{margin-top:10px}

.service-category-block{grid-column:1/-1}
.service-category-block>h3{margin:14px 0 8px}
.service-public-card{display:flex;flex-direction:column;gap:6px}
.service-public-price{font-weight:800;font-size:1.05rem}
.service-price-disclaimer{grid-column:1/-1;margin-top:10px;padding:12px;border:1px solid rgba(128,128,128,.25);border-radius:10px;font-size:.92rem}
.service-create-grid,.service-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.service-disclaimer-editor{margin:16px 0}
.service-manager-filters{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:14px 0}
.service-admin-card{margin-bottom:10px}
.service-active-toggle{display:inline-flex;align-items:center;gap:7px}
.service-active-toggle input{width:auto}
@media(max-width:700px){.service-manager-filters{grid-template-columns:1fr}}

.service-price-help{margin:8px 0 12px}
.service-admin-card input:disabled{opacity:.6;cursor:not-allowed}

.job-command-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.job-command-tabs button.active{font-weight:800;outline:2px solid currentColor}
.command-workspace{border-top:1px solid rgba(128,128,128,.25);padding-top:14px}
.command-list,.command-file-list{margin-top:14px}
.command-torque-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 18px}
.command-est-total{font-size:1.45rem;font-weight:800}
.command-qc-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0}
.command-qc-checks label{display:flex;align-items:center;gap:8px}
.command-qc-checks input{width:auto}
.job-command-stats{margin-top:12px}
@media(max-width:700px){.job-command-tabs{display:grid;grid-template-columns:1fr 1fr}.job-command-tabs button{width:100%}}

/* V15.1 mobile Job Center tap fix */
#jobCommandCenter button,
#jobCommandCenter [data-command-tab]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,.08);
  position:relative;
  z-index:2;
  pointer-events:auto;
  min-height:44px;
}
#jobCommandCenter .job-command-tabs{
  position:relative;
  z-index:3;
  pointer-events:auto;
}
#jobCommandCenter .job-command-tabs button{
  pointer-events:auto;
  user-select:none;
  -webkit-user-select:none;
}
@media(max-width:700px){
  #jobCommandCenter .job-command-tabs button{
    min-height:50px;
    font-size:15px;
  }
}

/* V16 mobile diagnostic worksheet */
.diagnostic-form{display:grid;grid-template-columns:1fr;gap:12px}
.diagnostic-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.diagnostic-form input,.diagnostic-form select,.diagnostic-form textarea{width:100%;max-width:100%;box-sizing:border-box;font-size:16px;min-height:46px}
.diagnostic-form textarea{min-height:92px}
.diagnostic-code-list{margin:10px 0}
.diagnostic-sheet-card{overflow-wrap:anywhere}
#jobCommandCenter .diagnostic-workspace button{touch-action:manipulation;min-height:46px;pointer-events:auto}
@media(max-width:700px){
 .diagnostic-workspace .tool-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px}
 .diagnostic-workspace .button-row{display:grid!important;grid-template-columns:1fr!important;gap:9px}
 .diagnostic-workspace .button-row button,.diagnostic-workspace>button{width:100%;min-height:50px}
 #jobCommandCenter{overflow-x:hidden}
}


/* ===== B'S GARAGE V18 QUICK ESTIMATES ===== */
.quick-estimate-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:16px;align-items:start}
.qe-line-entry{display:grid;grid-template-columns:120px minmax(170px,1fr) 90px 110px 105px auto;gap:8px;align-items:end}
.qe-line-entry input,.qe-line-entry select{width:100%}
.qe-taxable-check{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 4px}
.qe-taxable-check input{width:auto}
.qe-line-table{width:100%;border-collapse:collapse;margin-top:12px}
.qe-line-table th,.qe-line-table td{padding:8px;border-bottom:1px solid var(--line,#333);text-align:left;vertical-align:top}
.qe-line-table th:nth-child(3),.qe-line-table td:nth-child(3),.qe-line-table th:nth-child(4),.qe-line-table td:nth-child(4),.qe-line-table th:nth-child(5),.qe-line-table td:nth-child(5){text-align:right}
.qe-totals{margin:14px 0 8px;padding:12px;border:1px solid var(--line,#333);border-radius:10px;text-align:right;font-size:1.05rem;line-height:1.65}
.qe-totals strong{font-size:1.2rem}
.qe-estimate-card{border:1px solid var(--line,#333);border-radius:12px;padding:12px;margin:10px 0}
.qe-estimate-card .button-row{margin-top:10px;flex-wrap:wrap}
.qe-estimate-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:8px}
.qe-status-pending{opacity:.95}.qe-status-accepted{border-left:4px solid currentColor}.qe-status-declined{opacity:.75}
@media(max-width:900px){
 .quick-estimate-layout{grid-template-columns:1fr}
 .qe-line-entry{grid-template-columns:1fr 1fr}
 .qe-line-entry #qeLineDescription{grid-column:1/-1}
 .qe-line-entry #qeAddLine{grid-column:1/-1;min-height:48px}
 .qe-taxable-check{min-height:48px}
 .qe-line-table{display:block;overflow-x:auto;white-space:nowrap}
 .qe-estimate-meta{grid-template-columns:1fr}
 [data-admin-panel="quickestimates"] input,[data-admin-panel="quickestimates"] select,[data-admin-panel="quickestimates"] textarea,[data-admin-panel="quickestimates"] button{font-size:16px;min-height:46px}
}


/* ===== V19 LABOR GUIDE ===== */
.labor-guide-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px}
.labor-guide-results{display:grid;gap:10px;margin-top:10px}
.labor-guide-card{position:relative}
.labor-guide-hours{font-size:1.35rem;font-weight:800;margin:4px 0}
.labor-guide-search-row{display:flex;gap:10px;align-items:center}
.labor-guide-search-row input{width:100%;min-height:46px}
.labor-guide-quick-box{margin-bottom:14px}
.job-command-tabs button{min-height:46px}
@media(max-width:800px){
  .labor-guide-layout{grid-template-columns:1fr}
  .labor-guide-card button{min-height:46px}
  .labor-guide-search-row{display:block}
  .labor-guide-quick-box .panel-title-row{align-items:flex-start}
}


/* ===== V20 CLEAN ADMIN DASHBOARD ===== */
.admin-shell-v20{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 18px}
.admin-sidebar-v20{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(18,18,20,.96);box-shadow:0 12px 34px rgba(0,0,0,.25);padding:12px;z-index:50}
.admin-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-brand-v20{display:flex;align-items:center;gap:10px;min-width:0}
.admin-brand-v20 strong,.admin-brand-v20 small{display:block}
.admin-brand-v20 small{opacity:.65;margin-top:2px}
.admin-brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:rgba(255,255,255,.08)}
.admin-sidebar-close-v20{display:none}
.admin-nav-groups-v20{display:grid;gap:12px;margin-top:12px}
.admin-nav-group-v20{display:grid;gap:4px}
.admin-nav-heading-v20{padding:4px 8px 2px;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;font-weight:800}
.admin-nav-group-v20 button{width:100%;min-height:42px;display:flex;align-items:center;gap:9px;justify-content:flex-start;text-align:left;border-radius:10px;padding:9px 10px;background:transparent;border:1px solid transparent}
.admin-nav-group-v20 button:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.admin-nav-group-v20 button.active{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14)}
.admin-main-v20{min-width:0}
.admin-topbar-v20{min-height:58px;display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px 14px;margin-bottom:14px;background:rgba(255,255,255,.025)}
.admin-topbar-v20 strong,.admin-topbar-v20 small{display:block}
.admin-topbar-v20 small{opacity:.62;margin-top:2px}
.admin-menu-toggle-v20{display:none}
.admin-dashboard-v20{border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:18px;background:rgba(255,255,255,.02)}
.admin-dashboard-heading-v20 h2{margin:0 0 4px}
.admin-dashboard-actions-v20{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.admin-dashboard-actions-v20 button{min-height:108px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:16px;border-radius:14px}
.admin-dashboard-actions-v20 button strong{font-size:1rem}
.admin-dashboard-actions-v20 button span{font-size:.82rem;opacity:.68;font-weight:500}
.admin-sidebar-backdrop-v20{display:none}
@media(min-width:981px){
  .admin-nav,.admin-main-nav,.admin-section-nav,.admin-nav-buttons,.admin-toolbar-nav{display:none!important}
  [data-admin-panel]{margin-left:268px;width:calc(100% - 268px)}
  #adminShellV20{margin-bottom:-70px;pointer-events:none}
  #adminShellV20 .admin-sidebar-v20,#adminShellV20 .admin-main-v20{pointer-events:auto}
  #adminShellV20 .admin-main-v20{visibility:hidden}
  #adminShellV20 #adminDashboardV20,#adminShellV20 .admin-topbar-v20{visibility:visible}
}
@media(max-width:980px){
  .admin-shell-v20{display:block;margin-bottom:14px}
  .admin-main-v20{display:block}
  .admin-menu-toggle-v20{display:inline-flex;min-height:44px}
  .admin-topbar-v20{justify-content:flex-start}
  .admin-dashboard-actions-v20{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-sidebar-v20{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);max-height:none;border-radius:0 16px 16px 0;transform:translateX(-105%);transition:transform .2s ease;z-index:1002}
  .admin-sidebar-close-v20{display:inline-flex}
  .admin-sidebar-backdrop-v20{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1001}
  body.admin-menu-open-v20 .admin-sidebar-v20{transform:translateX(0)}
  body.admin-menu-open-v20 .admin-sidebar-backdrop-v20{opacity:1;pointer-events:auto}
}
@media(max-width:560px){
  .admin-dashboard-actions-v20{grid-template-columns:1fr}
  .admin-dashboard-actions-v20 button{min-height:86px}
}


/* ===== V21 GUEST APPOINTMENTS ===== */
.guest-appointment-panel-v21{border-style:solid}
.guest-estimate-preview-v21{margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.035)}
.guest-estimate-summary-v21{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.guest-estimate-summary-v21 span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);font-size:.85rem}
.guest-badge-v21{font-weight:800}
.guest-attach-modal-v21{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;background:rgba(0,0,0,.66);padding:18px}
.guest-attach-modal-v21.hidden{display:none!important}
.guest-attach-card-v21{width:min(620px,96vw);max-height:90vh;overflow:auto;background:#171719;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
#guestAppointmentPanelV21 input,#guestAppointmentPanelV21 select,#guestAppointmentPanelV21 textarea{min-height:46px}
@media(max-width:700px){
  .guest-estimate-summary-v21{display:grid;grid-template-columns:1fr}
  .guest-attach-card-v21{padding:14px}
}



/* ===== V22 B'S GARAGE PRO DASHBOARD ===== */
:root{
  --v22-bg:#0b0e11;
  --v22-panel:#121820;
  --v22-panel2:#151d26;
  --v22-line:rgba(255,255,255,.10);
  --v22-text:#f3f5f7;
  --v22-muted:#98a4b1;
  --v22-accent:#c92525;
  --v22-accent2:#e43a35;
}
body{background:var(--v22-bg);color:var(--v22-text)}
.admin-shell-v22{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;background:#0a0d10}
.admin-sidebar-v22{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,#111922,#0b1118);border-right:1px solid var(--v22-line);padding:14px 10px;z-index:80}
.admin-brand-v22{display:flex;align-items:center;gap:10px;padding:8px 8px 16px;border-bottom:1px solid var(--v22-line);margin-bottom:10px}
.admin-brand-v22 strong,.admin-brand-v22 small{display:block}
.admin-brand-v22 small{color:var(--v22-muted);font-size:.72rem}
.brand-mark-v22{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#38414c,#171c22);font-weight:800}
.sidebar-close-v22{display:none;margin-left:auto}
.nav-section-v22{display:grid;gap:4px;margin:13px 0}
.nav-section-v22>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#74808d;padding:0 10px 4px}
.nav-section-v22 button{width:100%;display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:40px;border:0;border-radius:8px;background:transparent;color:#dbe2e8;text-align:left;padding:9px 10px}
.nav-section-v22 button:hover{background:#16202a}
.nav-section-v22 button.active{background:linear-gradient(90deg,#b51f1f,#d02a2a);color:white}
.admin-main-v22{min-width:0;background:#0d1116}
.admin-topbar-v22{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--v22-line);background:rgba(12,17,23,.95);position:sticky;top:0;z-index:60;backdrop-filter:blur(12px)}
.topbar-left-v22,.topbar-right-v22{display:flex;align-items:center;gap:12px}
.app-title-v22 strong,.app-title-v22 small{display:block}
.app-title-v22 small{font-size:.72rem;color:var(--v22-muted)}
.menu-toggle-v22{display:none}
.admin-avatar-v22{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#4a5664;font-weight:800}
.notification-chip-v22{font-size:1.15rem}
.admin-dashboard-v22{padding:0 18px 18px}
.dashboard-hero-v22{
  min-height:310px;
  margin:0 -18px;
  background:
    linear-gradient(90deg,rgba(8,11,15,.40),rgba(8,11,15,.16)),
    url("./bsg-dashboard-hero-v22.png") center/cover no-repeat;
  border-bottom:1px solid var(--v22-line);
  position:relative;
}
.hero-overlay-v22{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:28px 32px;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(8,11,15,.68))}
.hero-logo-v22{filter:drop-shadow(0 6px 16px #000)}
.hero-b-v22{font-size:5rem;line-height:.9;font-weight:900;font-style:italic;color:#d82626;text-shadow:0 2px 0 #fff,0 5px 14px #000}
.hero-garage-v22{font-size:2.5rem;font-weight:900;letter-spacing:.04em}
.hero-sub-v22{margin-top:6px;border-top:3px solid #bd1e1e;padding-top:7px;font-size:.86rem;letter-spacing:.15em}
.hero-motto-v22{max-width:290px;font-size:2rem;font-style:italic;font-weight:700;text-align:right;text-shadow:0 3px 12px #000}
.dashboard-date-row-v22{display:flex;justify-content:flex-end;margin-top:-42px;position:relative;z-index:3}
.dashboard-date-row-v22>div{background:#151c24;border:1px solid var(--v22-line);border-radius:12px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.dashboard-date-row-v22 strong,.dashboard-date-row-v22 span{display:block}
.dashboard-date-row-v22 span{color:var(--v22-muted);font-size:.8rem;margin-top:2px}
.dashboard-actions-v22{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 0 16px}
.dashboard-actions-v22 button{min-height:112px;border:1px solid var(--v22-line);background:linear-gradient(180deg,#171f28,#121920);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.dashboard-actions-v22 button:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.2)}
.dashboard-actions-v22 button span{font-size:2rem}
.dashboard-actions-v22 button b{font-size:.95rem}
.dashboard-grid-v22{display:grid;grid-template-columns:1.15fr 1fr 1fr .9fr;gap:12px}
.dash-card-v22{background:linear-gradient(180deg,var(--v22-panel2),var(--v22-panel));border:1px solid var(--v22-line);border-radius:12px;padding:14px;min-width:0;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.dash-wide-v22{grid-column:span 2}
.dash-card-head-v22{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--v22-line)}
.dash-card-head-v22 h3{margin:0;font-size:.95rem}
.dash-card-head-v22 span{font-size:.75rem;color:var(--v22-muted)}
.text-btn-v22{background:transparent!important;border:0!important;color:#dbe2e8!important;padding:4px!important;min-height:0!important}
.dash-list-v22{display:grid;gap:6px;margin-top:8px}
.dash-row-v22{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:0;background:transparent;text-align:left;color:inherit;padding:8px;border-radius:8px}
.dash-row-v22:hover{background:rgba(255,255,255,.04)}
.dash-row-v22 span:nth-child(2){min-width:0}
.dash-row-v22 b,.dash-row-v22 small{display:block}
.dash-row-v22 small{color:var(--v22-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-time-v22{font-size:.78rem;color:#d4d8dc}
.status-pill-v22{font-size:.68rem;padding:4px 7px;border-radius:999px;background:#2a3540;white-space:nowrap}
.status-pill-v22.completed,.status-pill-v22.ready{background:#2e9e53;color:#08150b}
.status-pill-v22.in-progress,.status-pill-v22.diagnosing{background:#246fa8}
.status-pill-v22.pending,.status-pill-v22.waiting-approval{background:#d78d21;color:#201407}
.quick-stats-v22{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.quick-stats-v22>div{background:#18212b;border:1px solid var(--v22-line);border-radius:10px;padding:13px;text-align:center}
.quick-stats-v22 strong,.quick-stats-v22 span{display:block}
.quick-stats-v22 strong{font-size:1.4rem}
.quick-stats-v22 span{color:var(--v22-muted);font-size:.75rem;margin-top:3px}
.recent-jobs-v22{display:grid;margin-top:6px}
.recent-job-row-v22{display:grid;grid-template-columns:1.1fr 1.2fr 1.4fr auto;gap:10px;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:inherit;padding:8px;text-align:left}
.recent-job-row-v22:hover{background:rgba(255,255,255,.035)}
#dashboardShopNotesV22{width:100%;margin-top:12px;background:#10161d;border:1px solid var(--v22-line);border-radius:9px;color:#fff}
.dash-note-actions-v22{display:flex;justify-content:flex-end;margin-top:10px}
.dash-note-actions-v22 button{background:#c92525;border-color:#c92525}
.admin-sidebar-backdrop-v22{display:none}

/* Keep actual admin panels aligned with sidebar on desktop */
@media(min-width:981px){
  [data-admin-panel]{margin-left:238px;width:calc(100% - 256px)}
  #adminShellV22{margin-bottom:-66px}
}

@media(max-width:1200px){
  .dashboard-actions-v22{grid-template-columns:repeat(3,1fr)}
  .dashboard-grid-v22{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-card-v22{grid-column:span 1}
}
@media(max-width:980px){
  .admin-shell-v22{display:block;min-height:auto}
  .admin-sidebar-v22{position:fixed;left:0;top:0;bottom:0;width:min(84vw,310px);height:auto;transform:translateX(-105%);transition:transform .2s ease;z-index:1002}
  body.admin-menu-open-v22 .admin-sidebar-v22{transform:translateX(0)}
  .sidebar-close-v22{display:inline-flex}
  .admin-sidebar-backdrop-v22{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;z-index:1001;transition:opacity .2s}
  body.admin-menu-open-v22 .admin-sidebar-backdrop-v22{opacity:1;pointer-events:auto}
  .menu-toggle-v22{display:inline-flex}
  .admin-dashboard-v22{padding:0 12px 14px}
  .dashboard-hero-v22{margin:0 -12px;min-height:230px}
  .hero-overlay-v22{padding:18px}
  .hero-b-v22{font-size:3.4rem}
  .hero-garage-v22{font-size:1.8rem}
  .hero-motto-v22{font-size:1.25rem;max-width:190px}
  .dashboard-date-row-v22{margin-top:-28px}
  [data-admin-panel]{margin-left:0!important;width:auto!important}
}
@media(max-width:650px){
  .admin-label-v22{display:none}
  .dashboard-actions-v22{grid-template-columns:repeat(2,1fr)}
  .dashboard-actions-v22 button{min-height:90px}
  .dashboard-grid-v22{grid-template-columns:1fr}
  .dash-wide-v22{grid-column:span 1}
  .hero-motto-v22{display:none}
  .dashboard-date-row-v22{justify-content:stretch}
  .dashboard-date-row-v22>div{width:100%}
  .recent-job-row-v22{grid-template-columns:1fr auto}
  .recent-job-row-v22 span:nth-child(2),.recent-job-row-v22 span:nth-child(3){display:none}
}


/* ===== V23 MATCHED CUSTOMER PORTAL ===== */
.customer-top-v23{
  background:rgba(10,14,18,.96);
  border-bottom:1px solid rgba(255,255,255,.09);
  min-height:60px;
  padding:0 18px;
  position:sticky;
  top:0;
  z-index:90;
}
.customer-top-brand-v23,.customer-top-actions-v23{display:flex;align-items:center;gap:10px}
.customer-top-brand-v23 strong,.customer-top-brand-v23 small{display:block}
.customer-top-brand-v23 small{color:#8f9ba8;font-size:.72rem}
.customer-top-mark-v23{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#bd2020,#751111);color:white;font-weight:900;
  box-shadow:0 4px 14px rgba(0,0,0,.35)
}
.customer-top-motto-v23{font-style:italic;color:#a8b0b9;font-size:.8rem}

body.customer-portal-mode-v23 #app{
  max-width:none;
  padding:0;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:calc(100vh - 60px);
  align-items:start;
  background:#0d1116;
}
body.customer-portal-mode-v23 .customer-nav-v23{
  grid-column:1;
  display:block;
  position:sticky;
  top:60px;
  height:calc(100vh - 60px);
  overflow:auto;
  margin:0;
  padding:14px 10px;
  background:linear-gradient(180deg,#111922,#0b1118);
  border-right:1px solid rgba(255,255,255,.09);
}
.customer-nav-brand-v23{display:flex;align-items:center;gap:10px;padding:7px 8px 15px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.customer-nav-brand-v23 strong,.customer-nav-brand-v23 small{display:block}
.customer-nav-brand-v23 small{color:#7f8b97;font-size:.7rem}
.customer-nav-logo-v23{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#c42626;color:white;font-weight:900}
.customer-nav-heading-v23{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:#72808d;padding:10px 10px 4px}
body.customer-portal-mode-v23 .customer-nav-v23 button{
  display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin:3px 0;
  justify-content:flex-start;text-align:left;border:0;border-radius:8px;background:transparent;color:#dbe2e8;padding:9px 10px
}
body.customer-portal-mode-v23 .customer-nav-v23 button span{width:24px;text-align:center}
body.customer-portal-mode-v23 .customer-nav-v23 button:hover{background:#16202a}
body.customer-portal-mode-v23 .customer-nav-v23 button.active{background:linear-gradient(90deg,#b51f1f,#d02a2a);color:white}
body.customer-portal-mode-v23 #customerViewBtn{display:none!important}

body.customer-portal-mode-v23 #app>.tab{
  grid-column:2;
  width:auto;
  max-width:none;
  margin:0;
  padding:18px;
  min-width:0;
}
body.customer-portal-mode-v23 #app>.tab.hidden{display:none!important}

.customer-hero-v23{
  min-height:285px;
  margin:-18px -18px 18px;
  position:relative;
  background:
    linear-gradient(90deg,rgba(5,8,11,.36),rgba(5,8,11,.18)),
    url("./bsg-dashboard-hero-v22.png") center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.09)
}
.customer-hero-shade-v23{
  position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:28px 32px;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(6,9,12,.72))
}
.customer-hero-kicker-v23{font-size:.72rem;letter-spacing:.14em;color:#d4dae0;font-weight:800}
.customer-hero-v23 h1{font-size:2.4rem;margin:7px 0 4px;text-shadow:0 3px 14px #000}
.customer-hero-v23 p{max-width:650px;margin:0;color:#c2cad2}
.customer-hero-motto-v23{max-width:280px;text-align:right;font-size:1.6rem;font-style:italic;font-weight:800;text-shadow:0 3px 14px #000}

.customer-quick-actions-v23{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 16px}
.customer-quick-actions-v23 button{
  min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(180deg,#171f28,#121920);color:#fff
}
.customer-quick-actions-v23 button span{font-size:1.8rem}
.customer-quick-actions-v23 button:hover{border-color:rgba(255,255,255,.2);transform:translateY(-1px)}

.customer-summary-grid-v23{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.customer-summary-grid-v23 .customer-summary-card{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,#151d26,#111820);
  border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,.18)
}
.customer-dashboard-row-v23{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin:14px 0}
.customer-next-card-v23{
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;
  background:#10171e;border:1px solid rgba(255,255,255,.09);border-radius:10px;color:#fff;padding:14px
}
.customer-next-date-v23 strong,.customer-next-date-v23 span,.customer-next-info-v23 strong,.customer-next-info-v23 span{display:block}
.customer-next-date-v23 span,.customer-next-info-v23 span{color:#94a0ac;font-size:.82rem;margin-top:3px}
.customer-next-empty-v23{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.customer-next-empty-v23>span{font-size:1.8rem}
.customer-mini-actions-v23{display:grid;gap:8px;margin-top:12px}
.customer-mini-actions-v23 button{width:100%;text-align:left;justify-content:flex-start;background:#151e27;border:1px solid rgba(255,255,255,.09)}

.customer-active-panel,.loyalty-card-pro,.customer-home .panel,
.customer-section-v23>.panel,.customer-documents-shell{
  background:linear-gradient(180deg,#151d26,#111820);
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,.16)
}
.customer-section-banner-v23{
  display:flex;align-items:center;gap:14px;padding:18px 20px;margin:-18px -18px 16px;
  background:linear-gradient(90deg,#151d26,#10161d);
  border-bottom:1px solid rgba(255,255,255,.09)
}
.customer-section-banner-v23>span{font-size:2rem}
.customer-section-banner-v23 h1{margin:0;font-size:1.6rem}
.customer-section-banner-v23 p{margin:3px 0 0;color:#93a0ac}

body.customer-portal-mode-v23 input,
body.customer-portal-mode-v23 select,
body.customer-portal-mode-v23 textarea{
  background:#0f151c;
  border-color:rgba(255,255,255,.12);
  color:#f4f6f8
}
body.customer-portal-mode-v23 button:not(.danger){
  transition:transform .12s ease,border-color .12s ease,background .12s ease
}

/* Mobile customer portal becomes a bottom-nav app */
@media(max-width:820px){
  .customer-top-motto-v23{display:none}
  body.customer-portal-mode-v23 #app{display:block;padding-bottom:78px}
  body.customer-portal-mode-v23 #app>.tab{padding:12px}
  body.customer-portal-mode-v23 .customer-nav-v23{
    position:fixed;
    left:0;right:0;bottom:0;top:auto;
    height:68px;
    z-index:1000;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    overflow:visible;
    padding:5px 4px;
    border:0;
    border-top:1px solid rgba(255,255,255,.12);
    background:rgba(12,17,23,.97);
    backdrop-filter:blur(14px)
  }
  .customer-nav-brand-v23,.customer-nav-heading-v23{display:none}
  body.customer-portal-mode-v23 .customer-nav-v23 button{
    min-width:0;width:auto;margin:0;padding:4px 2px;display:flex;flex-direction:column;justify-content:center;gap:2px;
    border-radius:8px;font-size:.69rem;text-align:center
  }
  body.customer-portal-mode-v23 .customer-nav-v23 button span{width:auto;font-size:1.2rem}
  body.customer-portal-mode-v23 .customer-nav-v23 button b{font-size:.62rem;white-space:nowrap}
  body.customer-portal-mode-v23 .customer-nav-v23 [data-tab="services"],
  body.customer-portal-mode-v23 .customer-nav-v23 [data-tab="inspections"],
  body.customer-portal-mode-v23 .customer-nav-v23 #workerTab,
  body.customer-portal-mode-v23 .customer-nav-v23 #adminTab,
  body.customer-portal-mode-v23 .customer-nav-v23 #customerViewBtn{display:none!important}
  .customer-hero-v23{min-height:220px;margin:-12px -12px 14px}
  .customer-hero-shade-v23{padding:18px}
  .customer-hero-v23 h1{font-size:1.9rem}
  .customer-hero-motto-v23{display:none}
  .customer-quick-actions-v23{grid-template-columns:repeat(2,1fr)}
  .customer-quick-actions-v23 button{min-height:84px}
  .customer-summary-grid-v23{grid-template-columns:repeat(2,1fr)}
  .customer-dashboard-row-v23{grid-template-columns:1fr}
  .customer-section-banner-v23{margin:-12px -12px 14px}
}
@media(max-width:480px){
  .customer-top-v23{padding:0 10px}
  .customer-top-actions-v23{gap:5px}
  .customer-summary-grid-v23{grid-template-columns:1fr 1fr}
  .customer-next-card-v23{grid-template-columns:1fr auto}
  .customer-next-date-v23{grid-column:1/-1}
}



/* =========================================================
   B'S GARAGE V24 — CLEAN RESPONSIVE DASHBOARD
   Full-width desktop + clean mobile layouts
   ========================================================= */

:root{
  --v24-bg:#080d12;
  --v24-panel:#101821;
  --v24-panel-2:#131d27;
  --v24-line:#263442;
  --v24-text:#f4f7fa;
  --v24-muted:#9ca9b5;
  --v24-red:#e4232c;
  --v24-red-dark:#9e141b;
  --v24-green:#47dc57;
}

/* Remove the old jumbled admin button wall. The V22/V24 sidebar is the real navigation. */
#admin .admin-section-nav,
#admin #moreToolsMenu,
#admin > .admin-hero{
  display:none!important;
}

/* Global dark application surface */
body{
  background:var(--v24-bg);
}
.top.customer-top-v23{
  background:#0b1117;
  border-bottom:1px solid var(--v24-line);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.customer-top-mark-v23{
  background:linear-gradient(145deg,#ef2b33,#8f1117);
}
.customer-top-brand-v23 strong{font-size:1.3rem;letter-spacing:.01em}
.customer-top-actions-v23 button{
  min-height:38px;
  padding:8px 14px;
  border:1px solid #3b4854;
  background:#111820;
}

/* ---------- CUSTOMER DESKTOP ---------- */
@media(min-width:821px){
  body.customer-portal-mode-v24 #app{
    grid-template-columns:205px minmax(0,1fr)!important;
    width:100vw!important;
    max-width:none!important;
    min-height:calc(100vh - 60px);
  }
  body.customer-portal-mode-v24 .customer-nav-v23{
    width:205px!important;
    min-width:205px!important;
    background:linear-gradient(180deg,#0d141c,#091017)!important;
    border-right:1px solid var(--v24-line)!important;
  }
  body.customer-portal-mode-v24 #app>.tab{
    width:100%!important;
    max-width:none!important;
    padding:14px 18px 24px!important;
  }
  body.customer-portal-mode-v24 #home{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px;
    align-items:start;
  }
  body.customer-portal-mode-v24 #home.hidden{display:none!important}

  .customer-hero-v23{
    grid-column:1/-1;
    min-height:250px!important;
    margin:-14px -18px 0!important;
    border-radius:0;
  }
  .customer-hero-shade-v23{padding:22px 28px!important}
  .customer-hero-v23 h1{font-size:2rem!important}
  .customer-hero-motto-v23{font-size:1.45rem!important}

  .customer-quick-actions-v23{
    grid-column:1/-1;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    margin:0!important;
    gap:10px!important;
  }
  .customer-quick-actions-v23 button{
    min-height:72px!important;
    flex-direction:row!important;
    padding:10px 14px!important;
    border-radius:9px!important;
    justify-content:flex-start!important;
    background:linear-gradient(180deg,#121c25,#0f171f)!important;
  }
  .customer-quick-actions-v23 button span{font-size:1.45rem!important}
  .customer-quick-actions-v23 button b{font-size:.9rem}

  .customer-summary-grid-v23{
    grid-column:1/-1;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0!important;
  }
  .customer-summary-grid-v23 .customer-summary-card{
    min-height:78px;
    padding:12px!important;
  }
  .customer-summary-card .summary-icon{font-size:1.45rem!important}
  .customer-summary-card strong{font-size:1rem!important}

  .customer-dashboard-row-v23{
    grid-column:1/-1;
    display:grid!important;
    grid-template-columns:2fr 1fr!important;
    gap:12px!important;
    margin:0!important;
  }

  .customer-card-repair-v24{
    grid-column:1/8;
    margin:0!important;
    min-height:250px;
  }
  .customer-card-split-v24{
    grid-column:8/-1;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin:0!important;
  }
  .customer-card-split-v24>.panel{margin:0!important}
  .customer-card-history-v24{
    grid-column:1/7;
    margin:0!important;
  }
  .customer-card-offers-v24{
    grid-column:7/-1;
    margin:0!important;
  }

  .customer-home .panel,
  .customer-section-v23>.panel,
  .customer-documents-shell{
    border-radius:9px!important;
    padding:14px!important;
    background:linear-gradient(180deg,#111a23,#0e161e)!important;
  }
  .customer-home .panel h2{font-size:1.05rem!important;margin:2px 0 8px}
  .customer-home .panel-title-row{margin-bottom:8px!important}

  .customer-next-card-v23{padding:11px!important}
  .customer-next-empty-v23{min-height:78px}

  /* Other customer pages use the computer screen instead of a narrow centered column */
  body.customer-portal-mode-v24 #services,
  body.customer-portal-mode-v24 #documents,
  body.customer-portal-mode-v24 #inspections,
  body.customer-portal-mode-v24 #appointments,
  body.customer-portal-mode-v24 #profile{
    max-width:none!important;
  }
  body.customer-portal-mode-v24 #appointments{
    display:grid;
    grid-template-columns:minmax(420px,.9fr) minmax(520px,1.35fr);
    gap:14px;
  }
  body.customer-portal-mode-v24 #appointments.hidden{display:none!important}
  body.customer-portal-mode-v24 #appointments>.customer-section-banner-v23{grid-column:1/-1}
  body.customer-portal-mode-v24 #profile{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  body.customer-portal-mode-v24 #profile.hidden{display:none!important}
  body.customer-portal-mode-v24 #profile>.customer-section-banner-v23{grid-column:1/-1}
}

/* ---------- ADMIN DESKTOP ---------- */
@media(min-width:901px){
  body.admin-portal-mode-v24 #app{
    width:100vw!important;
    max-width:none!important;
    padding:0!important;
  }
  body.admin-portal-mode-v24 #admin{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.admin-portal-mode-v24 #admin.hidden{display:none!important}
  body.admin-portal-mode-v24 #adminShellV22{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    width:100vw!important;
    max-width:none!important;
    min-height:calc(100vh - 60px);
    background:var(--v24-bg);
  }
  body.admin-portal-mode-v24 .admin-sidebar-v22{
    position:sticky!important;
    top:60px!important;
    left:auto!important;
    transform:none!important;
    width:210px!important;
    height:calc(100vh - 60px)!important;
    grid-column:1;
    background:linear-gradient(180deg,#0d141c,#091017)!important;
    border-right:1px solid var(--v24-line)!important;
    box-shadow:none!important;
  }
  body.admin-portal-mode-v24 .admin-sidebar-backdrop-v22{display:none!important}
  body.admin-portal-mode-v24 .admin-main-v22{
    grid-column:2;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  body.admin-portal-mode-v24 .admin-topbar-v22{
    position:sticky;
    top:60px;
    z-index:30;
    min-height:52px;
    padding:7px 16px!important;
    border-bottom:1px solid var(--v24-line);
    background:rgba(10,16,22,.96)!important;
  }
  body.admin-portal-mode-v24 .menu-toggle-v22{display:none!important}
  body.admin-portal-mode-v24 .admin-dashboard-v22{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 14px 20px!important;
  }
  body.admin-portal-mode-v24 .dashboard-hero-v22{
    min-height:220px!important;
    margin:0 -14px 8px!important;
    border-radius:0!important;
    background-position:center!important;
  }
  body.admin-portal-mode-v24 .dashboard-date-row-v22{
    padding:8px 2px!important;
    margin:0!important;
  }
  body.admin-portal-mode-v24 .dashboard-actions-v22{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:9px!important;
    margin:0 0 10px!important;
  }
  body.admin-portal-mode-v24 .dashboard-actions-v22 button{
    min-height:66px!important;
    padding:9px!important;
    border-radius:9px!important;
  }
  body.admin-portal-mode-v24 .dashboard-actions-v22 button span{font-size:1.35rem!important}
  body.admin-portal-mode-v24 .dashboard-grid-v22{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:start;
  }
  body.admin-portal-mode-v24 .dash-card-v22{
    margin:0!important;
    min-width:0!important;
    border-radius:9px!important;
    padding:12px!important;
    background:linear-gradient(180deg,#111a23,#0e161e)!important;
    border:1px solid var(--v24-line)!important;
  }
  body.admin-portal-mode-v24 [data-admin-panel]{
    width:100%!important;
    max-width:none!important;
  }
  body.admin-portal-mode-v24 .admin-content-v22,
  body.admin-portal-mode-v24 .admin-panel-host-v22{
    width:100%!important;
    max-width:none!important;
  }
}

/* ---------- ADMIN TABLET / MOBILE ---------- */
@media(max-width:900px){
  body.admin-portal-mode-v24 #app{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  body.admin-portal-mode-v24 #admin{
    padding:0!important;
    width:100%!important;
  }
  body.admin-portal-mode-v24 #adminShellV22{
    width:100%!important;
    display:block!important;
  }
  body.admin-portal-mode-v24 .admin-main-v22{
    width:100%!important;
    margin:0!important;
  }
  body.admin-portal-mode-v24 .admin-dashboard-v22{
    padding:0 10px 18px!important;
  }
  body.admin-portal-mode-v24 .dashboard-hero-v22{
    min-height:190px!important;
    margin:0 -10px 10px!important;
    border-radius:0!important;
  }
  body.admin-portal-mode-v24 .dashboard-actions-v22{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.admin-portal-mode-v24 .dashboard-actions-v22 button{
    min-height:62px!important;
  }
  body.admin-portal-mode-v24 .dashboard-grid-v22{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  body.admin-portal-mode-v24 .admin-topbar-v22{
    position:sticky;
    top:60px;
    z-index:40;
  }
}

/* ---------- CUSTOMER MOBILE ---------- */
@media(max-width:820px){
  body.customer-portal-mode-v24 #app{
    background:var(--v24-bg)!important;
    padding-bottom:74px!important;
  }
  body.customer-portal-mode-v24 #app>.tab{padding:10px!important}
  .customer-hero-v23{
    min-height:205px!important;
    margin:-10px -10px 10px!important;
  }
  .customer-hero-shade-v23{padding:16px!important}
  .customer-hero-v23 h1{font-size:1.65rem!important}
  .customer-quick-actions-v23{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .customer-quick-actions-v23 button{
    min-height:72px!important;
    border-radius:9px!important;
  }
  .customer-summary-grid-v23{gap:8px!important}
  .customer-summary-grid-v23 .customer-summary-card{padding:10px!important}
  .customer-dashboard-row-v23{gap:9px!important}
  .customer-home .panel{margin:0 0 9px!important;border-radius:9px!important}
  .customer-card-split-v24{gap:9px!important}
  .customer-nav-v23{
    height:66px!important;
    padding:4px!important;
  }
}

/* Compact, professional typography on wide screens */
@media(min-width:1200px){
  body.customer-portal-mode-v24,
  body.admin-portal-mode-v24{font-size:14px}
}

/* Always hide V23 customer sidebar nav while admin/worker view is active */
body.admin-portal-mode-v24 .customer-nav-v23,
body.worker-portal-mode-v24 .customer-nav-v23{
  display:none!important;
}


/* =========================================================
   B'S GARAGE V24.1 — DARK FORM / DROPDOWN READABILITY FIX
   Makes white inputs, selects, option menus, textareas,
   search boxes, date/time fields, and utility controls easy
   to read across Admin, Worker, and Customer views.
   ========================================================= */

:root{
  --v241-field-bg:#121a22;
  --v241-field-bg-hover:#17212b;
  --v241-field-border:#3b4a58;
  --v241-field-border-focus:#e4232c;
  --v241-field-text:#f7f9fb;
  --v241-field-muted:#aab5bf;
  --v241-field-disabled:#28323c;
}

/* Core form controls */
input,
select,
textarea,
option,
optgroup{
  background:var(--v241-field-bg)!important;
  color:var(--v241-field-text)!important;
  border-color:var(--v241-field-border)!important;
}

input,
select,
textarea{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

input:hover,
select:hover,
textarea:hover{
  background:var(--v241-field-bg-hover)!important;
  border-color:#526171!important;
}

input:focus,
select:focus,
textarea:focus{
  background:#16212b!important;
  color:#fff!important;
  border-color:var(--v241-field-border-focus)!important;
  outline:2px solid rgba(228,35,44,.34)!important;
  outline-offset:1px!important;
  box-shadow:0 0 0 3px rgba(228,35,44,.08)!important;
}

input::placeholder,
textarea::placeholder{
  color:var(--v241-field-muted)!important;
  opacity:1!important;
}

/* Browser dropdown menu choices */
select option{
  background:#111922!important;
  color:#f7f9fb!important;
}
select option:checked{
  background:#8f171d!important;
  color:#fff!important;
}
select optgroup{
  background:#0c131a!important;
  color:#dce3e9!important;
  font-weight:800!important;
}

/* Date/time/calendar controls */
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"]{
  color-scheme:dark!important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(1.35)!important;
  opacity:.88!important;
  cursor:pointer;
}

/* Number arrows and autofill */
input[type="number"]{
  color-scheme:dark!important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #121a22 inset!important;
  caret-color:#fff!important;
}

/* Disabled/read-only controls */
input:disabled,
select:disabled,
textarea:disabled,
input[readonly],
textarea[readonly]{
  background:var(--v241-field-disabled)!important;
  color:#b9c2ca!important;
  border-color:#394552!important;
  opacity:.78!important;
}

/* Checkboxes / radios */
input[type="checkbox"],
input[type="radio"]{
  accent-color:#e4232c!important;
  width:auto!important;
}

/* Search / filter boxes */
.big-search,
.small-input,
.small-select,
.inline-input,
.archiveToolbar input,
.labor-guide-search-row input,
.calendar-toolbar select,
.calendar-toolbar input{
  background:#101820!important;
  color:#fff!important;
  border-color:#3d4b59!important;
}

/* Form cards that were still light from older builds */
.panel.inset,
.estimate-box,
.customer-job-side,
.customer-pay-box,
.check-row,
.schedule-job,
.item,
.job-card,
.vehicle-card,
.customer-summary-card{
  background:#121a22!important;
  color:#f3f6f8!important;
  border-color:#2f3c48!important;
}

.panel.inset .muted,
.customer-job-side .muted,
.customer-pay-box .muted,
.item .muted,
.job-card .muted,
.vehicle-card .muted{
  color:#a9b4be!important;
}

/* Secondary buttons should remain readable on dark UI */
.secondary,
.link-button.secondary{
  background:#26313c!important;
  color:#f7f9fb!important;
  border:1px solid #455565!important;
}
.secondary:hover,
.link-button.secondary:hover{
  background:#32404e!important;
}

/* Admin sections and utility cards inherited from older white theme */
body.admin-portal-mode-v24 .panel,
body.admin-portal-mode-v24 .item,
body.admin-portal-mode-v24 .job-card,
body.admin-portal-mode-v24 .vehicle-card,
body.admin-portal-mode-v24 .estimate-box,
body.admin-portal-mode-v24 .check-row,
body.admin-portal-mode-v24 .schedule-job{
  background:#111922!important;
  color:#f4f7fa!important;
  border-color:#2d3a46!important;
}

/* Customer sections */
body.customer-portal-mode-v24 .panel,
body.customer-portal-mode-v24 .item,
body.customer-portal-mode-v24 .vehicle-card,
body.customer-portal-mode-v24 .estimate-box,
body.customer-portal-mode-v24 .customer-pay-box{
  background:#111922!important;
  color:#f4f7fa!important;
  border-color:#2d3a46!important;
}

/* Worker section */
body.worker-portal-mode-v24 .panel,
body.worker-portal-mode-v24 .item,
body.worker-portal-mode-v24 .job-card{
  background:#111922!important;
  color:#f4f7fa!important;
  border-color:#2d3a46!important;
}

/* Labels and helper text */
label{
  color:#e7ecf0!important;
}
.muted,
.status-help,
.service-record-meta{
  color:#9eabb6!important;
}

/* Tables in dark mode */
table{
  color:#eef2f5;
}
th{
  color:#cdd5dc;
}
td,th{
  border-color:#2e3a46!important;
}

/* Native file input button */
input[type="file"]::file-selector-button{
  background:#26313c!important;
  color:#fff!important;
  border:1px solid #455565!important;
  border-radius:6px;
  padding:7px 10px;
  margin-right:10px;
  cursor:pointer;
}

/* Mobile readability */
@media(max-width:820px){
  input,
  select,
  textarea{
    font-size:16px!important;
    min-height:46px;
  }
}


/* ===== B'S GARAGE V24.2 FULL ADMIN DARK WORKSPACE FIX ===== */
body.admin-portal-mode-v24,
body.admin-portal-mode-v24 .page,
body.admin-portal-mode-v24 main,
body.admin-portal-mode-v24 [data-admin-panel]{
  background:#0d1116!important;
  color:#f3f5f7!important;
}
body.admin-portal-mode-v24 [data-admin-panel] .panel,
body.admin-portal-mode-v24 [data-admin-panel] .panel.inset,
body.admin-portal-mode-v24 [data-admin-panel] .item,
body.admin-portal-mode-v24 [data-admin-panel] .job-card,
body.admin-portal-mode-v24 [data-admin-panel] .vehicle-card,
body.admin-portal-mode-v24 [data-admin-panel] .lane-job-card,
body.admin-portal-mode-v24 [data-admin-panel] .work-order-card,
body.admin-portal-mode-v24 [data-admin-panel] .counter-offer-card,
body.admin-portal-mode-v24 [data-admin-panel] .lead-card,
body.admin-portal-mode-v24 [data-admin-panel] .qe-estimate-card,
body.admin-portal-mode-v24 [data-admin-panel] .miniCard,
body.admin-portal-mode-v24 [data-admin-panel] .subtle-panel,
body.admin-portal-mode-v24 [data-admin-panel] .estimate-box,
body.admin-portal-mode-v24 [data-admin-panel] .lane-form,
body.admin-portal-mode-v24 [data-admin-panel] .final-ro,
body.admin-portal-mode-v24 [data-admin-panel] .authorization-box{
  background:#121820!important;
  color:#f3f5f7!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.20)!important;
}
body.admin-portal-mode-v24 [data-admin-panel] h1,
body.admin-portal-mode-v24 [data-admin-panel] h2,
body.admin-portal-mode-v24 [data-admin-panel] h3,
body.admin-portal-mode-v24 [data-admin-panel] h4,
body.admin-portal-mode-v24 [data-admin-panel] strong,
body.admin-portal-mode-v24 [data-admin-panel] label{
  color:#f7f9fb!important;
}
body.admin-portal-mode-v24 [data-admin-panel] p,
body.admin-portal-mode-v24 [data-admin-panel] small,
body.admin-portal-mode-v24 [data-admin-panel] .muted,
body.admin-portal-mode-v24 [data-admin-panel] .status-help,
body.admin-portal-mode-v24 [data-admin-panel] .schedule-date span{
  color:#aab5bf!important;
}
body.admin-portal-mode-v24 [data-admin-panel] input:not([type="checkbox"]):not([type="radio"]),
body.admin-portal-mode-v24 [data-admin-panel] select,
body.admin-portal-mode-v24 [data-admin-panel] textarea{
  background:#0c131a!important;
  color:#fff!important;
  border:1px solid #3b4a58!important;
}
body.admin-portal-mode-v24 [data-admin-panel] input::placeholder,
body.admin-portal-mode-v24 [data-admin-panel] textarea::placeholder{
  color:#8f9ca8!important;
  opacity:1!important;
}
body.admin-portal-mode-v24 [data-admin-panel] select option,
body.admin-portal-mode-v24 [data-admin-panel] select optgroup{
  background:#101820!important;
  color:#fff!important;
}
body.admin-portal-mode-v24 [data-admin-panel] input:focus,
body.admin-portal-mode-v24 [data-admin-panel] select:focus,
body.admin-portal-mode-v24 [data-admin-panel] textarea:focus{
  border-color:#e43a35!important;
  outline:2px solid rgba(228,58,53,.32)!important;
  outline-offset:1px!important;
}
body.admin-portal-mode-v24 [data-admin-panel] .schedule-job{
  background:#151d26!important;
  color:#f3f5f7!important;
  border-color:#33404d!important;
}
body.admin-portal-mode-v24 [data-admin-panel] .schedule-job:hover{background:#1b2631!important}
body.admin-portal-mode-v24 [data-admin-panel] .schedule-job small{color:#aab5bf!important}
body.admin-portal-mode-v24 [data-admin-panel] .calendar-day,
body.admin-portal-mode-v24 [data-admin-panel] .calendar-week-day,
body.admin-portal-mode-v24 [data-admin-panel] .board-column{
  background:#10171f!important;
  color:#f3f5f7!important;
  border-color:#2f3d49!important;
}
body.admin-portal-mode-v24 [data-admin-panel] .calendar-job,
body.admin-portal-mode-v24 [data-admin-panel] .board-job{
  background:#1a2530!important;
  color:#f3f5f7!important;
}
body.admin-portal-mode-v24 [data-admin-panel] table,
body.admin-portal-mode-v24 [data-admin-panel] th,
body.admin-portal-mode-v24 [data-admin-panel] td{
  color:#eef2f5!important;
  border-color:#2f3c48!important;
}
body.admin-portal-mode-v24 [data-admin-panel] .secondary{
  background:#26323e!important;
  color:#fff!important;
  border:1px solid #435363!important;
}

/* =========================================================
   B'S GARAGE V25.6 — MOBILE RESPONSIVE UPGRADE
   Phone-first refinements; desktop layout remains unchanged.
   ========================================================= */
@media (max-width: 820px){
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{overflow-x:hidden}
  body.admin-portal-mode-v24,
  body.customer-portal-mode-v24,
  body.worker-portal-mode-v24{font-size:15px}

  /* Prevent iOS/Android form zoom and make controls finger friendly */
  input,select,textarea,button{font-size:16px!important}
  input,select,textarea{max-width:100%!important;min-height:46px}
  textarea{min-height:96px;resize:vertical}
  button,.button,.secondary,.ghost{min-height:46px;touch-action:manipulation}
  input[type="checkbox"],input[type="radio"]{min-height:22px!important;min-width:22px!important;width:22px!important;height:22px!important}

  /* Admin shell / off-canvas menu */
  body.admin-portal-mode-v24 .admin-topbar-v22{top:0!important;height:56px!important;padding:6px 10px!important}
  body.admin-portal-mode-v24 .menu-toggle-v22{display:inline-flex!important;min-width:46px;align-items:center;justify-content:center}
  body.admin-portal-mode-v24 .admin-sidebar-v22{
    position:fixed!important;top:0!important;bottom:0!important;left:0!important;
    width:min(88vw,330px)!important;height:100dvh!important;max-height:none!important;
    transform:translateX(-105%)!important;z-index:1002!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important
  }
  body.admin-menu-open-v22.admin-portal-mode-v24 .admin-sidebar-v22{transform:translateX(0)!important}
  body.admin-portal-mode-v24 .admin-sidebar-backdrop-v22{display:block!important;position:fixed!important;inset:0!important;z-index:1001!important}
  body.admin-menu-open-v22.admin-portal-mode-v24 .admin-sidebar-backdrop-v22{opacity:1!important;pointer-events:auto!important}
  body.admin-portal-mode-v24 .nav-section-v22 button{min-height:48px!important;padding:11px 12px!important}

  /* Main content uses the whole phone */
  body.admin-portal-mode-v24 #admin,
  body.admin-portal-mode-v24 #adminShellV22,
  body.admin-portal-mode-v24 .admin-main-v22,
  body.admin-portal-mode-v24 [data-admin-panel],
  body.admin-portal-mode-v24 .admin-content-v22,
  body.admin-portal-mode-v24 .admin-panel-host-v22{width:100%!important;max-width:100%!important;margin-left:0!important;padding-left:0!important;padding-right:0!important;min-width:0!important}
  body.admin-portal-mode-v24 [data-admin-panel]{padding:10px!important}

  /* Dashboard */
  body.admin-portal-mode-v24 .admin-dashboard-v22{padding:0 8px 18px!important}
  body.admin-portal-mode-v24 .dashboard-hero-v22{min-height:150px!important;margin:0 -8px 8px!important}
  body.admin-portal-mode-v24 .hero-overlay-v22{padding:12px!important}
  body.admin-portal-mode-v24 .hero-b-v22{font-size:2.6rem!important}
  body.admin-portal-mode-v24 .hero-garage-v22{font-size:1.35rem!important}
  body.admin-portal-mode-v24 .hero-sub-v22{font-size:.68rem!important}
  body.admin-portal-mode-v24 .hero-motto-v22{display:none!important}
  body.admin-portal-mode-v24 .dashboard-date-row-v22{margin:0!important;padding:6px 0!important;justify-content:stretch!important}
  body.admin-portal-mode-v24 .dashboard-date-row-v22>div{width:100%;padding:9px 11px!important}
  body.admin-portal-mode-v24 .dashboard-actions-v22{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.admin-portal-mode-v24 .dashboard-actions-v22 button{min-height:64px!important;padding:8px!important}
  body.admin-portal-mode-v24 .dashboard-grid-v22{grid-template-columns:1fr!important;gap:8px!important}
  body.admin-portal-mode-v24 .dash-wide-v22{grid-column:auto!important}

  /* Today's Shop: stack columns, larger actions */
  .today-shop-head-v25{align-items:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
  .today-shop-stats-v25{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .today-shop-columns-v25{grid-template-columns:1fr!important;gap:10px!important}
  .today-shop-column-v25{min-width:0!important}
  .today-job-v25{padding:11px!important}
  .today-job-actions-v25,.today-job-statuses-v25{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .today-job-actions-v25 button,.today-job-statuses-v25 button{width:100%!important;min-height:44px!important;padding:7px!important}

  /* Job Center: large two-column touch tabs */
  #jobCommandCenter{max-width:100%!important;overflow-x:hidden!important}
  #jobCommandCenter .command-head{display:block!important}
  #jobCommandCenter .job-command-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;position:sticky;top:56px;z-index:20;background:#0d1116;padding:8px 0!important}
  #jobCommandCenter .job-command-tabs button{width:100%!important;min-width:0!important;min-height:50px!important;padding:8px 6px!important;white-space:normal!important;line-height:1.2!important}
  #jobCommandCenter .job-command-stats,.command-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #jobCommandCenter .command-workspace{padding-top:10px!important;overflow-wrap:anywhere}
  #jobCommandCenter .command-torque-grid,#jobCommandCenter .command-qc-checks{grid-template-columns:1fr!important}
  .inspection-estimate-row-v25{grid-template-columns:1fr!important;gap:7px!important}
  .inspection-photo-list-v25{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Forms/cards */
  .row,.button-row,.panel-title-row{flex-wrap:wrap!important;gap:8px!important}
  .row>*,.button-row>*{max-width:100%}
  .button-row button{flex:1 1 140px}
  .panel,.item,.vehicle-card,.estimate-box{max-width:100%!important;overflow-wrap:anywhere}

  /* Tables remain usable instead of crushing columns */
  table{min-width:680px}
  .table-wrap,.responsive-table,.admin-table-wrap,[class*="table-wrap"]{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important}

  /* Invoice/customer rows and customer portal */
  .invoice-row-v254{grid-template-columns:1fr!important;gap:8px!important}
  .customer-summary-grid-v23,.customer-dashboard-row-v23,.customer-card-split-v24,.customer-inspection-grid{grid-template-columns:1fr!important}
  body.customer-portal-mode-v24 #app{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .customer-quick-actions-v23{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .customer-quick-actions-v23 button{min-height:68px!important}
  .customer-nav-v23{padding-bottom:env(safe-area-inset-bottom)!important;height:calc(66px + env(safe-area-inset-bottom))!important}

  /* Better modal behavior on phones */
  dialog,.modal,.modal-card,[class*="modal-card"]{max-width:calc(100vw - 20px)!important;max-height:88dvh!important;overflow:auto!important;margin:auto!important}
}

@media (max-width: 430px){
  body.admin-portal-mode-v24 .dashboard-actions-v22{grid-template-columns:1fr 1fr!important}
  #jobCommandCenter .job-command-tabs{grid-template-columns:1fr 1fr!important}
  #jobCommandCenter .job-command-stats,.command-grid{grid-template-columns:1fr 1fr!important}
  .today-shop-stats-v25{grid-template-columns:1fr 1fr!important}
  .today-job-actions-v25,.today-job-statuses-v25{grid-template-columns:1fr 1fr!important}
}


/* ===== V25.7 KNOWN-FIX LIBRARY ===== */
.known-fix-search-grid-v257{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(180px,1fr);
  gap:10px;
  margin:12px 0;
}
.known-fix-results-v257{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
  margin-top:12px;
}
.known-fix-card-v257{min-width:0;}
.known-fix-codes-v257{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;}
.known-fix-code-v257{font-weight:800;letter-spacing:.02em;}
.known-fix-detail-v257{margin:10px 0;}
.known-fix-detail-v257 b{display:block;margin-bottom:3px;}
.known-fix-detail-v257 p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;}
.known-fix-more-v257{margin-top:10px;}
.known-fix-more-v257 summary{cursor:pointer;font-weight:800;padding:8px 0;}
@media (max-width:820px){
  .known-fix-search-grid-v257{grid-template-columns:1fr;}
  .known-fix-results-v257{grid-template-columns:1fr;}
  .known-fix-toolbar-v257 .panel-title-row{align-items:stretch;}
  .known-fix-toolbar-v257 .panel-title-row>button{width:100%;min-height:46px;}
  .known-fix-card-v257{width:100%;max-width:100%;overflow:hidden;}
}


/* V25.7 Agreements & Signatures */
.v257panel{margin:16px 0;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.2)}
.v257grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.v257grid button{min-height:46px}
.v257row{display:flex;justify-content:space-between;gap:12px;padding:10px;margin-top:8px;border-radius:10px;background:rgba(255,255,255,.06)}
.v257modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.76);display:flex;align-items:center;justify-content:center;padding:14px}.v257card{position:relative;width:min(720px,100%);max-height:95vh;overflow:auto;background:#181818;color:#f5f5f5;border-radius:16px;padding:20px}.v257x{position:absolute;right:12px;top:12px}.v257summary{display:flex;justify-content:space-between;gap:10px;margin:10px 0}.v257terms{white-space:pre-wrap;line-height:1.5;background:rgba(255,255,255,.07);padding:14px;border-radius:10px;margin:12px 0}.v257card label,#v257settings label{display:block;margin:12px 0}.v257card input,#v257settings textarea{width:100%;box-sizing:border-box;font-size:16px;margin-top:6px}.v257agree{display:flex!important;gap:10px;align-items:flex-start}.v257agree input{width:auto!important}.v257card canvas{display:block;width:100%;height:210px;background:#fff;border-radius:10px;touch-action:none;margin:8px 0 12px}.v257actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v257actions button{min-height:48px}
@media(max-width:820px){.v257grid{grid-template-columns:1fr 1fr}.v257row{flex-direction:column}.v257card{padding:16px}}
@media(max-width:480px){.v257grid{grid-template-columns:1fr}}


/* V25.8 */
.v258panel{margin:16px 0;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.2)}
.v258panel details{margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px}.v258panel summary{cursor:pointer}
.v258twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v258scan{padding:12px;border-radius:12px;background:rgba(255,255,255,.05)}
.v258fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v258panel label{display:block;margin:8px 0}.v258panel input,.v258panel textarea,.v258panel select{width:100%;box-sizing:border-box;font-size:16px;margin-top:5px}
.v258actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.v258actions input[type=file]{max-width:260px}
.v258compare{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.v258compare>div{padding:12px;border-radius:10px;background:rgba(255,255,255,.05)}.v258compare .ok{border-left:4px solid #55c878}.v258compare .warn{border-left:4px solid #e3b341}.v258compare .bad{border-left:4px solid #e05b5b}
.v258stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v258stats>div{padding:12px;border-radius:10px;background:rgba(255,255,255,.06)}.v258stats b,.v258stats small{display:block}
.v258table{overflow:auto}.v258table table{width:100%;min-width:850px;border-collapse:collapse}.v258table th,.v258table td{padding:9px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}
@media(max-width:820px){.v258twocol,.v258compare{grid-template-columns:1fr}.v258fields{grid-template-columns:1fr 1fr}.v258stats{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.v258fields,.v258stats{grid-template-columns:1fr}.v258actions>*{width:100%;max-width:none!important}}


/* ===== V25.8.2 FINAL — COMPACT ADMIN + ESTIMATE DEFAULTS ===== */
/* Layout-only dashboard cleanup: no routing or dashboard logic changes. */
@media (min-width: 821px){
  body.admin-portal-mode-v24 .dashboard-hero-v22{min-height:190px}
  body.admin-portal-mode-v24 .hero-overlay-v22{padding:18px 24px}
  body.admin-portal-mode-v24 .hero-b-v22{font-size:3.7rem}
  body.admin-portal-mode-v24 .hero-garage-v22{font-size:2rem}
  body.admin-portal-mode-v24 .hero-motto-v22{font-size:1.45rem}
  body.admin-portal-mode-v24 .dashboard-actions-v22{gap:9px;margin:14px 0 12px}
  body.admin-portal-mode-v24 .dashboard-actions-v22 button{min-height:76px;gap:4px;padding:8px}
  body.admin-portal-mode-v24 .dashboard-actions-v22 button span{font-size:1.45rem}
  body.admin-portal-mode-v24 .dashboard-grid-v22{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
  body.admin-portal-mode-v24 .dash-card-v22{padding:11px}
  body.admin-portal-mode-v24 .dash-list-v22{max-height:220px;overflow:auto}
  body.admin-portal-mode-v24 .recent-jobs-v22{max-height:230px;overflow:auto}
  body.admin-portal-mode-v24 #dashboardShopNotesV22{min-height:82px;max-height:120px}
}
.estimate-shop-supplies-disclaimer,.shop-supplies-disclaimer,.v258-disclaimer-note{
  margin:10px 0;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.04);font-size:.88rem;line-height:1.4
}
.v258-disclaimer-note p{margin:5px 0 0}

/* ===== V58.44H3 QUICK ESTIMATE LAYOUT HOTFIX =====
   v56EditorHome is a JS return-position marker for the shared Quick Estimate
   editor. It must remain in the DOM, but must not consume a CSS-grid cell. */
#v56EditorHome {
  display: none !important;
}
/* ===== END V58.44H3 QUICK ESTIMATE LAYOUT HOTFIX ===== */
