/* Frontline tire and maintenance operational CRM v2 */
.ops2{color:var(--text-primary);font-size:13px;padding:12px 16px 24px;min-width:0;max-width:100%}
.ops2 *{box-sizing:border-box}
.ops2 button,.ops2 select,.ops2 input,.ops2 textarea{font:inherit}
.ops2 button{cursor:pointer}
.ops2 button:disabled{opacity:.45;cursor:not-allowed}
.ops2 a{color:var(--info)}
.ops2 input,.ops2 select,.ops2 textarea{color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:5px;padding:7px 9px;outline:none;max-width:100%}
.ops2 input:focus,.ops2 select:focus,.ops2 textarea:focus{border-color:var(--info)}
.ops2 input::placeholder,.ops2 textarea::placeholder{color:var(--text-tertiary)}
.ops2-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.ops2-eyebrow{color:var(--info);font-size:10px;letter-spacing:.75px;font-weight:800}
.ops2-header h1{font-size:21px;line-height:1.2;font-weight:750;margin:4px 0 5px;color:var(--text-primary)}
.ops2-header p{font-size:12px;color:var(--text-secondary);margin:0}
.ops2-top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ops2-top-actions button,.ops2-toolbar button,.ops2-pagination button,.ops2-drawer-head button,.ops2-modal-actions button{border:1px solid var(--border-strong);border-radius:5px;background:var(--bg-raised);color:var(--text-primary);font-weight:650;padding:8px 12px;line-height:1.2;white-space:nowrap}
.ops2 button.ops2-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.ops2 button.ops2-primary:hover{background:var(--accent-hover)}
.ops2-online{display:inline-flex;align-items:center;font-size:11px;color:var(--text-secondary);gap:7px;white-space:nowrap;margin-right:5px}
.ops2-online:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--success);flex-shrink:0}
.ops2-tabs{display:flex;align-items:center;gap:2px;white-space:nowrap;overflow-x:auto;border-bottom:1px solid var(--border-strong);margin-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}
.ops2-tabs button{padding:10px 12px 11px;border:0;border-bottom:2px solid transparent;background:none;font-size:12px;font-weight:700;color:var(--text-secondary)}
.ops2-tabs button.active{color:var(--info);border-bottom-color:var(--info);background:var(--accent-soft)}
.ops2-tabs button:hover:not(.active){color:var(--text-primary);background:var(--bg-raised)}
.ops2-main{min-width:0}
.ops2-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:12px}
.ops2-stat{position:relative;border:1px solid var(--border);border-left:3px solid var(--info);border-radius:6px;background:var(--bg-surface);padding:12px 12px 11px;min-height:105px;display:flex;flex-direction:column;text-align:left;align-items:flex-start;color:var(--text-primary)}
.ops2-stat.good{border-left-color:var(--success)}.ops2-stat.bad{border-left-color:var(--danger)}.ops2-stat.warn{border-left-color:var(--warning)}
.ops2-stat:hover{border-color:var(--info)}
.ops2-stat span{font-size:12px;font-weight:700;color:var(--text-secondary)}
.ops2-stat strong{font-size:26px;margin:8px 0 4px;line-height:1;font-weight:750;color:var(--text-primary)}
.ops2-stat small{font-size:11px;color:var(--text-tertiary);line-height:1.35}
.ops2-stat i{position:absolute;right:10px;top:10px;font-size:10px;font-style:normal;color:var(--info)}
.ops2-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:12px;align-items:start}
.ops2-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;min-width:0;overflow:hidden}
.ops2-panel>header{padding:11px 14px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:12px}
.ops2-panel>header h2{font-size:15px;font-weight:750;line-height:1.3;color:var(--text-primary);margin:0}
.ops2-panel>header small{font-size:11px;color:var(--text-tertiary);display:block;margin:4px 0 0}
.ops2-mini-head,.ops2-mini-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(105px,1.1fr) minmax(110px,1fr) minmax(110px,1fr);gap:9px;align-items:center}
.ops2-mini-head{background:var(--bg-raised);padding:10px 12px;color:var(--text-tertiary);font-size:10px;font-weight:750;text-transform:uppercase}
.ops2-mini-row{background:transparent;border:0;border-bottom:1px solid var(--border-subtle);width:100%;text-align:left;color:var(--text-primary);padding:10px 12px;font-size:12px}
.ops2-mini-row b{color:var(--text-primary)}.ops2-mini-row>span{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops2-mini-row:hover,.ops2-overview-actions button:hover{background:var(--bg-raised)}
.ops2-mini-row.maintenance-mini{grid-template-columns:minmax(80px,1fr) minmax(80px,1fr) minmax(95px,1fr) minmax(95px,1fr)}
.ops2-overview-actions button{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border-subtle);padding:11px 13px;background:none;color:var(--text-primary)}
.ops2-overview-actions button b{font-size:12px;flex:0 0 42%}.ops2-overview-actions button span{font-size:11px;color:var(--text-secondary);text-align:right;line-height:1.3}
.ops2-footnote{font-size:11px;color:var(--text-secondary);line-height:1.5}
.ops2-tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:4px;font-size:11px;font-weight:750;white-space:nowrap;background:var(--neutral-soft);color:var(--neutral-text);line-height:1.2}
.ops2-tag.good{color:var(--success-text);background:var(--success-soft)}
.ops2-tag.warn{color:var(--warning-text);background:var(--warning-soft)}
.ops2-tag.bad{color:var(--danger-text);background:var(--danger-soft)}
.ops2-tag.muted{color:var(--text-tertiary);background:var(--bg-raised)}
.ops2-dash,.ops2-secondary{color:var(--text-tertiary)}
.ops2-danger{color:var(--danger-text)}
.ops2-loading,.ops2-error,.ops2-empty{padding:30px 14px;color:var(--text-secondary);font-size:12px;text-align:center}
.ops2-error{background:var(--danger-soft);color:var(--danger-text);border:1px solid var(--danger)}
.ops2-tread-toolbar{display:flex;align-items:center;gap:16px;margin:5px 0 11px;font-size:12px;color:var(--text-secondary)}
.ops2-tread-toolbar .good{color:var(--success-text)}.ops2-tread-toolbar .warn{color:var(--warning-text)}.ops2-tread-toolbar .bad{color:var(--danger-text)}
.ops2-table-panel{margin:0}
.ops2-toolbar{padding:10px 13px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ops2-toolbar label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--text-secondary)}
.ops2-toolbar input,.ops2-toolbar select{height:33px;font-size:12px}
.ops2-toolbar .ops2-search input{min-width:300px;width:min(380px,40vw)}
.ops2-counter{margin-left:auto;font-size:11px;color:var(--text-tertiary);white-space:nowrap}
.ops2-scroll{max-height:calc(100vh - 345px);min-height:180px;max-width:100%;overflow:auto;scrollbar-width:thin}
.ops2-table{border-collapse:separate;border-spacing:0;width:100%;min-width:820px;font-size:12px;text-align:left}
.ops2-table th{position:sticky;top:0;z-index:3;background:var(--bg-raised);color:var(--text-secondary);border-bottom:1px solid var(--border-strong);text-transform:uppercase;font-weight:750;font-size:10px;white-space:nowrap;padding:0}
.ops2-table th:not(:has(button)){padding:11px 10px}
.ops2-table th button{display:block;width:100%;border:0;background:none;color:inherit;text-align:left;font-weight:750;padding:11px 10px;font-size:10px;text-transform:uppercase}
.ops2-table th button:hover{color:var(--info)}
.ops2-table td{padding:10px;border-bottom:1px solid var(--border-subtle);font-size:12px;color:var(--text-primary);vertical-align:middle;max-width:300px;line-height:1.35}
.ops2-table td:first-child{padding-left:14px}
.ops2-table td>span:not(.ops2-tag){display:block;max-width:270px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ops2-table tbody tr{cursor:pointer}
.ops2-table tbody tr:hover{background:var(--bg-raised)}
.ops2-table .ops2-unit{font-weight:800;white-space:nowrap}
.ops2-row-action{border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--info);padding:6px 9px;border-radius:4px;font-weight:750;font-size:11px;white-space:nowrap}
.ops2-row-action:hover{border-color:var(--info)}
.ops2-edited{background:var(--info-soft);color:var(--info-text);padding:3px 6px;border-radius:4px;font-size:10px;font-weight:750}
.ops2-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;border-top:1px solid var(--border-subtle);font-size:11px;color:var(--text-secondary)}
.ops2-pagination>div{display:flex;align-items:center;gap:9px}.ops2-pagination button{padding:7px 10px}
.ops2-digital-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:14px}
.ops2-digital-cards button{border:1px solid var(--border);border-radius:6px;background:var(--bg-raised);padding:12px;text-align:left;color:var(--text-primary);display:flex;flex-direction:column;gap:5px}
.ops2-digital-cards b{font-size:16px}.ops2-digital-cards span,.ops2-digital-cards small{color:var(--text-secondary);font-size:11px}.ops2-digital-cards i{font-style:normal;color:var(--info);margin-top:5px;font-size:11px}
.ops2-legacy-work>.fleet-page{padding:0}

.ops2-backdrop{position:fixed;inset:0;z-index:32000;background:rgba(5,9,14,.67);display:flex;justify-content:flex-end}
.ops2-drawer{height:100vh;max-height:100vh;background:var(--bg-surface);border-left:1px solid var(--border-strong);width:min(670px,96vw);display:flex;flex-direction:column;overflow:hidden;color:var(--text-primary);box-shadow:-10px 0 24px rgba(0,0,0,.22)}
.ops2-tread-drawer{width:min(910px,97vw)}
.ops2-drawer-head{padding:15px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:none}
.ops2-drawer-head h2{font-size:21px;font-weight:780;margin:5px 0 6px;line-height:1.2}
.ops2-drawer-head p{color:var(--text-secondary);font-size:12px;margin:0}
.ops2-drawer-head p strong{color:var(--text-primary)}
.ops2-drawer-head>button{width:34px;height:34px;padding:0;font-size:21px}
.ops2-drawer-body{padding:14px 16px 22px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}
.ops2-inspection-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.ops2-inspection-banner>div{background:var(--bg-raised);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:5px;padding:11px;min-width:0;display:flex;flex-direction:column;gap:5px}
.ops2-inspection-banner span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--text-secondary)}
.ops2-inspection-banner strong{font-size:14px;color:var(--text-primary)}
.ops2-inspection-banner small{font-size:11px;line-height:1.3;color:var(--text-tertiary)}
.ops2-tread-guide{border:1px solid var(--border);background:var(--bg-inset);padding:9px 11px;border-radius:5px;margin:0 0 12px}
.ops2-tread-guide b{font-size:11px;color:var(--info)}.ops2-tread-guide p{font-size:11px;line-height:1.55;color:var(--text-secondary);margin:4px 0 0}
.ops2-check-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}
.ops2-check-head h3{font-size:15px;font-weight:750;margin:0;color:var(--text-primary)}
.ops2-check-head label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}
.ops2-check-head input{max-width:160px;font-size:12px}
.ops2-axle{padding:11px 11px 13px;border-radius:6px;border:1px solid var(--border);background:var(--bg-inset);margin:0 0 11px}
.ops2-axle h4{font-weight:800;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.4px;margin:1px 0 9px}
.ops2-wheels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ops2-axle:first-of-type .ops2-wheels:has(>div:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.ops2-wheel{border-radius:5px;border:1px solid var(--border-strong);border-top:3px solid var(--border-strong);background:var(--bg-surface);padding:10px;min-width:0}
.ops2-wheel.good{border-top-color:var(--success)}
.ops2-wheel.warn{border-top-color:var(--warning)}
.ops2-wheel.bad{border-top-color:var(--danger)}
.ops2-wheel-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}
.ops2-wheel-heading b{font-size:14px;font-weight:800;color:var(--text-primary)}
.ops2-wheel-old{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:9px}
.ops2-wheel-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ops2-wheel-inputs label,.ops2-wheel-note{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:750;color:var(--text-secondary)}
.ops2-wheel-inputs label:first-child{grid-column:1/-1}
.ops2-wheel-inputs input,.ops2-wheel-inputs select,.ops2-wheel-note input{height:33px;min-width:0;width:100%;padding:6px 8px;background:var(--bg-inset);font-size:12px}
.ops2-wheel-note{display:flex;flex-direction:column;margin-top:9px}
.ops2-report-notes{display:flex;flex-direction:column;gap:7px;margin:10px 0;font-size:11px;font-weight:750;color:var(--text-secondary)}
.ops2-report-notes textarea{min-height:70px;resize:vertical}
.ops2-savebar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin:12px 0;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 -2px 8px rgba(0,0,0,.06)}
.ops2-savebar span{color:var(--text-secondary);font-size:11px;line-height:1.3}
.ops2-savebar button{font-size:12px;border-radius:5px;padding:10px 15px;border:0;white-space:nowrap}
.ops2-history{margin-top:18px}.ops2-history h3,.ops2-source-notes h3{font-size:14px;margin:0 0 10px;font-weight:750}
.ops2-history article{border:1px solid var(--border);border-radius:5px;margin-bottom:7px;padding:9px 11px;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--text-secondary)}
.ops2-history article>div{display:flex;gap:8px;align-items:center}
.ops2-history article b{font-weight:750;color:var(--text-primary)}
.ops2-history article p{width:100%;color:var(--text-secondary);line-height:1.45;margin:0}
.ops2-source-notes{margin-top:14px;border:1px solid var(--border);border-radius:5px;background:var(--bg-raised);padding:11px}
.ops2-source-notes p{font-size:12px;line-height:1.5;white-space:pre-wrap;color:var(--text-secondary);margin:0}
.ops2-edit-drawer form{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}
.ops2-form-body{padding:15px 17px;flex:1;overflow-y:auto}
.ops2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ops2-input{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px;color:var(--text-secondary);font-weight:700}
.ops2-input.wide{grid-column:1/-1}
.ops2-input span{line-height:1.3}
.ops2-input input,.ops2-input select,.ops2-input textarea{width:100%;font-size:12px;font-weight:550;padding:9px;border-radius:5px;line-height:1.4}
.ops2-input textarea{min-height:64px;resize:vertical}
.ops2-related{display:flex;align-items:center;justify-content:space-between;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:15px}
.ops2-related>div{display:flex;flex-direction:column;gap:4px}
.ops2-related span{font-size:10px;color:var(--text-tertiary);text-transform:uppercase}
.ops2-related strong{color:var(--text-primary);font-size:14px}
.ops2-related button{color:var(--info);font-size:11px;background:none;border:0;font-weight:700}
.ops2-extra-fields{margin-top:15px;border:1px solid var(--border);border-radius:5px;padding:10px 12px}
.ops2-extra-fields summary{cursor:pointer;color:var(--info);font-weight:750;font-size:12px}
.ops2-extra-fields .ops2-form-grid{padding:14px 0 5px}
.ops2-modal-actions{border-top:1px solid var(--border);padding:12px 15px;display:flex;align-items:center;justify-content:flex-end;gap:9px;background:var(--bg-surface);flex:none}
.ops2-modal-actions span{font-size:11px;color:var(--text-secondary);margin-right:auto;line-height:1.5}
.ops2-edit-log{border-top:1px solid var(--border);margin-top:15px;padding-top:12px}
.ops2-edit-log h3{font-size:13px;margin:0 0 9px}
.ops2-edit-log>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border-subtle);padding:8px 0;font-size:11px;color:var(--text-secondary)}
.ops2-edit-log small{color:var(--text-tertiary)}
@media(max-width:1400px){.ops2-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.ops2-grid{grid-template-columns:1fr}.ops2-top-actions{flex-wrap:wrap}.ops2-online{display:none}.ops2-wheels{grid-template-columns:repeat(2,minmax(0,1fr))}.ops2-mini-head,.ops2-mini-row{grid-template-columns:minmax(80px,1fr) minmax(90px,1fr) minmax(90px,1fr) minmax(100px,1fr)}}
@media(max-width:700px){.ops2{padding:9px}.ops2-header{align-items:flex-start;flex-direction:column}.ops2-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ops2-legend{display:none}.ops2-toolbar .ops2-search input{min-width:150px;max-width:55vw}.ops2-inspection-banner{grid-template-columns:1fr 1fr}.ops2-drawer{width:100vw}.ops2-tread-drawer{width:100vw}.ops2-drawer-body{padding:10px}.ops2-wheels{grid-template-columns:1fr 1fr}.ops2-mini-head,.ops2-mini-row{grid-template-columns:1fr 1fr}.ops2-mini-head span:nth-child(3),.ops2-mini-row>span:nth-child(3){display:none}.ops2-form-grid{grid-template-columns:1fr}.ops2-input.wide{grid-column:auto}}
@media(max-width:480px){.ops2-wheels{grid-template-columns:1fr}.ops2-inspection-banner{grid-template-columns:1fr}.ops2-mini-head,.ops2-mini-row{grid-template-columns:1fr 1fr}.ops2-drawer-head{padding:11px}.ops2-stat strong{font-size:22px}}

.ops2-history-entry>details{width:100%;font-size:11px;color:var(--text-secondary)}
.ops2-history-entry>details>summary{cursor:pointer;color:var(--info);font-weight:700;padding:7px 0 2px}
.ops2-history-wheels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:9px}
.ops2-history-wheels>div{display:flex;align-items:center;gap:7px;min-width:0;padding:6px 8px;border:1px solid var(--border);background:var(--bg-inset);border-radius:4px;flex-wrap:wrap}
.ops2-history-wheels b{font-size:11px;min-width:29px}
.ops2-history-wheels span:not(.ops2-tag){font-size:10px;color:var(--text-secondary)}
.ops2-history-wheels small{width:100%;color:var(--text-tertiary);font-size:10px}
.ops2-tire-followup{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger-text);padding:10px 12px;border-radius:5px;margin:12px 0;display:flex;gap:10px;justify-content:space-between;align-items:center}.ops2-tire-followup strong{font-size:12px}.ops2-tire-followup button{background:var(--bg-surface);border:1px solid var(--danger);color:var(--danger-text);border-radius:5px;padding:8px 10px;font-size:11px;font-weight:750}