*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:#183740;font:14px/1.65 system-ui,"Microsoft YaHei",sans-serif}header,main{max-width:1580px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center}h1{margin:0;font-size:29px}small,.muted{color:#607681}a{color:#087f87}h2{font-size:18px;margin:0 0 12px}.notice{background:#fff4dd;border:1px solid #edcf94;border-radius:12px;padding:14px}#stats{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.stat{background:white;border:1px solid #d8e4e8;border-radius:10px;padding:12px 18px}.stat strong{font-size:24px;display:block}form{display:flex;align-items:end;gap:10px;margin:20px 0}label{display:grid;gap:5px;flex:1}input{padding:11px;border:1px solid #c6d8df;border-radius:7px;font:inherit}button{border:0;border-radius:7px;background:#087f87;color:white;padding:11px 15px;font:inherit;cursor:pointer}button.secondary{background:#eaf1f4;color:#254952}button:disabled{opacity:.45;cursor:default}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:20px}.panel{background:white;border:1px solid #d7e3e8;padding:20px;border-radius:14px;min-width:0}.map-tools{display:flex;align-items:center;gap:10px;margin-bottom:10px}.map-tools h2{margin:0 auto 0 0}#map-box{min-height:300px;position:relative;background:#f2f6f7;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px}#map{width:100%;height:auto;display:block}#map[hidden]{display:none}#map-empty{padding:25px;text-align:center}#map-status{color:#a65c11}.address{border-top:1px solid #e0e8eb;padding:12px 0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center}.badge{border-radius:50%;background:#e9f4f3;text-align:center;font-weight:700;width:28px;height:28px}.address strong{display:block}.address small{display:block}.address.selected{background:#eff9f8}.review{color:#a65c11}.record{border-top:1px solid #e0e8eb;padding:14px 0;overflow-wrap:anywhere}.record strong{display:block}.record p{margin:5px 0}.review-text{color:#98581c}nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:15px}#selected{padding-bottom:15px;overflow-wrap:anywhere}.error{color:#b23a33}@media(max-width:900px){.grid{grid-template-columns:1fr}header,main{padding:16px}header{align-items:start;gap:10px}form{flex-wrap:wrap}label{flex-basis:100%}.address{grid-template-columns:28px minmax(0,1fr)}.address button{grid-column:2}.map-tools{flex-wrap:wrap}#map-box{min-height:200px}}

/* Workbench section navigation */
.workspace-tabs{display:flex;justify-content:flex-start;align-items:center;gap:6px;flex-wrap:wrap;border-bottom:1px solid #cbdde3;margin:0 0 24px;padding:0 0 10px}.workspace-tabs[hidden]{display:none}.workspace-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:116px;padding:10px 24px;border-radius:9px;text-decoration:none;font-size:15px;font-weight:600;color:#526d79;background:transparent;border:1px solid transparent}.workspace-tabs a:hover{background:#e7f1f3;color:#087f87}.workspace-tabs a[aria-current="page"]{background:#087f87;color:#fff;border-color:#087f87}.workspace-tabs a:focus-visible{outline:3px solid #58b7be;outline-offset:3px}@media(max-width:600px){.workspace-tabs a{flex:1;padding:10px 16px}.workspace-tabs{margin-bottom:18px}}

.storefront{display:block;width:100%;max-height:360px;object-fit:contain;background:#f3f6f8;border-radius:8px;margin:14px 0}.grid{margin-top:20px}#map[hidden]{display:none}

.task-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.task-status{background:#fff2d7;color:#93600a;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.task-requirements{background:#edf8f7;border:1px solid #c5e7e3;border-radius:10px;padding:16px;margin:16px 0}.task-type{color:#526d79;font-size:13px}.task-requirements h3{font-size:22px;line-height:1.4;margin:6px 0 14px;color:#076e75}.task-actions{display:flex;gap:10px}.task-action{background:#fff;border:1px solid #b4dcd7;border-radius:8px;padding:8px 20px;font-size:18px;font-weight:700;color:#087f87}
.my-tasks{margin-top:20px}.quota{display:inline-block;background:#eef7f6;border-radius:7px;padding:8px 12px;color:#08747c}.claim-button{display:block;margin:14px 0 0 auto;min-width:120px}.store-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-button{background:#edf6f7;border:1px solid #afd8dc;border-radius:7px;padding:8px 22px;white-space:nowrap;text-decoration:none;font-weight:600}.task-actions{flex-wrap:wrap}.evidence-slot{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:100%}.evidence-slot .task-action{font-size:16px;padding:10px 14px;cursor:pointer}.evidence-preview{width:120px;height:100px;object-fit:contain;background:white;border:1px solid #c5dedc;border-radius:7px}#mine-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}#mine-records .record{min-width:0}.store-heading h3{margin:10px 0}.record .muted{font-size:13px}.task-action:disabled{cursor:wait}

.available-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.available-heading h2{margin:0}.available-heading .claim-button{margin:0;min-width:100px}.available-heading #claim-action:empty{display:none}.upload-dialog{border:1px solid #c5dce0;border-radius:14px;padding:24px;color:#183740;max-width:calc(100vw - 32px);width:460px}.upload-dialog::backdrop{background:#16353f66}.upload-dialog input{display:block;max-width:100%;margin:20px 0}.upload-dialog h2{margin-top:0}
#map-box{display:block;aspect-ratio:750/480;min-height:0;overflow:hidden}#map{width:100%;height:100%;object-fit:fill}#map-empty{position:absolute;inset:0;display:grid;place-items:center}#map-empty[hidden]{display:none}#map-markers{position:absolute;inset:0;pointer-events:none}.marker-group{position:absolute;width:10px;height:10px;border-radius:50%;background:#087f87;border:2px solid white;transform:translate(-50%,-50%)}.marker-names{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:3px;align-items:center}.store-marker{pointer-events:auto;white-space:nowrap;padding:4px 7px;font-size:12px;line-height:1.3;color:#075d65;background:white;border:1px solid #087f87;box-shadow:0 1px 4px #0003;border-radius:4px}.store-marker:hover,.store-marker:focus-visible{background:#087f87;color:white}.user-marker{position:absolute;transform:translate(-50%,0);background:#1677ff;color:white;border:2px solid white;border-radius:12px;padding:2px 5px;font-size:11px;white-space:nowrap}#map-detail{margin-top:16px;padding:16px;border:1px solid #bddfdf;border-radius:10px;background:#f6fbfb}#map-detail[hidden]{display:none}#map-detail .storefront{max-height:230px}.point-claim{display:block;margin:10px 0 10px auto}.map-tools{flex-wrap:wrap}.map-tools button{padding:7px 10px}.map-tools h2{flex-basis:100%;margin-bottom:6px}

.marker-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.marker-lines line{stroke:#087f87;stroke-width:1;stroke-opacity:.65}.marker-names{z-index:2}

.original-action{margin-left:auto;display:flex;flex-direction:column;gap:6px;align-items:center;max-width:100%}.get-original{background:white;color:#087f87;border:1px solid #91cbd0}.original-action small{font-size:12px}.original-preview{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:16px auto}.original-dialog{width:680px}
/* Match button heights and align each description beneath its own action group. */
.task-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.upload-action-group{display:flex;flex-direction:column;gap:8px;min-width:0}.evidence-buttons{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.upload-action-group>p.muted{margin:0;line-height:1.65}.original-action{margin-left:auto;align-items:flex-end;gap:8px}.original-action small{line-height:1.65;text-align:right}.task-actions .task-action,.get-original{min-height:48px}.get-original{padding:10px 14px}.task-actions .evidence-slot .task-action{margin:0}@media(max-width:420px){.original-action{margin-left:0;align-items:flex-start}.original-action small{text-align:left}}
.settlement-scroll{overflow-x:auto}#settlement-panel[hidden]{display:none}#settlement-panel table{width:100%;border-collapse:collapse;white-space:nowrap}#settlement-panel th,#settlement-panel td{padding:12px;text-align:left;border-bottom:1px solid #deeaed}#settlement-stats{padding:14px;background:#edf8f7;margin:16px 0;border-radius:8px}#settlement-panel input[type=file]{width:100%;min-width:0}#settlement-panel details{margin-top:18px}
.transfer-preview{display:block;max-width:240px;max-height:220px;object-fit:contain;margin:10px 0}.transfer-preview[hidden]{display:none}#settlement-rows input[type=file]{width:240px}#approval-history .record{white-space:normal;overflow-wrap:anywhere}
#location-review-link[hidden]{display:none}

#admin-notice[hidden]{display:none}
#region-stats-panel[hidden]{display:none}.region-stats-panel{margin-bottom:20px}.region-stats-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.region-stats-title p{margin-bottom:0}.region-stats-title button{flex-shrink:0}.region-stats-panel select{width:100%;min-width:0;padding:11px;border:1px solid #c6d8df;border-radius:7px;background:white;font:inherit;color:inherit}.region-stats-panel form{align-items:flex-end;flex-wrap:wrap}.region-stats-panel form label{min-width:140px}.region-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.region-stat{display:flex;flex-direction:column;border:1px solid #d5e5e9;background:#f8fbfc;border-radius:10px;padding:16px;gap:5px}.region-stat strong{font-size:30px;line-height:1.3}.region-stat span{color:#506b77}.region-stat-active{background:#edf8f7;border-color:#9dd5d0;color:#087b83}.region-stat small{font-size:12px}.region-table-scroll{overflow-x:auto}.region-table-scroll table{width:100%;border-collapse:collapse;white-space:nowrap;margin-top:12px}.region-table-scroll th,.region-table-scroll td{padding:12px;text-align:left;border-bottom:1px solid #dce8ec}.region-table-scroll th{background:#f3f8fa}.region-drill{padding:0;background:none;color:#087b83;font-weight:600;text-decoration:underline;text-underline-offset:3px}#region-distribution{margin-top:15px}#region-distribution>summary{cursor:pointer;font-weight:600}#region-message{color:#52717d}@media(max-width:750px){.region-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.region-stats-title{flex-wrap:wrap;gap:12px}.region-stat{padding:12px}.region-stats-panel form label{min-width:0;flex-basis:100%}.region-table-scroll{max-width:100%}}

.route-dialog{box-sizing:border-box;width:440px;max-height:calc(100dvh - 32px);overflow:auto}.route-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.route-dialog-heading h2{margin:0}.route-dialog h3{margin:22px 0 8px}.route-dialog .route-status{padding:12px;background:#edf8f7;border-radius:8px;color:#08747c;line-height:1.7}.route-options{display:grid;gap:10px;margin:18px 0}.route-options a,.route-options button{box-sizing:border-box;display:block;min-height:46px;border-radius:8px;padding:12px;text-align:center;text-decoration:none;font:inherit;font-weight:600;cursor:pointer}.route-primary{background:#087f87;color:white;border:1px solid #087f87}.route-secondary{color:#08747c;background:white;border:1px solid #afd8dc}.route-compatible{display:block;text-align:center;font-size:13px;margin:12px 0}.route-help{font-size:13px;line-height:1.8;color:#617b86}.route-copy-text{box-sizing:border-box;width:100%;min-height:110px;padding:10px}.route-button[aria-disabled=true]{opacity:.55;cursor:not-allowed}

/* Compact task actions and side-by-side storefront details. */
.record .task-requirements{padding:10px 12px;margin:10px 0 12px}.record .task-requirements h3{font-size:18px;line-height:1.4;margin:3px 0 8px}.record .task-type{font-size:12px}.record .task-actions{gap:8px}.record .upload-action-group,.record .original-action{gap:5px}.record .task-actions .task-action,.record .get-original{min-height:40px;padding:8px 12px;font-size:14px}.record .task-requirements .muted{font-size:12px}.record .evidence-buttons{gap:8px}.record .task-store-summary{display:grid;grid-template-columns:clamp(100px,32%,156px) minmax(0,1fr);gap:14px;align-items:start}.record .task-store-summary .storefront{width:100%;height:168px;max-height:168px;margin:0;object-fit:contain}.record .task-store-details{min-width:0}.record .task-store-details .store-heading{align-items:flex-start;flex-wrap:wrap;gap:6px 10px}.record .task-store-details h3{font-size:16px;line-height:1.45;margin:0}.record .task-store-details p{margin:7px 0;font-size:13px;line-height:1.65}.record .task-store-details .route-button{padding:5px 12px;font-size:13px;min-height:34px;margin-left:auto}@media(max-width:480px){.record .task-store-summary{grid-template-columns:100px minmax(0,1fr);gap:10px}.record .task-store-summary .storefront{height:136px;max-height:136px}.record .task-store-details h3{font-size:15px}.record .original-action{margin-left:auto;align-items:flex-end}.record .original-action small{text-align:right}}

.region-finished-count{align-self:flex-start;background:transparent;color:#087b83;text-decoration:underline;text-underline-offset:4px;font-weight:700;padding:4px 0;min-width:32px}.region-stat .region-finished-count{font-size:30px;line-height:1.3}.region-finished-dialog{box-sizing:border-box;width:1100px;max-width:calc(100vw - 24px);max-height:85dvh;overflow:auto;border:1px solid #c5dce0;border-radius:14px;padding:20px;color:#183740}.region-finished-dialog::backdrop{background:#16353f66}.region-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.region-detail-heading h2{margin:0;font-size:20px}.region-detail-scroll{overflow-x:auto}.region-detail-scroll table{width:100%;border-collapse:collapse;text-align:left}.region-detail-scroll th,.region-detail-scroll td{padding:12px;border-bottom:1px solid #deeaed;min-width:95px;vertical-align:top}.region-detail-scroll td:nth-child(2){white-space:nowrap}.region-detail-scroll td:nth-child(3){min-width:180px}.region-detail-scroll td p{font-size:12px;color:#617b86;margin:6px 0}.region-detail-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.region-detail-pager button:disabled{opacity:.5;cursor:default}
/* Map-detail actions stay in the material panel, in task / original / claim / close order. */
#map-detail>.record{border-top:0;padding:0}#map-detail .task-actions{align-items:flex-start;justify-content:flex-start;gap:10px}#map-detail .upload-action-group{flex:1 1 220px}#map-detail .original-action{margin-left:auto;align-items:flex-end}#map-detail .task-map-controls{display:flex;align-items:flex-start;gap:8px}#map-detail .task-map-controls button{min-height:40px;padding:8px 12px;white-space:nowrap}#map-detail .task-map-controls .point-claim{margin:0}#map-detail .task-requirements .map-task-name{font-size:16px;color:#183740;margin:0 0 6px}.record .task-action.is-complete{background:#087f87;color:white;border-color:#087f87;opacity:1}.record .task-action:disabled{cursor:default}@media(max-width:600px){#map-detail .upload-action-group{flex-basis:100%}#map-detail .original-action{margin-left:0;margin-right:auto}#map-detail .task-map-controls{flex-wrap:wrap}}

.claimed-tasks-panel{align-self:start}.claimed-tasks-panel #mine-records{display:block}.claimed-tasks-panel #task-operation-help{font-size:12px;line-height:1.7}.task-card-footer{display:flex;justify-content:flex-end;margin-top:12px}.task-card-footer .cancel-task{color:#aa4038;background:#fff1ef;border:1px solid #f0cfca;min-height:40px}.task-card-footer .cancel-task:disabled{cursor:default}#cancel-message:empty{display:none}

/* Interactive map owns touch gestures; the surrounding page still scrolls normally. */
#map-box{height:560px;aspect-ratio:auto}#map{width:100%;height:100%;touch-action:none}#map-empty{pointer-events:none;background:#f2f6f7}#map[hidden]{display:none}.task-map-labels{display:flex;flex-direction:column;gap:3px;align-items:center;max-height:220px;overflow:auto}.task-map-labels .store-marker{min-height:30px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.task-map-current{display:block;border-radius:14px;padding:4px 8px;background:#1677ff;color:white;border:2px solid white;white-space:nowrap;font-size:12px}.amap-logo img{max-width:none}#map-detail{scroll-margin-top:12px}@media(max-width:900px){#map-box{height:440px;height:min(62dvh,520px);min-height:320px}.task-map-labels .store-marker{min-height:34px}}

.record .original-actions{margin-left:auto;display:flex;gap:10px;align-items:flex-start;max-width:100%;flex-wrap:wrap}.record .original-actions .original-action{margin:0;align-items:flex-end}.original-source{margin:16px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.original-source textarea{box-sizing:border-box;width:100%;min-height:90px;overflow-wrap:anywhere}.original-source a{color:#087f87;padding:10px}
/* Owned task tabs and the nearest available cards. */
.task-tabs{display:flex;gap:8px;border-bottom:1px solid #d5e5e9;padding-bottom:12px;flex-wrap:wrap}.task-tabs button{flex:1;min-width:140px;background:#edf5f6;color:#456570;font-weight:700;padding:12px}.task-tabs button[aria-selected=true]{background:#087f87;color:white}#mine-records[hidden],#completed-records[hidden]{display:none}#nearby-records .task-map-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#nearby-records .point-claim{margin:0}#nearby-records .original-action{margin-left:auto}#nearby-heading{margin-top:24px}.record .verification-failed{background:#fff4e8;border-color:#e7ba7c}.verification-failed .muted{color:#a55014}dialog#map-detail{box-sizing:border-box;width:800px;max-width:calc(100vw - 24px);max-height:85dvh;overflow:auto;margin:auto;color:#183740}dialog#map-detail::backdrop{background:#16353f66}

/* Location lives inside the map; task lists collapse above it on phones. */
.map-panel-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.map-panel-heading h2{flex:1;margin:0;font-size:18px}.map-panel-heading button{white-space:nowrap;padding:9px 12px;min-height:42px}.map-panel-heading #locate{margin-left:auto}#map-content[hidden],#owned-task-content[hidden]{display:none}#position{margin:10px 0 0;overflow-wrap:anywhere}#position:empty,#map-status:empty{display:none}#tasks-toggle{display:none}.task-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:10px;background:#183740;color:white;box-shadow:0 3px 15px #0003;z-index:10000}.task-toast[hidden]{display:none}
@media(max-width:900px){#claimed-tasks-panel{order:-1}#tasks-toggle{display:block;width:100%;margin-top:10px;min-height:42px}.claimed-tasks-panel .task-tabs{padding-bottom:0;border:0;flex-wrap:nowrap}.claimed-tasks-panel .task-tabs button{min-width:0;padding:10px 6px;font-size:14px}.map-panel-heading h2{font-size:16px}.map-panel-heading button{font-size:13px;padding:8px}.grid{gap:14px}}

.official-data-panel{margin-bottom:20px}.official-data-panel form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.official-data-panel input{max-width:100%}.official-data-panel>button{margin:4px 8px 4px 0}.official-table-scroll{overflow:auto;margin:12px 0}.official-table-scroll table{width:100%;border-collapse:collapse;white-space:nowrap}.official-table-scroll th,.official-table-scroll td{text-align:left;padding:10px 12px;border-bottom:1px solid #ddd}.official-table-scroll th{background:#f3f5f8;color:#172335}.official-table-scroll button{margin-right:8px}.official-people-scroll{max-height:460px}.official-data-panel details{margin:18px 0}.official-data-panel summary{cursor:pointer;font-weight:600}
