.ecocrm-driver-report-button {
  font-family: "Segoe UI", Arial, sans-serif !important;
}
.ecocrm-driver-report-button:hover,
.ecocrm-driver-report-button.is-active { color: #fff7e8 !important; background: linear-gradient(100deg, rgba(191,139,44,.23), rgba(191,139,44,.07)) !important; box-shadow: inset 3px 0 #d5a649 !important; }
.edr-nav-icon { flex: 0 0 auto; color: #d4a449; }
.ecocrm-driver-report-mobile-button { width:100%; border:0; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.ecocrm-driver-report-mobile-button .menu-ios-icon { color:#d4a449; }

.ecocrm-report-host-hidden { display: none !important; }
.ecocrm-driver-report { display: none; flex: 1 1 auto; min-width: 0; align-self: stretch; overflow: hidden; color: #f1ece2; font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing:auto; text-rendering:optimizeLegibility; font-synthesis:none; background: #11100d; }
.ecocrm-driver-report.is-open { display: block; }
.ecocrm-crm-workspace-block { box-sizing:border-box; padding:12px; background:#121113; }
.edr-shell { height: 100%; overflow: hidden; border:1px solid rgba(255,255,255,.08); border-radius:14px; background: radial-gradient(circle at 95% 0%, rgba(205,154,56,.06), transparent 30%), #171613; }
.edr-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px 12px; }
.edr-head p,.edr-head h1 { margin: 0; }
.edr-head p { color: #918d98; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.edr-head h1 { margin-top: 4px; font-size: 24px; }
.edr-close { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; color: #fff; background: #222125; cursor: pointer; font-size: 24px; }
.edr-filters { display: grid; grid-template-columns: minmax(240px,280px) minmax(180px,.8fr) minmax(240px,1fr) auto; gap: 10px; padding: 10px 22px 16px; }
.edr-filters label { display: grid; gap: 5px; color: #918d98; font-size: 11px; }
.edr-filters input,.edr-filters select { min-height: 38px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; padding: 0 10px; color: #f7f5f9; background: #222125; font: inherit; }
.edr-day-picker { display:grid; grid-template-columns:38px minmax(150px,1fr) 38px; gap:7px; align-items:end; }
.edr-day-picker > button { min-height:38px; border:1px solid rgba(216,176,96,.3); border-radius:9px; color:#edc572; background:rgba(191,139,44,.08); cursor:pointer; font:700 17px "Segoe UI",Arial,sans-serif; }
.edr-day-picker > button:hover { background:rgba(191,139,44,.16); }
.edr-primary { align-self: end; min-height: 38px; border: 1px solid rgba(224,181,94,.38); border-radius: 9px; padding: 0 18px; color: #211507; background: linear-gradient(135deg, #e7bc66, #c68b2c); cursor: pointer; font-weight: 700; }
.edr-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; padding: 0 22px 16px; }
.edr-summary>div { display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 11px 13px; background: #201f23; }
.edr-summary span { color: #918d98; font-size: 12px; }.edr-summary strong { font-size: 20px; }.edr-summary .has-warning strong { color: #ff9f7a; }
.edr-content { height: calc(100% - 205px); overflow: auto; padding: 0 22px 24px; }
.edr-week { margin-bottom:18px; overflow:hidden; border:1px solid rgba(216,176,96,.19); border-radius:14px; background:#181719; }
.edr-week-toggle { display:flex; width:100%; min-height:58px; align-items:center; justify-content:space-between; gap:14px; border:0; padding:11px 15px; color:inherit; background:linear-gradient(100deg,rgba(191,139,44,.11),rgba(191,139,44,.025)); cursor:pointer; text-align:left; font:inherit; }
.edr-week-toggle:hover { background:linear-gradient(100deg,rgba(191,139,44,.17),rgba(191,139,44,.045)); }.edr-week-toggle>span:first-child { display:grid; gap:3px; }.edr-week-toggle small { color:#aaa5ae; font-size:11px; }.edr-week-toggle strong { color:#f3ede2; font-size:14px; }.edr-week-toggle-action { display:flex; align-items:center; gap:8px; color:#edc572; font-size:11px; font-weight:700; }.edr-week-toggle-action i { display:grid; width:27px; height:27px; place-items:center; border:1px solid rgba(216,176,96,.28); border-radius:8px; font-style:normal; font-size:17px; transition:transform .18s ease; }.edr-week.is-expanded .edr-week-toggle-action i { transform:rotate(180deg); }
.edr-week-body { border-top:1px solid rgba(255,255,255,.07); animation:edr-expand .24s ease both; }.edr-week-toolbar { display:flex; align-items:center; justify-content:space-between; padding:9px 12px 8px 15px; color:#918d98; font-size:10px; }
.edr-week-nav { display:flex; gap:7px; }.edr-week-nav button { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(216,176,96,.3); border-radius:9px; color:#edc572; background:rgba(191,139,44,.08); cursor:pointer; font:700 16px "Segoe UI",Arial,sans-serif; }.edr-week-nav button:hover { background:rgba(191,139,44,.16); }
.edr-week-table-wrap { overflow-x:auto; overscroll-behavior-inline:contain; }.edr-week table { width:100%; min-width:900px; border-collapse:collapse; table-layout:fixed; }.edr-week th,.edr-week td { border-bottom:1px solid rgba(255,255,255,.06); padding:9px 7px; text-align:center; vertical-align:middle; }.edr-week thead th { color:#aaa5ae; background:#141315; font-size:10px; font-weight:600; }.edr-week thead th:first-child { width:180px; text-align:left; }.edr-week thead th:last-child { width:58px; }.edr-week thead th small { display:block; margin-top:2px; color:#746f79; font-size:9px; }.edr-week tbody th { overflow:hidden; color:#f0ece5; font-size:12px; font-weight:600; text-align:left; text-overflow:ellipsis; white-space:nowrap; }.edr-week tbody td { background:rgba(255,255,255,.012); }.edr-week tbody tr:last-child th,.edr-week tbody tr:last-child td { border-bottom:0; }.edr-week td strong,.edr-week td span { display:block; }.edr-week td strong { font-size:10px; }.edr-week td span { margin-top:2px; font-size:9px; }.edr-week td.is-worked { background:rgba(61,166,111,.11); }.edr-week td.is-worked strong { color:#9ee2bd; }.edr-week td.is-off strong { color:#8c8790; font-weight:500; }.edr-week-total strong { color:#edc572; font-size:15px !important; }.edr-week-state { display:grid; min-height:90px; place-items:center; padding:16px; color:#918d98; font-size:12px; }
.edr-day-report>h2 { margin:0 0 10px; color:#aaa5ae; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.edr-ride { margin-bottom: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: #1d1c20; overflow: hidden; }
.edr-ride>header { display: flex; justify-content: space-between; align-items: center; padding: 15px 17px; border-bottom: 1px solid rgba(255,255,255,.07); }
.edr-ride-title { display: flex; flex-wrap:wrap; align-items: center; gap: 9px; font-size: 16px; }.edr-ride header p { margin: 5px 0 0; color: #918d98; font-size: 12px; }
.edr-status { border-radius: 999px; padding: 4px 8px; color: #f0c66f; background: rgba(191,139,44,.16); font-size: 10px; }.edr-status--completed { color: #9ee2bd; background: rgba(61,166,111,.15); }
.edr-ride-change-mark,.edr-ride-scan-mark,.edr-ride-point-mark { display:inline-flex; align-items:center; min-height:23px; border:1px solid rgba(230,177,73,.34); border-radius:999px; padding:0 8px; color:#f0c66f; background:rgba(191,139,44,.09); font-size:10px; font-weight:700; white-space:nowrap; }
.edr-ride-scan-mark { border-color:rgba(255,153,92,.38); color:#ffc08f; background:rgba(202,101,35,.11); }
.edr-ride-point-mark { border-color:rgba(255,107,99,.42); color:#ffaaa2; background:rgba(189,63,54,.12); }
.edr-ride-actions { display:flex; align-items:center; gap:12px; }.edr-ride-total { display: grid; text-align: right; }.edr-ride-total strong { font-size: 20px; }.edr-ride-total span { color: #918d98; font-size: 10px; }
.edr-complete-ride { min-height:34px; border:1px solid rgba(216,176,96,.34); border-radius:9px; padding:0 12px; color:#f0c66f; background:rgba(191,139,44,.09); cursor:pointer; font:700 11px "Segoe UI",Arial,sans-serif; white-space:nowrap; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.edr-complete-ride:hover { border-color:rgba(231,188,102,.62); color:#fff2cf; background:rgba(191,139,44,.18); }
.edr-complete-ride:disabled { cursor:wait; opacity:.58; }
.edr-live-location { min-height:34px; border:1px solid rgba(75,190,132,.42); border-radius:9px; padding:0 12px; color:#83e3b1; background:rgba(46,153,99,.11); cursor:pointer; font:700 11px "Segoe UI",Arial,sans-serif; white-space:nowrap; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.edr-live-location:hover { border-color:rgba(102,222,158,.72); color:#caffdf; background:rgba(46,153,99,.2); }
.edr-live-dialog { position:fixed; z-index:2400; inset:0; display:grid; place-items:center; padding:20px; color:#f1ece2; background:rgba(0,0,0,.82); backdrop-filter:blur(6px); font-family:"Segoe UI",Arial,sans-serif; }
.edr-live-dialog>section { display:flex; width:min(980px,100%); height:min(86vh,760px); flex-direction:column; overflow:hidden; border:1px solid rgba(83,208,142,.34); border-radius:16px; background:#181612; box-shadow:0 28px 90px rgba(0,0,0,.6); }
.edr-live-dialog header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.08); }
.edr-live-dialog header p,.edr-live-dialog header h2 { margin:0; }.edr-live-dialog header p { color:#79d7a7; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.edr-live-dialog header h2 { margin-top:3px; font-size:19px; }
.edr-live-dialog header button { width:38px; height:38px; flex:0 0 auto; border:1px solid rgba(255,255,255,.12); border-radius:10px; color:#fff; background:#28251f; cursor:pointer; font-size:24px; }
.edr-live-status { flex:0 0 auto; padding:10px 16px; color:#9ee9c2; background:rgba(43,151,94,.12); font-size:12px; font-weight:700; }
.edr-live-status.is-stale { color:#f2c36f; background:rgba(190,133,37,.12); }
.edr-live-map { min-height:280px; flex:1 1 auto; background:#24211c; }
.edr-live-dialog footer { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:14px; padding:12px 16px; border-top:1px solid rgba(255,255,255,.08); color:#918d98; font-size:11px; }
.edr-live-route { min-height:34px; display:inline-flex; align-items:center; border:1px solid rgba(216,176,96,.35); border-radius:9px; padding:0 12px; color:#f0c66f; text-decoration:none; font-weight:700; }
.edr-live-route[hidden] { display:none; }
.edr-ride-toggle { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(216,176,96,.25); border-radius:9px; color:#e7bc66; background:rgba(191,139,44,.08); cursor:pointer; font:700 20px/1 "Segoe UI",Arial,sans-serif; transition:transform .18s ease,background .18s ease; }.edr-ride-toggle[aria-expanded="true"] { transform:rotate(180deg); background:rgba(191,139,44,.17); }
.edr-ride-details { overflow:hidden; transform-origin:top; animation:edr-expand .24s ease both; }
.edr-ride.is-closing .edr-ride-details { animation:edr-collapse .19s ease both; }
@keyframes edr-expand { from { opacity:0; max-height:0; transform:translateY(-8px); } to { opacity:1; max-height:3200px; transform:translateY(0); } }
@keyframes edr-collapse { from { opacity:1; max-height:3200px; transform:translateY(0); } to { opacity:0; max-height:0; transform:translateY(-8px); } }
.edr-stage-line { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.edr-timing { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }.edr-stage-line { padding: 12px 17px; background: #19181b; }
.edr-stage-line span,.edr-timing span { display: grid; gap: 3px; font-size: 12px; }.edr-stage-line small,.edr-timing small { color: #918d98; font-size: 10px; }
.edr-point { display: grid; grid-template-columns: 30px minmax(260px,1fr) minmax(330px,.9fr); gap: 12px; align-items: center; padding: 12px 17px; border-top: 1px solid rgba(255,255,255,.06); }
.edr-point-number { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: #f0c66f; background: rgba(191,139,44,.18); font-weight: 700; }
.edr-point-main { display: grid; gap: 4px; }.edr-point-main>span { color: #918d98; font-size: 11px; }.edr-point-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.edr-timing { grid-template-columns: repeat(3,1fr); }
.edr-scan,.edr-correction,.edr-point-missed { border: 1px solid rgba(216,176,96,.32); border-radius: 999px; padding: 4px 8px; color: #f0c66f; background: rgba(191,139,44,.1); font: inherit; font-size: 10px; }.edr-scan { cursor: pointer; }.edr-scan--missing { border-color: rgba(255,126,102,.35); color: #ffad9b; background: rgba(255,126,102,.1); cursor: default; }
.edr-point-missed { border-color:rgba(255,107,99,.42); color:#ffaaa2; background:rgba(189,63,54,.12); }
.edr-correction { border-color: rgba(255,99,91,.48); color: #ff9e96; background: rgba(190,52,43,.16); cursor:pointer; }
.edr-correction--approved { border-color:rgba(73,183,123,.38); color:#9ee2bd; background:rgba(61,166,111,.12); }
.edr-correction--rejected { color:#b7b0a6; border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.04); }
.edr-point--correction { box-shadow:inset 3px 0 rgba(239,87,75,.7); background:rgba(113,26,22,.08); }
.edr-point--missed { box-shadow:inset 3px 0 rgba(239,87,75,.72); background:rgba(113,26,22,.1); }
.edr-muted { color: #706d75; font-size: 10px; }.edr-empty { display: grid; min-height: 220px; place-items: center; color: #918d98; }.edr-error { color: #ff9f96; }
.ecocrm-driver-access-toggle { position:relative; display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; min-height:62px; border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:11px 13px; background:rgba(255,255,255,.035); cursor:pointer; user-select:none; -webkit-tap-highlight-color:transparent; }
.ecocrm-driver-access-toggle.is-enabled { border-color:rgba(213,166,73,.48); background:rgba(191,139,44,.1); }
.ecocrm-driver-access-copy { display:grid; gap:3px; min-width:0; }
.ecocrm-driver-access-copy strong { color:#eee8dc; font-size:13px; font-weight:700; }
.ecocrm-driver-access-status { color:#a09a90; font-size:11px; }
.ecocrm-driver-access-toggle.is-enabled .ecocrm-driver-access-status { color:#e5bb68; }
.ecocrm-driver-access-toggle input { position:absolute; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }
.ecocrm-driver-access-switch { position:relative; display:block; width:46px; height:26px; border-radius:999px; background:#4b4741; box-shadow:inset 0 0 0 1px rgba(255,255,255,.09); transition:background .18s ease; }
.ecocrm-driver-access-switch i { position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#d8d3ca; box-shadow:0 2px 5px rgba(0,0,0,.35); transition:transform .18s ease,background .18s ease; }
.ecocrm-driver-access-toggle.is-enabled .ecocrm-driver-access-switch { background:#c89435; }
.ecocrm-driver-access-toggle.is-enabled .ecocrm-driver-access-switch i { transform:translateX(20px); background:#fff8e9; }
.ecocrm-driver-access-input:focus-visible + .ecocrm-driver-access-switch { outline:2px solid #e8be69; outline-offset:3px; }
.ecocrm-driver-mobile-modal { max-height:calc(100dvh - env(safe-area-inset-top) - 12px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.ecocrm-driver-mobile-modal .ecocrm-mobile-field-label { color:var(--tw-muted-fg); font-size:var(--font-size-xs); }
.ecocrm-driver-access-toggle--mobile { flex:0 0 auto; width:100%; box-sizing:border-box; }

.edr-correction-inbox { flex:0 0 auto; margin-bottom:12px; border:1px solid rgba(239,87,75,.3); border-radius:12px; overflow:hidden; background:linear-gradient(135deg,rgba(108,29,24,.18),rgba(28,24,18,.96)); font-family:"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:auto; text-rendering:optimizeLegibility; }
.ecocrm-page-notifications { min-height:0 !important; overflow-y:auto !important; overscroll-behavior:contain; padding-bottom:32px !important; }
.edr-correction-inbox>header { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border-bottom:1px solid rgba(255,255,255,.07); }
.edr-correction-inbox header p,.edr-correction-inbox header h2 { margin:0; }.edr-correction-inbox header p { color:#ff9e96; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.edr-correction-inbox header h2 { margin-top:3px; font-size:14px; }.edr-inbox-head-actions { display:flex; align-items:center; gap:9px; }.edr-inbox-head-actions>strong { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#fff; background:#bd3f36; }.edr-inbox-head-actions>button { min-height:30px; border:1px solid rgba(216,176,96,.3); border-radius:8px; padding:0 10px; color:#edc572; background:rgba(191,139,44,.08); cursor:pointer; font:600 11px "Clear Sans","Segoe UI",sans-serif; }
.edr-inbox-list { display:grid; }.edr-inbox-list>button { display:grid; grid-template-columns:28px 1fr auto; gap:10px; align-items:center; border:0; border-bottom:1px solid rgba(255,255,255,.06); padding:11px 14px; color:#eee8dc; background:transparent; text-align:left; cursor:pointer; }.edr-inbox-list>button:hover { background:rgba(239,87,75,.08); }.edr-inbox-list>button>span:nth-child(2) { display:grid; gap:3px; }.edr-inbox-list small { color:#918d98; }.edr-inbox-alert { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; color:#fff; background:#bd3f36; font-weight:800; }.edr-inbox-link { color:#ffaaa2; font-size:11px; }.edr-inbox-empty { padding:15px; color:#918d98; font-size:12px; text-align:center; }
.edr-inbox-scan { display:grid; grid-template-columns:28px minmax(220px,1fr) auto auto; gap:10px; align-items:center; border-bottom:1px solid rgba(255,255,255,.06); padding:11px 14px; color:#eee8dc; background:rgba(191,139,44,.04); }.edr-inbox-scan>span:nth-child(2) { display:grid; gap:3px; }.edr-inbox-scan .edr-inbox-alert { color:#251707; background:#e7bc66; }.edr-inbox-scan>button { min-height:30px; border:1px solid rgba(216,176,96,.3); border-radius:8px; padding:0 10px; color:#edc572; background:rgba(191,139,44,.08); cursor:pointer; font:600 11px "Segoe UI",Arial,sans-serif; }.edr-inbox-empty button { margin-left:10px; border:1px solid rgba(239,87,75,.35); border-radius:8px; padding:6px 10px; color:#ffaaa2; background:rgba(189,63,54,.08); cursor:pointer; font:inherit; }

.edr-correction-dialog { position:fixed; z-index:2200; inset:0; display:grid; place-items:center; padding:22px; color:#f1ece2; background:rgba(0,0,0,.68); backdrop-filter:blur(6px); font-family:"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:auto; text-rendering:optimizeLegibility; }
.edr-correction-dialog>section { width:min(680px,100%); max-height:88vh; overflow:auto; border:1px solid rgba(216,176,96,.24); border-radius:15px; padding:20px; background:#181612; box-shadow:0 28px 90px rgba(0,0,0,.55); }
.edr-correction-dialog header { display:flex; align-items:start; justify-content:space-between; gap:16px; }.edr-correction-dialog header p,.edr-correction-dialog header h2 { margin:0; }.edr-correction-dialog header p { color:#ff9e96; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.edr-correction-dialog header h2 { margin-top:4px; font-size:21px; }.edr-correction-dialog header button { width:36px; height:36px; border:1px solid rgba(255,255,255,.1); border-radius:10px; color:#fff; background:#28251f; cursor:pointer; font-size:22px; }.edr-correction-meta { margin:10px 0 16px; color:#918d98; font-size:12px; }
.edr-change-list { display:grid; border:1px solid rgba(255,255,255,.08); border-radius:11px; overflow:hidden; }.edr-change-row { display:grid; grid-template-columns:120px 1fr; gap:12px; padding:11px 13px; border-bottom:1px solid rgba(255,255,255,.07); }.edr-change-row:last-child { border-bottom:0; }.edr-change-row span { color:#918d98; font-size:11px; }.edr-change-row strong { font-size:12px; font-weight:500; line-height:1.45; }
.edr-correction-state { margin-top:13px; border-radius:9px; padding:9px 11px; color:#ffb1aa; background:rgba(189,63,54,.13); font-size:12px; }.edr-correction-state--approved { color:#9ee2bd; background:rgba(61,166,111,.12); }.edr-correction-state--rejected { color:#b7b0a6; background:rgba(255,255,255,.05); }
.edr-correction-dialog footer { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }.edr-correction-dialog footer button { min-height:38px; border-radius:9px; padding:0 16px; cursor:pointer; font:inherit; }.edr-reject { border:1px solid rgba(239,87,75,.35); color:#ffaaa2; background:rgba(189,63,54,.08); }

.edr-scan-dialog { position:fixed; z-index:2300; inset:0; display:grid; place-items:center; padding:20px; color:#f1ece2; background:rgba(0,0,0,.82); backdrop-filter:blur(6px); font-family:"Segoe UI",Arial,sans-serif; }
.edr-scan-dialog>section { display:flex; width:min(920px,100%); height:min(90vh,920px); flex-direction:column; overflow:hidden; border:1px solid rgba(216,176,96,.28); border-radius:16px; background:#181612; box-shadow:0 28px 90px rgba(0,0,0,.6); }
.edr-scan-dialog header { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.08); }
.edr-scan-dialog header p,.edr-scan-dialog header h2 { margin:0; }.edr-scan-dialog header p { color:#d9ac52; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.edr-scan-dialog header h2 { max-width:70vw; margin-top:3px; overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.edr-scan-dialog header button { width:38px; height:38px; flex:0 0 auto; border:1px solid rgba(255,255,255,.12); border-radius:10px; color:#fff; background:#28251f; cursor:pointer; font-size:24px; }
.edr-scan-preview { display:grid; flex:1 1 auto; min-height:0; place-items:center; overflow:auto; padding:12px; color:#918d98; }
.edr-scan-preview img { display:block; max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; }.edr-scan-preview iframe { width:100%; height:100%; border:0; border-radius:8px; background:#fff; }
.edr-scan-actions { display:flex; flex:0 0 auto; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.08); }
.edr-scan-actions button { flex:1; min-height:42px; border:1px solid rgba(216,176,96,.34); border-radius:10px; color:#f0c66f; background:#282116; font:inherit; cursor:pointer; }
.edr-scan-actions button:disabled { opacity:.45; cursor:default; }

@media (max-width: 900px) {
  .ecocrm-driver-report { min-width: 0; }
  .edr-filters { grid-template-columns: 1fr 1fr; }.edr-day-picker,.edr-driver-filter,.edr-scan-filter { grid-column: 1 / -1; }
  .edr-summary { grid-template-columns: 1fr 1fr; }.edr-content { height: calc(100% - 290px); }
  .edr-point { grid-template-columns: 30px 1fr; }.edr-timing { grid-column: 2; }
  .edr-inbox-scan { grid-template-columns:28px 1fr; }.edr-inbox-scan .edr-inbox-link { display:none; }.edr-inbox-scan>button { grid-column:2; justify-self:start; }
}

@media (max-width: 768px) {
  .edr-scan-dialog { padding:0; }.edr-scan-dialog>section { width:100%; height:100%; max-height:none; border:0; border-radius:0; }.edr-scan-dialog header { padding:calc(10px + env(safe-area-inset-top)) 12px 10px; }.edr-scan-preview { padding:8px 8px calc(8px + env(safe-area-inset-bottom)); }
  .m-shell.edr-mobile-report-open { background:#121113; }
  .m-shell > .ecocrm-driver-report--mobile { flex:1 1 auto; min-height:0; width:100%; padding:12px 12px 8px; background:#121113; }
  .m-shell > .ecocrm-driver-report--mobile.is-open { display:block; }
  .ecocrm-driver-report--mobile .edr-shell { display:flex; height:100%; min-height:0; flex-direction:column; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:radial-gradient(circle at 100% 0%,rgba(205,154,56,.08),transparent 38%),#1a1917; }
  .ecocrm-driver-report--mobile .edr-head { flex:0 0 auto; padding:14px 14px 10px; border-bottom:1px solid rgba(255,255,255,.07); }
  .ecocrm-driver-report--mobile .edr-head p { font-size:10px; }
  .ecocrm-driver-report--mobile .edr-head h1 { font-size:20px; line-height:1.2; }
  .ecocrm-driver-report--mobile .edr-close { width:36px; height:36px; border-radius:9px; }
  .ecocrm-driver-report--mobile .edr-filters { flex:0 0 auto; grid-template-columns:1fr 1fr; gap:8px; padding:10px 14px; }
  .ecocrm-driver-report--mobile .edr-day-picker { grid-column:1 / -1; grid-template-columns:38px minmax(0,1fr) 38px; }
  .ecocrm-driver-report--mobile .edr-filters label { gap:4px; font-size:10px; }
  .ecocrm-driver-report--mobile .edr-filters input,
  .ecocrm-driver-report--mobile .edr-filters select { width:100%; min-width:0; min-height:36px; padding:0 8px; font-size:16px; }
  .ecocrm-driver-report--mobile .edr-driver-filter { grid-column:1 / -1; }
  .ecocrm-driver-report--mobile .edr-scan-filter,.ecocrm-driver-report--mobile .edr-company-filter { display:grid; grid-column:1 / -1; }
  .ecocrm-driver-report--mobile .edr-primary { grid-column:1 / -1; min-height:36px; }
  .ecocrm-driver-report--mobile .edr-summary { flex:0 0 auto; grid-template-columns:repeat(4,1fr); gap:6px; padding:0 14px 10px; }
  .ecocrm-driver-report--mobile .edr-summary > div { display:grid; justify-content:start; gap:2px; min-width:0; padding:8px; }
  .ecocrm-driver-report--mobile .edr-summary span { overflow:hidden; font-size:9px; text-overflow:ellipsis; }
  .ecocrm-driver-report--mobile .edr-summary strong { font-size:18px; }
  .ecocrm-driver-report--mobile .edr-content { flex:1 1 auto; height:auto; min-height:0; overflow-y:auto; padding:0 10px 18px; -webkit-overflow-scrolling:touch; }
  .ecocrm-driver-report--mobile .edr-week { margin-bottom:13px; border-radius:12px; }
  .ecocrm-driver-report--mobile .edr-week-toggle { min-height:54px; padding:9px 11px; }
  .ecocrm-driver-report--mobile .edr-week-toggle strong { font-size:13px; }
  .ecocrm-driver-report--mobile .edr-week-toggle-action { font-size:10px; }
  .ecocrm-driver-report--mobile .edr-week table { min-width:760px; }
  .ecocrm-driver-report--mobile .edr-week thead th:first-child { width:145px; }
  .ecocrm-driver-report--mobile .edr-week th,.ecocrm-driver-report--mobile .edr-week td { padding:8px 6px; }
  .ecocrm-driver-report--mobile .edr-day-report > h2 { margin-left:2px; }
  .ecocrm-driver-report--mobile .edr-ride { margin-bottom:9px; border-radius:12px; }
  .ecocrm-driver-report--mobile .edr-ride > header { gap:8px; padding:12px; }
  .ecocrm-driver-report--mobile .edr-ride-title { flex-wrap:wrap; gap:6px; font-size:14px; }
  .ecocrm-driver-report--mobile .edr-ride header p { font-size:10px; }
  .ecocrm-driver-report--mobile .edr-ride-actions { gap:7px; }
  .ecocrm-driver-report--mobile .edr-complete-ride { display:none; }
  .ecocrm-driver-report--mobile .edr-ride-total { display:none; }
  .ecocrm-driver-report--mobile .edr-stage-line { grid-template-columns:1fr 1fr; padding:10px 12px; }
  .ecocrm-driver-report--mobile .edr-point { grid-template-columns:28px minmax(0,1fr); gap:8px; padding:11px 12px; }
  .ecocrm-driver-report--mobile .edr-point-main { min-width:0; }
  .ecocrm-driver-report--mobile .edr-point-main > strong { font-size:13px; }
  .ecocrm-driver-report--mobile .edr-point-main > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .ecocrm-driver-report--mobile .edr-timing { grid-column:2; grid-template-columns:repeat(3,1fr); gap:5px; }
  .ecocrm-driver-report--mobile .edr-timing span { font-size:10px; }
  .ecocrm-driver-report--mobile .edr-timing small { font-size:8px; }
  .ecocrm-driver-report--mobile .edr-scan,
  .ecocrm-driver-report--mobile .edr-correction,
  .ecocrm-driver-report--mobile .edr-point-missed { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
.ecocrm-driver-report .edr-filters { grid-template-columns:minmax(220px,260px) minmax(150px,.7fr) minmax(180px,1fr) minmax(180px,1fr); }
.edr-search-card { overflow:hidden; margin:12px 0; border:1px solid rgba(216,176,96,.25); border-radius:14px; background:#191714; }
.edr-search-card header { display:grid; gap:5px; padding:12px 16px; }
.edr-search-card header strong { font-size:18px; color:#f2eadb; }
.edr-search-card header span { color:#a69d8e; font-size:12px; }
.edr-search-attachments { display:flex; flex-wrap:wrap; gap:8px; padding:0 16px 14px; }
.edr-search-attachments .edr-scan { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.edr-search-limit { padding:10px 0; color:#bca678; font-size:12px; }
@media(max-width:760px) { .ecocrm-driver-report .edr-filters { grid-template-columns:1fr; } .edr-company-filter { grid-column:1 / -1; } }

/* Keep the date visible; additional filters expand below the button. */
.ecocrm-driver-report .edr-shell { display:flex; flex-direction:column; min-height:0; }
.ecocrm-driver-report .edr-head,.ecocrm-driver-report .edr-summary { flex:0 0 auto; }
.ecocrm-driver-report .edr-content { flex:1 1 auto; height:auto; min-height:0; }
.ecocrm-driver-report .edr-filters { flex:0 0 auto; grid-template-columns:minmax(240px,280px) minmax(0,1fr); align-items:end; }
.edr-filter-toggle { display:flex; justify-content:space-between; align-items:center; gap:14px; justify-self:start; min-height:38px; padding:0 14px; border:1px solid rgba(216,176,96,.35); border-radius:9px; color:#edc572; background:rgba(191,139,44,.1); cursor:pointer; font:600 13px "Segoe UI",Arial,sans-serif; }
.edr-filter-toggle:hover { background:rgba(191,139,44,.18); }
.edr-filter-toggle:focus-visible { outline:2px solid #edc572; outline-offset:3px; }
.edr-filter-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; transition:transform .18s ease; }
.edr-filter-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.edr-filter-fields { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr); gap:12px; padding:12px; border:1px solid rgba(216,176,96,.18); border-radius:12px; background:rgba(191,139,44,.035); }
.edr-filter-fields[hidden] { display:none !important; }
.edr-filter-fields label { min-width:0; }
.edr-filter-fields input,.edr-filter-fields select { width:100%; min-width:0; box-sizing:border-box; }
@media(max-width:900px) {
  .edr-filter-fields { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .ecocrm-driver-report .edr-filters { grid-template-columns:1fr; }
  .edr-filter-toggle { width:100%; min-height:38px; justify-self:stretch; box-sizing:border-box; }
  .edr-filter-fields { gap:10px; padding:10px; }
}

@media (max-width: 768px) {
  .edr-live-dialog { padding:0; }
  .edr-live-dialog>section { width:100%; height:100%; max-height:none; border:0; border-radius:0; }
  .edr-live-dialog header { padding:calc(10px + env(safe-area-inset-top)) 12px 10px; }
  .edr-live-dialog footer { align-items:stretch; flex-direction:column; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .edr-live-route { justify-content:center; }
  .ecocrm-driver-report .edr-live-location { display:inline-flex; align-items:center; gap:5px; }
}
@media(prefers-reduced-motion:reduce) { .edr-filter-toggle svg { transition:none; } }

/* Date inputs need an explicit zero minimum, particularly in iOS Safari. */
.ecocrm-driver-report .edr-day-picker { min-width:0; grid-template-columns:38px minmax(0,1fr) 38px; }
.ecocrm-driver-report .edr-day-picker label { min-width:0; }
.ecocrm-driver-report .edr-day-picker input { display:block; width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
.ecocrm-driver-report .edr-day-picker button { width:38px; min-width:0; padding:0; box-sizing:border-box; }
@media(max-width:768px) {
  .m-shell > .ecocrm-driver-report--mobile { padding:0; }
  .ecocrm-driver-report--mobile .edr-shell { border:0; border-radius:0; background:#121113; }
  .ecocrm-driver-report--mobile .edr-filters { max-height:55dvh; overflow-y:auto; overscroll-behavior:contain; }
}

/* Reports workspace: compact controls and a single scrollable results area. */
.ecocrm-driver-report { font-family:"Clear Sans","Inter","Segoe UI",sans-serif; background:#121113; }
.ecocrm-driver-report .edr-shell { display:flex; flex-direction:column; min-height:0; background:#151416; }
.ecocrm-driver-report .edr-head { flex:none; min-height:64px; box-sizing:border-box; padding:14px 22px; border-bottom:1px solid #ffffff12; background:#100f11; }
.ecocrm-driver-report .edr-head h1 { font-size:22px; letter-spacing:-.02em; }
.ecocrm-driver-report .edr-head p { font-size:10px; letter-spacing:.09em; }
.edr-head-actions { display:flex; align-items:center; gap:8px; }
.ecocrm-driver-report .edr-expand-all { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.ecocrm-driver-report .edr-expand-all button { min-height:34px; border:1px solid #ffffff1a; border-radius:8px; padding:0 10px; color:#bfb7c6; background:transparent; font:inherit; font-size:12px; cursor:pointer; }
.edr-refresh,.edr-reset { min-height:38px; padding:0 12px; border:1px solid #d8b06040; border-radius:8px; color:#e7bf70; background:#bf8b2c14; font:inherit; font-size:12px; cursor:pointer; }
.edr-refresh:disabled { opacity:.5; cursor:wait; }
.ecocrm-driver-report .edr-filters { display:block; flex:none; padding:14px 22px; }
.edr-filter-top { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.ecocrm-driver-report .edr-day-picker { width:280px; max-width:100%; }
.ecocrm-driver-report .edr-filter-toggle { display:flex; width:auto; min-height:38px; align-items:center; justify-content:center; gap:10px; padding:0 14px; }
.ecocrm-driver-report .edr-filter-fields:not([hidden]) { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(180px,1fr) auto; align-items:end; gap:12px; margin-top:12px; }
.ecocrm-driver-report .edr-filter-fields[hidden] { display:none; }
.ecocrm-driver-report .edr-filters label { font-size:12px; color:#aaa4ae; min-width:0; }
.ecocrm-driver-report .edr-filters input,.ecocrm-driver-report .edr-filters select { box-sizing:border-box; width:100%; min-width:0; height:40px; font-size:13px; }
.ecocrm-driver-report .edr-summary { flex:none; gap:10px; padding:0 22px 14px; }
.ecocrm-driver-report .edr-summary>div { display:flex; align-items:center; padding:12px 14px; border:1px solid #ffffff0e; background:#1c1b1e; }
.ecocrm-driver-report .edr-summary span { font-size:12px; color:#aaa4ae; }
.ecocrm-driver-report .edr-summary strong { font-size:22px; }
.ecocrm-driver-report .edr-content { flex:1; min-height:0; height:auto; padding:0 22px 22px; overflow:auto; scrollbar-gutter:stable; }
.edr-scope { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin:0 0 12px; color:#a69fab; font-size:12px; }
.edr-scope>span { color:#827a87; }
.edr-progress { margin-bottom:20px; color:#aaa4ae; font-size:12px; }
.edr-progress>span { display:flex; justify-content:space-between; margin-bottom:7px; }
.edr-progress strong { color:#dcd6e0; font-weight:600; }
.edr-progress progress { display:block; width:100%; height:5px; border:0; border-radius:3px; overflow:hidden; background:#2b272e; accent-color:#76b696; }
.edr-progress progress::-webkit-progress-bar { background:#2b272e; }
.edr-progress progress::-webkit-progress-value { background:#76b696; }
.ecocrm-driver-report .edr-ride { background:#1b1a1d; border-radius:11px; }
.ecocrm-driver-report .edr-ride>header { gap:16px; padding:14px 16px; }
.ecocrm-driver-report .edr-ride-title { gap:8px; font-size:15px; }
.ecocrm-driver-report .edr-ride-toggle { display:flex; width:auto; min-width:96px; min-height:38px; padding:0 12px; font-size:12px; transform:none; }
.ecocrm-driver-report .edr-ride-actions { gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.ecocrm-driver-report .edr-ride-details,.ecocrm-driver-report .edr-week-body { animation:none; }
.ecocrm-driver-report .edr-stage-line { background:#151416; }
.ecocrm-driver-report .edr-week { margin-top:22px; margin-bottom:0; border-color:#ffffff12; border-radius:11px; }
.ecocrm-driver-report .edr-week-toggle { background:#1b1a1d; }
.ecocrm-driver-report .edr-week-toggle small { font-size:12px; }
.ecocrm-driver-report .edr-week table { min-width:740px; }
.ecocrm-driver-report .edr-week tbody th,.ecocrm-driver-report .edr-week thead th:first-child { position:sticky; left:0; background:#1b1a1d; z-index:1; }
.ecocrm-driver-report button:focus-visible,.ecocrm-driver-report input:focus-visible,.ecocrm-driver-report select:focus-visible { outline:2px solid #e7bf70; outline-offset:2px; }
@media(max-width:900px) {
  .ecocrm-driver-report .edr-filter-fields:not([hidden]) { grid-template-columns:1fr 1fr; }
  .ecocrm-driver-report .edr-ride>header { align-items:flex-start; flex-wrap:wrap; }
  .ecocrm-driver-report .edr-ride-actions { width:100%; justify-content:flex-start; }
}
@media(max-width:768px) {
  .ecocrm-driver-report .edr-head { padding:12px; min-height:68px; }
  .ecocrm-driver-report .edr-head h1 { font-size:21px; }
  .ecocrm-driver-report .edr-head p { font-size:9px; }
  .ecocrm-driver-report .edr-head-actions { gap:6px; }
  .ecocrm-driver-report .edr-close { width:36px; height:38px; }
  .ecocrm-driver-report .edr-filters { padding:12px; max-height:48dvh; }
  .ecocrm-driver-report .edr-filter-top { gap:8px; }
  .ecocrm-driver-report .edr-day-picker { width:auto; flex:1; }
  .ecocrm-driver-report .edr-filter-toggle { padding:0 10px; font-size:12px; }
  .ecocrm-driver-report .edr-filter-fields:not([hidden]) { grid-template-columns:1fr; gap:10px; }
  .ecocrm-driver-report .edr-filters input,.ecocrm-driver-report .edr-filters select { font-size:16px; }
  .ecocrm-driver-report .edr-summary { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 12px 12px; gap:8px; }
  .ecocrm-driver-report .edr-summary>div { flex-direction:row; justify-content:space-between; padding:10px; }
  .ecocrm-driver-report .edr-summary span { font-size:11px; }
  .ecocrm-driver-report .edr-summary strong { font-size:20px; }
  .ecocrm-driver-report .edr-content { padding:0 12px 20px; }
  .ecocrm-driver-report .edr-ride>header { padding:12px; }
  .ecocrm-driver-report .edr-ride-actions { justify-content:space-between; }
  .ecocrm-driver-report .edr-ride-total { display:flex; align-items:baseline; gap:5px; }
  .ecocrm-driver-report .edr-ride-total strong { font-size:15px; }
  .ecocrm-driver-report .edr-complete-ride { display:none; }
  .ecocrm-driver-report .edr-point { padding:12px; }
  .ecocrm-driver-report .edr-week-toolbar { font-size:11px; gap:10px; }
  .ecocrm-driver-report .edr-week-toggle { padding:12px; gap:8px; }
}

/* Give the native iOS date editor the full row, separate from the filter toggle. */
@media(max-width:768px) {
 .ecocrm-driver-report .edr-filter-top { flex-wrap:wrap; align-items:end; }
 .ecocrm-driver-report .edr-day-picker { flex:1 0 100%; width:100%; grid-template-columns:40px minmax(0,1fr) 40px; gap:10px; }
 .ecocrm-driver-report .edr-day-picker > button { width:40px; height:42px; position:relative; }
 .ecocrm-driver-report .edr-day-picker label { overflow:hidden; }
 .ecocrm-driver-report .edr-day-picker input { width:100%; height:42px; padding:0 8px; -webkit-appearance:none; appearance:none; }
 .ecocrm-driver-report .edr-day-picker input::-webkit-date-and-time-value { min-width:0; text-align:left; }
 .ecocrm-driver-report .edr-filter-toggle { margin-left:auto; }
}
