:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f10;--panel:#121819;--panel-2:#172021;--line:#263233;--muted:#94a3a5;--text:#eef5f2;--amber:#ffb21a;--amber-2:#ffd56f;--green:#56d08a;--danger:#ff7d64}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}select{color:var(--text)}.fleetwrap-app{background:linear-gradient(120deg, #ffb21a14, transparent 34rem), radial-gradient(circle at top right, #56d08a12, transparent 24rem), var(--bg);grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#0a0e0fe6;height:100vh;padding:24px 18px;position:sticky;top:0}.brand-block,.header-actions,.lane-panel,.summary-row{align-items:center;display:flex}.brand-block{gap:12px;margin-bottom:28px}.brand-mark{width:44px;height:44px;color:var(--amber-2);background:#1e251f;border:1px solid #ffb21a8c;place-items:center;font-weight:900;display:grid}.brand-block small,.eyebrow,.section-heading span,.readiness-box span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.76rem}.sidebar nav{gap:6px;display:grid}.nav-item{color:#c9d4d1;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;min-height:42px;padding:10px 12px}.nav-item:hover,.nav-item.active{border-color:var(--line);background:var(--panel-2);color:var(--text)}.nav-item.active{border-left:4px solid var(--amber)}.main-shell{min-width:0;padding:28px}.shell-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(2rem,4vw,4rem)}h2{letter-spacing:0;font-size:1.45rem}h3{letter-spacing:0;font-size:1rem}p{color:#b6c2c0;line-height:1.55}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.status-chip,.primary-action,.secondary-action,.disabled-action{border:1px solid var(--line);white-space:nowrap;min-height:40px;padding:9px 13px}.status-chip{color:var(--amber-2);background:#ffb21a1c;border-color:#ffb21a73;align-items:center;font-weight:700;display:inline-flex}.primary-action{background:var(--amber);color:#151100;border-color:var(--amber);cursor:pointer;font-weight:800}.secondary-action{background:var(--panel);color:var(--text);cursor:pointer}.disabled-action{color:var(--muted);cursor:not-allowed;background:#1a2021}.view-stack{gap:18px;display:grid}.hero-panel,.content-panel,.lane-panel,.quote-summary,.board-column,.setup-card{border:1px solid var(--line);background:#121819eb}.hero-panel{grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding:28px;display:grid}.hero-panel h2{max-width:780px;margin:16px 0 10px;font-size:clamp(1.7rem,3vw,3.1rem)}.readiness-box{background:#171b16;border:1px solid #ffb21a59;align-self:stretch;padding:18px}.readiness-box strong{margin:12px 0 8px;display:block}.setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.setup-card,.content-panel,.quote-summary,.board-column{padding:18px}.setup-card.amber{background:linear-gradient(#ffb21a26,#121819e6);border-color:#ffb21a99}.lane-panel{border-left:5px solid var(--amber);justify-content:space-between;gap:18px;padding:20px}.wizard-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.wizard-main{gap:18px;display:grid}.section-heading{border:1px solid var(--line);background:var(--panel);padding:18px}.job-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.job-type{text-align:left;border:1px solid var(--line);background:var(--panel);min-height:88px;color:var(--text);cursor:pointer;padding:16px}.job-type span,.job-type small{display:block}.job-type small{color:var(--muted);margin-top:8px}.job-type.selected{border-color:var(--amber);box-shadow:inset 0 0 0 1px #ffb21a73}.form-skeleton{border:1px solid var(--line);background:var(--panel);gap:12px;padding:18px;display:grid}label{color:#d9e4e1;gap:8px;display:grid}input,textarea{border:1px solid var(--line);width:100%;color:var(--muted);background:#0d1213;padding:12px}textarea{resize:vertical;min-height:110px}.disabled-note{color:var(--amber-2);margin-bottom:0}.quote-summary{position:sticky;top:24px}.summary-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:12px 0}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right;color:var(--text)}.warning-list{background:#ffb21a14;border:1px solid #ffb21a66;margin-top:18px;padding:14px}.warning-list p{color:#ffe2a1;margin:8px 0 0}.pdf-download-block{gap:8px;margin-top:14px;display:grid}.pdf-download-btn,.inline-action{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--text);cursor:pointer;padding:8px 12px;font-weight:800}.pdf-download-btn{color:#9ccfff;border-color:#5badff73;justify-content:center;align-items:center;gap:8px;display:inline-flex}.pdf-download-btn:disabled{opacity:.65;cursor:wait}.confidence-score{background:#1a1a2e80;border-radius:6px;margin:12px 0;padding:10px}.confidence-header{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.confidence-level{font-size:.82rem;font-weight:800}.confidence-bar-container{margin-bottom:8px}.confidence-bar{background:#2a2a3e;border-radius:4px;height:8px;overflow:hidden}.confidence-fill{border-radius:4px;height:100%;transition:width .3s}.confidence-reasons,.confidence-blockers{margin-top:6px;font-size:.78rem}.confidence-reasons ul,.confidence-blockers ul{color:#b0b0b0;margin:4px 0;padding-left:16px}.confidence-blockers{color:#e74c3c}.photo-upload-zone{background:#5badff14;border:2px dashed #5badff73;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px;display:grid}.photo-upload-zone input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-upload-zone label{cursor:pointer;gap:4px;display:grid}.photo-upload-zone label span{color:var(--muted)}.photo-preview{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.photo-preview figure{border:1px solid var(--line);background:#0f1516;border-radius:8px;margin:0;overflow:hidden}.photo-preview img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-preview figcaption{color:var(--muted);overflow-wrap:anywhere;padding:8px;font-size:.78rem}.ai-estimate-result{background:#56d08a1a;border:1px solid #56d08a73;border-radius:8px;justify-content:space-between;gap:14px;padding:14px;display:flex}.ai-estimate-result span{color:#9af0bd;text-transform:uppercase;font-size:.76rem;font-weight:800}.ai-estimate-result strong{color:var(--text);margin-top:5px;display:block}.ai-estimate-result p{margin:6px 0 0}.manual-fallback{max-width:240px;color:var(--amber-2);font-weight:800}.vehicle-info-form{grid-template-columns:repeat(4,minmax(0,1fr))}.chart-container{border:1px solid var(--line);background:#121819eb;padding:18px}.chart-container-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.chart-container-header span,.portal-dashboard-header span,.portal-summary span,.reorder-modal-header span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.76rem;font-weight:800}.period-selector{flex-wrap:wrap;gap:6px;display:flex}.period-selector button{border:1px solid var(--line);color:#c9d4d1;cursor:pointer;background:#0f1516;min-height:36px;padding:7px 10px}.period-selector button.active{border-color:var(--amber);color:var(--amber-2);background:#ffb21a26;font-weight:900}.charts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.chart-card{background:#0f1516;border:1px solid #94a3a538;border-radius:8px;min-height:290px;padding:14px}.chart-card h3{margin-bottom:12px}.chart-card canvas{display:block;width:100%!important;height:230px!important}.chart-skeleton{background:linear-gradient(90deg,#111718,#1b2526,#111718) 0 0/240% 100%;animation:1.1s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.dashboard-charts{margin-top:20px}.dashboard-chart{margin-bottom:16px}.dashboard-chart:last-child{margin-bottom:0}.chart-title{color:#b0b0b0;text-transform:uppercase;margin-bottom:8px;font-size:.82rem;font-weight:700}.chart-bar-row{align-items:center;gap:8px;margin:4px 0;display:flex}.chart-bar-label,.chart-label{color:#8a8a8a;min-width:120px;font-size:.76rem}.chart-bar-track{background:#2a2a3e;border-radius:4px;flex:1;height:20px;display:flex;overflow:hidden}.chart-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .3s}.chart-bar-value{text-align:right;color:#e0e0e0;min-width:60px;font-family:monospace;font-size:.78rem}.chart-stacked-bar{background:#2a2a3e;border-radius:4px;width:100%;height:24px;display:flex;overflow:hidden}.chart-stacked-segment{height:100%}.jobs-toolbar,.add-sequence-form{grid-template-columns:minmax(220px,1fr) minmax(180px,260px);gap:10px;margin:16px 0;display:grid}.jobs-search,.jobs-filter,.add-sequence-form input,.assign-unit-modal select,.settings-field input,.settings-field textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#0f1516;border-radius:8px;padding:9px 11px}.jobs-table th button{color:var(--muted);cursor:pointer;font:inherit;text-align:left;text-transform:uppercase;background:0 0;border:0;padding:0;font-weight:900}.job-row{cursor:pointer}.job-row:hover{background:#ffb21a0f}.job-detail-row{background:#0b0f10}.job-detail-panel{background:#101617;border:1px solid #94a3a547;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px;display:grid}.job-detail-panel ul{color:#c9d4d1;margin:8px 0 0;padding-left:18px}.unit-numbers-panel .primary-action{justify-self:start}.add-sequence-form{grid-template-columns:repeat(4,minmax(0,1fr))}.assign-unit-modal{z-index:55;background:#000000a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.assign-unit-modal .reorder-modal-panel{gap:14px;display:grid}.reports-view .content-panel,.report-detail,.settings-card{border:1px solid var(--line);background:#121819eb}.report-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.report-card{border:1px solid var(--line);min-height:76px;color:var(--text);cursor:pointer;text-align:left;background:#0f1516;border-radius:8px;padding:14px;font-weight:900}.report-card.active,.report-card:hover{border-color:var(--amber);color:var(--amber-2);background:#ffb21a24}.report-detail{padding:18px}.simple-bar-chart{gap:12px;display:grid}.simple-bar-chart div{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;display:grid}.simple-bar-chart span{color:var(--muted);font-weight:800}.simple-bar-chart strong{color:#06100a;white-space:nowrap;background:linear-gradient(90deg,#56d08ad1,#ffb21ad1);border-radius:8px;min-width:96px;padding:8px 10px;display:block}.settings-view{display:block}.settings-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.settings-card .section-heading,.settings-field-wide,.settings-card .error-message,.settings-card .success-message,.settings-card .primary-action{grid-column:1/-1}.settings-field{gap:6px;display:grid}.settings-field span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.settings-field textarea{resize:vertical;min-height:130px}.settings-card .primary-action{justify-self:start}.success-message{color:#9af0bd;background:#56d08a1a;border:1px solid #56d08a6b;border-radius:8px;padding:10px 12px}.board-wrap{gap:12px;display:grid}.board{scrollbar-color:var(--line) transparent;gap:14px;padding:4px 2px 14px;display:flex;overflow-x:auto}.board-column{background:#121819f5;border-top-width:4px;border-radius:8px;flex-shrink:0;min-width:260px;min-height:320px}.drag-over{background:#f5921e26!important;border-color:#f5921e!important}.board-column h3{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.board-column .lane-count{min-width:26px;min-height:24px;color:var(--amber-2);background:#ffb21a1f;border:1px solid #ffb21a73;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}.job-card,.empty-state{border:1px solid var(--line);background:#0f1516;margin-top:12px;padding:14px}.job-card{cursor:grab;border-left-width:4px;border-radius:8px;min-width:0;box-shadow:0 12px 30px #0000002e}.job-card.dragging,.dragging{opacity:.4}.job-card .job-number{color:var(--amber-2);font-weight:900}.job-card-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.job-card .customer-name{color:var(--text);margin-top:6px;font-weight:700}.job-card .vehicle-label{color:var(--muted);margin-top:4px;font-size:.86rem}.job-card .card-meta{border-top:1px solid var(--line);color:#c9d4d1;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:10px;font-size:.84rem;display:flex}.job-card .card-meta strong{color:var(--text)}.job-card .badge-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.status-dot{background:#94a3a5;border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 3px #94a3a51f}.status-incoming{border-color:#94a3a56b}.status-incoming.status-dot{background:#94a3a5}.status-proof{border-color:#ffb21a9e}.status-proof.status-dot{background:var(--amber)}.status-approved{border-color:#5badff99}.status-approved.status-dot{background:#5badff}.status-production{border-color:#a855f79e}.status-production.status-dot{background:#a855f7}.status-ready{border-color:#56d08a9e}.status-ready.status-dot{background:var(--green)}.status-progress{border-color:#f5921ea3}.status-progress.status-dot{background:#f5921e}.status-complete{border-color:#94a3a575}.status-complete.status-dot{background:#c8d3d1}.badge.installer-badge{color:#9af0bd;background:#56d08a21;border-color:#56d08a80}.badge.lane-badge.status-incoming,.badge.lane-badge.status-complete{color:#d4dfdd;background:#94a3a51a;border-color:#94a3a56b}.badge.lane-badge.status-proof{color:var(--amber-2);background:#ffb21a21;border-color:#ffb21a85}.badge.lane-badge.status-approved{color:#9ccfff;background:#5badff21;border-color:#5badff85}.badge.lane-badge.status-production{color:#d8b4fe;background:#a855f724;border-color:#a855f78c}.badge.lane-badge.status-ready{color:#9af0bd;background:#56d08a21;border-color:#56d08a85}.badge.lane-badge.status-progress{color:#ffc06c;background:#f5921e24;border-color:#f5921e8a}.empty-state strong{color:#d8e3df}.empty-state p,.job-card p{margin:8px 0 0;font-size:.9rem}.badge,.low-stock-badge{border:1px solid var(--line);color:#d9e4e1;text-transform:capitalize;white-space:nowrap;background:#182022;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.badge.approved,.badge.proof-approved{color:#9af0bd;background:#56d08a1f;border-color:#56d08a73}.badge.revision-requested,.badge.proof-revision-requested,.badge.blocker-error{color:#ffb1a2;background:#ff7d641f;border-color:#ff7d648c}.badge.drafting,.badge.proof-drafting,.badge.blocker-warning,.low-stock-badge{color:var(--amber-2);background:#ffb21a1f;border-color:#ffb21a80}.badge.reserved,.badge.material-reserved{color:#9ccfff;background:#5badff1f;border-color:#5badff80}.badge.consumed,.badge.material-consumed,.badge.proof-not-started,.badge.material-not-checked,.badge.blocker-info{color:#c8d3d1;background:#94a3a51a;border-color:#94a3a559}.materials-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.materials-stats .stat-card{border:1px solid var(--line);background:#0f1516;border-radius:8px;padding:14px}.materials-stats .stat-card span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.76rem;display:block}.materials-stats .stat-card strong{color:var(--text);margin-top:8px;font-size:1.25rem;display:block}.materials-table table{min-width:820px}.materials-table td:last-child{flex-wrap:wrap;gap:6px;display:flex}.materials-filters{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.materials-filters input,.materials-filters select{border:1px solid var(--line);min-height:40px;color:var(--text);background:#0d1213;padding:9px 12px}.materials-filters input{flex:240px}.inline-edit{color:#9ccfff;cursor:pointer;background:#5badff14;border:1px solid #5badff59;min-height:30px;padding:4px 8px;font-weight:800}.inline-edit-input{width:110px;min-height:32px;color:var(--text);padding:5px 8px}.material-row{cursor:pointer}.material-row:hover{background:#ffb21a0f}.material-detail-row{background:#0b0f10}.material-detail-panel{background:#101617;border:1px solid #94a3a547;border-radius:8px;grid-template-columns:auto minmax(0,1fr) minmax(220px,.8fr);align-items:start;gap:16px;padding:14px;display:grid}.material-detail-panel ul,.eligible-replacements ul{color:#c9d4d1;margin:8px 0 0;padding-left:18px}.low-stock-warning{color:var(--amber-2)}.bulk-import-modal,.reorder-modal{z-index:50;background:#000000a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.bulk-import-panel,.reorder-modal-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:min(760px,100%);max-height:calc(100vh - 36px);padding:18px;overflow:auto}.bulk-import-panel{gap:12px;display:grid}.bulk-import-panel textarea{min-height:240px;color:var(--text)}.warranty-card{background:#56d08a14;border:1px solid #56d08a52;border-radius:8px;gap:10px;margin-top:14px;padding:12px;display:grid}.warranty-card h3{margin-bottom:0}.warranty-card input{min-height:34px;color:var(--text);padding:7px 9px}.share-proof-link{min-height:36px;color:var(--amber-2);cursor:pointer;background:#ffb21a1f;border:1px solid #ffb21a8c;padding:7px 10px;font-weight:800}.proof-share-box{grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:8px;margin-top:8px;display:grid}.proof-share-box input{min-height:34px;color:var(--text);padding:7px 9px}.proof-link-copied{color:#9af0bd;white-space:nowrap;font-weight:800}.expiring-warranties .empty-state{margin-top:14px}.eligible-replacements{background:#0f1516;border:1px solid #94a3a53d;border-radius:8px;margin-top:16px;padding:14px}.eligible-replacements li{margin-top:6px}.eligible-replacements span,.eligible-replacements small{color:var(--muted);margin-left:8px}.decal-subtitle{margin-bottom:0}.decal-card{border:1px solid var(--line);background:#0f1516;border-radius:8px;margin-top:16px;padding:16px}.decal-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.decal-card-title{gap:10px;min-width:0;display:grid}.decal-card-title h3{color:var(--text);margin-bottom:0;font-size:1.08rem}.decal-card-title .badge-row{flex-wrap:wrap;gap:6px;display:flex}.decal-card-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.decal-card-meta span{color:#c9d4d1;background:#94a3a514;border:1px solid #94a3a538;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800}.decal-artwork{color:#b6c2c0;margin:14px 0 0;font-size:.9rem}.decal-artwork a{color:var(--amber-2);font-weight:800}.decal-item-list{gap:8px;margin-top:16px;display:grid}.decal-item{background:#121819;border:1px solid #94a3a533;border-radius:8px;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(110px,1fr));align-items:center;gap:10px;padding:12px;display:grid}.decal-item strong{color:var(--text)}.decal-item span{color:#b6c2c0;font-size:.86rem}.decal-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.decal-action-btn{border:1px solid var(--line);cursor:pointer;min-height:38px;padding:8px 12px;font-weight:800}.decal-action-btn:disabled{opacity:.65;cursor:wait}.decal-clone-btn{background:var(--panel-2);color:var(--text)}.decal-reorder-btn{color:var(--amber-2);background:#ffb21a1f;border-color:#ffb21a8c}.kit-type-badge,.kit-version-badge{color:#9ccfff;text-transform:capitalize;white-space:nowrap;background:#5badff1f;border:1px solid #5badff73;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.kit-version-badge{color:#c8d3d1;background:#94a3a51a;border-color:#94a3a559}.reorder-form{background:#ffb21a12;border:1px solid #ffb21a59;border-radius:8px;gap:10px;margin-top:14px;padding:12px;display:grid}.reorder-form textarea{min-height:86px;color:var(--text)}.reorder-form button{border:1px solid var(--amber);background:var(--amber);color:#151100;cursor:pointer;justify-self:start;min-height:38px;padding:8px 12px;font-weight:900}.success-message,.error-message{border-radius:8px;margin-top:12px;padding:10px 12px;font-weight:800}.success-message{color:#9af0bd;background:#56d08a1c;border:1px solid #56d08a73}.error-message{color:#ffb1a2;background:#ff7d641f;border:1px solid #ff7d648c}.badge.draft{color:#c8d3d1;background:#94a3a51a;border-color:#94a3a559}.rollouts-container{gap:16px}.rollouts-subtitle{margin-bottom:0}.fleet-card{background:#121819f5;border:1px solid #94a3a542;border-radius:8px;margin-top:16px;overflow:hidden}.fleet-card-header{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#0f1516;border:0;border-bottom:1px solid #94a3a538;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.fleet-card-header:hover{background:var(--panel-2)}.fleet-card-title{gap:5px;min-width:0;display:grid}.fleet-name{color:var(--text);font-size:1.08rem;font-weight:900}.fleet-customer{color:var(--muted);font-size:.86rem}.fleet-card-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fleet-count,.expand-icon{min-height:28px;color:var(--text);white-space:nowrap;background:#0a0e0fad;border:1px solid #94a3a540;border-radius:999px;align-items:center;padding:4px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.expand-icon{color:#f5921e;border-color:#f5921e73}.fleet-progress-bar-container{gap:10px;padding:16px 18px;display:grid}.fleet-progress-bar{background:#0d1213;border:1px solid #94a3a53d;border-radius:999px;width:100%;height:14px;display:flex;overflow:hidden}.progress-segment{min-width:0;height:100%}.progress-completed{background:#4caf50}.progress-in-progress{background:#f5921e}.progress-remaining{background:#56566a}.progress-label{color:var(--muted);justify-content:space-between;gap:10px;font-size:.78rem;font-weight:700;display:flex}.fleet-card-meta{grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:12px;padding:0 18px 16px;display:grid}.fleet-milestone,.fleet-deadline{background:#0f1516cc;border:1px solid #94a3a533;border-radius:8px;padding:12px}.fleet-milestone span,.fleet-deadline span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.fleet-milestone strong,.fleet-deadline strong{color:var(--text);margin-top:5px;display:block}.fleet-vehicle-list{border-top:1px solid #94a3a533;gap:10px;padding:16px 18px 18px;display:grid}.fleet-vehicle-row{background:#0f1516;border:1px solid #94a3a533;border-radius:8px;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.fleet-vehicle-main{align-items:center;gap:10px;min-width:0;display:flex}.fleet-vehicle-main div{gap:3px;min-width:0;display:grid}.fleet-vehicle-main span:not(.status-dot){color:var(--muted);overflow-wrap:anywhere;font-size:.84rem}.fleet-vehicle-badges,.fleet-vehicle-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.fleet-vehicle-actions{justify-content:flex-end}.packet-link{color:#9ccfff;border-color:#5badff7a}.fleet-vehicle-table{border-top:1px solid #8a8a8a33;padding:0 18px 18px}.fleet-vehicle-table table{min-width:760px}.fleet-vehicle-table th,.fleet-vehicle-table td{border-bottom-color:#8a8a8a38}.cell-unit{color:#f5921e;font-weight:900}.cell-total{color:#e0e0e0;font-weight:800}.stage-badge{color:#e0e0e0;text-transform:capitalize;white-space:nowrap;background:#8a8a8a1f;border:1px solid #8a8a8a4d;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.stage-completed{color:#a5e7a8;background:#4caf5024;border-color:#4caf5080}.stage-in-progress{color:#ffc06c;background:#f5921e26;border-color:#f5921e85}.stage-not-started{color:#c5c5c5;background:#8a8a8a1f;border-color:#8a8a8a4d}.stage-blocked{color:#ffaaa0;background:#e74c3c24;border-color:#e74c3c8c}.badge-done{color:#a5e7a8;background:#4caf5024;border-color:#4caf5080}.badge-install{color:#ffc06c;background:#f5921e29;border-color:#f5921e8c}.badge-prep,.badge-print,.badge-approved{color:#9ccfff;background:#5badff21;border-color:#5badff80}.badge-proofing,.badge-quoted{color:#ffc06c;background:#f5921e21;border-color:#f5921e80}.badge-draft{color:#c5c5c5;background:#8a8a8a1c;border-color:#8a8a8a47}.gantt-fleet-selector{max-width:360px;margin:16px 0}.gantt-fleet-selector select{border:1px solid var(--line);min-height:42px;color:var(--text);background:#0d1213;padding:10px 12px}.gantt-container{border:1px solid var(--line);scrollbar-color:var(--line) transparent;background:#0f1516;border-radius:8px;padding:10px;position:relative;overflow-x:auto}.gantt-row{transition:opacity .18s,filter .18s}.gantt-row:hover{filter:brightness(1.08)}.gantt-bar-done,.gantt-bar-in-progress,.gantt-bar-blocked,.gantt-bar-pending{cursor:pointer;transition:opacity .18s,transform .18s}.gantt-bar-done:hover,.gantt-bar-in-progress:hover,.gantt-bar-blocked:hover,.gantt-bar-pending:hover{opacity:.84}.gantt-bar-done{fill:#4caf50}.gantt-bar-in-progress{fill:#2196f3}.gantt-bar-blocked{fill:#f44336}.gantt-bar-pending{fill:#555}.gantt-tooltip{z-index:5;min-width:190px;color:var(--text);pointer-events:none;background:#101617;border:1px solid #ffb21a80;border-radius:8px;gap:4px;padding:10px;display:grid;position:absolute;box-shadow:0 12px 34px #00000059}.gantt-tooltip span{color:var(--muted);font-size:.82rem}.gantt-milestone line{stroke:var(--amber);stroke-width:2px;stroke-dasharray:5 5}.gantt-milestone text{fill:var(--amber-2);font-size:12px;font-weight:800}.installer-view{gap:14px;max-width:900px;display:grid}.installer-header,.installer-card{border:1px solid var(--line);background:#121819f5;border-radius:8px}.installer-header{gap:10px;padding:16px;display:grid}.installer-header span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.installer-header h2{margin-bottom:0}.installer-progress{background:#222c2d;border:1px solid #56d08a59;border-radius:999px;height:12px;overflow:hidden}.installer-progress span{background:#4caf50;height:100%;display:block}.installer-job-list{gap:12px;display:grid}.installer-card{overflow:hidden}.installer-card-toggle{width:100%;min-height:64px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.installer-card-toggle div{gap:5px;min-width:0;display:grid}.installer-card-toggle span:not(.badge){color:var(--muted);font-size:.86rem}.panel-list{border-top:1px solid var(--line);gap:10px;padding:14px;display:grid}.panel-list-summary{color:#9af0bd;font-weight:800}.panel-item{background:#0f1516;border:1px solid #94a3a538;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.panel-item div{gap:4px;display:grid}.panel-item div span{color:var(--muted);font-size:.82rem}.panel-status,.panel-upload{border:1px solid var(--line);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:9px 12px;font-weight:800;display:inline-flex}.panel-status{cursor:pointer}.panel-status-not-started{color:#c8d3d1;background:#94a3a51f}.panel-status-in-progress{color:#9ccfff;background:#2196f324;border-color:#2196f37a}.panel-status-complete{color:#9af0bd;background:#4caf5024;border-color:#4caf5080}.panel-upload{color:var(--amber-2);cursor:pointer;background:#ffb21a1f;position:relative}.panel-upload input{opacity:0;width:1px;height:1px;position:absolute}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.78rem}.muted-cell{color:var(--muted);font-size:.82rem}.reorder-modal{z-index:40;background:#050809b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.reorder-modal-panel{border:1px solid var(--line);background:#121819;border-radius:8px;width:min(560px,100%);padding:18px;box-shadow:0 24px 80px #0000006b}.reorder-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.reorder-picker{gap:12px;display:grid}.reorder-picker .primary-action{justify-self:start}.success-message a{color:#9af0bd;font-weight:900}.portal-shell{background:linear-gradient(120deg, #5badff1a, transparent 34rem), radial-gradient(circle at top right, #56d08a14, transparent 24rem), var(--bg);min-height:100vh}.portal-login{place-items:center;min-height:100vh;padding:24px;display:grid}.portal-login-card{border:1px solid var(--line);background:#121819f5;border-radius:8px;gap:14px;width:min(440px,100%);padding:22px;display:grid}.portal-dashboard{gap:18px;width:min(1180px,100% - 36px);margin:0 auto;padding:28px 0;display:grid}.portal-dashboard-header,.portal-summary,.portal-vehicle-table{border:1px solid var(--line);background:#121819f0;padding:18px}.portal-dashboard-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.portal-dashboard-header h1{font-size:clamp(2rem,4vw,3.4rem)}.portal-summary{gap:12px;display:grid}.portal-summary strong{margin-top:5px;font-size:1.35rem;display:block}@media (width<=980px){.fleetwrap-app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-header,.lane-panel{display:grid}.header-actions{justify-content:flex-start}.hero-panel,.wizard-layout,.setup-grid,.charts-grid,.vehicle-info-form,.job-detail-panel,.report-card-grid,.settings-card{grid-template-columns:1fr}.chart-container-header,.portal-dashboard-header,.reorder-modal-header{display:grid}.board{padding-bottom:0;display:grid;overflow-x:visible}.board-column{width:100%;min-width:0;min-height:0;overflow-x:auto}.board-column .job-card,.board-column .empty-state{min-width:260px}.materials-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-card-header,.progress-label{display:grid}.fleet-card-summary{justify-content:flex-start}.fleet-card-meta{grid-template-columns:1fr}.fleet-vehicle-row{grid-template-columns:1fr;align-items:start}.fleet-vehicle-actions{justify-content:flex-start}.decal-card-header{display:grid}.decal-item{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-summary{position:static}.photo-upload-zone,.ai-estimate-result,.panel-item{grid-template-columns:1fr;display:grid}}@media (width<=640px){.main-shell{padding:18px}.sidebar nav,.job-type-grid,.materials-stats,.decal-item,.installer-card-toggle,.jobs-toolbar,.add-sequence-form,.simple-bar-chart div{grid-template-columns:1fr}.installer-card-toggle{align-items:flex-start;display:grid}table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border:1px solid var(--line);background:#0f1516;margin-bottom:12px;padding:10px}td{border:0;padding:8px 6px}td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.75rem;display:block}}
