:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f8;font-family:Arial,sans-serif}*{box-sizing:border-box}body{margin:0}#root{width:100%;min-height:100vh}h1,h2,h3,p{margin-top:0}body{color:#111827;background:#f4f6f8;margin:0;font-family:Arial,sans-serif}.login-page{box-sizing:border-box;background:#111827;justify-content:center;align-items:center;min-height:100vh;padding:18px;display:flex}.login-card{background:#fff;border-radius:8px;gap:16px;width:100%;max-width:380px;padding:22px;display:grid;box-shadow:0 18px 42px #00000047}.login-card h1,.login-card p{margin:0}.login-card p{color:#6b7280;margin-top:6px}.login-card label{gap:6px;font-weight:700;display:grid}.login-card input{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:12px}.login-card>button{color:#fff;cursor:pointer;font:inherit;background:#2563eb;border:none;border-radius:8px;padding:12px;font-weight:700}.login-card>button:disabled{cursor:not-allowed;background:#9ca3af}.login-role-toggle{background:#f3f4f6;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.login-role-toggle button{cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:10px;font-weight:700}.login-role-toggle button.active-login-role{background:#fff;box-shadow:0 2px 8px #0f172a1f}.login-error{background:#fee2e2;border-radius:8px;padding:10px;font-weight:700;color:#991b1b!important}.auth-bar{color:#fff;background:#111827;justify-content:flex-end;align-items:center;gap:12px;padding:6px 12px;font-size:12px;display:flex}.auth-bar button{color:#fff;cursor:pointer;font:inherit;background:#374151;border:1px solid #4b5563;border-radius:6px;padding:5px 9px;font-weight:700}.app-layout{max-width:2880px;min-height:100vh;margin:0 auto;display:flex}.driver-only-layout{background:#f4f6f8;min-height:100vh}.phone-portrait-warning{display:none}.sidebar{color:#fff;z-index:30;background:#111827;flex-direction:column;flex:0 0 240px;align-self:flex-start;width:240px;height:100vh;min-height:100vh;padding:24px;display:flex;position:fixed;top:0;left:max(0px,50vw - 1440px)}.sidebar h2{margin-bottom:32px}.sidebar-nav{flex-direction:column;gap:16px;display:flex}.sidebar-nav button:last-child{margin-top:0}.sidebar-nav button{color:#fff;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:12px}.sidebar-nav button:hover,.sidebar-nav button.active-nav{background:#ffffff1a}.main-content{background:#f4f6f8;flex:1;min-width:0;min-height:100vh;margin-left:288px}.loading-state{padding:24px}.sync-warning{color:#92400e;background:#fef3c7;border-bottom:1px solid #fde68a;margin:0;padding:8px 16px;font-size:13px}.dashboard,.booking-page{box-sizing:border-box;width:100%;padding:16px}.drivers-page,.assignments-page,.driver-app-page{box-sizing:border-box;width:100%;padding:24px}.dashboard-header,.page-header{background:#f4f6f8;justify-content:space-between;align-items:center;gap:20px;min-height:0;margin-bottom:4px;padding:0 0 6px;display:flex}.page-header:empty{display:none}.sticky-page-header{backface-visibility:hidden;box-sizing:border-box;will-change:transform;z-index:8;width:100%;position:sticky;top:0;left:0;right:0;transform:translateZ(0)}.dashboard-header{z-index:8;position:sticky;top:0}.dashboard-header h1,.page-header h1{margin:0;font-size:22px}.dashboard-header p,.page-header p{color:#6b7280;margin-top:6px}.vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.vehicle-card,.reserve-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014}.vehicle-card{flex-direction:column;gap:18px;display:flex}.vehicle-card h2,.reserve-card h2{margin-bottom:6px}.vehicle-card p,.reserve-card p{color:#6b7280}.vehicle-card label{flex-direction:column;gap:6px;font-weight:700;display:flex}.vehicle-card select,.reserve-form input{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.reserve-card{margin-top:24px}.reserve-form{gap:12px;margin-top:16px;display:flex}.reserve-form input{min-width:220px}.reserve-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 14px;font-weight:700}.dashboard-actions,.bulk-actions{align-items:center;gap:12px;display:flex}.dashboard-actions input,.bulk-actions input{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.search-input{font:inherit;border:1px solid #d1d5db;border-radius:8px;min-width:260px;padding:10px 12px}.search-column{flex-direction:row;align-items:flex-start;gap:8px;display:flex}.new-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 14px;font-weight:700}.booking-form,.import-panel{background:#fff;border-radius:8px;margin-bottom:24px;padding:14px;box-shadow:0 2px 8px #00000014}.booking-form h2,.import-panel h2{margin-bottom:8px}.booking-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.booking-flow-options{border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:12px;min-height:42px;padding:0 12px;display:flex}.booking-form label{color:#374151;flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.booking-form input,.booking-form select,.booking-form textarea{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.field-button{color:#111827;cursor:pointer;font:inherit;text-align:left;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.field-button.active,.field-button:hover{background:#dbeafe;border-color:#2563eb}.booking-note{grid-column:span 2}.booking-form textarea{resize:vertical;min-height:84px}.booking-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;margin-top:16px;padding:10px 14px;font-weight:700}.import-panel p{color:#6b7280;margin-bottom:16px}.import-panel textarea{resize:vertical;border:1px solid #d1d5db;border-radius:8px;width:100%;min-height:160px;padding:12px;font-family:Consolas,monospace;display:block}.booking-compact-textarea textarea{min-height:42px}.booking-vb-bulk{grid-column:1/-1}.booking-vb-bulk textarea{min-height:120px}.import-actions{gap:12px;margin-top:14px;display:flex}.import-actions button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 14px;font-weight:700}.sticky-operations{backface-visibility:hidden;box-sizing:border-box;will-change:transform;z-index:7;background:#f4f6f8;width:100%;padding-bottom:8px;position:sticky;top:0;left:0;right:0;transform:translateZ(0)}.table-card,.archive-card,.details-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.table-card{margin-top:6px;padding:12px;overflow-x:auto}.table-card h2{margin-bottom:10px}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1120px}th{text-align:left;color:#6b7280;background:#fff;border-bottom:1px solid #e5e7eb;padding:8px 10px;font-size:14px}td{vertical-align:top;word-break:break-word;border-bottom:1px solid #e5e7eb;padding:8px 10px}.dashboard-table tbody tr:not(.date-row):not(.section-row):not(.inline-details-row) td,.archive-table tbody tr:not(.inline-details-row) td{box-shadow:inset 0 -1px #f8fafc}tr{cursor:pointer}.dashboard-table tbody tr:not(.date-row):not(.section-row):not(.inline-details-row):hover,.archive-table tbody tr:not(.inline-details-row):hover{background:#dbeafe}.active-row:not(.completed-row){background:0 0}.checked-row:not(.completed-row),.details-active-row:not(.completed-row){background:#dbeafe}.archive-table tbody tr.completed-row:hover{background:#dbeafe!important}.details-open .dimmed-row{opacity:.32}.details-open .dimmed-row:hover{opacity:.55}.completed-row{background:#ecfdf5}.date-row td{color:#fff;background:#111827;padding:10px 14px;font-weight:700}.section-row td{color:#fff;text-transform:uppercase;background:#111827;padding:10px 14px;font-weight:700}.follow-up-category-start td{border-top:4px solid #111827}.empty-table{color:#6b7280;padding:20px 0 4px}.bulk-actions{background:#fff;border-radius:8px;flex-wrap:wrap;margin-bottom:6px;padding:10px 12px;box-shadow:0 2px 8px #00000014}.select-visible{align-items:center;gap:6px;font-weight:700;display:flex}.select-visible input{width:16px;height:16px}.select-cell{cursor:pointer;text-align:center}.select-cell input{pointer-events:none}.select-all-inline{justify-content:center;min-width:42px}.bulk-actions button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 14px;font-weight:700}.bulk-actions button:disabled{cursor:not-allowed;background:#9ca3af}.bulk-actions button.danger-button{background:#dc2626}.bulk-actions button.danger-button:disabled{background:#9ca3af}.move-date-picker{align-items:center;display:inline-flex}.move-date-picker input{box-sizing:border-box;font:inherit;border:1px solid #2563eb;border-radius:8px;min-width:150px;height:38px;padding:8px 10px}.reserve-form button,.new-button,.field-button,.booking-form button,.import-actions button,.bulk-actions button,.detail-actions button,.driver-identity-bar button,.driver-identity-actions a,.driver-identity-actions button,.driver-pickup-back-button,.driver-pickup-card button,.driver-login-list button,.driver-dashboard-card,.driver-action-grid button,.scan-button,.confirm-data-button,.scan-field-button,.mobile-back-button,.vehicle-card-actions button,.scanner-panel button,.ocr-file-button,.driver-cell-action button,.assignment-number-action,.scan-confirm-actions button,.calendar-form button,.calendar-row button{transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s}.reserve-form button:hover:not(:disabled),.new-button:hover:not(:disabled),.field-button:hover:not(:disabled),.booking-form button:hover:not(:disabled),.import-actions button:hover:not(:disabled),.bulk-actions button:hover:not(:disabled),.detail-actions button:hover:not(:disabled),.driver-identity-bar button:hover:not(:disabled),.driver-identity-actions a:hover,.driver-identity-actions button:hover:not(:disabled),.driver-pickup-back-button:hover,.driver-pickup-card button:hover:not(:disabled),.driver-login-list button:hover:not(:disabled),.driver-dashboard-card:hover,.driver-action-grid button:hover:not(:disabled),.scan-button:hover:not(:disabled),.confirm-data-button:hover:not(:disabled),.scan-field-button:hover:not(:disabled),.mobile-back-button:hover,.vehicle-card-actions button:hover:not(:disabled),.scanner-panel button:hover:not(:disabled),.ocr-file-button:hover,.driver-cell-action button:hover:not(:disabled),.assignment-number-action:hover,.scan-confirm-actions button:hover:not(:disabled),.calendar-form button:hover:not(:disabled),.calendar-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0f172a29}.archive-card{padding:14px;overflow-x:auto}.archive-card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.archive-card-header h2{margin:0}.archive-summary{color:#6b7280;margin:4px 0 0;font-size:13px}.archive-sort-summary{color:#374151;white-space:nowrap;font-size:13px;font-weight:600}.archive-sort-button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0;font-weight:700}.archive-sort-button:hover,.archive-sort-button.active-sort{color:#111827}.archive-table .paired-left{padding-right:4px}.archive-table .paired-right{padding-left:4px}.workflow-actions{z-index:9;background:#f4f6f8f2;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:12px;margin:0;padding:10px 16px;display:flex;position:sticky;bottom:0}.workflow-actions button{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;padding:9px 12px;font-weight:700}.workflow-actions button:disabled{cursor:not-allowed;background:#9ca3af}.driver-picker{z-index:5;background:#fff;border:1px solid #d1d5db;border-radius:8px;gap:6px;width:180px;padding:8px;display:grid;position:absolute;bottom:48px;left:0;box-shadow:0 8px 18px #0000001f}.driver-picker button{color:#111827;text-align:left;background:#f3f4f6}.driver-picker button.active-driver{color:#1d4ed8;background:#dbeafe}.details-card{padding:12px}.inline-details-row td{background:#f8fafc;padding:0}.inline-details{box-shadow:none;border-radius:0;margin:0}.details-toolbar{gap:14px;margin-bottom:16px;display:flex}.details-toolbar span{color:#6b7280}.details-edit-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.details-edit-grid label{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.checkbox-field{align-items:center;min-height:34px;flex-direction:row!important}.checkbox-field input{width:16px;height:16px}.compact-date-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.details-edit-grid .compact-date-field{min-width:0}.details-edit-grid input,.details-edit-grid select,.details-edit-grid textarea{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:7px 8px}.details-edit-grid textarea{resize:vertical;min-height:72px}.details-edit-grid input[readonly],.details-edit-grid select:disabled,.details-edit-grid textarea[readonly]{color:#4b5563;background:#f3f4f6}.detail-actions{gap:12px;margin-bottom:10px;display:flex}.detail-actions button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 12px;font-weight:700}.danger-button,.detail-actions button.danger-button{background:#dc2626}.detail-actions button:disabled{cursor:not-allowed;background:#9ca3af}.legs-list{flex-direction:column;gap:16px;margin-top:12px;display:flex}.leg-line{color:#374151;font-weight:700}.leg-card{background:#f8fafc;border-radius:8px;padding:18px}.status{box-sizing:border-box;text-align:center;border-radius:999px;justify-content:center;align-items:center;width:136px;min-height:24px;margin-top:0;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.status.missing-docs,.status.missing-info{color:#9f1239;background:#fff1f2;border:1px solid #f43f5e}.status.booking-ref{color:#991b1b;background:#fee2e2;border:1px solid #ef4444}.status.ready-assignment{color:#155e75;background:#cffafe;border:1px solid #06b6d4}.status.ok{color:#065f46;background:#ecfdf5;border:1px solid #10b981}.status.assigned{color:#0f172a;background:#f1f5f9;border:1px solid #64748b}.status.on-way,.status.pickedup{color:#1e3a8a;background:#dbeafe;border:1px solid #2563eb}.status.waiting{color:#9a3412;background:#ffedd5;border:1px solid #f97316}.status.waiting-lossing{color:#3730a3;background:#eef2ff;border:1px solid #6366f1}.status.waiting-lasting{color:#9a3412;background:#fff7ed;border:1px solid #ea580c}.status.ready-return{color:#9d174d;background:#fce7f3;border:1px solid #ec4899}.status.veoy{color:#6b21a8;background:#f5e8ff;border:1px solid #a855f7}.status.delivered{color:#5b21b6;background:#ede9fe;border:1px solid #8b5cf6}.status.completed{color:#166534;background:#dcfce7;border:1px solid #22c55e}.status.unknown{color:#4b5563;background:#f3f4f6;border:1px solid #d1d5db}.driver-app-page{max-width:960px;margin:0 auto}.driver-admin-page{max-width:none}.dedicated-driver-page{max-width:720px;padding:14px}.driver-identity-bar{z-index:5;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px;display:flex;box-shadow:0 2px 8px #00000014}.driver-identity-bar div{gap:2px;display:grid}.driver-identity-bar span{color:#6b7280;font-size:13px}.driver-identity-bar button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 12px;font-weight:700}.driver-identity-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,430px);display:grid}.driver-identity-actions a,.driver-identity-actions button{color:#fff;cursor:pointer;font:inherit;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:0;padding:9px 12px;font-weight:700;text-decoration:none;display:inline-flex}.driver-identity-actions .active-pickup-action{background:#1d4ed8}.driver-job-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.driver-pickup-panel{background:#fff;border-radius:8px;gap:12px;margin-bottom:12px;padding:14px;display:grid;box-shadow:0 2px 8px #00000014}.driver-pickup-panel h2,.driver-pickup-panel p{margin:0}.driver-pickup-panel p,.driver-pickup-card small{color:#6b7280}.driver-pickup-back-button{color:#fff;cursor:pointer;font:inherit;background:#2563eb;border:none;border-radius:8px;margin-top:12px;padding:9px 12px;font-weight:700}.driver-pickup-list{gap:10px;display:grid}.driver-pickup-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:10px;display:grid}.driver-pickup-card div,.driver-pickup-card p,.driver-pickup-card small{grid-column:1}.driver-pickup-card div{justify-content:space-between;gap:8px;display:flex}.driver-pickup-card strong,.driver-pickup-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.driver-pickup-card p{margin:0}.driver-pickup-card button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;grid-area:1/2/span 3;padding:10px 12px;font-weight:700}.driver-login-panel{background:#fff;border-radius:8px;gap:12px;margin-bottom:12px;padding:14px;display:grid;box-shadow:0 2px 8px #00000014}.driver-login-panel h2,.driver-login-panel p{margin:0}.driver-login-panel p{color:#6b7280}.driver-login-list{gap:10px;display:grid}.driver-login-list button{color:#111827;cursor:pointer;font:inherit;background:#f8fafc;border:1px solid #d1d5db;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.driver-login-list button:hover{background:#eff6ff;border-color:#2563eb}.driver-login-list span{color:#6b7280}.driver-dashboard-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.driver-dashboard-card{color:#111827;cursor:pointer;text-align:left;background:#fff;border:2px solid #0000;border-radius:8px;gap:4px;padding:10px;display:grid;box-shadow:0 2px 8px #00000014}.driver-dashboard-card span,.driver-dashboard-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.driver-dashboard-card strong{color:#2563eb;font-size:22px}.driver-dashboard-card small{color:#6b7280}.driver-dashboard-card.active-driver-card{background:#eff6ff;border-color:#2563eb}.driver-admin-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.driver-admin-column{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid;box-shadow:0 2px 8px #00000014}.driver-admin-column header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.driver-admin-column header div{gap:2px;min-width:0;display:grid}.driver-admin-column header strong,.driver-admin-job strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.driver-admin-column header span{color:#6b7280;font-size:12px}.driver-admin-column header b{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:13px;display:inline-flex}.driver-admin-job-list{gap:8px;display:grid}.driver-admin-job{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:6px;padding:9px;display:grid}.driver-admin-job p{color:#374151;margin:0;font-size:13px}.driver-admin-job small{color:#6b7280;font-weight:700}.driver-admin-job .driver-admin-route{color:#1d4ed8;font-weight:800}.driver-admin-job-topline,.driver-admin-job-meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.driver-admin-job-topline span{color:#6b7280;flex:none;font-size:12px;font-weight:700}.driver-admin-job-meta span{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.driver-admin-empty{color:#6b7280;margin:4px 0}.driver-job-card label{flex-direction:column;gap:6px;font-weight:700;display:flex}.driver-job-card input{box-sizing:border-box;color:#111827;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:10px 12px}.driver-job-card input:focus{border-color:#111827;box-shadow:0 0 0 2px #11182724}.driver-job-list{gap:12px;display:grid}.driver-job-list .driver-job-card:nth-child(2){margin-top:14px}.driver-job-card{gap:10px;padding:14px;display:grid;position:relative}.active-driver-job{color:#111827;opacity:1;background:#fff;border:1px solid #111827;box-shadow:0 0 0 3px #11182729,0 14px 28px #1118273d}.dimmed-driver-job{opacity:.58}.driver-note{background:#f8fafc;border-radius:8px;gap:4px;padding:10px;display:grid}.driver-note p{white-space:pre-wrap}.driver-note button{color:#2563eb;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0;font-weight:700}.driver-job-card>div:first-child{justify-content:space-between;gap:12px;display:flex}.driver-job-card p{margin:0}.driver-job-card .driver-route-text{color:#111827;font-weight:800}.driver-job-meta{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.driver-job-meta span{color:#6b7280;font-size:13px;font-weight:700}.driver-job-meta strong{font-size:18px}.driver-field-grid,.driver-scan-actions,.driver-action-grid{gap:10px;display:grid}.driver-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.driver-scan-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.driver-action-grid button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px;font-weight:700}.scan-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;padding:10px 12px;font-weight:700}.container-image-upload{gap:8px;display:grid}.container-image-upload input{display:none}.container-image-upload img,.container-image-confirm-dialog img{object-fit:contain;border-radius:8px;width:100%;max-height:220px}.container-image-upload button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;padding:10px 12px;font-weight:700}.container-image-upload button:disabled{cursor:wait;background:#9ca3af}.container-image-confirm-dialog label{gap:6px;font-weight:700;display:grid}.container-image-confirm-dialog input{box-sizing:border-box;font:inherit;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px}.container-image-confirm-dialog small{color:#b45309;font-weight:700}.ocr-raw-text{color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;font-size:.85rem}.ocr-raw-text summary{cursor:pointer;font-weight:700}.ocr-raw-text pre{white-space:pre-wrap;max-height:120px;margin:8px 0 0;overflow:auto}.confirm-data-button{color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:8px;padding:10px 12px;font-weight:700}.confirm-data-button:disabled{cursor:not-allowed;background:#9ca3af}.scan-field-button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;margin-top:2px;padding:8px 10px;font-weight:700}.mobile-assignments-page{box-sizing:border-box;gap:12px;max-width:720px;margin:0 auto;padding:12px;display:grid}.mobile-back-button{color:#fff;z-index:20;background:#111827;border-radius:999px;padding:12px 16px;font-weight:700;text-decoration:none;position:fixed;bottom:16px;right:16px}.mobile-date-group{gap:8px;display:grid}.mobile-date-group h2{background:#e5e7eb;border-radius:8px;margin:0;padding:8px 10px;font-size:16px}.mobile-assignment-card{background:#fff;border-radius:8px;gap:6px;padding:12px;display:grid;box-shadow:0 2px 8px #00000014}.mobile-assignment-card div{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-assignment-card p{margin:0}.mobile-assignment-card small{color:#6b7280}.vehicle-card input,.vehicle-card select,.vehicle-form input{box-sizing:border-box;font:inherit;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px}.vehicle-card strong{font-size:18px}.vehicle-card-actions{gap:8px;display:flex}.vehicle-card-actions button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 12px;font-weight:700}.vehicle-card-actions .danger-button{background:#dc2626}.scanner-panel{gap:8px;display:grid}.scanner-panel video{object-fit:cover;background:#111827;border-radius:8px;width:100%;max-height:260px}.scanner-panel button{color:#fff;cursor:pointer;background:#6b7280;border:none;border-radius:8px;padding:10px 12px;font-weight:700}.ocr-file-button{color:#fff;cursor:pointer;text-align:center;background:#6b7280;border-radius:8px;padding:10px 12px;font-weight:700}.ocr-file-button input{display:none}.inline-driver-select{font:inherit;border:1px solid #2563eb;border-radius:8px;width:120px;max-width:120px;height:26px;padding:2px 6px}.driver-cell-action{align-items:center;gap:6px;max-width:100%;display:inline-flex}.driver-cell-action button{color:#166534;cursor:pointer;font:inherit;white-space:nowrap;background:#dcfce7;border:1px solid #86efac;border-radius:6px;width:92px;height:24px;padding:2px 6px;font-size:11px;font-weight:700}.driver-cell-action button:hover:not(:disabled),.driver-cell-action button.driver-cell-action-assign_driver:hover:not(:disabled){background:#bbf7d0;border-color:#22c55e}.assignment-number-action,.inline-assignment-number-input{box-sizing:border-box;font:inherit;border:1px solid #cbd5e1;border-radius:6px;width:92px;height:24px;padding:2px 6px;font-size:11px}.assignment-number-action{color:#1f2937;cursor:pointer;white-space:nowrap;background:#e5e7eb}.inline-assignment-number-input{color:#111827;background:#fff}.driver-cell-action-single button{width:92px}.driver-cell-action-multiple button{width:58px}.scan-confirm-overlay{z-index:20;background:#1118278c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.status-confirm-overlay{z-index:6;background:#1118278f;border-radius:8px;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.scan-confirm-dialog{background:#fff;border-radius:8px;gap:14px;width:100%;max-width:420px;padding:18px;display:grid;box-shadow:0 18px 36px #00000038}.scan-confirm-dialog h2,.scan-confirm-dialog p{margin:0}.scan-confirm-dialog p{word-break:break-word;background:#f3f4f6;border-radius:8px;padding:12px;font-weight:700}.scan-confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.scan-confirm-actions button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:11px 12px;font-weight:700}.scan-confirm-actions button.secondary-button{background:#6b7280}.data-confirm-list{grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:8px 12px;display:grid}.data-confirm-list span{color:#6b7280;font-weight:700}.data-confirm-list strong{word-break:break-word;background:#f3f4f6;border-radius:8px;min-width:0;padding:8px 10px}.status-container-field{gap:6px;font-weight:700;display:grid}.status-container-field input{box-sizing:border-box;font:inherit;text-transform:uppercase;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px}.field-error{color:#b91c1c;font-weight:700}.calendar-page{box-sizing:border-box;width:100%;padding:24px}.calendar-grid{grid-template-columns:minmax(320px,2fr) minmax(260px,1fr);gap:16px;margin-bottom:16px;display:grid}.calendar-form,.calendar-alerts,.calendar-list{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #00000014}.calendar-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.calendar-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.calendar-form label:first-child{grid-column:span 4}.calendar-form input,.calendar-form select{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px}.calendar-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-self:end;padding:11px 14px;font-weight:700}.calendar-alert,.calendar-row{border-top:1px solid #e5e7eb;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.calendar-alert{grid-template-columns:1fr}.calendar-row div{gap:4px;display:grid}.calendar-row button{color:#991b1b;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;padding:8px 12px;font-weight:700}@media (width<=900px){.app-layout{display:block}.sidebar{width:auto;height:auto;min-height:0;padding:10px;position:static;left:auto;overflow-x:auto}.main-content{margin-left:0}.sidebar h2{display:none}.sidebar-nav{flex-direction:row;gap:8px}.sidebar-nav button{flex:none;padding:9px 10px}.dashboard,.booking-page,.calendar-page,.drivers-page,.assignments-page,.driver-app-page{padding:10px}.bulk-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bulk-actions .search-input,.bulk-actions input[type=date]{width:100%}.booking-grid,.calendar-grid,.calendar-form{grid-template-columns:1fr}.calendar-form label:first-child,.booking-note,.booking-vb-bulk{grid-column:auto}.table-card{padding:8px}.dashboard-table{min-width:0}.dashboard-table th:first-child,.dashboard-table th:nth-child(2),.dashboard-table th:nth-child(3),.dashboard-table th:nth-child(8),.dashboard-table th:nth-child(9),.dashboard-table th:nth-child(10),.dashboard-table th:nth-child(11),.dashboard-table td:first-child,.dashboard-table td:nth-child(2),.dashboard-table td:nth-child(3),.dashboard-table td:nth-child(8),.dashboard-table td:nth-child(9),.dashboard-table td:nth-child(10),.dashboard-table td:nth-child(11){display:none}.dashboard-table th,.dashboard-table td{padding:8px 6px}.driver-dashboard-grid,.driver-field-grid,.driver-scan-actions{grid-template-columns:1fr}.dedicated-driver-page .driver-identity-bar{align-items:stretch;gap:10px;display:grid}.dedicated-driver-page .driver-identity-actions{gap:6px;width:100%}.dedicated-driver-page .driver-identity-actions a,.dedicated-driver-page .driver-identity-actions button,.driver-action-grid button{padding:8px 4px;font-size:12px;line-height:1.15}.driver-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.driver-pickup-card{grid-template-columns:1fr}.driver-pickup-card button{grid-area:auto/1}}@media (width<=760px) and (height<=520px) and (orientation:landscape){.driver-only-layout .auth-bar,.driver-only-layout .sync-warning,.driver-only-layout .loading-state,.driver-only-layout .driver-app-page{display:none}.phone-portrait-warning{box-sizing:border-box;color:#fff;text-align:center;background:#111827;place-items:center;gap:8px;min-height:100vh;padding:24px;display:grid}.phone-portrait-warning strong{font-size:24px}.phone-portrait-warning span{color:#d1d5db}}
