:root{--brand:#00333c;--green:#00843d;--gray:#4d4d4d;--line:#dde5e6;--red:#fce6e7;--amber:#fff0c9}*{box-sizing:border-box}body{margin:0;background:#f3f6f6;color:#20363b;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{height:88px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}header img{width:360px;height:86px;object-fit:contain}.identity{font-size:10px;letter-spacing:1.1px;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--green);border-radius:50%}.user{font-size:12px;letter-spacing:0;margin-left:18px;border-left:1px solid var(--line);padding-left:20px}main{padding:30px 38px;max-width:1900px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 8px}h1{margin:0;font-size:32px;font-weight:650;letter-spacing:-1px}h1 span{font-weight:350;color:#60777b}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd6d8;border-radius:6px;background:white;color:var(--brand);padding:9px 14px}button:hover{background:#edf3f3}button:disabled{opacity:.5;cursor:default}.primary{background:var(--brand);color:white;border-color:var(--brand);padding:12px 18px}.primary:hover{background:#07515d}input:not([type=checkbox]),select,textarea{border:1px solid #cbd6d8;border-radius:5px;padding:9px;color:#20363b;background:white}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;vertical-align:middle}.summary{display:flex;gap:0;margin:0 0 26px}.summary>div{min-width:170px;border-left:3px solid #d3e3dd;padding:3px 24px 3px 15px}.summary b{font-size:30px;display:block;font-weight:550}.summary span{font-size:12px;color:#65787c}.summary p{margin-left:auto;font-size:12px;line-height:1.8;color:#496369}.summary small{color:#778b8f}.workspace{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 3px 16px #183b3c05}.toolbar,.filters,.selection,footer{display:flex;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line)}.toolbar{justify-content:space-between;padding-bottom:0;padding-top:8px}nav{display:flex;gap:26px}nav button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:17px 0;font-weight:700;color:#708488}nav button span{font-size:12px;font-weight:400;margin-left:5px}nav button.active{border-color:var(--green);color:var(--brand)}#search{width:320px}.filters label{color:#65787c;font-size:12px}.filters button:first-of-type{margin-left:auto}.selection{background:#f8fafa;padding:9px 20px;font-size:12px}.selection button{padding:5px 10px;font-size:12px}.selection span{margin-left:auto;color:#6f8387}.tablewrap{overflow:auto;min-height:290px;max-height:58vh}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{background:#f0f5f5;position:sticky;top:0;z-index:1;white-space:nowrap;padding:13px 12px;border-bottom:1px solid var(--line);cursor:grab}td{padding:12px;border-bottom:1px solid #e9efef;min-width:105px;max-width:260px;white-space:pre-line;overflow-wrap:anywhere}td:first-child{min-width:40px}td button{padding:4px;font-size:12px;border:0;color:#006f40;font-weight:600}.reminder{background:var(--red)}#empty{padding:52px 25px;text-align:center;color:#496369}#empty h2{font-size:20px;font-weight:500}#empty p{font-size:13px}.muted{color:#74878a;font-size:12px}footer{border:0;justify-content:space-between;font-size:11px;color:#6b8084}.legend{display:inline-block;width:9px;height:9px;border:1px solid #d6b8ae;margin:0 5px 0 14px}.red{background:var(--red)}.amber{background:var(--amber)}.footnote{font-size:11px;color:#7a8e92}#notice{position:sticky;bottom:15px;color:#006e38;background:#eef6f0;padding:10px;display:none}dialog{width:min(1100px,95vw);max-height:90vh;border:1px solid var(--line);border-radius:12px;padding:25px;color:#20363b}dialog::backdrop{background:#15383e66}.dialoghead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialoghead h2{font-size:21px;margin:0}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.formgrid label{display:flex;flex-direction:column;gap:6px;font-size:12px}.formgrid textarea{height:70px}.actions{display:flex;gap:10px;margin-top:22px}.warning{background:var(--amber);padding:12px;line-height:1.6;border-radius:6px}.diff td{background:var(--amber)}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.source{display:block;margin:12px 0;color:var(--green)}pre{white-space:pre-wrap;max-height:180px;overflow:auto;font-size:11px;background:#f4f7f7;padding:12px}.error{color:#a52631;background:#feecee;padding:10px}a{color:#007340}@media(max-width:850px){header{padding:0 15px}header img{width:260px}.identity{font-size:9px}.user{display:none}main{padding:22px 15px}.summary>div{min-width:110px}.summary p{display:none}.filters{flex-wrap:wrap}.selection span{display:none}nav{gap:18px}nav button span{display:none}.formgrid,.columns{grid-template-columns:repeat(2,1fr)}h1{font-size:26px}}

/* Real shipment identifiers stay intact; company names get readable widths. */
td[data-field="job_no"]{min-width:145px;white-space:nowrap}td[data-field="job_no"] button{white-space:nowrap}td[data-field="shipper"],td[data-field="consignee"]{min-width:210px}td[data-field="containers"]{min-width:145px;white-space:pre}td[data-field="mbl"],td[data-field="hbl"]{min-width:180px;white-space:nowrap}

/* Keep route names intact regardless of column order. */
td[data-field="pol"],td[data-field="pod"],td[data-field="final_destination"]{min-width:160px;max-width:none;white-space:nowrap;overflow-wrap:normal}

#jobs thead{position:sticky;top:0;z-index:2}#jobs thead th{position:static}
#jobs .column-filters th{padding:9px 10px;background:#f8fafa;cursor:default;vertical-align:middle}
.column-filters input,.column-filters select{display:block;box-sizing:border-box;width:100%;min-width:85px;max-width:100%;height:32px;padding:6px 8px!important;font-size:12px;background:white;border:1px solid #cbd6d8;border-radius:5px}
.column-filters input[type="date"]{min-width:135px}.column-filters select{min-width:105px}
[hidden]{display:none!important}

.email-select-all{display:flex;gap:7px;align-items:center;cursor:pointer}.date-sort-buttons{display:inline-flex;gap:3px;margin-left:8px}.date-sort-buttons button{padding:2px 6px;min-width:24px;font-size:13px;line-height:20px;background:white}.date-sort-buttons button[aria-pressed="true"]{background:var(--brand);color:white;border-color:var(--brand)}

.reminder-counters{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:10px}.counter{text-align:left;padding:14px;background:white;border-top:3px solid #db8b9e}.counter span{display:block;font-size:12px;font-weight:600}.counter b{display:block;font-size:27px;margin:7px 0}.counter small{font-size:10px;color:#64787b}.counter.has-urgent{border-top-color:#b52843}.counter[aria-pressed="true"]{outline:2px solid #b52843;background:#fff0f3}.reminder-reminder{background:#fff0f4}.reminder-urgent{background:#f8ced8;box-shadow:inset 3px 0 #b52843}.reminder-ready{background:#e4edf9;box-shadow:inset 3px 0 #546fa3}#reminder-scope{margin:10px 0 20px}@media(max-width:1000px){.reminder-counters{grid-template-columns:repeat(3,1fr)}}

/* Compact heading and left-hand view navigation. */
.heading{margin-bottom:18px;gap:16px}.title-line{display:flex;align-items:center;gap:18px}.title-line .eyebrow{margin:0;white-space:nowrap}.title-line h1{font-size:27px}.workspace-layout{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;align-items:start}.workspace{min-width:0}.view-sidebar nav{display:flex;flex-direction:column;gap:6px}.view-sidebar nav button{text-align:left;padding:14px 10px;border:1px solid var(--line);border-left:3px solid transparent;border-radius:6px;background:white}.view-sidebar nav button.active{border-left-color:var(--green);background:#eaf2ee}.view-sidebar nav button span{display:block;font-size:10px;margin:5px 0 0}.filters{gap:10px;flex-wrap:wrap;padding:12px}.filters #search{width:240px;max-width:100%}.filters button{white-space:nowrap}.selection{flex-wrap:wrap;gap:10px;padding:9px 12px}.selection span{font-size:10px}.pagination{display:flex;align-items:center;gap:8px;white-space:nowrap}.pagination select{padding:4px 8px!important}.pagination button{padding:3px 9px}footer{flex-wrap:wrap;gap:12px;padding:10px 12px}.tablewrap{max-height:65vh}@media(max-width:850px){.workspace-layout{grid-template-columns:85px minmax(0,1fr)}.title-line{gap:10px}.title-line h1{font-size:22px}.title-line .eyebrow{font-size:9px}.heading .primary{padding:9px;font-size:11px}.view-sidebar nav button span{display:block}} 

/* Balanced title and compact view tabs. */
.title-line{gap:14px}.title-line .eyebrow{font-size:21px;letter-spacing:.3px;font-weight:600;line-height:1.2;text-transform:none}.title-line h1{font-size:25px;line-height:1.2;letter-spacing:-.6px}.workspace-layout{grid-template-columns:92px minmax(0,1fr);gap:10px}.view-sidebar nav{gap:5px}.view-sidebar nav button{padding:10px 8px;font-size:13px}.view-sidebar nav button span{font-size:9px;margin-top:4px;white-space:nowrap}@media(max-width:850px){.workspace-layout{grid-template-columns:82px minmax(0,1fr);gap:8px}.title-line{gap:10px}.title-line .eyebrow{font-size:17px}.title-line h1{font-size:21px}.view-sidebar nav button{padding:9px 6px}}@media(max-width:560px){.heading{flex-wrap:wrap}.title-line .eyebrow{font-size:16px}.title-line h1{font-size:20px}}

/* One title beside the logo; horizontal view navigation above the counters. */
header{gap:20px;padding:0 38px}.brand-heading{display:flex;align-items:center;gap:24px;min-width:0}.brand-heading img{width:280px;flex-shrink:0}.brand-heading .app-title{font-size:22px;line-height:1.25;font-weight:600;letter-spacing:0;color:var(--brand);margin:0}.identity{flex-shrink:0}.workspace-layout{display:block}.heading{margin-bottom:18px}.view-tabs nav{display:flex;flex-direction:row;gap:8px}.view-tabs nav button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-bottom:3px solid transparent;border-radius:6px;background:white;padding:10px 15px;font-size:13px;color:#60777b}.view-tabs nav button span{display:inline;margin:0;font-size:11px;font-weight:400}.view-tabs nav button.active{border-bottom-color:var(--green);color:var(--brand);background:#eaf2ee}@media(max-width:1000px){header{padding:0 20px;gap:12px}.brand-heading{gap:16px}.brand-heading img{width:240px}.brand-heading .app-title{font-size:20px}.identity{font-size:8px;letter-spacing:.4px}.identity .user{display:none}}@media(max-width:700px){header{height:auto;min-height:88px;flex-wrap:wrap;padding:8px 15px;gap:0}.brand-heading{gap:12px}.brand-heading img{width:180px;height:65px}.brand-heading .app-title{font-size:17px}.identity{margin-left:auto;margin-bottom:6px}.view-tabs nav{gap:5px}.view-tabs nav button{padding:9px;font-size:12px}.view-tabs nav button span{font-size:10px}} 

.pdf-drop-zone{margin-top:20px;padding:28px 20px;text-align:center;border:2px dashed #9cb5ba;border-radius:9px;background:#f5f9f9}.pdf-drop-zone strong{font-size:17px}.pdf-drop-zone p{color:#60777b}.pdf-drop-zone input{max-width:100%}.drop-active,#upload.drop-active{background:#e4f1e9;color:var(--brand);outline:3px solid var(--green);outline-offset:3px}.pdf-drop-zone.drop-active{border-color:var(--green)}#pdf-chosen{overflow-wrap:anywhere;font-weight:600}

.upload-actions{display:flex;align-items:center;gap:10px}.quick-pdf-drop{border:2px dashed #9cb5ba;border-radius:6px;padding:12px 18px;color:#60777b;font-size:12px;background:#f8fbfb;white-space:nowrap}.quick-pdf-drop.drop-active{background:#e4f1e9;border-color:var(--green)}.action-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#f8fafa}.action-toolbar button{font-size:12px;padding:7px 10px}.action-toolbar strong{font-size:12px;margin-right:4px}.action-toolbar #columns{margin-left:auto}dialog.compact-upload{width:min(580px,95vw)}.compact-upload .pdf-drop-zone{padding:14px;margin-top:14px}.compact-upload .pdf-drop-zone strong{font-size:14px}.compact-upload .pdf-drop-zone p{margin:8px 0}@media(max-width:700px){.heading{flex-wrap:wrap}.upload-actions{flex-wrap:wrap}.action-toolbar #columns{margin-left:0}}

/* All list actions share one compact toolbar. */
.action-toolbar{gap:6px}.action-toolbar #search{width:200px;min-width:140px;flex:1 1 160px;font-size:12px;padding:7px 8px}.action-toolbar>label{font-size:11px;white-space:nowrap;margin-right:5px}.action-toolbar button{padding:7px 8px;font-size:11px;white-space:nowrap}.action-toolbar strong{font-size:11px;white-space:nowrap}.action-toolbar #columns{margin-left:0}

/* Equal dimensions for every list action button. */
.action-toolbar button{width:96px;min-width:96px;height:34px;flex:0 0 96px;padding:0 6px;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.action-toolbar #search{min-width:140px}.action-toolbar{gap:6px}

.delete-action{color:#a52631;border-color:#d9a6ad}.action-toolbar{overflow-x:auto;flex-wrap:nowrap}.action-toolbar #search{flex:1 0 140px}

#deleted-search-results{padding:14px 18px;background:#fff4f4;border-bottom:1px solid #e2c5ca}#deleted-search-results>div{padding-top:9px}#deleted-search-results button{padding:5px 10px;margin-left:10px;font-size:12px}.deleted-label{color:#a52631;font-weight:600}

/* Authentication surfaces reuse the PDQ branding without changing job layout. */
.auth-main{max-width:680px;margin:40px auto}.auth-card{background:white;padding:32px;border:1px solid var(--line);border-radius:12px}.auth-card form{display:grid;gap:16px;margin-top:24px}.auth-card label{display:grid;gap:7px}.auth-card input,.auth-card select{width:100%}.auth-card button{justify-self:start}.admin-card{max-width:1100px;margin:auto}.admin-card input[type=checkbox]{width:auto}.identity a,.identity button{font-size:12px;letter-spacing:0}.identity a[hidden],.identity button[hidden]{display:none}

/* Responsive operations layout. Widths/order/visibility remain independent of user preferences. */
.jobs-page main{max-width:none;padding:14px 16px}
.jobs-page header{height:72px;padding:0 16px;gap:16px}
.jobs-page .brand-heading{gap:16px}.jobs-page .brand-heading img{width:240px;height:70px}
.jobs-page .brand-heading .app-title{font-size:20px}
.jobs-page .heading{margin-bottom:10px;gap:10px;flex-wrap:wrap}
.jobs-page .view-tabs nav{flex-wrap:wrap}.jobs-page .view-tabs nav button{padding:7px 12px}
.jobs-page .upload-actions{flex-wrap:wrap;gap:8px}.jobs-page .quick-pdf-drop{padding:8px 12px}
.jobs-page .primary{padding:9px 14px}
.jobs-page .reminder-counters{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:8px}
.jobs-page .counter{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;row-gap:3px;padding:8px 10px;border-top-width:2px;min-width:0}
.jobs-page .counter span{font-size:12px;line-height:1.3}.jobs-page .counter b{font-size:24px;line-height:1;margin:0;grid-column:2;grid-row:1 / span 2}
.jobs-page .counter small{font-size:10px;line-height:1.3;grid-column:1}
#jobs .status-heading{border:0;background:transparent;padding:0;min-height:24px;font:inherit;font-weight:inherit;cursor:help}
.jobs-page .action-toolbar{flex-wrap:wrap;overflow:visible;padding:8px;gap:6px}
.jobs-page .action-toolbar button{width:auto;min-width:0;flex:0 0 auto;height:32px;padding:0 9px}
.jobs-page .action-toolbar #search{flex:1 1 220px;min-width:160px;max-width:400px}
.jobs-page .tablewrap{min-height:240px;max-height:calc(100dvh - 300px);overscroll-behavior-x:contain}
#jobs{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:0;font-size:12px}
#jobs th,#jobs td{padding:5px 6px;min-width:0;max-width:none;line-height:1.35}
#jobs td{height:34px;white-space:normal}
#jobs th{padding-top:7px;padding-bottom:7px}
#jobs .column-filters th{padding:4px 5px}
#jobs .column-filters input,#jobs .column-filters select{min-width:0;width:100%;height:28px;padding:3px 4px!important;font-size:11px}
#jobs [data-field="job_no"]{white-space:nowrap;overflow-wrap:normal}
#jobs td[data-field="shipper"],#jobs td[data-field="consignee"]{min-width:0}
#jobs td[data-field="pol"],#jobs td[data-field="pod"],#jobs td[data-field="final_destination"]{min-width:0;white-space:normal;overflow-wrap:anywhere}
#jobs td[data-field="containers"]{min-width:0;white-space:pre-wrap}
#jobs td[data-field="mbl"],#jobs td[data-field="hbl"]{min-width:0;white-space:normal;overflow-wrap:anywhere}
#jobs :is([data-field="aes"],[data-field="si"],[data-field="mbl_pay"],[data-field="do"],[data-field="dn_inv"],[data-field="pa_ti"],[data-field="mbl_tlx"],[data-field="hbl_tlx"],[data-field="rxp"],[data-field="closed"]){text-align:center;padding-left:3px;padding-right:3px}
#jobs .check-target{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;cursor:pointer}
#jobs input[type="checkbox"]{width:18px;height:18px;margin:0;cursor:pointer}
#jobs .email-select-all{gap:3px;font-size:11px;min-height:28px}
#jobs .date-sort-buttons{gap:2px;margin-left:3px}#jobs .date-sort-buttons button{min-width:18px;padding:0 2px;line-height:20px;font-size:12px}
.jobs-page footer{padding:7px 10px;gap:8px}.jobs-page .footnote{margin:8px 0}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:1199px){
 .jobs-page .reminder-counters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .jobs-page header{height:auto;min-height:72px;flex-wrap:wrap;padding:6px 12px}
 .jobs-page .brand-heading{gap:10px}.jobs-page .brand-heading img{width:200px;height:60px}
 .jobs-page main{padding:12px}.jobs-page .tablewrap{max-height:60dvh}
 .jobs-page .action-toolbar button,.jobs-page .view-tabs nav button,.jobs-page .upload-actions button{min-height:40px}
 .jobs-page .action-toolbar label{display:flex;align-items:center;gap:5px;min-height:40px}
 .jobs-page .action-toolbar #search{height:40px}
 #jobs .check-target{min-width:40px;min-height:40px}#jobs td[data-field="job_no"] button{min-height:40px}
}
@media(max-width:799px){
 .jobs-page .reminder-counters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .jobs-page .brand-heading .app-title{font-size:17px}.jobs-page .brand-heading img{width:170px}
 .jobs-page .identity{margin-left:0;flex-wrap:wrap;gap:10px}
 .jobs-page .action-toolbar #search{max-width:none;flex-basis:100%}
 .jobs-page .quick-pdf-drop{white-space:normal}.jobs-page main{padding:10px}
}
@media(pointer:coarse){#jobs .check-target{min-width:40px;min-height:40px}.jobs-page button,.jobs-page summary{min-height:40px}}

/* Operations console: fixed controls and one internal scrolling jobs viewport. */
.jobs-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden;font-family:"Segoe UI",Arial,sans-serif;font-size:12px}
.jobs-page header{height:48px;min-height:48px;padding:0 10px;gap:12px;flex-shrink:0}
.jobs-page .brand-heading{gap:12px}.jobs-page .brand-heading img{width:168px;height:44px}
.jobs-page .brand-heading .app-title{font-size:15px;font-weight:650;text-transform:uppercase;white-space:nowrap}
.jobs-page .identity{font-size:12px;letter-spacing:0;gap:9px}.jobs-page .identity .user{display:inline;margin:0;padding:0;border:0}
.jobs-page main{width:100%;margin:0;flex:1;min-height:0;display:flex;flex-direction:column;padding:6px 10px;gap:6px}
.jobs-page .heading{justify-content:flex-start;flex-shrink:0;gap:12px;margin:0}
.jobs-page .view-tabs nav{gap:4px}.jobs-page .view-tabs nav button{padding:4px 9px;min-height:30px;gap:5px;font-size:12px}
.jobs-page .view-tabs nav button span{font-size:11px}
.jobs-page .upload-actions{gap:6px}.jobs-page .upload-actions button,.jobs-page .quick-pdf-drop{padding:4px 9px;min-height:30px;font-size:12px}
.jobs-page .reminder-counters{gap:6px;margin:0;flex-shrink:0}
.jobs-page .counter{height:46px;padding:4px 8px;row-gap:0;column-gap:6px}
.jobs-page .counter span{font-size:11px;font-weight:600}.jobs-page .counter b{font-size:23px}.jobs-page .counter small{font-size:10px;line-height:1.2}
.jobs-page .workspace-layout{display:flex;align-items:stretch;flex:1;min-height:0}.jobs-page .workspace{display:flex;flex-direction:column;flex:1;min-height:0;border-radius:5px}
.jobs-page .action-toolbar{flex-shrink:0;gap:5px;padding:5px 6px}
.jobs-page .action-toolbar #search{width:280px;flex:0 1 280px;max-width:320px;min-width:180px;height:30px;padding:4px 7px;font-size:12px}
.jobs-page .action-toolbar button{height:30px;padding:0 8px;font-size:12px}
.jobs-page .action-toolbar strong,.jobs-page .action-toolbar>label{font-size:12px;margin:0}
.jobs-page :is(header a,header button,nav button,.action-toolbar button,.upload-actions button,.quick-pdf-drop,.counter span,.pagination label,.layout-profiles button,.layout-profiles h3,.layout-profiles label,.layout-manager li label span){text-transform:uppercase;font-weight:600}
.jobs-page .tablewrap{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
#jobs td{height:32px;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;line-height:1.25}
#jobs th{font-size:12px;padding:4px;line-height:1.2;text-transform:uppercase;height:30px;overflow:hidden;text-overflow:ellipsis}
#jobs .column-filters th{padding:3px;height:31px}#jobs .column-filters :is(input,select){height:25px;padding:2px!important;font:11px "Segoe UI",Arial,sans-serif}
#jobs .date-sort-buttons{margin-left:2px;gap:1px}#jobs .date-sort-buttons button{min-width:13px;padding:0;font-size:11px;line-height:18px}
#jobs .check-target{min-width:28px;min-height:28px}#jobs input[type=checkbox]{width:17px;height:17px}
#jobs .cell-value{display:block;width:100%;min-width:0;min-height:28px;padding:2px 0;background:transparent;border:0;border-radius:0;text-align:left;color:inherit;font:inherit;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}
#jobs .cell-value:hover{background:#eaf2f255}#jobs td[data-field=job_no] button{font:inherit;font-weight:600;white-space:nowrap;padding:2px 0;min-height:28px}
#jobs .email-select-all{justify-content:center;flex-direction:column;gap:0;font-size:9px;line-height:10px}
#jobs td:is([data-field=pol],[data-field=pod],[data-field=final_destination],[data-field=mbl],[data-field=hbl],[data-field=containers]){white-space:nowrap;overflow-wrap:normal}
.jobs-page footer{flex-shrink:0;min-height:29px;padding:3px 7px;gap:6px;font-size:11px}.jobs-page .pagination{gap:5px}.jobs-page .pagination select{padding:2px 4px!important}
.jobs-page .footnote{margin:0;font-size:10px;line-height:12px;flex-shrink:0}
.jobs-page #notice{position:fixed;bottom:12px;left:12px;z-index:20;max-width:calc(100vw - 24px);margin:0;padding:8px 12px;box-shadow:0 2px 10px #183b3c22}
.layout-dialog{width:min(900px,96vw);padding:18px}.layout-dialog .dialoghead{margin-bottom:10px}.layout-dialog .dialoghead h2{font-size:18px}
.layout-manager{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.layout-manager>div{min-width:0}
#layout-list{list-style:none;padding:0;margin:0;max-height:58dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:5px}
#layout-list li{display:flex;align-items:center;gap:8px;min-height:38px;padding:3px 8px;border-bottom:1px solid var(--line);background:#fff}
.layout-number{width:24px;flex:0 0 24px;color:#65787c;text-align:right;font-variant-numeric:tabular-nums}
#layout-list label{display:flex;align-items:center;gap:9px;flex:1;min-width:0;font-size:12px}#layout-list label span{overflow-wrap:anywhere}
.layout-handle{flex:0 0 36px;min-width:36px;min-height:32px;padding:0;font-size:23px;cursor:grab;touch-action:none;user-select:none}
#layout-list .layout-dragging{background:#e5f2eb;outline:2px solid var(--green)}.layout-dragging .layout-handle{cursor:grabbing}
.layout-profiles h3{font-size:12px;margin:0 0 8px}.layout-profiles label{display:grid;gap:5px;font-size:12px;margin-bottom:8px}
.layout-profiles :is(input,select){width:100%;max-width:100%;font-size:12px;padding:6px}.layout-profiles button{display:block;width:100%;margin:6px 0;padding:7px;font-size:12px}.layout-profiles .muted{line-height:1.4}.layout-profiles hr{border:0;border-top:1px solid var(--line);margin:14px 0}
@media(max-width:1199px){
 .jobs-page header{height:auto;min-height:48px;padding:4px 8px;gap:6px}.jobs-page .brand-heading .app-title{font-size:13px}
 .jobs-page .brand-heading img{width:145px;height:38px}.jobs-page .heading{gap:6px}.jobs-page main{padding:6px 8px}
 .jobs-page .reminder-counters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .jobs-page .action-toolbar button,.jobs-page .action-toolbar #search,.jobs-page .view-tabs nav button,.jobs-page .upload-actions button{min-height:40px;height:40px}
 .jobs-page .action-toolbar label{min-height:40px}#jobs td{height:42px}#jobs .check-target,#jobs .cell-value,#jobs td[data-field=job_no] button{min-height:40px}
 #jobs .check-target{min-width:40px}#jobs :is([data-field=aes],[data-field=si],[data-field=mbl_pay],[data-field=do],[data-field=dn_inv],[data-field=pa_ti],[data-field=mbl_tlx],[data-field=hbl_tlx],[data-field=rxp],[data-field=closed]){padding-left:1px;padding-right:1px}
 .layout-profiles button,.layout-handle{min-height:40px}#layout-list li{min-height:44px}
 .jobs-page footer>span:last-child{display:none}.jobs-page .footnote{display:none}
}
@media(max-width:799px){
 .jobs-page .reminder-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-page .action-toolbar #search{max-width:320px;flex:1 1 260px}
 .jobs-page .brand-heading .app-title{white-space:normal}.jobs-page .identity{margin:0;gap:8px}.jobs-page .brand-heading{gap:8px}
 .jobs-page .view-tabs nav button span{display:none}.layout-manager{grid-template-columns:minmax(0,1fr) 260px;gap:10px}
}
@media(max-width:600px){.layout-manager{grid-template-columns:1fr}#layout-list{max-height:42dvh}.jobs-page header{align-items:flex-start}.jobs-page .identity{flex-wrap:wrap}}
@media(pointer:coarse){#jobs td{height:42px}#jobs .check-target,#jobs .cell-value,#jobs td[data-field=job_no] button{min-height:40px}.layout-handle{min-height:40px;min-width:40px}#layout-list li{min-height:46px}}

/* Shared sticky geometry is applied from columnWidth and visible layout order. */
.jobs-page .tablewrap{background:#fff;isolation:isolate}
#jobs thead{z-index:30;background:#f0f5f5}
#jobs thead th{position:relative;z-index:20;background:#f0f5f5}
#jobs .column-filters th{z-index:40;background:#f8fafa}
#jobs [data-sticky-column]{position:sticky;left:var(--sticky-left);width:var(--sticky-width);min-width:var(--sticky-width);max-width:var(--sticky-width);background:#fff;box-shadow:1px 0 var(--line)}
#jobs tbody [data-sticky-column]{z-index:10}
#jobs thead [data-sticky-column]{position:sticky;z-index:21;background:#f0f5f5}
#jobs .column-filters [data-sticky-column]{z-index:41;background:#f8fafa}
#jobs tbody [data-sticky-column].reminder-reminder{background:#fff0f4}
#jobs tbody [data-sticky-column].reminder-urgent{background:#f8ced8}
#jobs tbody [data-sticky-column].reminder-ready{background:#e4edf9}

/* Selectable table text; lightweight, non-modal full-value explanations. */
#jobs .cell-value{cursor:text;user-select:text;-webkit-user-select:text}
.value-tooltip{position:fixed;z-index:60;max-width:min(320px,calc(100vw - 16px));max-height:min(160px,22vh);overflow:auto;padding:8px 10px;border:1px solid #b9cbce;border-radius:5px;background:#fff;color:#20363b;box-shadow:0 3px 12px #183b3c26;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.4 "Segoe UI",Arial,sans-serif;user-select:text;-webkit-user-select:text}
#jobs input[aria-busy=true]{opacity:.65;cursor:wait}
