

.compact-editor{max-width:930px;margin:20px auto;background:#fff;border:1px solid #e2e7ed;border-radius:14px;color:#182338}.compact-editor fieldset{border:0;padding:0;margin:0;min-width:0}.compact-editor .modal-heading,.compact-editor .modal-body,.compact-editor .modal-footer{padding:18px 24px}.compact-editor .modal-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e9ef}.compact-editor .modal-heading h2{font-size:21px;margin:0}.compact-editor label{font-size:13px}.compact-editor input,.compact-editor select,.compact-editor textarea{min-width:0;max-width:100%}.compact-editor .editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact-editor .span-full{grid-column:1/-1}.compact-editor .span-two{grid-column:span 2}.compact-editor .modal-footer{padding:16px 0 0;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.compact-editor .editor-supplement{border-top:1px solid #e4e9ef;padding:14px 0;margin:12px 0}.compact-editor .editor-supplement summary{cursor:pointer;font-weight:600}.compact-editor .form-error,.list-error{color:#a82525;background:#fff0ed;padding:12px;border-radius:8px}.compact-editor [hidden],.photo-viewer [hidden]{display:none!important}
#dispatch-dialog{border:1px solid #dce3ec;border-radius:16px;padding:0;max-width:min(960px,96vw);width:960px;max-height:92dvh;background:white}#dispatch-dialog>.compact-editor{margin:0;border:0;width:100%}#dispatch-dialog::backdrop,.photo-viewer::backdrop{background:#13233f70}.upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upload-slot{border:1px dashed #cdd6e2;border-radius:10px;padding:12px;margin-top:10px;min-width:0}.upload-slot img,[data-local-preview]{display:block;max-width:100%;width:auto;height:140px;object-fit:contain;border-radius:7px;margin:8px 0}.upload-slot input[type=file]{font-size:12px;padding:7px;max-width:100%}.upload-slot small{display:block}.compact-editor .photos img{height:120px;width:150px;object-fit:cover}.resource-row,.resource-picker{display:flex;gap:10px;align-items:center;margin:10px 0}.resource-row span{flex:1}.resource-row label{max-width:120px}.resource-picker select{flex:1}.fuel-row{display:grid;grid-template-columns:1fr 100px 1.5fr auto;gap:10px;align-items:center;border-bottom:1px solid #e2e7ed;padding:12px 0}.fuel-row input[type=file]{font-size:12px}.fuel-row a{font-size:12px}.shift-totals{display:flex;gap:24px;flex-wrap:wrap;background:#f5f8fc;padding:16px 20px;border:1px solid #e2e7ed;border-radius:12px;margin:16px 0}.shift-totals b{font-size:22px;margin-right:5px}.job-hero h2{font-size:22px;margin:10px 0}.job-hero p{margin:7px 0}.job-hero .badge{float:right}.kgm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.kgm-card{border:1px solid #dfe5ee;border-radius:13px;overflow:hidden;background:#fff}.kgm-photo{display:block;height:170px;background:#eef2f6}.kgm-photo img{height:100%;width:100%;object-fit:cover}.kgm-photo.empty{display:flex;align-items:center;justify-content:center;color:#8592a5}.kgm-content{padding:16px}.kgm-content h3{margin:8px 0}.kgm-content p{margin:7px 0;font-size:13px}.kgm-content select{margin:10px 0}.table td small{display:block;margin-top:3px;color:#748094}.table [data-quick-owner] select{min-width:180px;font-size:13px}[data-modal-row]{cursor:pointer}[data-modal-row]:hover{background:#f5f8fc}.contract{border-bottom:1px solid #e2e7ed;padding:12px 0}.danger{color:#b22b2b!important}.photo-viewer{width:94vw;height:92dvh;max-width:1400px;max-height:95dvh;padding:0;border:0;border-radius:14px;background:#101a2a;color:white}.viewer-tools{height:60px;display:flex;align-items:center;justify-content:center;gap:14px}.viewer-tools button{background:#34445b;color:#fff;border:0;border-radius:8px;padding:8px 16px;cursor:pointer}.viewer-image{height:calc(100% - 60px);overflow:auto;display:flex;align-items:center;justify-content:center}.viewer-image img{max-width:100%;max-height:100%;object-fit:contain}.viewer-image.zoomed{display:block}.viewer-image.zoomed img{max-width:none;max-height:none;width:180%;height:auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden;clip-path:inset(50%)}.muted{color:#738096}.compact-editor .check{display:flex;align-items:center;gap:8px}.compact-editor .check input{width:16px;flex-shrink:0}
@media(max-width:700px){.compact-editor .editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-editor .modal-heading,.compact-editor .modal-body{padding:14px}.compact-editor .span-two{grid-column:1/-1}.fuel-row{grid-template-columns:1fr 1fr}.upload-grid{grid-template-columns:1fr}.resource-row{flex-wrap:wrap}.shift-totals{gap:12px}.shift-totals b{font-size:18px}.kgm-grid{grid-template-columns:1fr}.compact-editor .modal-footer .muted{display:none}#dispatch-dialog{max-width:96vw;max-height:94dvh}.photo-viewer{width:98vw}.viewer-tools{gap:5px}.viewer-tools button{padding:8px 12px}}

.compact-editor .additional-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.dispatch-mode .filters select{flex:0 1 230px;width:230px;min-width:0;max-width:100%}.dispatch-mode .filters input[name=q]{flex:1 1 240px;min-width:180px;width:auto}.dispatch-mode .filters label{margin:0}.dispatch-mode .filters label input{min-width:0;width:auto}.dispatch-mode .table td{max-width:350px;overflow-wrap:anywhere}@media(max-width:700px){.dispatch-mode .filters select{flex:1 1 180px}.dispatch-mode .filters input[name=q]{flex-basis:100%}}

/* Shared v042 typography and compact account forms. */
@font-face{font-family:Roboto;src:url('/static/fonts/roboto-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap}
.login-mode{background:#fff;font-family:Roboto,Arial,sans-serif}.login-mode main{min-height:94dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.login-mode footer{display:none}.login-mode .notice{max-width:390px;width:100%}.auth-card{width:min(100%,390px);padding:20px 12px 24px}.auth-mark{width:51px;height:51px;border-radius:14px;background:#15293b;color:#fff;font-size:32px;font-weight:800;display:grid;place-items:center;margin:0 auto 16px}.auth-card h1{text-align:center;font-size:26px;letter-spacing:-.3px;margin:0;font-weight:750}.auth-subtitle{text-align:center;margin:6px 0 28px;font-size:14px;color:#6b7280}.auth-card form{display:grid;gap:10px}.auth-card label{font-weight:600;font-size:13px;margin:5px 0 0}.auth-card input{height:46px;border:1px solid #d1d5db;border-radius:9px;padding:0 12px;font-size:15px;color:#111827;background:#fff}.auth-submit{background:#142d44;color:#fff;border:0;border-radius:9px;padding:12px 18px;font-size:15px;font-weight:700;cursor:pointer;margin-top:12px;min-height:46px}.auth-submit:hover{background:#1d4565}.auth-hint{font-size:12px;text-align:center;margin-top:22px;color:#7b8794}.compact-editor.account-editor{max-width:480px;margin:40px auto}.compact-editor .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-editor .account-grid label:last-child{grid-column:1/-1}.compact-editor .account-grid input{width:100%}.compact-editor .modal-body>p:first-child{margin-top:0}.compact-editor .candidate{margin:8px 0;padding:12px}.compact-editor .candidate input{flex-shrink:0}.compact-editor .candidate small{font-weight:400}.compact-editor .candidate span{overflow-wrap:anywhere}.compact-editor .candidate:has(input:checked){border-color:#4167ba;background:#f2f6ff}.compact-editor .modal-footer{position:sticky;bottom:-1px;background:#fff;z-index:1;padding-bottom:8px}.compact-editor .modal-heading{position:sticky;top:0;background:white;z-index:2}.compact-editor a.button{text-align:center}@media(max-width:550px){.compact-editor .account-grid{grid-template-columns:1fr}.compact-editor.account-editor{margin:20px auto}.compact-editor .modal-footer{gap:8px}.compact-editor .modal-footer button,.compact-editor .modal-footer .button{padding:10px 12px}}

.incoming-list{display:grid;gap:12px;margin:16px 0}.incoming-card{padding:18px;border:1px solid #e5e8ed;border-radius:10px;background:#fff}.incoming-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}.incoming-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.incoming-head strong{font-size:16px}.incoming-head span{font-size:12px;color:#7c8593;white-space:nowrap}.incoming-card h2{font-size:16px;margin:8px 0}.incoming-card .incoming-note{color:#202c3b;white-space:pre-wrap}.incoming-card p{margin:6px 0}.incoming-photos{display:flex;gap:8px;max-width:270px;flex-wrap:wrap}.incoming-photos img{width:100px;height:86px;object-fit:cover;border-radius:8px}.incoming-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:12px}.incoming-controls label{margin:0;flex:0 1 50%;min-width:200px;max-width:580px;font-weight:400;color:#687483}.incoming-controls select{width:100%;color:#263244}.incoming-decisions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.incoming-result{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px;border-radius:8px;margin-top:16px}.incoming-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.incoming-facts span{font-size:12px;padding:5px 8px;background:#f4f6f9;border-radius:5px}.incoming-workspace .empty-state{padding:70px 20px;text-align:center;border:1px solid #e5e8ed;border-radius:10px;color:#7c8593}.compact-editor.decision-editor{max-width:580px}#dispatch-dialog:has(.decision-editor){max-width:600px}.incoming-card .incoming-decisions .button{padding:10px 14px}.incoming-card .danger{font-size:12px}@media(max-width:700px){.incoming-main{grid-template-columns:1fr}.incoming-controls label{flex-basis:100%;max-width:none}.incoming-head{align-items:flex-start}.incoming-head strong{font-size:14px}.incoming-card{padding:14px}.incoming-workspace .title{align-items:flex-start}.incoming-photos{max-width:100%}}

.report-export{display:flex;gap:8px;flex-wrap:wrap}.report-title{margin-bottom:18px}.report-work-types{display:flex;gap:20px;border:1px solid #e3e7ec;border-radius:9px;padding:10px 16px;margin:16px 0}.report-work-types legend{font-size:12px;color:#6f7c8b;padding:0 6px}.report-work-types label{font-weight:500;margin:4px 0}.report-work-types small{display:inline;margin:0;font-size:11px}.report-filter-grid{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:16px;border:1px solid #e3e7ec;border-radius:9px}.report-filter-grid label{margin:0;flex:1 1 150px;min-width:0}.report-filter-grid label.report-party{flex:2 1 250px;min-width:0}.report-filter-grid select,.report-filter-grid input{width:100%;min-width:0}.report-summary{display:flex;gap:12px 24px;flex-wrap:wrap;margin:18px 0;padding:18px;border:1px solid #e2e7ec;border-radius:10px;background:#f9fafc}.report-summary span{font-size:12px;color:#6a7787}.report-summary b{color:#203044;font-size:17px;margin-left:5px}.report-info{background:#f5f8fc;border-left:3px solid #9aafc9;padding:12px 16px}.report-table table{min-width:2300px}.report-table td{min-width:110px;max-width:270px}.report-table td:nth-child(4),.report-table td:nth-child(13){min-width:200px;white-space:pre-wrap}.report-table .button{margin-top:10px;padding:6px 10px;font-size:12px}.report-photo{width:100%;max-height:300px;object-fit:contain;border-radius:8px}.report-rules{border-top:1px solid #e4e9ee;padding-top:16px;max-width:1000px}.report-rules p{line-height:1.6}.upload-grid figure{margin:0}.compact-editor fieldset legend{font-size:15px;font-weight:600;margin:12px 0}.report-filter-grid>a{font-size:12px;align-self:center}@media(max-width:700px){.report-work-types{flex-wrap:wrap;gap:12px}.report-summary{gap:12px}.report-export .button{font-size:12px}.report-title{align-items:flex-start;gap:12px}.report-filter-grid label{flex-basis:42%}.report-filter-grid label.report-party{flex-basis:100%}}

.compact-editor>.modal-footer{padding:16px 24px}.compact-editor .modal-heading>[data-close]{padding:5px 9px;background:transparent;border:0;color:#718092;font-size:20px;min-height:30px}.dispatch-mode .incoming-workspace .title>.button{background:white;border:1px solid #e2e6ec;padding:12px 16px;border-radius:8px;color:#303c49}.worker-reference{font-size:12px;margin:6px 0}.worker-reference summary{padding:5px 0}
/* V13: matching, touch-friendly camera and gallery actions in every photo field. */
.photo-picker{display:flex;flex-direction:column;gap:8px;position:relative;min-width:0;width:100%;margin-top:8px}.photo-picker-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-picker .photo-source{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1 1 100px;min-height:44px;padding:10px 12px;border:1px solid #d5deea;border-radius:8px;background:#f4f7fb;color:#345271;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.photo-picker .photo-source svg{width:20px;height:20px;flex:none}.photo-picker .photo-source:hover{background:#eaf1fa}.photo-picker .photo-source:focus-visible{outline:3px solid #5980c0;outline-offset:2px}.photo-picker .photo-source:disabled{opacity:.5;cursor:default}.photo-picker .photo-file-input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0;clip-path:inset(50%);overflow:hidden}.photo-picker small{overflow-wrap:anywhere}.photo-picker img[data-local-preview]{width:100%;max-height:200px;object-fit:contain;border-radius:8px}.order-photo-strip{margin:16px 0}.order-photo-strip .photos,.request-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.order-photo-strip img,.request-photos img{width:100%;height:160px;object-fit:contain;border-radius:8px;background:#f4f6f8}.order-photo-strip a{font-size:12px;color:#526071;text-decoration:none}.order-photo-strip span{display:block;margin-top:6px}.driver-reset-form{display:flex;gap:12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #e4e8ee}.driver-reset-form .danger-solid{background:#c63d40;color:#fff;border:1px solid #b93336;min-height:44px;padding:10px 18px;border-radius:8px}.driver-reset-form .danger-solid:hover{background:#ad3034}.driver-reset-form small{color:#718092;line-height:1.4}.driver-mode .compact-editor .driver-volume{grid-column:1/-1;font-size:15px}.driver-mode .compact-editor .driver-volume input{height:58px;font-size:24px;font-weight:600;padding:12px 14px}.driver-mode .photo-picker .photo-source{font-size:14px}.driver-mode .request-photos img{height:180px}
@media(max-width:650px){.driver-mode .upload-grid:has(.photo-picker){grid-template-columns:1fr}.driver-mode .upload-slot:has(.photo-picker){padding:12px;font-size:14px}.driver-mode .upload-slot:has(.photo-picker) img{height:160px}.driver-mode .upload-slot:has(.photo-picker) small{font-size:12px}.photo-picker .photo-source{flex-basis:100px}.driver-reset-form{align-items:flex-start}}
.compact-editor .photos.request-photos img,.compact-editor .order-photo-strip .photos img{width:100%;height:160px;object-fit:contain;background:#f4f6f8}
.compact-editor .photos.request-photos a,.compact-editor .order-photo-strip .photos a{min-width:0;width:100%}
.driver-mode .driver-result-context{gap:5px;padding-bottom:12px;margin-bottom:12px}
.driver-mode .driver-result-context p{margin:3px 0;line-height:1.35}
.cash-badge{display:inline-block;max-width:100%;padding:4px 7px;margin:4px 0;border-radius:6px;font-size:12px;line-height:1.35;font-weight:600;white-space:normal;overflow-wrap:anywhere}.cash-received{background:#e6f5eb;color:#226b3a}.cash-later{background:#fff0d5;color:#8b5200}.cash-pending{background:#f0f3f7;color:#566477}.td-payment .cash-badge{font-size:11px;padding:2px 4px}.cash-choices{min-width:0;margin:18px 0;padding:14px;border:1px solid #dce3eb;border-radius:12px;background:#f8fafc}.cash-choices legend{padding:0 6px;font-size:16px;font-weight:700}.cash-choices>p{font-size:14px;line-height:1.45;margin:0 0 12px;color:#566477}.cash-choices .cash-choice{display:flex;align-items:center;gap:12px;margin:8px 0 0;padding:14px 12px;min-height:64px;border:1px solid #d3dce5;border-radius:10px;background:#fff;cursor:pointer}.cash-choices .cash-choice input{flex:none;width:22px;height:22px;min-height:22px;margin:0;accent-color:#258043}.cash-choice span{display:flex;flex-direction:column;gap:5px;min-width:0}.cash-choice b{font-size:15px}.cash-choice small{font-size:12px;line-height:1.4;color:#637184}.cash-choice-received:has(input:checked){border-color:#419358;background:#eaf7ee}.cash-choice-later:has(input:checked){border-color:#c88a22;background:#fff4df}.cash-choice:focus-within{outline:2px solid #587bb4;outline-offset:2px}.cash-confirmed{display:flex;flex-direction:column;gap:6px;margin:16px 0;padding:14px;border-radius:10px;background:#e6f5eb;color:#226b3a}.cash-confirmed small{line-height:1.4}.equipment-payment{padding:14px 0;margin-top:12px;border-top:1px solid #e4e8ee}.equipment-payment button{min-height:44px}
.cash-choices .cash-choice{flex-direction:row}

[data-cash-paid][hidden]{display:none!important}
/* Upload feedback fits inside both desktop and mobile photo controls. */
.photo-upload-progress{display:grid;gap:8px;width:100%;min-width:0;margin-top:10px;padding:12px;border:1px solid #d6e8da;border-radius:12px;background:#f4faf6;box-sizing:border-box}
.photo-upload-progress[hidden],.photo-upload-progress [hidden]{display:none!important}
.photo-upload-message{font-size:14px;font-weight:600;color:#28713b;overflow-wrap:anywhere}
.photo-upload-progress progress{display:block;width:100%;height:9px;accent-color:#23843d;border:0;border-radius:8px;overflow:hidden}
.photo-upload-progress progress::-webkit-progress-bar{background:#dce9df;border-radius:8px}
.photo-upload-progress progress::-webkit-progress-value{background:#23843d;border-radius:8px}
.photo-upload-size{font-size:12px;color:#627269;overflow-wrap:anywhere}
.photo-upload-progress.has-error{background:#fff8f2;border-color:#e8c6a4}
.photo-upload-progress.has-error .photo-upload-message{color:#974d13}
.photo-upload-progress .photo-upload-retry{min-height:44px;margin:0;width:100%}
/* Actual driver values stay visible when a dispatcher opens a container request. */
.dispatch-execution-summary{margin:0 0 18px;padding:14px 16px;background:#f4f7fb;border:1px solid #dce5ef;border-radius:12px}
.execution-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.compact-editor .execution-summary-heading h3{font-size:14px;line-height:1.3;margin:0;color:#263e58}
.execution-summary-heading>span{font-size:12px;color:#60748b}
.dispatch-execution-summary dl{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:14px;margin:0}
.dispatch-execution-summary dl>div{min-width:0}
.dispatch-execution-summary dt{margin:0 0 5px;font-size:12px;color:#65768a}
.dispatch-execution-summary dd{margin:0;font-size:19px;font-weight:600;line-height:1.3;color:#1e334c;overflow-wrap:anywhere}
.dispatch-execution-summary dd>span{font-size:14px;font-weight:400}
@media(max-width:600px){.dispatch-execution-summary{padding:12px}.dispatch-execution-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dispatch-execution-summary dl>div:first-child{grid-column:1/-1}.dispatch-execution-summary dd{font-size:18px}}
