:root{--primary:#0866b3;--secondary:#07111f;--accent:#12b76a;--page-bg:#eef3f8}

*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--page-bg);color:#101828}
header{background:linear-gradient(135deg,var(--secondary),var(--primary));color:white;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}
.brand{display:flex;gap:12px;align-items:center}.logo{width:52px;height:52px;border-radius:15px;background:white;color:var(--primary);display:grid;place-items:center;font-weight:900;font-size:22px}
h1{margin:0}main{max-width:1450px;margin:auto;padding:22px}.card,.notice{background:white;border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 4px 18px #0001}.notice{background:#fff8e6;border:1px solid #ffd666}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
label{font-weight:750;display:block;margin-bottom:10px;color:#344054}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:13px;padding:12px;margin-top:6px;font-size:15px;background:#fff}
button,.btn{border:0;border-radius:13px;padding:12px 16px;font-weight:850;cursor:pointer;text-decoration:none;display:inline-block;margin:4px}.primary{background:var(--primary);color:white}.green{background:var(--accent);color:white}.red{background:#d92d20;color:white}.light{background:#eef4ff;color:var(--primary)}.dark{background:#101828;color:white}
.big{width:100%;font-size:19px;padding:16px}.small{color:#667085}.hidden{display:none!important}.record,.pending,.box{background:#f8fafc;border:1px solid #e4e7ec;border-radius:15px;padding:14px;margin-top:12px}.pending.selected{border:3px solid var(--primary);background:#eef4ff}
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat{background:white;border-radius:18px;padding:18px;border:1px solid #e4e7ec}.stat span{display:block;color:#667085}.stat strong{font-size:24px}.qrbox{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.qrbox img{width:160px;height:160px;background:white;border:8px solid white;border-radius:12px}
canvas{width:100%;height:180px;border:2px dashed #98a2b3;border-radius:18px;background:#fafafa}.kiosk{max-width:920px}.kiosk .card{border-radius:34px;padding:34px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.success{background:#ecfdf3;border:1px solid #abefc6;border-radius:18px;padding:22px;text-align:center}
.modal{display:none;position:fixed;inset:0;background:#0008;z-index:99;padding:20px;place-items:center}.modal.active{display:grid}.modal-card{background:white;width:min(920px,100%);max-height:92vh;overflow:auto;border-radius:24px;padding:28px;position:relative}.x{position:absolute;right:14px;top:12px}.diagram{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.diagram div{background:#eef4ff;border:1px solid #bfdbfe;padding:14px;border-radius:14px;text-align:center;font-weight:900}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}.check-card{display:flex!important;align-items:center;gap:10px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;padding:14px;font-weight:850;min-height:58px}.check-card input{width:22px!important;height:22px!important;margin:0!important;accent-color:var(--primary);flex:0 0 auto}.check-card span{display:block;line-height:1.2;color:#101828}.check-card:has(input:checked){border-color:var(--primary);background:#eef4ff;box-shadow:0 0 0 2px #bfdbfe inset}
@media(max-width:950px){.grid,.grid2,.checks,.stats,.diagram,.service-grid{grid-template-columns:1fr}header{flex-direction:column;align-items:flex-start}}

.service-menu-row{align-items:end}.service-panel{background:#f8fbff;border:1px solid #bfdbfe;border-radius:18px;padding:18px;margin:12px 0}.service-panel h3{margin-top:0}.service-summary{background:#eef4ff;border-left:5px solid var(--primary);border-radius:12px;padding:13px 16px;margin:12px 0;font-weight:850;color:#084f8a}
.owner-login{max-width:520px;margin:55px auto}.error-box{background:#fff1f0;border:1px solid #fda29b;color:#b42318;padding:12px;border-radius:12px;margin-bottom:15px}.private-section{border:1px solid #d0d5dd;border-radius:16px;margin:16px 0;background:#f8fafc;overflow:hidden}.private-section summary{cursor:pointer;padding:16px 18px;font-weight:900;color:var(--primary);background:#eef4ff}.private-section-body{padding:18px}.qrbox a{color:var(--primary);font-weight:800}

/* Employee workflow sections - collapsible V1 */
.workflow-section{margin:14px 0;border:1px solid #d8e2ee;border-radius:12px;background:#fff;overflow:hidden}
.workflow-section>summary{cursor:pointer;list-style:none;font-weight:800;font-size:18px;padding:16px 18px;background:#f4f8fc;color:#123b63;display:flex;align-items:center;justify-content:space-between}
.workflow-section>summary::-webkit-details-marker{display:none}
.workflow-section>summary::after{content:'+';font-size:24px;line-height:1}
.workflow-section[open]>summary::after{content:'−'}
.workflow-section-body{padding:16px 18px}
.workflow-section.private-section>summary{background:#f4f8fc;color:#123b63}

.returning-customer{margin:16px 0;padding:18px;border:2px solid var(--primary);border-radius:14px;background:#f4f9ff}.returning-customer h3{margin:0 0 6px;color:var(--primary)}.saved-vehicle{display:block;width:100%;text-align:left;margin:10px 0;padding:14px;border:1px solid #b9c9d8;border-radius:10px;background:white;color:#17212b;cursor:pointer}.saved-vehicle:hover{border-color:var(--primary);background:#eef7ff}.saved-vehicle small{display:block;margin-top:4px;color:#5c6670}
.photo-upload-panel{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.photo-upload-panel img{width:130px;height:130px;object-fit:contain;background:#fff;border:1px solid #ddd;border-radius:10px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}.photo-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:7px}.photo-card img{width:100%;height:110px;object-fit:cover;border-radius:7px}.photo-card small{display:block;margin-top:5px}.hidden{display:none!important}
.history-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.history-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.history-edit-grid label{display:block}.history-edit-grid input,.history-edit-grid textarea{width:100%}.activity-item{border-left:3px solid #1f6fb2;padding:8px 10px;margin:8px 0;background:#f6f8fb}.photo-card .photo-actions{padding:5px;text-align:center}.lock-badge{display:inline-block;padding:3px 8px;border-radius:12px;background:#222;color:#fff;font-size:12px}

.checklist-summary{font-size:13px;margin-left:8px;padding:3px 8px;border-radius:999px;background:#e8eef5}.checklist-progress{height:12px;background:#e4e8ed;border-radius:999px;overflow:hidden;margin:8px 0}.checklist-progress-bar{height:100%;width:0;background:#d39b00;transition:.2s}.checklist-progress-bar.complete{background:#198754}.job-checklist{display:grid;gap:8px;margin-top:12px}.checklist-item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #dfe4ea;border-radius:9px;background:#fff}.checklist-item input{width:20px;height:20px}.checklist-item.done{background:#edf8f1;border-color:#9dd6ae;color:#176b34}.checklist-passed{margin-top:12px;padding:10px;background:#e9f8ee;color:#146c35;font-weight:800;text-align:center;border-radius:9px}

/* Active job workflow V1 */
.active-order-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.active-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:10px}.status-badge{display:inline-block;padding:6px 11px;border-radius:999px;font-size:13px;font-weight:900;white-space:nowrap}.status-badge.checked,.status-choice.checked{background:#dbeafe;color:#1d4ed8}.status-badge.progress,.status-choice.progress{background:#fef3c7;color:#92400e}.status-badge.ready,.status-choice.ready{background:#dcfce7;color:#166534}.status-badge.delivered,.status-choice.delivered{background:#e5e7eb;color:#111827}.status-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.status-choice{padding:18px;border:0;border-radius:14px;font-weight:900;cursor:pointer}.active-order{border-left:6px solid var(--primary)}@media(max-width:700px){.status-choice-grid{grid-template-columns:1fr}.active-order-head{flex-direction:column}}

/* Universal Search V1 */
.universal-search-card{position:relative}.universal-results{margin-top:12px;max-height:520px;overflow:auto;border-top:1px solid #d7e0e8;padding-top:8px}.search-result{margin-bottom:8px}.universal-results.hidden{display:none}

/* Appointment Calendar V1 */
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.appointment-tabs{display:flex;gap:8px;margin:12px 0}.appointment-tabs button{border:1px solid #cfd7df;background:#fff;border-radius:9px;padding:8px 16px;font-weight:700;cursor:pointer}.appointment-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.appointment-row{display:grid;grid-template-columns:110px minmax(170px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #dfe5eb;border-radius:12px;margin:9px 0;background:#fff}.appointment-time{font-weight:800;color:var(--primary)}.appointment-service{font-size:.92rem;color:#4d5964}.appointment-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.appointment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appointment-empty{padding:20px;text-align:center;border:1px dashed #c9d1d9;border-radius:12px;color:#66717c}.today-label{display:inline-block;background:#e8f3ff;color:var(--primary);border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:800;margin-left:7px}@media(max-width:760px){.appointment-row{grid-template-columns:1fr}.appointment-actions{justify-content:flex-start}.appointment-form-grid{grid-template-columns:1fr}}

/* Inventory Tracking V1 */
.inventory-summary{grid-template-columns:repeat(2,minmax(0,220px));margin-top:12px}.inventory-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px auto;gap:16px;align-items:center;padding:14px;border:1px solid #dfe5eb;border-radius:12px;margin:9px 0;background:#fff}.inventory-row.inventory-low{border-color:#f5b942;background:#fff9e8}.inventory-qty{text-align:center}.inventory-qty strong{display:block;font-size:1.45rem;color:var(--primary)}.inventory-qty span,.inventory-qty small{display:block;color:#667085}.low-stock-badge{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:#f79009;color:white;font-size:.75rem;font-weight:900}@media(max-width:850px){.inventory-row{grid-template-columns:1fr}.inventory-qty{text-align:left}.inventory-summary{grid-template-columns:1fr 1fr}}
/* Owner Analytics Dashboard V1 */
.owner-dashboard-grid{display:grid;grid-template-columns:1fr 2fr;gap:16px}.owner-dashboard-grid.three{grid-template-columns:repeat(3,1fr)}.owner-hero{background:linear-gradient(135deg,#111827,#1f2937);color:#fff}.owner-hero .small{color:#d1d5db}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#6b7280}.health-card strong{display:block;font-size:46px;line-height:1.1;margin:8px 0}.health-meter{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.health-meter span{display:block;height:100%;width:0;background:#16a34a;transition:width .35s ease}.metric-list{display:grid;gap:8px}.metric-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb}.metric-list>div:last-child{border-bottom:0}.metric-list b{font-size:18px}.owner-action{padding:10px 12px;border-radius:10px;margin:8px 0;border-left:5px solid #2563eb;background:#eff6ff}.owner-action.urgent{border-color:#dc2626;background:#fef2f2}.owner-action.warning{border-color:#d97706;background:#fffbeb}.owner-action.good{border-color:#16a34a;background:#f0fdf4}.payment-row{display:grid;grid-template-columns:75px 1fr 90px;gap:10px;align-items:center;margin:10px 0}.payment-track{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.payment-track span{display:block;height:100%;background:#111827}.owner-stats{grid-template-columns:repeat(6,minmax(120px,1fr))}@media(max-width:1000px){.owner-dashboard-grid,.owner-dashboard-grid.three{grid-template-columns:1fr}.owner-stats{grid-template-columns:repeat(2,1fr)}}

/* Device Manager and temporary photo QR */
.device-pairing{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:16px;margin-top:14px;border:1px solid #bfdbfe;border-radius:14px;background:#f4f9ff}.device-pairing img,.temporary-photo-qr img{width:150px;height:150px;object-fit:contain;background:#fff;border:1px solid #d0d5dd;border-radius:12px}.temporary-photo-qr strong{font-size:20px;color:#b42318}
/* Device Manager QR popup fix V2 */
.device-manager-card{padding-top:22px;padding-bottom:22px}.device-status-line{margin-top:12px;padding:12px 14px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px}.device-connected{color:#067647;font-weight:900}.device-not-connected{color:#b42318;font-weight:900}.compact-device-list{margin-top:8px}.compact-device-record{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px}.ipad-pair-modal{text-align:center;max-width:560px;margin:auto}.pairing-icon{font-size:38px}.ipad-pair-modal img{display:block;width:min(320px,82vw);height:min(320px,82vw);object-fit:contain;margin:18px auto;background:#fff;border:1px solid #d0d5dd;border-radius:18px;padding:12px;box-shadow:0 10px 30px #1018281f}.pair-countdown{font-size:18px;margin:8px 0 14px}.pair-countdown strong{font-size:26px;color:#b42318}.pairing-url-label{margin-bottom:6px}.pairing-url{display:block;overflow-wrap:anywhere;padding:10px;border-radius:10px;background:#f2f4f7;color:#101828}.actions.centered{justify-content:center;margin-top:16px}

.brand-preview{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding:18px;border:1px solid #d0d5dd;border-radius:16px;background:#fff}.brand-preview .logo{flex:0 0 auto}

/* Owner Analytics Dashboard V9 */
.analytics-deep-dive .card{min-height:150px}.analytics-big{display:block;font-size:34px;line-height:1.15;margin:10px 0}.trend-up{color:#15803d}.trend-down{color:#b91c1c}.trend-flat{color:#374151}.analytics-chart{height:270px;display:grid;grid-template-columns:repeat(12,minmax(38px,1fr));gap:10px;align-items:end;padding:18px 6px 4px;overflow-x:auto}.analytics-bar-item{height:100%;min-width:42px;display:grid;grid-template-rows:32px 1fr 38px;gap:6px;text-align:center}.analytics-bar-value{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-bar-track{height:100%;min-height:140px;background:#f3f4f6;border-radius:10px 10px 4px 4px;position:relative;overflow:hidden}.analytics-bar-track span{position:absolute;left:0;right:0;bottom:0;background:var(--primary,#111827);border-radius:8px 8px 3px 3px;min-height:0;transition:height .35s ease}.analytics-bar-label{font-size:11px;font-weight:700;line-height:1.15}.rank-list{display:grid;gap:12px}.rank-row{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center}.rank-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#111827;color:#fff;font-weight:800}.rank-main>div:first-child{display:flex;justify-content:space-between;gap:12px}.rank-track{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:6px}.rank-track span{display:block;height:100%;background:var(--primary,#111827)}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{padding:10px 8px;border-bottom:1px solid #e5e7eb;text-align:right;white-space:nowrap}.analytics-table th:first-child,.analytics-table td:first-child{text-align:left}.analytics-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}@media(max-width:800px){.analytics-chart{grid-template-columns:repeat(12,54px)}.analytics-big{font-size:30px}}

/* Owner live charge sync V13 */
.recent-jobs-list{display:grid;gap:9px}.recent-job-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.recent-job-row>div{display:grid;gap:3px}.recent-job-row span{font-size:12px;color:#64748b}.recent-job-row strong{font-size:18px;white-space:nowrap}


/* Professional owner navigation V15 */
.owner-header{gap:18px}.owner-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.owner-menu{position:relative}.owner-menu>summary{list-style:none;display:flex;align-items:center;gap:10px;min-width:170px;padding:12px 16px;border-radius:13px;background:#fff;color:var(--primary);font-weight:900;cursor:pointer;user-select:none;box-shadow:0 4px 14px #0002}.owner-menu>summary::-webkit-details-marker{display:none}.owner-menu-icon{font-size:18px;line-height:1}.owner-menu-chevron{margin-left:auto;transition:transform .2s ease}.owner-menu[open] .owner-menu-chevron{transform:rotate(180deg)}.owner-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 28px));padding:10px;background:#fff;border:1px solid #dbe3ee;border-radius:18px;box-shadow:0 18px 50px #10182835;z-index:30}.owner-menu-panel a{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:12px;color:#101828;text-decoration:none}.owner-menu-panel a:hover{background:#eef4ff;color:var(--primary)}.owner-menu-panel a span{font-weight:850}.owner-menu-panel a small{color:#667085;font-size:12px;font-weight:500}.owner-menu-heading{padding:7px 12px 5px;color:#667085;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.owner-menu-divider{height:1px;background:#e4e7ec;margin:6px 4px}.owner-lock-btn{white-space:nowrap;margin:0}@media(max-width:950px){.owner-header{flex-direction:row;align-items:center}.owner-header .brand p{display:none}.owner-header-actions{margin-left:auto}.owner-menu>summary{min-width:auto}.owner-menu>summary span:nth-child(2){display:none}.owner-menu-panel{position:fixed;right:14px;top:82px}}@media(max-width:560px){.owner-header{padding:12px 14px}.owner-header .brand h1{font-size:18px}.owner-header .logo{width:44px;height:44px;border-radius:12px;font-size:18px}.owner-lock-btn{padding:11px 12px}.owner-menu-panel{top:74px}}

/* V81 owner menu scrolling and owner page builder */
.owner-menu-panel{max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain}
@media(max-height:760px){.owner-menu-panel{position:fixed!important;top:70px!important;bottom:12px!important;max-height:none!important}}
