.ef-modal{max-width:560px}.ef-dropzone{border:2px dashed var(--border2);border-radius:var(--rs);padding:28px 16px;text-align:center;background:var(--surface2);transition:border-color .12s ease,background-color .12s ease}.ef-dropzone--dragover{border-color:var(--accent);background:var(--accent-dim)}.ef-dropzone-icon{color:var(--text3);margin-bottom:8px}.ef-dropzone-icon svg{width:28px;height:28px}.ef-dropzone-text{font:var(--font-body);color:var(--text)}.ef-dropzone-or{font:var(--font-small);color:var(--text3);margin:8px 0}.ef-dropzone-hint{font:var(--font-small);color:var(--text3);margin-top:10px}.ef-file-list{margin-top:16px;display:flex;flex-direction:column;gap:6px}.ef-file-list-title{font:var(--font-secondary);color:var(--text2);margin-bottom:4px}.ef-file-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--rx);background:var(--surface2);border:1px solid var(--border)}.ef-file-row--invalid{background:var(--red-dim);border-color:var(--red)}.ef-file-row-icon{display:flex;color:var(--green);flex-shrink:0}.ef-file-row--invalid .ef-file-row-icon{color:var(--red)}.ef-file-row-icon svg{width:16px;height:16px}.ef-file-row-name{flex:1;font:var(--font-body);color:var(--text);word-break:break-all}.ef-file-row-error{font:var(--font-small);color:var(--red)}.ef-file-row-remove svg{width:14px;height:14px}.ef-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.ef-summary{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.ef-summary-row{display:flex;justify-content:space-between;padding:6px 10px;border-radius:var(--rx);background:var(--surface2);font:var(--font-body)}.ef-summary-count{font-weight:700}.ef-result-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.ef-result-row{padding:8px 10px;border-radius:var(--rx);border:1px solid var(--border);background:var(--surface2)}.ef-result-row-name{font:var(--font-body);color:var(--text);word-break:break-all}.ef-result-row-status{font:var(--font-small);font-weight:700;margin-left:8px}.ef-result-row-detail{font:var(--font-small);color:var(--text2);margin-top:2px}.ef-result-row--imported .ef-result-row-status{color:var(--green)}.ef-result-row--updated .ef-result-row-status{color:var(--blue)}.ef-result-row--duplicate .ef-result-row-status{color:var(--amber)}.ef-result-row--needs_review .ef-result-row-status{color:var(--purple)}.ef-result-row--failed .ef-result-row-status{color:var(--red)}.ef-total-note{font:var(--font-small);color:var(--text3);text-align:right;margin-top:10px}.ef-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.ef-list,.ef-detail{min-height:320px}.ef-ctrl-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ef-search-input{flex:1;min-width:180px}.ef-list-row{cursor:pointer}.ef-list-row td{transition:background-color .12s ease,color .12s ease;vertical-align:middle}.ef-list-row:hover{background:#11111104}.ef-list-row.active{background:#ffcb2e14}.ef-status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font:var(--font-small);font-weight:700}.ef-status-badge--unpaid{background:var(--surface3);color:var(--text2)}.ef-status-badge--paid{background:var(--green-dim);color:var(--green)}.ef-status-badge--review{background:var(--purple-dim);color:var(--purple)}.ef-vendor-status{font:var(--font-small);color:var(--text3);margin-top:2px}.ef-detail-back-btn,.ef-mobile-list{display:none}.ef-vendor-picker-row{display:flex;gap:8px;align-items:center;margin-top:6px}.ef-vendor-select{flex:1}@media(max-width:1024px){.ef-layout{grid-template-columns:1fr}.ef-detail{grid-column:1 / -1}}@media(max-width:768px){.ef-layout.ef-mobile-detail-active .ef-list{display:none}.ef-detail-back-btn{display:inline-flex}}
