:root{color-scheme:dark;--ui-primary: #22c55e;--ui-primary-hover: #16a34a;--ui-primary-light: #14532d;--ui-primary-shadow: rgba(34, 197, 94, .35);--ui-secondary: #0ea5e9;--ui-secondary-hover: #0284c7;--ui-secondary-light: #0369a1;--ui-warning: #f97316;--ui-warning-hover: #ea580c;--ui-warning-light: #451a03;--ui-danger: #f97373;--ui-danger-hover: #ef4444;--ui-danger-soft-bg: rgba(248, 113, 113, .16);--ui-danger-soft-border: rgba(248, 113, 113, .5);--ui-info-bg: rgba(59, 130, 246, .18);--ui-info-text: #bfdbfe;--ui-bg: #101828;--ui-bg-subtle: radial-gradient(circle at top left, #1a2332 0%, #101828 55%, #0a0f1a 100%);--ui-panel-bg: #1e293b;--ui-panel-bg-alt: #1e293b;--ui-panel-bg-hover: #111827;--ui-text: #f1f5f9;--ui-text-secondary: #cbd5e1;--ui-text-muted: #94a3b8;--ui-border: #374151;--ui-border-light: #1f2937;--ui-radius-sm: 4px;--ui-radius-md: 6px;--ui-radius-lg: 8px;--ui-radius-xl: 10px;--ui-space-xs: 6px;--ui-space-sm: 10px;--ui-space-md: 14px;--ui-space-lg: 20px;--ui-space-xl: 24px;--ui-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--ui-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);--ui-shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .5);--ui-shadow-xl: 0 20px 40px -5px rgba(0, 0, 0, .7), 0 20px 30px -10px rgba(0, 0, 0, .6);--ui-font-size-xs: 12px;--ui-font-size-sm: 14px;--ui-font-size-base: 15px;--ui-font-size-lg: 16px;--ui-font-size-xl: 20px;--ui-font-size-title: 24px;--ui-font-medium: 500;--ui-font-semibold: 600;--ui-font-bold: 700;--ui-leading-tight: 1.35;--ui-leading-normal: 1.5;--ui-table-bg: #101828;--ui-table-header-bg: #101828;--ui-table-row-bg: #101828;--ui-table-row-alt-bg: #1a2332;--ui-table-row-hover-bg: #1a2332;--ui-table-border: #1f2937;--ui-sidebar-width: 200px;--ui-sidebar-gap: 12px;--ui-container-max-width: 1536px}:root[data-theme=light]{color-scheme:light;--ui-primary: #059669;--ui-primary-hover: #047857;--ui-primary-light: #d1fae5;--ui-primary-shadow: rgba(5, 150, 105, .25);--ui-secondary: #0d9488;--ui-secondary-hover: #0f766e;--ui-secondary-light: #ccfbf1;--ui-warning: #d97706;--ui-warning-hover: #b45309;--ui-warning-light: #fef3c7;--ui-danger: #dc2626;--ui-danger-hover: #b91c1c;--ui-danger-soft-bg: #fee2e2;--ui-danger-soft-border: #fecaca;--ui-info-bg: #eff6ff;--ui-info-text: #1d4ed8;--ui-bg: #f8fafc;--ui-bg-subtle: linear-gradient(160deg, #f1f5f9 0%, #e2e8f0 100%);--ui-panel-bg: #ffffff;--ui-panel-bg-alt: #f8fafc;--ui-panel-bg-hover: #f1f5f9;--ui-text: #0f172a;--ui-text-secondary: #475569;--ui-text-muted: #94a3b8;--ui-border: #e2e8f0;--ui-border-light: #f1f5f9;--ui-shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--ui-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .12), 0 2px 4px -2px rgba(0, 0, 0, .1);--ui-shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .15), 0 8px 10px -6px rgba(0, 0, 0, .12);--ui-shadow-xl: 0 20px 40px -5px rgba(0, 0, 0, .18), 0 20px 30px -10px rgba(0, 0, 0, .15);--ui-table-bg: #ffffff;--ui-table-header-bg: #f5f5f5;--ui-table-row-bg: #ffffff;--ui-table-row-alt-bg: #f9fafb;--ui-table-row-hover-bg: #f3f4f6;--ui-table-border: #dddddd}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;min-height:100vh;overflow:hidden;padding:0 28px 28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,PingFang SC,Microsoft YaHei,Helvetica Neue,Roboto,Arial,sans-serif;font-size:var(--ui-font-size-base);line-height:var(--ui-leading-normal);color:var(--ui-text);background:var(--ui-bg);background-attachment:fixed}#app{height:100%;min-height:100vh;display:flex;flex-direction:column;max-width:var(--ui-container-max-width);margin:0 auto;width:100%}.app-layout{display:flex;gap:var(--ui-sidebar-gap);flex:1;min-height:0}.app-sidebar{width:var(--ui-sidebar-width);flex-shrink:0;background:var(--ui-panel-bg);border-radius:var(--ui-radius-lg);padding:var(--ui-space-lg);display:flex;flex-direction:column;gap:var(--ui-space-sm);overflow:hidden;box-shadow:var(--ui-shadow-md);border:1px solid var(--ui-border-light)}.app-sidebar>.data-export{margin-top:-2px}.app-main{flex:1;min-width:0;background:var(--ui-panel-bg);border-radius:var(--ui-radius-lg);padding:var(--ui-space-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--ui-shadow-md);border:1px solid var(--ui-border-light)}.app-section-title{font-size:var(--ui-font-size-base);font-weight:var(--ui-font-semibold);color:var(--ui-text);margin:0 0 var(--ui-space-sm);letter-spacing:.02em;line-height:var(--ui-leading-tight)}.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px var(--ui-space-lg);border:none;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-medium);cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.app-btn-primary{background:var(--ui-primary);color:#fff;box-shadow:0 1px 2px #0000000d}.app-btn-primary:hover:not(:disabled){background:var(--ui-primary-hover);box-shadow:0 4px 12px var(--ui-primary-shadow);transform:translateY(-1px)}.app-btn-primary:active:not(:disabled){transform:translateY(0)}.app-btn-primary:disabled{background:var(--ui-border);color:var(--ui-text-muted);cursor:not-allowed;opacity:.85;box-shadow:none}.btn-load{background:#2563eb;color:#fff;border:1px solid #1d4ed8;box-shadow:none}.btn-load:hover:not(:disabled){background:#1d4ed8;color:#fff;border-color:#1e40af;box-shadow:0 2px 6px #2563eb59}.btn-load:active:not(:disabled){background:#1d4ed8}.btn-load:disabled{background:var(--ui-border);color:var(--ui-text-muted);border-color:var(--ui-border);cursor:not-allowed;opacity:.85;box-shadow:none}.btn-export{background:#0d9488;color:#fff;border:1px solid #0f766e;box-shadow:none}.btn-export:hover:not(:disabled){background:#0f766e;color:#fff;border-color:#115e59;box-shadow:0 2px 6px #0d948859}.btn-export:disabled{background:var(--ui-border);color:var(--ui-text-muted);border-color:var(--ui-border);cursor:not-allowed;opacity:.85;box-shadow:none}.btn-reset{background:#475569;color:#fff;border:1px solid #334155;box-shadow:none}.btn-reset:hover:not(:disabled){background:#334155;color:#fff;border-color:#1e293b;box-shadow:0 2px 6px #47556959}.btn-reset:disabled{background:var(--ui-border);color:var(--ui-text-muted);border-color:var(--ui-border);cursor:not-allowed;opacity:.85;box-shadow:none}.app-btn svg{width:18px;height:18px;flex-shrink:0;opacity:.95}@media (max-width: 768px){body{padding:12px 16px 16px}.app-layout{flex-direction:column}.app-sidebar{width:100%}.app-main{min-height:400px}}.file-upload-container[data-v-c73b7be3]{display:flex;flex-direction:column;flex-shrink:0}.section-title[data-v-c73b7be3]{font-size:var(--ui-font-size-base);font-weight:600;color:var(--ui-text);margin:4px 0 8px}.load-button[data-v-c73b7be3]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 18px;background:var(--ui-primary);color:#fff;border:none;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-base);font-weight:500;cursor:pointer;transition:all .3s ease}.load-button[data-v-c73b7be3]:hover:not(:disabled){background:var(--ui-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--ui-primary-shadow)}.load-button[data-v-c73b7be3]:active:not(:disabled){transform:translateY(0)}.load-button[data-v-c73b7be3]:disabled{background:var(--ui-border);cursor:not-allowed;opacity:.7}.load-button svg[data-v-c73b7be3]{width:16px;height:16px}.loading[data-v-c73b7be3]{text-align:center;padding:10px 0}.loading-size[data-v-c73b7be3]{margin-top:4px;font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary)}.spinner[data-v-c73b7be3]{border:3px solid rgba(148,163,184,.35);border-top:3px solid var(--ui-primary);border-radius:50%;width:30px;height:30px;animation:spin-c73b7be3 1s linear infinite;margin:0 auto 8px}@keyframes spin-c73b7be3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error[data-v-c73b7be3]{background:var(--ui-danger-soft-bg);color:var(--ui-danger);padding:8px 12px;border-radius:var(--ui-radius-md);margin-top:8px;font-size:var(--ui-font-size-sm);display:flex;align-items:center;gap:6px}.error svg[data-v-c73b7be3]{flex-shrink:0}.error-text[data-v-c73b7be3]{display:flex;flex-direction:column;gap:2px}.error-next-step[data-v-c73b7be3]{font-size:var(--ui-font-size-xs);color:var(--ui-danger-hover)}.file-info[data-v-c73b7be3]{margin-top:8px;padding:8px 12px;background:var(--ui-info-bg);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-xs);color:var(--ui-info-text)}.file-info strong[data-v-c73b7be3]{color:inherit;font-weight:var(--ui-font-semibold)}.table-list[data-v-4f53abbb]{margin-top:0}.section-title[data-v-4f53abbb]{font-size:var(--ui-font-size-base);font-weight:600;color:var(--ui-text);margin:4px 0 8px}.tables-container[data-v-4f53abbb]{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;min-height:0}.table-button[data-v-4f53abbb]{width:100%;padding:8px 12px;border:2px solid var(--ui-border);background:var(--ui-panel-bg);border-radius:var(--ui-radius-md);cursor:pointer;transition:all .3s ease;text-align:left;display:flex;justify-content:space-between;align-items:center}.table-button[data-v-4f53abbb]:hover{border-color:var(--ui-text-secondary);background:var(--ui-panel-bg-hover)}.table-button.active[data-v-4f53abbb]{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}.table-button.active .row-count[data-v-4f53abbb]{opacity:.9}.table-name[data-v-4f53abbb]{font-weight:500;font-size:var(--ui-font-size-sm)}.row-count[data-v-4f53abbb]{font-size:var(--ui-font-size-xs);opacity:.7}.tables-container[data-v-4f53abbb]::-webkit-scrollbar{width:6px}.tables-container[data-v-4f53abbb]::-webkit-scrollbar-track{background:transparent;border-radius:3px}.tables-container[data-v-4f53abbb]::-webkit-scrollbar-thumb{background:#94a3b880;border-radius:3px}.tables-container[data-v-4f53abbb]::-webkit-scrollbar-thumb:hover{background:#94a3b8cc}.table-content[data-v-1ed93698]{height:100%;display:flex;flex-direction:column}.table-header[data-v-1ed93698]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.table-header-main[data-v-1ed93698]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;flex:1 1 auto}.table-title-row[data-v-1ed93698]{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.table-title[data-v-1ed93698]{font-size:var(--ui-font-size-lg);font-weight:600;color:var(--ui-text);margin:0;line-height:1.3}.table-hint[data-v-1ed93698]{margin:0;font-size:var(--ui-font-size-xs);color:var(--ui-warning);max-width:460px}.table-search-count[data-v-1ed93698]{flex-shrink:0;font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary)}.table-header-right[data-v-1ed93698]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.table-station-filters[data-v-1ed93698]{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.table-select-filter[data-v-1ed93698]{display:inline-flex;align-items:center;gap:6px;font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary);padding:4px 8px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-panel-bg-alt);box-shadow:none}.table-select-label[data-v-1ed93698]{white-space:nowrap;font-weight:600;color:var(--ui-text)}.table-select-input[data-v-1ed93698]{min-width:130px;padding:4px 6px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-panel-bg-alt);color:var(--ui-text);font-size:var(--ui-font-size-xs)}.table-d1-filter[data-v-1ed93698]{display:inline-flex;align-items:center;gap:6px;font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary);padding:4px 8px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-panel-bg-alt);box-shadow:none}.table-d1-label[data-v-1ed93698]{white-space:nowrap;font-weight:600;color:var(--ui-text)}.table-d1-input[data-v-1ed93698]{width:150px;padding:4px 6px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:var(--ui-panel-bg-alt);color:var(--ui-text);font-size:var(--ui-font-size-xs)}.table-d1-input[data-v-1ed93698]:focus{outline:none;border-color:var(--ui-primary);box-shadow:0 0 0 1px #22c55e59}.table-checkbox[data-v-1ed93698]{cursor:pointer;accent-color:var(--ui-primary)}.table-info[data-v-1ed93698]{display:flex;align-items:center;gap:8px;color:var(--ui-text-secondary);font-size:var(--ui-font-size-sm)}.info-item[data-v-1ed93698]{padding:2px 8px;border-radius:4px;border:1px solid transparent;font-weight:500;line-height:1.35}.info-item--rows[data-v-1ed93698]{background:#2563eb24;border-color:#3b82f6b3;color:var(--ui-text)}.info-item--stations[data-v-1ed93698]{background:#16a34a29;border-color:#22c55eb3;color:var(--ui-text)}.info-item--drops[data-v-1ed93698]{background:#eab3082e;border-color:#f59e0bbf;color:var(--ui-text)}.table-container[data-v-1ed93698]{flex:1;overflow:auto;border:1px solid var(--ui-table-border);border-radius:6px;background:var(--ui-table-bg)}table[data-v-1ed93698]{width:auto;min-width:100%;border-collapse:collapse;table-layout:auto}thead[data-v-1ed93698]{position:sticky;top:0;z-index:10;background:var(--ui-table-header-bg)}th[data-v-1ed93698]{padding:6px 8px;text-align:left;font-weight:600;color:var(--ui-text);border-bottom:2px solid var(--ui-table-border);white-space:nowrap;background:var(--ui-table-header-bg);width:auto;font-size:var(--ui-font-size-sm)}td[data-v-1ed93698]{padding:4px 8px;border-bottom:1px solid var(--ui-table-border);color:var(--ui-text-secondary);white-space:nowrap;width:auto;font-size:var(--ui-font-size-sm)}.cell-with-bar[data-v-1ed93698]{position:relative;overflow:hidden}.cell-bar-wrapper[data-v-1ed93698]{position:relative;display:inline-flex;align-items:center;width:100%}.cell-bar-bg[data-v-1ed93698]{position:absolute;top:3px;right:4px;bottom:3px;left:4px;border-radius:0;background:transparent}.cell-bar-fill[data-v-1ed93698]{height:100%;border-radius:0;background:#13cee791}.cell-bar-text[data-v-1ed93698]{position:relative;z-index:1}tbody tr[data-v-1ed93698]:hover{background:var(--ui-table-row-hover-bg)}tbody tr[data-v-1ed93698]:nth-child(odd){background:var(--ui-table-row-bg)}tbody tr[data-v-1ed93698]:nth-child(2n){background:var(--ui-table-row-alt-bg)}.spacer-row td[data-v-1ed93698]{padding:0;border:none;background:transparent}.table-container[data-v-1ed93698]::-webkit-scrollbar{width:8px;height:8px}.table-container[data-v-1ed93698]::-webkit-scrollbar-track{background:transparent;border-radius:4px}.table-container[data-v-1ed93698]::-webkit-scrollbar-thumb{background:#94a3b880;border-radius:4px}.table-container[data-v-1ed93698]::-webkit-scrollbar-thumb:hover{background:#94a3b8d9}.data-export[data-v-20495c9c]{margin-top:0}.section-title[data-v-20495c9c]{font-size:var(--ui-font-size-base);font-weight:600;color:var(--ui-text);margin:4px 0 8px}.export-button[data-v-20495c9c]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 18px;background:var(--ui-primary);color:#fff;border:none;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);font-weight:500;cursor:pointer;transition:all .3s ease}.export-button[data-v-20495c9c]:hover:not(:disabled){background:var(--ui-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--ui-primary-shadow)}.export-button[data-v-20495c9c]:active:not(:disabled){transform:translateY(0)}.export-button[data-v-20495c9c]:disabled{background:var(--ui-border);cursor:not-allowed;opacity:.7}.export-button svg[data-v-20495c9c]{width:16px;height:16px}.export-button-history[data-v-20495c9c]{margin-top:8px;background:var(--ui-secondary)}.export-button-history[data-v-20495c9c]:hover:not(:disabled){background:var(--ui-secondary-hover);box-shadow:0 4px 12px #082f4980}.export-button-reset[data-v-20495c9c]{margin-top:8px;background:var(--ui-warning)}.export-button-reset[data-v-20495c9c]:hover:not(:disabled){background:var(--ui-warning-hover);box-shadow:0 4px 12px #92400e73}.export-progress[data-v-20495c9c]{margin-top:8px;padding:8px 12px;background:var(--ui-info-bg);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-xs);color:var(--ui-info-text);line-height:1.5}.export-progress-tip[data-v-20495c9c]{margin-top:2px;color:var(--ui-info-text)}.export-summary[data-v-20495c9c]{margin-top:8px;padding:8px 12px;background:#22c55e1f;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-xs);color:#bbf7d0}.error-message[data-v-20495c9c]{margin-top:8px;padding:8px 12px;background:var(--ui-danger-soft-bg);color:var(--ui-danger);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-xs)}.error-next-step[data-v-20495c9c]{margin-top:4px;font-size:var(--ui-font-size-xs);color:var(--ui-danger-hover)}.modal-overlay[data-v-20495c9c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-20495c9c]{background:var(--ui-panel-bg);border-radius:8px;box-shadow:var(--ui-shadow-lg);min-width:360px;max-width:90vw}.modal-header[data-v-20495c9c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ui-border)}.modal-title[data-v-20495c9c]{font-size:var(--ui-font-size-lg);font-weight:600;color:var(--ui-text);margin:0}.modal-close[data-v-20495c9c]{padding:4px;border:none;background:none;color:var(--ui-text-secondary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.modal-close[data-v-20495c9c]:hover{background:var(--ui-panel-bg-hover);color:var(--ui-text)}.modal-body[data-v-20495c9c]{padding:20px}.modal-info[data-v-20495c9c]{font-size:var(--ui-font-size-base);color:var(--ui-text-secondary);margin:0 0 14px;line-height:1.6}.modal-info strong[data-v-20495c9c]{color:var(--ui-primary)}.modal-tip[data-v-20495c9c]{font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary);line-height:1.6;margin:0 0 14px;padding:12px 14px;background:#15803d2e;border-radius:var(--ui-radius-md);border-left:4px solid var(--ui-primary)}.filter-warning[data-v-20495c9c]{padding:12px 14px;background:#f59e0b29;border:1px solid #f59e0b;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);color:#fed7aa;line-height:1.5;margin-bottom:12px}.filter-error[data-v-20495c9c]{margin:10px 0 0;padding:10px 12px;background:var(--ui-danger-soft-bg);color:var(--ui-danger);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);line-height:1.5}.checkbox-list[data-v-20495c9c]{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:6px}.checkbox-item[data-v-20495c9c]{display:inline-flex;align-items:center;gap:6px;font-size:var(--ui-font-size-sm);color:var(--ui-text);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-item input[type=checkbox][data-v-20495c9c]{width:14px;height:14px}.checkbox-item-mean[data-v-20495c9c]{margin-top:10px;display:block}.filter-row[data-v-20495c9c]{margin-bottom:14px}.filter-row[data-v-20495c9c]:last-child{margin-bottom:0}.filter-row label[data-v-20495c9c]{display:block;font-size:var(--ui-font-size-base);font-weight:500;color:var(--ui-text);margin-bottom:6px}.filter-input[data-v-20495c9c]{width:100%;padding:10px 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-base);box-sizing:border-box}.filter-input[data-v-20495c9c]:focus{outline:none;border-color:var(--ui-primary);box-shadow:0 0 0 2px #22c55e59}.filter-input[data-v-20495c9c]::placeholder{color:var(--ui-text-muted)}.filter-range[data-v-20495c9c]{display:flex;align-items:center;gap:8px}.filter-input-small[data-v-20495c9c]{flex:1}.filter-range-sep[data-v-20495c9c]{color:var(--ui-text-secondary);font-size:var(--ui-font-size-base)}.modal-footer[data-v-20495c9c]{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--ui-border)}.modal-btn[data-v-20495c9c]{padding:10px 20px;border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-base);font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.modal-btn-cancel[data-v-20495c9c]{background:var(--ui-panel-bg-alt);color:var(--ui-text-secondary)}.modal-btn-cancel[data-v-20495c9c]:hover{background:var(--ui-panel-bg-hover)}.modal-btn-export[data-v-20495c9c]{background:var(--ui-primary);color:#fff}.modal-btn-export[data-v-20495c9c]:hover{background:var(--ui-primary-hover);box-shadow:0 2px 8px var(--ui-primary-shadow)}.histories-exporting[data-v-20495c9c]{text-align:center;padding:20px 0}.histories-spinner[data-v-20495c9c]{width:40px;height:40px;margin:0 auto 16px;border:4px solid var(--ui-border);border-top-color:var(--ui-primary);border-radius:50%;animation:histories-spin-20495c9c .8s linear infinite}.histories-exporting-text[data-v-20495c9c]{font-size:var(--ui-font-size-lg);font-weight:500;color:var(--ui-text);margin:0 0 8px}.histories-exporting-hint[data-v-20495c9c]{font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary);margin:0}@keyframes histories-spin-20495c9c{to{transform:rotate(360deg)}}.error-boundary[data-v-1e308956]{display:flex;align-items:center;justify-content:center;min-height:400px;padding:40px 20px}.error-content[data-v-1e308956]{text-align:center;max-width:600px;background:var(--ui-panel-bg);padding:40px;border-radius:12px;box-shadow:var(--ui-shadow-md)}.error-content svg[data-v-1e308956]{color:#ef4444;margin-bottom:20px}.error-title[data-v-1e308956]{font-size:var(--ui-font-size-title);font-weight:600;color:var(--ui-text);margin-bottom:12px}.error-message[data-v-1e308956]{font-size:var(--ui-font-size-lg);color:var(--ui-text-secondary);margin-bottom:20px;line-height:1.6}.error-details[data-v-1e308956]{margin:20px 0;text-align:left}.error-details details[data-v-1e308956]{cursor:pointer;padding:12px;background:var(--ui-panel-bg-alt);border-radius:6px}.error-details summary[data-v-1e308956]{font-weight:500;color:var(--ui-text-secondary);margin-bottom:8px}.error-details pre[data-v-1e308956]{font-size:var(--ui-font-size-xs);color:var(--ui-text);background:transparent;padding:12px;border-radius:4px;overflow-x:auto;margin-top:8px}.error-actions[data-v-1e308956]{display:flex;gap:12px;justify-content:center;margin-top:24px}.retry-button[data-v-1e308956],.reset-button[data-v-1e308956]{padding:10px 24px;border:none;border-radius:6px;font-size:var(--ui-font-size-base);font-weight:500;cursor:pointer;transition:all .3s ease}.retry-button[data-v-1e308956]{background:var(--ui-primary);color:#fff}.retry-button[data-v-1e308956]:hover{background:var(--ui-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--ui-primary-shadow)}.reset-button[data-v-1e308956]{background:var(--ui-panel-bg-alt);color:var(--ui-text-secondary)}.reset-button[data-v-1e308956]:hover{background:var(--ui-panel-bg-hover)}.app-page[data-v-d83e3fac]{min-height:100vh;display:flex;flex-direction:column;gap:4px}.app-header[data-v-d83e3fac]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:0;padding-top:12px}.header-content[data-v-d83e3fac]{flex:1}.header-actions[data-v-d83e3fac]{display:flex;align-items:center;gap:8px}.title[data-v-d83e3fac]{text-align:left;color:var(--ui-text);margin-bottom:4px;font-size:var(--ui-font-size-xl);font-weight:600;padding-bottom:0;border-bottom:none}.subtitle[data-v-d83e3fac]{text-align:left;color:var(--ui-text-muted);margin:0;font-size:var(--ui-font-size-xs);line-height:1.5}.app-container[data-v-d83e3fac]{padding-top:0;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.help-button[data-v-d83e3fac],.theme-toggle[data-v-d83e3fac]{width:34px;height:34px;padding:0;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-panel-bg);color:var(--ui-text-secondary);font-size:1rem;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.help-button[data-v-d83e3fac]:hover,.theme-toggle[data-v-d83e3fac]:hover{background:var(--ui-panel-bg-hover);color:var(--ui-text);box-shadow:var(--ui-shadow-sm)}.help-button[data-v-d83e3fac]:active,.theme-toggle[data-v-d83e3fac]:active{transform:translateY(1px);box-shadow:none}.main-content[data-v-d83e3fac]{position:relative;display:flex;gap:15px;flex:1;min-height:0;padding-top:10px}.left-panel[data-v-d83e3fac]{width:200px;flex-shrink:0;background:var(--ui-panel-bg);border-radius:var(--ui-radius-lg);padding:12px;display:flex;flex-direction:column;gap:8px;overflow:hidden;border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-md)}.right-panel[data-v-d83e3fac]{flex:1;min-width:0;background:var(--ui-panel-bg);border-radius:var(--ui-radius-lg);padding:20px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-md)}.empty-state[data-v-d83e3fac]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:var(--ui-text-muted)}.empty-state svg[data-v-d83e3fac]{margin-bottom:16px;opacity:.5}.empty-state p[data-v-d83e3fac]{font-size:var(--ui-font-size-lg)}.app-footer[data-v-d83e3fac]{margin-top:4px;padding:6px 0 4px;text-align:center;font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary);line-height:1.35;background:transparent;border-radius:0}.help-modal-overlay[data-v-d83e3fac]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:50}.help-modal[data-v-d83e3fac]{width:100%;max-width:760px;margin:0 16px;background:var(--ui-panel-bg);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg);border:1px solid var(--ui-border);overflow:hidden}.help-modal-header[data-v-d83e3fac]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--ui-border)}.help-modal-title[data-v-d83e3fac]{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-semibold);color:var(--ui-text)}.help-modal-close[data-v-d83e3fac]{padding:4px 8px;border-radius:var(--ui-radius-sm);border:none;background:transparent;color:var(--ui-text-secondary);cursor:pointer;font-size:var(--ui-font-size-sm);transition:all .15s ease}.help-modal-close[data-v-d83e3fac]:hover{background:var(--ui-panel-bg-hover);color:var(--ui-text)}.help-modal-body[data-v-d83e3fac]{padding:16px 18px 18px;font-size:13px;color:var(--ui-text-secondary);line-height:1.6}.help-intro[data-v-d83e3fac]{margin:0 0 10px}.help-steps[data-v-d83e3fac]{padding-left:18px;margin:0 0 10px}.help-steps li[data-v-d83e3fac]{margin-bottom:6px}.help-sublist[data-v-d83e3fac]{margin:4px 0 0;padding-left:20px;list-style:disc}.help-sublist li[data-v-d83e3fac]{margin-bottom:4px}.help-notes[data-v-d83e3fac]{margin:4px 0 0;font-size:var(--ui-font-size-xs);color:var(--ui-text-muted)}.help-modal-body code[data-v-d83e3fac]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}.app-footer a[data-v-d83e3fac]{color:var(--ui-secondary);text-decoration:none}.app-footer a[data-v-d83e3fac]:hover{text-decoration:underline}@media (max-width: 768px){.app-header[data-v-d83e3fac]{flex-direction:row;align-items:flex-start}.help-button[data-v-d83e3fac],.theme-toggle[data-v-d83e3fac]{align-self:flex-start}.app-container[data-v-d83e3fac]{overflow:auto}.main-content[data-v-d83e3fac]{flex-direction:column}.main-content[data-v-d83e3fac]:before{display:none}.left-panel[data-v-d83e3fac]{width:100%;border-bottom:1px solid var(--ui-border)}.right-panel[data-v-d83e3fac]{min-height:400px}}
