:root{--bg: #f3f5f8;--panel: #ffffff;--text: #1f2937;--muted: #6b7280;--line: #e5e7eb;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--shadow: 0 8px 24px rgba(15, 23, 42, .08);--radius: 12px;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);min-height:100%}body{background:radial-gradient(1200px 500px at 10% -10%,#dbeafe 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,#e0e7ff 0%,transparent 50%),var(--bg)}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 420px at 20% 0%,#dbeafe 0%,transparent 55%),radial-gradient(800px 380px at 90% 10%,#e0e7ff 0%,transparent 50%),#eef2f7}.login-screen[hidden]{display:none}.login-card{width:min(380px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:28px 24px 24px;display:flex;flex-direction:column;gap:12px}.login-card h2{margin:0;text-align:center;font-size:22px}.login-hint{margin:0;text-align:center;color:var(--muted);font-size:13px}.login-card input[type=password],.login-card input[type=text]{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;outline:none}.login-card input[type=password]:focus,.login-card input[type=text]:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.login-btn{width:100%;padding:10px 16px}.login-error{margin:0;text-align:center;color:var(--danger);font-size:13px}.login-error[hidden]{display:none}.app{max-width:none;margin:0;padding:20px 24px;display:flex;flex-direction:column;gap:20px}.app[hidden]{display:none}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.header h1{margin:0 0 6px;font-size:24px;font-weight:700}.path{margin:0;color:var(--muted);font-size:13px;word-break:break-all}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-dropdown-host{overflow:visible}.panel-dropdown-host>:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);gap:12px}.panel-head-table{justify-content:flex-start;flex-wrap:wrap}.panel-head h2{margin:0;font-size:16px;flex-shrink:0}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-left:8px}.filter-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.filter-item select{min-width:120px;max-width:200px;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:13px;background:#fff;color:var(--text);outline:none}.filter-item input[type=date],.filter-item input[type=datetime-local]{min-width:190px;border:1px solid #cbd5e1;border-radius:6px;padding:4px 8px;font-size:13px;background:#fff;color:var(--text);outline:none;font-family:inherit}.filter-item select:focus,.filter-item input[type=date]:focus,.filter-item input[type=datetime-local]:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.filter-item input[type=datetime-local].is-empty:not(:focus)::-webkit-datetime-edit-hour-field,.filter-item input[type=datetime-local].is-empty:not(:focus)::-webkit-datetime-edit-minute-field,.filter-item input[type=datetime-local].is-empty:not(:focus)::-webkit-datetime-edit-second-field{font-size:0;color:#9ca3af}.filter-item input[type=datetime-local].is-empty:not(:focus)::-webkit-datetime-edit-hour-field:before{content:"时";font-size:13px}.filter-item input[type=datetime-local].is-empty:not(:focus)::-webkit-datetime-edit-minute-field:before{content:"分";font-size:13px}.filter-item input[type=datetime-local].is-empty:not(:focus)::-webkit-datetime-edit-second-field:before{content:"秒";font-size:13px}.multi-dropdown{position:relative;min-width:140px}.multi-dropdown-toggle{width:100%;min-width:140px;max-width:220px;border:1px solid #cbd5e1;border-radius:6px;padding:5px 28px 5px 8px;font-size:13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.2 1.5L6 6.3l4.8-4.8'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--text);text-align:left;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-dropdown-toggle:hover,.multi-dropdown.open .multi-dropdown-toggle{border-color:#93c5fd}.multi-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:180px;max-width:280px;max-height:280px;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 20px #0f172a1f;padding:6px}.multi-dropdown-menu[hidden]{display:none}.multi-dropdown-search{flex-shrink:0;margin-bottom:4px}.multi-dropdown-search-input{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:13px;outline:none;box-sizing:border-box;font-family:inherit}.multi-dropdown-search-input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.multi-dropdown-list{overflow:auto;flex:1;min-height:0}.multi-dropdown-search-empty{padding:10px 8px;color:var(--muted);font-size:12px}.multi-dropdown-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.multi-dropdown-item span{min-width:0;line-height:1.35;word-break:break-all}.multi-dropdown-item input{width:15px;height:15px;margin-top:1px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}button.multi-dropdown-single{display:block;width:100%;border:none;background:none;font:inherit;text-align:left;cursor:pointer}button.multi-dropdown-single.is-active{background:#eff6ff;color:var(--primary);font-weight:600}#filterPairDropdown .multi-dropdown-toggle{min-width:120px;max-width:200px}#filterPairMenu{min-width:220px;max-width:min(360px,90vw);max-height:360px}.multi-dropdown-item[hidden]{display:none}.multi-dropdown-item:hover{background:#f8fafc}#filterNumberDropdown,#summaryAccountDropdown{min-width:180px}#filterNumberDropdown .multi-dropdown-toggle,#summaryAccountDropdown .multi-dropdown-toggle{max-width:280px}#filterNumberMenu,#summaryAccountMenu{min-width:280px;max-width:min(420px,90vw);max-height:360px}.multi-dropdown-empty{padding:10px 8px;color:var(--muted);font-size:12px}.muted{color:var(--muted);font-size:13px}.table-wrap,.summary-table-wrap{overflow-x:auto;overflow-y:auto;max-height:min(80vh,980px)}.table-wrap-data{overflow-x:auto;overflow-y:visible;max-height:none}.summary-table{font-size:13px}.summary-table th,.summary-table td{padding:14px}.summary-table th:nth-child(1),.summary-table td:nth-child(1){width:28%}.summary-table th:nth-child(2),.summary-table td:nth-child(2){width:18%;text-align:center}.summary-table th:nth-child(3),.summary-table td:nth-child(3){width:54%;white-space:normal;word-break:break-word;line-height:1.5}.pair-holders-table th:nth-child(1),.pair-holders-table td:nth-child(1){width:22%}.pair-holders-table th:nth-child(2),.pair-holders-table td:nth-child(2){width:78%;text-align:left;white-space:normal;word-break:break-word;line-height:1.6}.note-category-stats-wrap{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.note-category-stats-title{margin:0 0 4px;font-size:15px;font-weight:600}.note-category-stats-hint{margin:0 0 10px;font-size:12px}.note-category-stats-filter{margin-bottom:10px}.note-category-stats-table-area{display:inline-block;max-width:100%;vertical-align:top}.note-category-stats-table-area .table-wrap{width:auto}.note-category-stats-table-area .pager{width:auto;flex-wrap:wrap}#noteCategoryStatsTable{width:auto;table-layout:fixed}#noteCategoryStatsTable th,#noteCategoryStatsTable td{text-align:left}#noteCategoryStatsTable th:first-child,#noteCategoryStatsTable td.seq-cell{width:144px;text-align:center;color:#64748b;font-variant-numeric:tabular-nums}#noteCategoryStatsTable th:nth-child(2),#noteCategoryStatsTable td:nth-child(2){width:200px}#noteCategoryStatsTable th:nth-child(3),#noteCategoryStatsTable td:nth-child(3){width:264px}#noteCategoryStatsTable th:nth-child(4),#noteCategoryStatsTable td:nth-child(4){width:264px}#noteCategoryStatsTable th:nth-child(5),#noteCategoryStatsTable td:nth-child(5){width:120px}#noteCategoryStatsTable th:nth-child(6),#noteCategoryStatsTable td:nth-child(6){width:240px}#noteCategoryStatsTable th:nth-child(7),#noteCategoryStatsTable td:nth-child(7){width:504px}#noteCategoryStatsTable td.num-cell{font-variant-numeric:tabular-nums}#noteCategoryStatsTable tbody td{background:var(--grade-bg, transparent)}#noteCategoryStatsTable tbody tr:hover>td{background:#f8fafc}#noteCategoryStatsTable td.grade-name{color:var(--grade-color, inherit)}.pair-chip{display:inline;border:none;background:none;padding:0;margin:0;color:var(--primary);font-size:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.pair-chip:hover{color:var(--primary-hover)}.pair-chip.active{color:var(--primary-hover);font-weight:600}.pair-pos-ratio{color:#64748b;font-size:.92em;text-decoration:none;margin-left:1px}.pair-chip .pair-pos-ratio{text-decoration:none}.panel-head-actions{display:flex;align-items:center;gap:12px;margin-left:auto}tbody tr.favorite-account-row>td{background:var(--grade-bg, #fffbeb)}#dataTable tbody tr.just-saved>td{background:#dcfce7}#dataTable tbody tr.just-saved.favorite-account-row>td{background:#dcfce7}tbody tr.favorite-account-row:hover>td{background:#fef3c7}#dataTable .account-id-cell{cursor:pointer}#dataTable .account-id-cell.is-located{background:#dbeafe}#dataTable .account-id-cell.is-located .account-id-text{color:#2563eb;font-weight:600}#dataTable .quick-filter-cell{color:var(--primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}#dataTable .quick-filter-cell:hover{color:var(--primary-hover)}#accountSummaryTable tbody tr.summary-account-locate>td{background:#dbeafe!important}#accountSummaryTable tbody tr.summary-account-locate.favorite-account-row>td{background:#dbeafe!important}.account-id-text{vertical-align:middle}.favorite-account-row .account-id-text,.favorite-account-tag{color:#60a5fa}.favorite-account-tag{margin-left:4px;font-size:.92em;white-space:nowrap}.favorite-account-btn{margin-left:4px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid #93c5fd;border-radius:4px;background:#eff6ff;color:#2563eb;font-size:14px;font-weight:600;line-height:1;font-family:inherit;vertical-align:middle;cursor:pointer}.favorite-account-btn:hover{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8}.holder-account:has(.favorite-account-tag) .holder-account-id{color:#60a5fa}.holder-account-id.has-grade,.holder-account:has(.favorite-account-tag) .holder-account-id.has-grade{color:var(--grade-color)}.holder-account{display:block;white-space:normal;word-break:break-word;line-height:1.7;padding:2px 0}.holder-account-id{margin-right:6px;font-weight:600;white-space:nowrap}.holder-account-pairs{color:#475569}.holder-account .favorite-account-tag,.holder-account .favorite-account-btn{margin-left:3px}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:12px 18px;border-top:1px solid var(--line);background:#fafbfc}.pager-group{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151}.pager-group input[type=number]{width:64px;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:13px;outline:none}.pager-group input[type=number]:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.pager-info{margin-left:auto}.btn-sm{padding:5px 12px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}thead th{position:sticky;top:0;background:#f8fafc;text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);white-space:normal;word-break:break-all;font-weight:600;color:#374151;z-index:1;line-height:1.4}tbody td{padding:12px 8px;border-bottom:1px solid #f1f5f9;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#dataTable{min-width:1400px}#dataTable th:first-child,#dataTable td.seq-cell{width:48px;text-align:center;color:#64748b;font-variant-numeric:tabular-nums}#dataTable th:last-child,#dataTable td:last-child{width:180px;min-width:180px;overflow:visible}tbody tr:hover{background:#f8fafc}.actions{display:flex;gap:8px;flex-wrap:nowrap;white-space:nowrap}.link-btn{border:none;background:none;color:var(--primary);cursor:pointer;padding:0;font-size:13px}.link-btn.danger{color:var(--danger)}.chart-wrap{padding:8px 12px 12px;height:300px}.chart-controls{display:flex;align-items:center;gap:12px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.btn{border:1px solid transparent;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;transition:.15s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:#fff;border-color:var(--line);color:var(--text)}.btn-ghost:hover{background:#f8fafc}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-mask[hidden]{display:none}.modal{width:min(560px,100%);max-height:min(90vh,860px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 50px #0f172a40}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-head h3{margin:0;font-size:18px}.icon-btn{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px}.form{padding:8px 20px 20px;display:flex;flex-direction:column;gap:12px}.field{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}.field>label{padding-top:10px;text-align:right;color:#374151;font-size:14px}.field-inline{align-items:center}.field-inline>label:first-child{padding-top:0}.radio-group{display:flex;align-items:center;gap:16px;min-height:38px}.radio-label{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.radio-label input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.req{color:var(--danger)}.modal .field input[type=text],.modal .field textarea,.modal .field select,.form .field input[type=text],.form .field textarea,.form .field select,.account-form .field input[type=text],.account-form .field textarea,.account-form .field select{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:9px 12px;font-size:14px;line-height:1.4;font-family:inherit;outline:none;background:#fff;color:var(--text);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.account-combo{position:relative;display:grid;grid-template-columns:1fr 44px;gap:0;width:100%}.account-suggest{position:relative;width:100%}.input-with-suffix{display:grid;grid-template-columns:1fr auto;align-items:stretch;width:100%}.input-with-suffix input[type=text]{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none!important}.input-suffix{display:flex;align-items:center;padding:0 12px;min-height:38px;border:1px solid #cbd5e1;border-radius:0 8px 8px 0;background:#f8fafc;color:#64748b;font-size:14px;-webkit-user-select:none;user-select:none}.account-combo input[type=text]{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none!important}.account-combo-btn{min-height:38px;border:1px solid #cbd5e1;border-left:1px solid #e2e8f0;border-radius:0 8px 8px 0;background:#f8fafc;color:#475569;font-size:18px;line-height:1;cursor:pointer;outline:none}.account-combo-btn:hover,.account-combo-btn.open{background:#eff6ff;border-color:#93c5fd;color:var(--primary)}.account-combo-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;max-height:220px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 20px #0f172a1f;padding:6px}.account-combo-menu[hidden]{display:none}.account-combo-option{display:block;width:100%;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;font-size:13px;color:#374151;cursor:pointer}.account-combo-option:hover,.account-combo-option.is-active{background:#f1f5f9}.account-combo-option.is-active{background:#e0f2fe;color:var(--primary)}.account-combo-group{padding:8px 10px 4px;font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.02em}.account-combo-empty{padding:10px 8px;color:var(--muted);font-size:12px}.modal .field textarea,.form .field textarea{min-height:72px;resize:vertical}.modal .field select,.form .field select,.account-form .field select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.2 1.5L6 6.3l4.8-4.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.modal .field input[type=text]:focus,.modal .field textarea:focus,.modal .field select:focus,.form .field input[type=text]:focus,.form .field textarea:focus,.form .field select:focus,.account-form .field input[type=text]:focus,.account-form .field textarea:focus,.account-form .field select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.modal .field input[type=text][readonly],.form .field input[type=text][readonly]{background:#f8fafc;color:#64748b;cursor:default}.modal .field input[type=text][readonly]:focus,.form .field input[type=text][readonly]:focus{border-color:#cbd5e1;box-shadow:none}.modal-wide{width:min(720px,100%)}.modal-sm{width:min(420px,100%)}.modal-export{width:min(560px,100%)}.export-rules{font-size:13px;line-height:1.55;color:#475569;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.export-rules-lead{margin:0 0 8px}.export-rules ul{margin:0;padding-left:1.15em}.export-rules li+li{margin-top:6px}.export-rules ul ul{margin-top:4px}.export-rules code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:#eef2ff;color:#3730a3;padding:0 4px;border-radius:4px}.accounts-body{padding:12px 20px 20px;display:flex;flex-direction:column;gap:16px}.account-form{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.account-form-actions{display:flex;justify-content:flex-end;gap:8px}.accounts-table-wrap{overflow:auto;max-height:360px}.accounts-table{width:100%;border-collapse:collapse;font-size:13px;min-width:0;table-layout:fixed}.accounts-table th,.accounts-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-table th{background:#f8fafc;font-weight:600;position:sticky;top:0;z-index:1}.accounts-table th:nth-child(1),.accounts-table td:nth-child(1){width:28%}.accounts-table th:nth-child(2),.accounts-table td:nth-child(2){width:22%}.accounts-table th:nth-child(3),.accounts-table td:nth-child(3){width:32%}.accounts-table th:nth-child(4),.accounts-table td:nth-child(4){width:18%}.account-grades{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.account-grades-title{margin:0;font-size:14px;font-weight:600}#accountGradesList{display:flex;flex-direction:column;gap:8px;width:100%}.account-grades-empty{margin:0;font-size:12px}.account-grade-row{display:flex;align-items:center;gap:8px}.grade-name-input{width:160px;min-height:32px;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;box-sizing:border-box}.grade-name-input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.grade-color-input{width:42px;height:32px;padding:2px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;box-sizing:border-box}.grade-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%}.grade-swatch{width:12px;height:12px;border-radius:3px;flex:none;border:1px solid rgba(15,23,42,.12);background:var(--grade-color, transparent)}.modal-mask-batch{align-items:stretch;justify-content:stretch;padding:20px 24px;background:radial-gradient(1200px 500px at 10% -10%,#dbeafe 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,#e0e7ff 0%,transparent 50%),var(--bg)}.modal-batch{width:100%;height:100%;max-width:none;max-height:none;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.batch-hint{margin:0;padding:10px 20px 0;font-size:13px;line-height:1.5}.batch-notes{margin:10px 20px 0;padding:6px 14px;font-size:13px;line-height:1.55;color:#475569;background:#f8fafc;border:1px solid var(--line);border-radius:10px;flex:0 0 auto}.batch-notes[open]{padding-bottom:10px}.batch-notes-title{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px;margin:0;padding:4px 0;font-size:13px;font-weight:600;color:#0f172a}.batch-notes-title::-webkit-details-marker{display:none}.batch-notes-title:before{content:"";width:0;height:0;border-left:5px solid #64748b;border-top:4px solid transparent;border-bottom:4px solid transparent;transform:translateY(.5px)}.batch-notes[open]>.batch-notes-title:before{transform:rotate(90deg) translateY(.5px)}.batch-notes ol{margin:4px 0 0;padding-left:1.35em}.batch-notes li+li{margin-top:4px}.batch-defaults{display:flex;flex-wrap:wrap;gap:10px 14px;padding:12px 20px;align-items:end}.batch-default-item{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b;flex:0 0 auto}.batch-default-item-narrow,.batch-default-item-pair{width:100px}.batch-default-item-time{width:180px}.batch-default-item-total{width:120px}.batch-default-item input,.batch-default-item select{width:100%;min-height:34px;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:13px;font-family:inherit;outline:none;background:#fff;color:var(--text);box-sizing:border-box}.batch-default-item select{padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.2 1.5L6 6.3l4.8-4.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.batch-default-item input:focus,.batch-default-item select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.batch-table-wrap{flex:1;overflow:auto;margin:0 20px;border:1px solid var(--line);border-radius:10px;min-height:240px}.batch-table{width:max-content;min-width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;font-size:12px}.batch-table th,.batch-table td{padding:6px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f8fafc;text-align:left;vertical-align:middle;white-space:nowrap}.batch-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:600;color:#374151;word-break:keep-all}.batch-table .batch-col-idx,.batch-table td.batch-idx{width:40px;min-width:40px;max-width:40px;text-align:center;color:var(--muted);position:sticky;left:0;background:#fff;z-index:1}.batch-table thead th.batch-col-idx{z-index:3;background:#f8fafc}.batch-table input[type=text],.batch-table select{width:100%;min-width:0;min-height:32px;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:12px;font-family:inherit;outline:none;background:#fff;color:var(--text);box-sizing:border-box}.batch-table select{padding-right:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.2 1.5L6 6.3l4.8-4.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.batch-table input[type=text]:focus,.batch-table select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}.batch-table .account-combo{min-width:0;grid-template-columns:1fr 28px}.batch-table .account-combo-btn{min-height:32px;font-size:14px}.batch-table .batch-col-exchange{width:88px}.batch-table .batch-col-side{width:64px}.batch-table .batch-col-account,.batch-table .batch-col-pair,.batch-table .batch-col-qty,.batch-table .batch-col-value,.batch-table .batch-col-total,.batch-table .batch-col-ratio,.batch-table .batch-col-price,.batch-table .batch-col-avg,.batch-table .batch-col-time,.batch-table .batch-col-note{width:140px}.batch-table .batch-col-exchange input,.batch-table .batch-col-pair input,.batch-table .batch-col-qty input,.batch-table .batch-col-value input,.batch-table .batch-col-total input,.batch-table .batch-col-ratio input,.batch-table .batch-col-price input,.batch-table .batch-col-avg input,.batch-table .batch-col-time input,.batch-table .batch-col-note input{min-width:0}.batch-table .batch-col-side select{min-width:56px}.batch-table tr.batch-row-error td{background:#fef2f2}.batch-table tr.batch-row-error input,.batch-table tr.batch-row-error select{border-color:#fca5a5}.batch-account-float{position:fixed;z-index:220;min-width:180px}.batch-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px 16px;border-top:1px solid var(--line);margin-top:12px}.audit-body{padding:12px 20px 20px;display:flex;flex-direction:column;gap:10px}.audit-hint{margin:0;font-size:13px;line-height:1.5}.audit-summary{margin:0;font-size:14px;line-height:1.5}.audit-summary.is-ok{color:#15803d}.audit-summary.is-bad{color:var(--danger)}.audit-table-wrap{overflow:auto;max-height:min(56vh,520px);border:1px solid var(--line);border-radius:10px}.audit-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}.audit-table th,.audit-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}.audit-table th{background:#f8fafc;font-weight:600;position:sticky;top:0;z-index:1;white-space:nowrap}.audit-table td{color:#334155}.audit-table .audit-pair,.audit-table .audit-time,.audit-table .audit-count,.audit-table .audit-side{white-space:nowrap}.audit-table .audit-problems{white-space:normal;line-height:1.45;word-break:break-word}.audit-table .audit-action{white-space:nowrap;width:72px}.audit-table tbody tr[data-audit-idx]{cursor:pointer}.audit-table tbody tr[data-audit-idx]:hover{background:#f8fafc}.audit-empty{text-align:center;color:var(--muted);padding:24px 10px}.counter{grid-column:2;text-align:right;color:var(--muted);font-size:12px;margin-top:-6px}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:999px;transition:.2s}.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:#60a5fa}.switch input:checked+.slider:before{transform:translate(20px)}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid var(--line);margin-top:4px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:#111827;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;z-index:200;box-shadow:var(--shadow)}.toast[hidden]{display:none}.toast.error{background:#b91c1c}.empty{padding:36px;text-align:center;color:var(--muted)}body{min-width:1100px}.revision-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #fcd34d;background:#fffbeb;border-radius:10px;color:#92400e}.revision-banner[hidden]{display:none}@media(max-width:720px){.field{grid-template-columns:1fr;gap:6px}.field>label{text-align:left;padding-top:0}.header{flex-direction:column}}
