*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#4f46e514;--success:#059669;--warning:#d97706;--danger:#dc2626;--text:#1f2937;--text-secondary:#6b7280;--bg:#f9fafb;--card-bg:#fff;--border:#e5e7eb;--border-hover:#6366f1;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--radius:12px;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:16px;line-height:1.6}body{min-height:100vh}#app{max-width:720px;margin:0 auto;padding:48px 24px 80px}header{text-align:center;margin-bottom:40px}h1{color:var(--text);letter-spacing:-.5px;margin-bottom:8px;font-size:32px;font-weight:700}.subtitle{color:var(--text-secondary);font-size:15px}.upload-section{margin-bottom:24px}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--card-bg);padding:48px 24px;transition:all .2s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--border-hover);background:var(--primary-light)}.upload-icon{color:var(--text-secondary);margin-bottom:12px;transition:color .2s}.drop-zone:hover .upload-icon{color:var(--primary)}.drop-text{margin-bottom:4px;font-size:17px;font-weight:500}.drop-hint{color:var(--text-secondary);font-size:14px}.file-info{margin-top:16px}.file-info.hidden{display:none}.file-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:14px 18px;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.file-size{color:var(--text-secondary);white-space:nowrap;font-size:13px}.btn-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;transition:all .15s}.btn-clear:hover{color:var(--danger);background:#dc262614}.sheet-preview{color:var(--text-secondary);margin-top:12px;padding:0 4px;font-size:14px}.filter-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:20px 22px}.section-title{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:10px;font-size:15px;font-weight:600}.filter-row{gap:16px;margin-bottom:14px;display:flex}.filter-row:last-child{margin-bottom:0}.filter-group{flex-direction:column;flex:1;gap:6px;display:flex}.filter-group label{color:var(--text-secondary);font-size:13px;font-weight:500}.input-date,.input-number{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.input-date:focus,.input-number:focus{border-color:var(--border-hover);box-shadow:0 0 0 3px #6366f126}.input-number:disabled{opacity:.4;cursor:not-allowed;background:var(--border)}.input-with-checkbox{align-items:center;gap:12px;display:flex}.checkbox-label{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{appearance:none;border:2px solid var(--border);cursor:pointer;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:all .15s;position:relative}.checkbox-label input[type=checkbox]:checked{border-color:var(--primary);background:var(--primary)}.checkbox-label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.checkbox-label:hover input[type=checkbox]:not(:checked){border-color:var(--border-hover)}.action-section{text-align:center;margin-bottom:24px}.btn-process{color:#fff;background:var(--primary);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);border:none;justify-content:center;align-items:center;gap:8px;min-width:220px;padding:14px 40px;font-size:16px;font-weight:600;transition:all .2s;display:inline-flex}.btn-process:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-process:active:not(:disabled){transform:translateY(0)}.btn-process:disabled{opacity:.45;cursor:not-allowed}.status{border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow);padding:16px 20px;font-size:14px;line-height:1.7}.status.hidden{display:none}.status.success{background:#ecfdf5;border-color:#a7f3d0}.status.error{background:#fef2f2;border-color:#fecaca}.status .summary-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.status .summary-table th,.status .summary-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.status .summary-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.status .summary-table td{font-variant-numeric:tabular-nums}.status .summary-table .removed{color:var(--danger);font-weight:500}.status .summary-table .kept{color:var(--success);font-weight:500}.radio-group{gap:20px;padding:4px 0;display:flex}.radio-label{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:14px;display:flex}.radio-label input[type=radio]{appearance:none;border:2px solid var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:all .15s;position:relative}.radio-label input[type=radio]:checked{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.radio-label input[type=radio]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.radio-label:hover input[type=radio]:not(:checked){border-color:var(--border-hover)}@media (width<=500px){.filter-row{flex-direction:column;gap:12px}}
