.ops-hidden{display:none!important}
.login-separator{position:relative;text-align:center;margin:18px 0 13px;color:#8792a1;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.1em}
.login-separator::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e0e4e9}
.login-separator span{position:relative;background:#fff;padding:0 11px}
.driver-login-link{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;width:100%;border:1px solid #d6a24a;border-radius:10px;padding:11px 12px;background:#fff7e8;color:#714b09;text-align:center;text-decoration:none;transition:.15s ease}
.driver-login-link:hover{background:#f7e3bd;border-color:#c88719;transform:translateY(-1px)}
.driver-login-link b{font-size:14px}.driver-login-link small{font-size:11px;color:#846a3d}
.ops-nav-new{position:relative}
.ops-nav-new::after{content:"";position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:#de8a00}
.ops-summary{margin-top:20px;overflow:hidden}
.ops-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}
.ops-summary-card{border:1px solid #e3e5e8;border-radius:14px;padding:16px;background:linear-gradient(145deg,#fff,#f7f8f9);display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start}
.ops-summary-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff3dd;color:#8b5906;font-size:20px}
.ops-summary-card b{display:block;color:#142338;font-size:22px;line-height:1.1}
.ops-summary-card small{display:block;color:#718096;margin-top:5px;line-height:1.35}
.ops-summary-card.warning{border-color:#efc77a;background:#fffaf0}
.ops-summary-card.danger{border-color:#ebaca7;background:#fff7f6}
.ops-inline-button{white-space:nowrap}
.ops-master-search{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}
.ops-master-search>div{position:relative;display:flex;align-items:center;flex:1;max-width:720px}
.ops-master-search>div>span{position:absolute;left:14px;color:#8a94a2;font-size:20px;pointer-events:none}
.ops-master-search input{width:100%;border:1px solid #cfd6df;border-radius:12px;background:#fff;padding:12px 44px 12px 43px;color:#17263b;box-shadow:0 6px 18px rgba(20,35,56,.04)}
.ops-master-search input:focus{outline:3px solid rgba(214,138,8,.17);border-color:#d68a08}
.ops-master-search button{position:absolute;right:7px;background:transparent;color:#667385;font-size:20px;padding:4px 9px}
.ops-master-search small{color:#6d7889;font-weight:750;white-space:nowrap}
#opsVehicleNoResults small{display:block;margin-top:5px}
.job .actions{gap:5px;flex-wrap:nowrap}
.job .actions .ops-performance-button{width:auto;min-width:36px;padding:6px 9px;background:#f4e1bd;color:#714808;border-color:#e9c57c;font-weight:800}
.master-actions .ops-primary-action{background:#f4e1bd;color:#714808;border-color:#e9c57c}
.master-actions .ops-pin-action{background:#16243a;color:#fff;border-color:#16243a}

.ops-page-head{align-items:flex-start}
.ops-page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ops-week-range{color:#637083;font-weight:700}
.ops-week-wheel-hint{margin:-8px 0 12px;color:#7b756b;font-size:11px}
.ops-week-number{display:inline-block;padding:8px 10px;background:#fff0d4;color:#8a5700;border-radius:6px;font-size:14px;font-weight:800;white-space:nowrap}
.ops-week-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ops-week-day{background:#fff;border:1px solid #dfe3e8;border-top:4px solid #d68a08;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 8px 24px rgba(20,35,56,.05)}
.ops-week-day.saturday{background:#fff9ee;border-top-color:#9d6d20}
.ops-week-day.today{box-shadow:0 0 0 3px rgba(214,138,8,.18),0 8px 24px rgba(20,35,56,.08)}
.ops-week-day-head{padding:15px 16px 12px;border-bottom:1px solid #eceef1;display:flex;justify-content:space-between;align-items:start}
.ops-week-day-head b{font-size:17px;color:#15243a}
.ops-week-day-head small{display:block;margin-top:3px;color:#798494}
.ops-week-day-head span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:10px;background:#f6e3bf;color:#774b06;font-weight:900}
.ops-week-jobs{padding:9px;display:grid;gap:8px}
.ops-week-job{width:100%;border:1px solid #e4e6ea;border-radius:11px;padding:10px 11px;background:#fff;text-align:left;color:#17263b;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:start}
.ops-week-job:hover{border-color:#d68a08;box-shadow:0 5px 14px rgba(20,35,56,.08)}
.ops-week-job .position{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#18273b;color:#fff;font-weight:900}
.ops-week-job b,.ops-week-job small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops-week-job small{margin-top:3px;color:#758194;font-size:11px}
.ops-week-job em{font-size:10px;font-style:normal;text-transform:uppercase;font-weight:900;color:#6e7785;background:#eef0f3;padding:5px 6px;border-radius:7px}
.ops-week-absence{margin:0 9px 9px;padding:8px 10px;border-left:3px solid #bd6258;background:#fff4f2;border-radius:7px;color:#70423d;font-size:12px}
.ops-week-empty{padding:22px 12px;text-align:center;color:#8b94a1;font-size:12px}

#executionView{max-width:1500px;margin:0 auto}
.ops-back{margin-bottom:14px}
.ops-waiting-panel{border-top:3px solid #d2a150}.ops-waiting-panel>.ops-panel-head>strong{white-space:nowrap;color:#926411;font-size:17px}.ops-waiting-list{display:grid;gap:12px}.ops-waiting-period{border:1px solid #e6dccb;border-radius:8px;padding:15px;background:#fffcf5}.ops-waiting-period>div{display:flex;justify-content:space-between;gap:15px}.ops-waiting-period strong{color:#926411}.ops-waiting-period dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.ops-waiting-period dl>div:last-child{grid-column:1/-1}.ops-waiting-period dt{font-size:11px;color:#877862}.ops-waiting-period dd{margin:3px 0 0;font-size:13px}.ops-waiting-period>small{font-size:11px;color:#827463;line-height:1.6}.ops-waiting-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.ops-waiting-info{font-size:12px;color:#83745f;line-height:1.6}@media(max-width:520px){.ops-waiting-period dl{grid-template-columns:1fr}.ops-waiting-panel>.ops-panel-head{flex-wrap:wrap}}
.ops-pin-show{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px}.ops-pin-show input{width:18px;height:18px;accent-color:#cf7f07}.ops-pin-hint{font-size:12px;color:var(--muted);line-height:1.6}.ops-pin-warning{padding:12px 14px;border-left:3px solid #cf7f07;border-radius:4px;background:#fff4df;font-size:13px}#opsPinForm button:disabled{opacity:.5;cursor:not-allowed}
.ops-hero{border-radius:18px;background:linear-gradient(120deg,#15243a,#253952);color:#fff;padding:25px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;box-shadow:0 14px 35px rgba(20,35,56,.18)}
.ops-hero .eyebrow{color:#e7ad45}
.ops-hero h1{margin:4px 0 5px;color:#fff}
.ops-hero p{margin:0;color:#d1d8e2}
.ops-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ops-hero-meta span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:9px;padding:7px 9px;font-size:12px}
.ops-hero-actions{display:flex;gap:8px;align-items:start;flex-wrap:wrap;justify-content:end}
.ops-hero-actions a,.ops-hero-actions button{background:#fff;color:#18273b;border-color:#fff;text-decoration:none}
.ops-status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#f1e0bd;color:#714b09;font-size:11px;font-weight:900;text-transform:uppercase;padding:6px 10px}
.ops-status-pill.ready{background:#dcefe0;color:#25613a}
.ops-status-pill.blocked{background:#f8deda;color:#8a3129}
.ops-execution-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:16px;margin-top:16px}
.ops-execution-main,.ops-execution-side{display:grid;gap:16px;align-content:start}
.ops-panel{background:#fff;border:1px solid #dfe3e8;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px rgba(20,35,56,.045)}
.ops-panel-head{padding:17px 19px;border-bottom:1px solid #eceef1;display:flex;justify-content:space-between;gap:12px;align-items:center}
.ops-panel-head h2{margin:0;color:#18273b;font-size:18px}
.ops-panel-head p{margin:4px 0 0;color:#778294;font-size:12px}
.ops-panel-body{padding:17px 19px}
.ops-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ops-kpi{background:#f6f7f9;border-radius:11px;padding:12px}
.ops-kpi span{display:block;color:#7c8797;font-size:11px;text-transform:uppercase;font-weight:800}
.ops-kpi b{display:block;color:#18273b;font-size:20px;margin-top:4px}
.ops-kpi.positive{background:#eef7f0}.ops-kpi.negative{background:#fff0ee}
.ops-readiness{display:grid;gap:8px}
.ops-readiness-item{display:flex;gap:8px;align-items:flex-start;padding:10px 11px;background:#fff5f3;color:#813c34;border-radius:9px;font-size:12px}
.ops-readiness-item.warning{background:#fff7e8;color:#795207}
.ops-readiness-ok{padding:13px;background:#edf8ef;color:#28623a;border-radius:10px;font-weight:800}
.ops-settings-grid,.ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ops-settings-grid label,.ops-form-grid label{display:grid;gap:6px;color:#283548;font-size:12px;font-weight:750}
.ops-settings-grid label.full,.ops-form-grid label.full{grid-column:1/-1}
.ops-settings-grid input,.ops-settings-grid select,.ops-settings-grid textarea,.ops-form-grid input,.ops-form-grid select,.ops-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #cfd5dd;border-radius:9px;padding:10px 11px;background:#fff;color:#17263b;font:inherit}
.ops-settings-grid textarea,.ops-form-grid textarea{min-height:80px;resize:vertical}
.ops-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:3px}
.ops-trip-list{display:grid;gap:10px}
.ops-trip{border:1px solid #dfe3e8;border-radius:12px;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:start}
.ops-trip-number{width:36px;height:36px;border-radius:10px;background:#17263b;color:#fff;display:grid;place-items:center;font-weight:900}
.ops-trip h3{margin:0;color:#17263b;font-size:15px}
.ops-trip p{margin:5px 0 0;color:#6f7b8d;font-size:12px}
.ops-trip-facts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ops-trip-facts span{background:#f2f4f6;border-radius:7px;padding:5px 7px;color:#566275;font-size:11px}
.ops-trip-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:end;max-width:235px}
.ops-trip-actions button{padding:6px 8px;font-size:11px}
.ops-trip-actions .current{background:#dceee1;color:#265d38;border-color:#b7dac1}
.ops-document{display:flex;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #eceef1;color:#1f3046;text-decoration:none}
.ops-document:last-child{border-bottom:0}
.ops-document>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f5e5c7;color:#74500f;font-size:17px}
.ops-document b,.ops-document small{display:block}.ops-document small{color:#778294;margin-top:3px}
.ops-events{display:grid;gap:10px;max-height:350px;overflow:auto}
.ops-event{position:relative;padding-left:20px;color:#4d5b6d;font-size:12px}
.ops-event::before{content:"";position:absolute;left:3px;top:4px;width:8px;height:8px;border-radius:50%;background:#d68a08;box-shadow:0 0 0 4px #faeed7}
.ops-event b{display:block;color:#1e2e43}.ops-event small{display:block;margin-top:3px;color:#8a93a0}
.ops-complete{width:100%;padding:13px;font-weight:900;background:#20824a;border-color:#20824a;color:#fff}
.ops-complete:disabled{background:#a9b0b8;border-color:#a9b0b8;cursor:not-allowed}

.ops-ledger-dialog{width:min(1180px,calc(100vw - 32px));max-width:none}
.ops-large-dialog{width:min(820px,calc(100vw - 32px));max-width:none}
.ops-dialog-body{padding:18px 22px;max-height:72vh;overflow:auto}
.ops-dialog-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5f6f8;border-radius:11px;padding:12px 14px;margin-bottom:14px}
.ops-dialog-intro b{color:#1a2a3f}.ops-dialog-intro small{display:block;color:#748093;margin-top:3px}
.ops-ledger-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}
.ops-ledger-summary div{background:#f5f6f8;border-radius:10px;padding:11px}
.ops-ledger-summary span{display:block;color:#7a8595;font-size:10px;text-transform:uppercase;font-weight:800}
.ops-ledger-summary b{display:block;margin-top:4px;color:#1c2c41;font-size:18px}
.ops-ledger-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ops-entry-form{border:1px solid #dfe3e8;border-radius:12px;padding:14px}
.ops-entry-form h3{margin:0 0 12px;color:#1b2b40}
.ops-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:14px}
.ops-table th{text-align:left;color:#707c8e;background:#f5f6f8;padding:9px;border-bottom:1px solid #dfe3e8}
.ops-table td{padding:9px;border-bottom:1px solid #eceef1;color:#344257;vertical-align:top}
.ops-table td small{display:block;color:#818a97;margin-top:2px}
.ops-close-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#edf8ef;color:#28613a;border-radius:10px;padding:12px 14px;margin-bottom:13px}
.ops-close-banner.open{background:#fff8e9;color:#79500a}
.ops-pin-box{text-align:center;padding:22px;background:#16243a;color:#fff;border-radius:13px}
.ops-pin-box span{display:block;color:#c8d0db}.ops-pin-box strong{display:block;font-size:42px;letter-spacing:9px;margin:12px 0;color:#f1b64d}.ops-pin-box small{color:#c8d0db}
.ops-upload-progress{color:#77510c;background:#fff6e6;border-radius:8px;padding:9px 11px;margin-top:10px}

.ops-profit-panel{margin-top:16px}
.ops-profit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px}
.ops-profit-summary div{background:#f5f6f8;border-radius:11px;padding:13px}
.ops-profit-summary span{display:block;font-size:11px;color:#7c8796;font-weight:800;text-transform:uppercase}
.ops-profit-summary b{display:block;font-size:21px;color:#18283d;margin-top:5px}
.ops-profit-summary .positive{background:#edf8ef}.ops-profit-summary .negative{background:#fff0ee}
.ops-billing-readiness{display:block;margin-top:5px;font-size:11px;font-weight:800}
.ops-billing-readiness.ready{color:#267141}.ops-billing-readiness.blocked{color:#a2453c}
#billingList .billing-row>span:last-child{display:grid;gap:6px;align-content:center}
#billingList .billing-row>span:last-child button{width:100%}

@media(min-width:1051px){.job-head,.job{grid-template-columns:38px 84px 128px 92px 88px minmax(145px,1fr) 76px 160px}}

@media(max-width:1100px){.ops-week-board{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-execution-layout{grid-template-columns:1fr}.ops-summary-grid{grid-template-columns:1fr 1fr}.ops-ledger-columns{grid-template-columns:1fr}}
@media(max-width:720px){.ops-summary-grid,.ops-week-board,.ops-kpis,.ops-ledger-summary,.ops-profit-summary{grid-template-columns:1fr}.ops-hero{grid-template-columns:1fr;padding:20px}.ops-hero-actions{justify-content:start}.ops-settings-grid,.ops-form-grid{grid-template-columns:1fr}.ops-settings-grid label.full,.ops-form-grid label.full,.ops-form-actions{grid-column:1}.ops-trip{grid-template-columns:34px minmax(0,1fr)}.ops-trip-actions{grid-column:1/-1;justify-content:start;max-width:none}.ops-page-actions{width:100%}.ops-page-actions input{flex:1;min-width:140px}.ops-ledger-dialog,.ops-large-dialog{width:calc(100vw - 14px)}.ops-dialog-body{padding:14px}.ops-table{display:block;overflow-x:auto;white-space:nowrap}}
.ops-job-notes { display: grid; gap: 14px; }
.ops-job-note { border: 1px solid #e3dcd3; border-radius: 12px; padding: 16px; background: #fcfaf7; }
.ops-job-note header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 13px; }
.ops-job-note time { color: #67615a; }
.ops-job-note p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.ops-job-note-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 200px)); gap: 12px; }
.ops-job-note-photos a { display: block; text-decoration: none; color: #614000; font-size: 12px; margin-top: 12px; }
.ops-job-note-photos img { width: 100%; height: 150px; object-fit: cover; border-radius: 8px; display: block; margin-bottom: 6px; }
.ops-customer-copy { display: inline-block; padding: 11px 15px; border-radius: 8px; background: #38724d; color: #fff; font-weight: 700; text-decoration: none; }
.ops-receipt-totals{grid-column:1/-1;padding:14px 16px;border:1px solid #dfd8cb;border-radius:8px;background:#fffaf0}.ops-receipt-totals p{margin:6px 0 0;font-size:13px;line-height:1.5}
