:root{font-family:Arial,sans-serif;color:#172b44;background:#f1f5f9;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#122944;color:white;padding:20px 18px}header .head{max-width:1020px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}h1{font-size:25px;margin:0}h1 span{font-size:17px;font-weight:400;margin-left:10px}header p{font-size:12px;margin:9px 0 0;color:#bde0da}header p.offline{color:#ffd19d}main{max-width:1050px;margin:0 auto;padding:18px}h2{font-size:20px;margin:0 0 15px}h3{font-size:17px;margin:0}p{line-height:1.6}button,.filebutton{border:0;border-radius:9px;padding:11px 15px;background:#245a99;color:white;font:inherit;font-weight:600;cursor:pointer;display:inline-block;text-align:center}button:disabled{cursor:wait;opacity:.5}.secondary,.filebutton{background:#e6edf5;color:#234970}.danger{background:#fee2e2;color:#922b2b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f6b646;outline-offset:2px}button:hover:not(:disabled){filter:brightness(.94)}label{display:block;font-size:13px;font-weight:600}input,select{font:inherit;display:block;width:100%;border:1px solid #c7d3df;border-radius:8px;padding:12px;margin:7px 0 13px;min-height:44px;background:white;color:#172b44}.check{display:flex;gap:10px;align-items:center;margin:16px 0}.check input,.statuses input{width:20px;height:20px;min-height:20px;margin:0;display:inline-block;accent-color:#245a99}.card,.group{background:white;border-radius:13px;padding:20px;margin-bottom:16px;border:1px solid #e1e7ee}.narrow{max-width:460px;margin:25px auto}.row{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 6px}.datebar{gap:5px;flex-wrap:nowrap}.datebar input{min-width:0}.datebar button{padding:12px 10px;margin-bottom:6px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stats>div{background:#e1eaf3;border-radius:10px;text-align:center;padding:15px}.stats b{display:block;font-size:27px}.stats span{font-size:12px}.person{display:flex;align-items:center;justify-content:space-between;background:#eaf0f7;padding:15px}.person span{font-size:12px}.group{padding:0;overflow:hidden}.job{padding:19px;border-top:1px solid #d8e0e8;border-left:6px solid #d64b4b}.job.pending{background:#fff3f3}.job.taken{background:#effaf2;border-left-color:#289354}.job.collected{background:#fff5e8;border-left-color:#eb922d}.muted{color:#61748a;font-size:12px}.location{color:#245a99;text-decoration:none;background:#e4edf9;border-radius:7px;padding:8px 12px;display:inline-block;font-size:13px}.address{font-size:11px;color:#61748a;overflow-wrap:anywhere}.statuses{justify-content:flex-start;margin-top:15px}.statuses label{display:flex;gap:9px;align-items:center;background:white;border:1px solid #d2dce7;border-radius:8px;padding:10px 13px;font-size:14px}.tools{justify-content:flex-start;margin-top:14px}.alert{background:#fff7ec;border-color:#f0d7b6}.alert summary{font-weight:bold;cursor:pointer}.pendingrow{display:block;width:100%;text-align:left;background:white;color:#8e4614;margin-top:10px;font-size:12px;font-weight:400}.account{padding:15px 0;border-bottom:1px solid #dce3eb;font-size:13px}.account p{font-size:12px;margin-bottom:0}details p{font-size:13px}details{margin-top:18px}summary{cursor:pointer}.notice,.error{border-radius:10px;padding:14px 18px;margin-bottom:15px;line-height:1.5;font-size:13px}.notice{background:#e0efff;color:#174b7d}.error,.formerror{color:#a22e30}.error{background:#fee2e2}small{display:block;color:#63748b;line-height:1.5}dialog{border:1px solid #cfdae6;border-radius:15px;max-width:560px;width:calc(100% - 28px);max-height:90vh;overflow:auto;padding:24px;color:#172b44}dialog::backdrop{background:#122944aa}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}footer{text-align:center;color:#6b7d91;font-size:11px;padding:20px}form>button{width:100%}[hidden]{display:none!important}#userList{max-height:250px;overflow:auto}#auditList{max-height:60vh;overflow:auto}#message{position:sticky;top:8px;z-index:5}body{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:800px){.filters{grid-template-columns:1fr 1fr}h1 span{display:block;margin:5px 0 0;font-size:14px}}@media(max-width:480px){main{padding:12px}.card{padding:15px}.filters{gap:10px}.stats{gap:8px}.stats>div{padding:12px}header{padding:16px}button,.filebutton{font-size:12px;padding:11px 12px}.job{padding:15px}.row.tools{gap:8px}.row.tools>*{flex:1}#userName{font-size:13px}.statuses{gap:8px}.statuses label{font-size:13px;padding:9px 12px}dialog{padding:18px}.grid2{grid-template-columns:1fr}#lastSync{width:100%}}
.region-group{background:#fff;border:1px solid #d5e0eb;border-radius:13px;margin:14px 0;overflow:hidden}.region-group>summary{display:flex;align-items:center;gap:13px;cursor:pointer;padding:18px;background:#122944;color:white;list-style:none}.region-group>summary::-webkit-details-marker{display:none}.region-group>summary::after{content:'+';font-size:22px;margin-left:3px}.region-group[open]>summary::after{content:'−'}.region-number{background:#2b619d;border-radius:9px;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;font-weight:bold}.region-title{flex:1;min-width:0}.region-title b{font-size:15px}.region-title small{font-size:11px;color:#c3d5e8;margin-top:5px}.region-count{font-size:12px;white-space:nowrap}.region-content{padding:12px}.region-content>.group:last-child{margin-bottom:0}.region-empty{padding:5px}.job-quantities{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12px}.job-quantities>span{background:#ffffffaa;border:1px solid #d9e1e8;border-radius:7px;padding:7px 10px}#regionMatch{margin-bottom:16px;color:#245a99}@media(max-width:480px){.region-group>summary{padding:13px;gap:9px}.region-number{width:30px;height:34px}.region-title small{font-size:10px}.region-count{font-size:11px}.region-content{padding:8px}}

.pendingrow small{font-size:11px;margin-top:5px}.pendingrow.overdue,.collection-warning.overdue{background:#fee2e2;color:#9b1c1c;border:1px solid #ef9a9a}.collection-warning{font-size:12px;padding:10px;border-radius:8px;background:#fff0ce;color:#8c5c00;line-height:1.6}

.pending-region{margin-top:15px;padding-top:13px;border-top:1px solid #e1caa9}.pending-region-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#193d63}.pending-region-head b{font-size:14px}.pending-region-head small{font-size:10px;color:#63748b;margin-top:4px}.pending-region-head>span{flex-shrink:0;font-size:11px}.pending-region-head strong{color:#a02626}.pending-region>.pendingrow{line-height:1.7}@media(max-width:480px){.pending-region-head{align-items:flex-start;flex-wrap:wrap;gap:6px}.pending-region-head>span{width:100%}}

#regionEditor{display:grid;gap:16px}.region-editor-group{padding:14px;border:1px solid #d4deea;border-radius:12px}.districts{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.district-chip{display:inline-flex;align-items:center;gap:8px;background:#edf2f8;border-radius:8px;padding:5px 8px;font-size:13px}.district-chip button{padding:4px 9px;font-size:18px}.district-add{gap:8px}.district-add input{flex:1;min-width:0}.district-add button{flex-shrink:0}

.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-summary .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>.cancelled-stat{background:#ece4f5;color:#663c83}.job.cancelled{background:#f2eafa;border-left-color:#8252a3}.cancelled-badge{display:inline-block;background:#8252a3;color:white;border-radius:6px;font-size:12px;font-weight:bold;padding:5px 10px;margin:10px 0 0}.statuses .cancel-check{border-color:#b99acf;color:#663c83}.cancel-check input{accent-color:#8252a3}.stats-table-wrap{overflow:auto}.staff-table{width:100%;border-collapse:collapse;font-size:13px}.staff-table th,.staff-table td{text-align:left;padding:12px 8px;border-bottom:1px solid #d8e0eb}.staff-table th{overflow-wrap:anywhere}.staff-table thead,.staff-table tfoot{background:#eaf0f7}.daily-summary h2{margin-bottom:8px}@media(max-width:480px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-table{font-size:12px}.staff-table th,.staff-table td{padding:10px 6px}}

.ebis-card{margin:16px 0;padding:14px;border:1px solid #c6d9e8;border-radius:12px;background:#edf7f2}.ebis-card p{margin:8px 0}.ebis-card small{display:block;margin-top:10px;line-height:1.5}.ebis-stale{background:#fff4df;border-color:#edcc91}.ebis-counts{display:flex;flex-wrap:wrap;gap:8px 18px}.ebis-counts span{white-space:normal}

.inspection-view .job .statuses{display:none}
.inspection-sample-status{margin:12px 0;padding:14px 16px;border:1px solid;border-radius:10px;line-height:1.45;overflow-wrap:anywhere}
.inspection-sample-status strong{display:block;font-size:18px}
.inspection-sample-status small{display:block;margin-top:4px;font-size:12px}
.inspection-sample-status.sample-taken{background:#e3f4e9;border-color:#78b994;color:#155d35}
.inspection-sample-status.sample-waiting{background:#fff2d9;border-color:#e6b760;color:#77500c}
