*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f0f2f5;min-height:100vh;color:#000000d9}.app-container{max-width:1200px;margin:0 auto;padding:24px}.page-header{background:#fff;padding:24px;margin-bottom:24px;border-radius:8px;box-shadow:0 1px 2px #0000000f}.page-header h1{font-size:24px;font-weight:500;margin-bottom:8px}.page-header p{color:#00000073;font-size:14px}.task-card{background:#fff;border-radius:8px;padding:20px 24px;margin-bottom:16px;box-shadow:0 1px 2px #0000000f;border:1px solid #f0f0f0;transition:box-shadow .3s}.task-card:hover{box-shadow:0 4px 12px #0000001a}.table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000f;overflow:hidden}.task-table{width:100%;border-collapse:collapse;font-size:14px}.task-table thead{background:#fafafa;border-bottom:1px solid #f0f0f0}.task-table th{padding:14px 12px;text-align:left;font-weight:500;color:#000000d9;white-space:nowrap}.task-table td{padding:14px 12px;border-bottom:1px solid #f0f0f0;color:#000000d9;vertical-align:middle}.task-table tbody tr:last-child td{border-bottom:none}.task-table tbody tr:hover{background:#fafafa}.task-table .col-name{font-weight:500;min-width:220px;max-width:320px;word-break:break-word}.task-table .col-region{color:#000000a6;font-size:13px;min-width:200px}.task-table .col-time{white-space:nowrap;color:#000000a6;font-size:13px}.task-table .col-zoom{font-family:SF Mono,Menlo,monospace;font-size:13px;color:#1890ff;white-space:nowrap}.task-table .col-villages,.task-table .col-area{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.task-table .col-status{white-space:nowrap;width:90px}.task-table .col-action{width:130px;white-space:nowrap}.empty-tip{padding:60px 20px;text-align:center;color:#00000073;font-size:14px}.loading-tip{padding:60px 20px;text-align:center;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000f;color:#000000a6;font-size:14px}.error-tip{padding:24px 20px;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;color:#cf1322;font-size:14px;line-height:1.8}.error-tip small{display:block;margin-top:8px;color:#0000008c;font-size:12px}.error-tip code{background:#0000000f;padding:2px 6px;border-radius:3px;font-size:12px;word-break:break-all}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding:12px 0;flex-wrap:wrap}.page-btn{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;color:#000000d9;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.page-btn.active{background:#1890ff;border-color:#1890ff;color:#fff;font-weight:500}.page-btn:disabled{color:#00000040;cursor:not-allowed;background:#f5f5f5}.page-ellipsis{color:#00000073;padding:0 4px;-webkit-user-select:none;user-select:none}.page-info{margin-left:16px;color:#00000073;font-size:13px}@media (max-width: 768px){.task-table{font-size:12px}.task-table th,.task-table td{padding:10px 8px}.task-table .col-name,.task-table .col-region{min-width:140px}.table-wrapper{overflow-x:auto}.task-table{min-width:720px}}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-title{font-size:16px;font-weight:500;display:flex;align-items:center;gap:12px}.status-tag{display:inline-block;padding:2px 10px;border-radius:4px;font-size:12px;line-height:20px}.status-completed{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.status-processing{background:#fffbe6;border:1px solid #ffe58f;color:#faad14}.status-pending{background:#fafafa;border:1px solid #d9d9d9;color:#00000073}.task-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:16px 0;border-top:1px solid #f0f0f0}.stat-item .stat-title{color:#00000073;font-size:14px;margin-bottom:8px}.stat-item .stat-value{color:#000000d9;font-size:20px;font-weight:500;word-break:break-word}.stat-item .stat-value .unit{font-size:14px;color:#00000073;margin-left:4px}.task-actions{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0;text-align:right}.btn{display:inline-block;padding:6px 20px;border-radius:4px;font-size:14px;cursor:pointer;border:1px solid transparent;transition:all .3s;text-decoration:none}.btn-primary{background:#1890ff;color:#fff;border-color:#1890ff}.btn-primary:hover{background:#40a9ff;border-color:#40a9ff}@media (max-width: 768px){.task-stats{grid-template-columns:repeat(2,1fr)}}.detail-app{max-width:1600px;margin:0 auto;padding:24px}.detail-header{background:#fff;padding:20px 24px;margin-bottom:16px;border-radius:8px;box-shadow:0 1px 2px #0000000f;display:flex;justify-content:space-between;align-items:center}.detail-header h1{font-size:20px;font-weight:500}.main-content{display:grid;grid-template-columns:360px 1fr;gap:16px}.info-card{background:#fff;border-radius:8px;padding:20px 24px;box-shadow:0 1px 2px #0000000f}.info-card h3{font-size:16px;font-weight:500;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.detail-stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.detail-stat-item:last-child{border-bottom:none}.detail-stat-label{color:#00000073;font-size:14px}.detail-stat-value{font-weight:500;font-size:14px}.village-selector{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.village-selector label{display:block;margin-bottom:8px;font-size:14px;color:#000000d9}.village-selector select{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.village-selector select:focus{outline:none;border-color:#1890ff}.map-container{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 2px #0000000f;height:600px;position:relative}.map-container>div{width:100%;height:100%;border-radius:4px;overflow:hidden}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;font-size:14px;color:#00000073;z-index:10}.no-task{text-align:center;padding:60px 20px;color:#00000073}@media (max-width: 1024px){.main-content{grid-template-columns:1fr}}
