.table-import-overlay{position:fixed;inset:0;background:#171232b3;z-index:20000;display:flex;align-items:center;justify-content:center;padding:18px;font-family:inherit}
.table-import-window{background:#fff;border-radius:16px;width:min(1500px,100%);height:min(96vh,1100px);display:flex;flex-direction:column;box-shadow:0 18px 70px #0005;color:#28243d;overflow:hidden}
.table-import-window>header,.table-import-window>footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px;background:#faf9ff;flex:none}
.table-import-window h2{margin:0 0 6px;font-size:21px}.table-import-window h3{margin:0 0 8px;font-size:17px}.table-import-window p{margin:5px 0 10px;line-height:1.45}
.table-import-window button{border:1px solid #d9d4e9;border-radius:8px;padding:9px 12px;background:#f5f2fc;color:#393051;cursor:pointer;white-space:nowrap}.table-import-window button.primary-button{background:#5547bd;color:#fff;border-color:#5547bd}.table-import-window button:disabled{opacity:.5;cursor:default}
.table-import-window label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.table-import-window input,.table-import-window select,.table-import-window textarea{font:inherit;border:1px solid #d4cfdf;border-radius:6px;padding:8px;min-width:0;max-width:100%;background:#fff;color:#28243d}
.table-import-window label.check-line{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:10px 0;font-weight:500}.table-import-window input[type=checkbox]{width:18px;height:18px;flex:none}
.table-import-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;padding:12px 22px}.table-import-controls label:first-child{flex:1;min-width:180px}.table-import-controls input[type=number]{width:70px}
.table-import-status{padding:0 22px;color:#574a89;min-height:20px;flex:none}.table-import-status.error{color:#a82342}
.table-import-body{display:grid;grid-template-columns:minmax(280px,42%) minmax(350px,58%);gap:16px;padding:0 22px 15px;overflow:auto;min-height:0;flex:1}
.table-import-original,.table-import-result{min-width:0}.table-import-canvas-wrap{overflow:auto;max-height:72vh;background:#eae8ef;border:1px solid #ddd6ee;border-radius:8px}.table-import-canvas-wrap canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair;background:#fff}
.table-import-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin:8px 0}.table-import-actions input[type=number]{width:75px}.table-import-grid{overflow:auto;max-height:49vh;border:1px solid #e0dbe9;border-radius:8px}
.table-import-grid table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.table-import-grid th,.table-import-grid td{border:1px solid #e0dbe9;padding:5px;vertical-align:top}.table-import-grid th{background:#f0edf8;position:sticky;top:0;z-index:1;min-width:145px}.table-import-grid th:first-child{min-width:55px}.table-import-grid th:last-child{min-width:105px}
.table-import-grid th input,.table-import-grid th select{display:block;width:100%;margin-bottom:4px}.table-import-grid td textarea{width:175px;min-width:120px;resize:both;display:block;background:transparent}.table-import-grid td.table-import-uncertain{background:#fff2c6}.table-import-grid td small{display:block;white-space:nowrap}.table-import-grid td button{display:block;margin-bottom:5px;font-size:11px;padding:6px}
.table-import-confirm{margin-top:9px;border-top:1px solid #eee}.imported-table-preview{overflow-x:auto}.imported-table-preview table{width:100%;min-width:550px}.imported-table-preview textarea{width:100%;min-width:90px;min-height:55px}.imported-table-preview th{min-width:100px}
@media(max-width:850px){.table-import-overlay{padding:4px}.table-import-window{height:98dvh;border-radius:10px}.table-import-body{grid-template-columns:1fr;padding:0 12px 12px}.table-import-canvas-wrap{max-height:48vh}.table-import-window>header,.table-import-window>footer{padding:12px}.table-import-controls{padding:10px 12px}.table-import-window h2{font-size:18px}.table-import-status{padding:0 12px}.table-import-grid{max-height:55vh}.table-import-window>footer{position:sticky;bottom:0}}
