.extractor-upload{padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.drop-zone{display:grid;place-items:center;min-height:170px;padding:28px;border:2px dashed #aebaca;border-radius:12px;background:#fafbfd;text-align:center;transition:border-color .15s ease,background .15s ease}.drop-zone.is-dragging{border-color:var(--brand);background:#eef4ff}.drop-zone strong{display:block;font-size:1.05rem}.drop-zone p{margin:5px 0 15px;color:var(--muted)}.drop-zone input{position:absolute;width:1px;height:1px;min-height:1px;padding:0;opacity:0}.drop-zone label{cursor:pointer}.extractor-error{min-height:1.5em;margin:12px 0 0;color:#b42318;font-weight:700}.file-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:15px;border-radius:10px;background:var(--soft)}.file-summary h3{margin:0 0 3px}.file-summary p{margin:0;color:var(--muted);font-size:.88rem}.file-summary button{border:0;background:transparent;color:var(--brand-dark);font-weight:800;cursor:pointer}.extractor-workspace{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:22px;margin-top:22px}.column-panel,.preview-panel{min-width:0;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-heading h2{font-size:1.15rem;margin:0}.panel-heading p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.selection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.selection-actions button{min-height:40px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}.column-list{display:grid;gap:8px;max-height:500px;overflow:auto;padding:2px}.column-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px}.column-item input{width:19px;height:19px;min-height:19px;margin:0}.column-item label{min-width:0;font-weight:700;overflow-wrap:anywhere}.reorder-buttons{display:flex;gap:5px}.reorder-buttons button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer}.reorder-buttons button:disabled{opacity:.35;cursor:not-allowed}.preview-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.preview-table{width:100%;min-width:520px;border-collapse:collapse;font-size:.88rem}.preview-table th,.preview-table td{max-width:260px;padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-table th{position:sticky;top:0;background:var(--soft);color:var(--ink)}.preview-table tr:last-child td{border-bottom:0}.preview-empty{display:grid;place-items:center;min-height:240px;padding:30px;text-align:center;color:var(--muted);background:#fafbfd;border-radius:10px}.preview-note{margin:10px 0 0;color:var(--muted);font-size:.85rem}.extractor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.extractor-feedback{margin:0;color:var(--success);font-size:.88rem;font-weight:700}@media(max-width:850px){.extractor-workspace{grid-template-columns:1fr}.column-list{max-height:360px}}@media(max-width:560px){.extractor-upload,.column-panel,.preview-panel{padding:16px}.file-summary,.panel-heading{align-items:flex-start;flex-direction:column}.extractor-actions .button{width:100%}.preview-table{min-width:480px}}
