.lft-ui { display: flex; flex-direction: column; gap: 16px; }
.lft-dropzone {
  border: 2px dashed var(--lf-line, #E6E4DD);
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  cursor: pointer;
  background: rgba(244,163,64,0.04);
}
.lft-dropzone.is-dragover { border-color: var(--lf-accent, #F4A340); background: rgba(244,163,64,0.1); }
.lft-dropzone input[type="file"] { display: none; }
.lft-file-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.lft-file-list li { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; background: #fff; border: 1px solid var(--lf-line, #E6E4DD); border-radius: 8px; font-size: 0.9rem; }
.lft-file-list button { border: none; background: none; color: #b3413b; cursor: pointer; font-size: 0.85rem; }
.lft-textarea { width: 100%; min-height: 220px; padding: 14px; border-radius: 10px; border: 1px solid var(--lf-line, #E6E4DD); font-family: inherit; font-size: 0.95rem; resize: vertical; }
.lft-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.lft-field { display: flex; flex-direction: column; gap: 4px; font-size: 0.85rem; }
.lft-field input, .lft-field select { padding: 8px 10px; border-radius: 8px; border: 1px solid var(--lf-line, #E6E4DD); font-family: inherit; }
.lft-stat { display: inline-flex; gap: 6px; align-items: baseline; font-size: 0.85rem; color: var(--lf-ink-soft, #3D3D52); }
.lft-stat strong { font-size: 1.1rem; color: var(--lf-ink, #1A1A2E); }
.lft-invoice-line { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 8px; align-items: center; }
.lft-canvas-wrap { position: relative; max-width: 100%; overflow: auto; border: 1px solid var(--lf-line, #E6E4DD); border-radius: 10px; }
.lft-canvas-wrap canvas { max-width: 100%; display: block; cursor: crosshair; }
.lft-result-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.lft-note { font-size: 0.85rem; color: var(--lf-ink-soft, #3D3D52); }
.lft-progress { font-size: 0.85rem; color: var(--lf-success, #2E9E6B); min-height: 1.2em; }
button.lf-btn:disabled { opacity: 0.5; cursor: not-allowed; }
