:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#f4f6f8;--red:#c91f26;--red-dark:#a8171d;--line:#dde3ea;--muted:#667085}*{box-sizing:border-box}body{margin:0}.topbar{background:#151a23;color:#fff;padding:15px max(24px,calc((100% - 1380px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}.brand-wrap{display:flex;align-items:baseline;gap:12px}.brand{color:#fff;text-decoration:none;font-size:24px;font-weight:850}.brand-wrap span{color:#98a2b3;font-size:14px}.topbar nav{display:flex;gap:22px}.topbar nav a{color:#e5e7eb;text-decoration:none;font-size:14px}.topbar nav .disabled{color:#667085;pointer-events:none}main{max-width:1380px;margin:26px auto;padding:0 22px}.card{background:#fff;border:1px solid #e9edf2;border-radius:18px;padding:26px;margin-bottom:22px;box-shadow:0 8px 30px rgba(16,24,40,.06)}.hero{display:grid;grid-template-columns:1fr 1.35fr;gap:36px;align-items:end}h1,h2{margin:4px 0 8px;line-height:1.15}h1{font-size:32px}h2{font-size:24px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:800}.muted{color:var(--muted);margin:0}.upload-form{display:grid;grid-template-columns:1fr 1.7fr auto;gap:14px;align-items:end}label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:14px}input,select,button{font:inherit;border-radius:10px}input,select{padding:11px 12px;border:1px solid #cfd7e2;background:#fff;color:#172033;min-width:0}input:focus,select:focus{outline:3px solid rgba(201,31,38,.12);border-color:var(--red)}button{padding:12px 18px;border:0;background:var(--red);color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}button:hover{background:var(--red-dark)}.section-head,.title-row,.actions,.action-card{display:flex;justify-content:space-between;align-items:center;gap:18px}.status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef1f4;color:#475467;font-size:12px;font-weight:800}.status.ready{background:#dcfae6;color:#067647}.status.tillypad_draft{background:#e0eaff;color:#3538cd}.notice,.success{display:flex;flex-direction:column;gap:4px;padding:15px 16px;border-radius:12px;margin:18px 0}.notice{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}.supplier-row{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:18px;align-items:end;margin:20px 0}.supplier-hint{color:var(--muted);font-size:13px;padding-bottom:11px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;color:#667085;background:#f8fafc;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.editable input,.editable select{width:100%;padding:9px 10px}.editable td:first-child{min-width:280px}.editable td:nth-child(2),.editable td:nth-child(3),.editable td:nth-child(6){min-width:88px}.editable td:nth-child(4),.editable td:nth-child(5){min-width:110px}.editable td:nth-child(7){min-width:220px}.center{text-align:center}.check{width:18px!important;height:18px}.icon-btn{padding:5px 10px;border-radius:8px;font-size:20px;line-height:1}.icon-btn.danger{background:#fee4e2;color:#b42318}.actions{margin-top:16px}.total{font-size:18px}.line-form{display:grid;grid-template-columns:2.3fr repeat(5,.72fr) 1.3fr auto;gap:10px;align-items:end}.compact-card{padding-bottom:24px}.empty{padding:22px;border:1px dashed #cbd5e1;border-radius:12px;color:var(--muted);background:#fafbfc}.link{color:var(--red);font-weight:800;text-decoration:none}.action-card{background:linear-gradient(135deg,#fff,#f8fafc)}.raw-text summary{cursor:pointer;font-weight:800}pre{white-space:pre-wrap;background:#151a23;color:#e5e7eb;padding:16px;border-radius:12px;max-height:330px;overflow:auto}@media(max-width:1100px){.hero{grid-template-columns:1fr}.upload-form{grid-template-columns:1fr 1fr}.upload-form button{grid-column:1/-1}.line-form{grid-template-columns:repeat(4,1fr)}.line-form .name-field{grid-column:span 2}}@media(max-width:720px){.topbar nav,.brand-wrap span{display:none}main{padding:0 12px}.card{padding:18px;border-radius:14px}.upload-form,.supplier-row,.line-form{grid-template-columns:1fr}.line-form .name-field{grid-column:auto}.title-row,.actions,.action-card{align-items:flex-start;flex-direction:column}h1{font-size:27px}}

/* Clipboard and drag-and-drop import */
.import-card{align-items:center}.clipboard-upload{grid-template-columns:minmax(220px,.75fr) minmax(320px,1.35fr);gap:14px}.clipboard-upload>label{align-self:start}.drop-zone{grid-column:2;min-height:170px;border:2px dashed #cfd7e2;border-radius:14px;background:#fafbfc;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:20px;text-align:center;cursor:pointer;transition:.18s ease}.drop-zone:hover,.drop-zone:focus,.drop-zone.dragging{border-color:var(--red);background:#fff7f7;outline:none}.drop-zone.has-file{border-style:solid;border-color:#12b76a;background:#f6fef9}.drop-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fee4e2;color:var(--red);font-size:25px;font-weight:700}.drop-zone span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.secondary-btn{margin-top:4px;background:#fff;color:var(--red);border:1px solid #f0a5a9;padding:9px 14px}.secondary-btn:hover{background:#fff1f2}.import-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.paste-btn{background:#fff;color:var(--red);border:1px solid var(--red)}.paste-btn:hover{background:#fff1f2}.clipboard-message{grid-column:1/-1;min-height:20px;text-align:right;color:var(--muted);font-size:13px}.clipboard-message.success{display:block;margin:0;padding:0;border:0;background:transparent;color:#067647}.clipboard-message.error{color:#b42318}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.paste-hint{margin-top:14px;color:var(--muted);font-size:13px}.paste-hint kbd{display:inline-block;padding:2px 7px;border:1px solid #d0d5dd;border-bottom-width:2px;border-radius:5px;background:#fff;color:#344054;font:600 12px/1.5 Segoe UI,Arial,sans-serif}button:disabled{opacity:.65;cursor:wait}
@media(max-width:1100px){.clipboard-upload{grid-template-columns:1fr}.drop-zone{grid-column:1}.import-actions,.clipboard-message{grid-column:1}}
@media(max-width:720px){.import-actions{flex-direction:column}.import-actions button{width:100%}.clipboard-message{text-align:left}.drop-zone{min-height:155px}}

.diagnostic-status{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:20px 0}.debug-upload{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.debug-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.debug-images figure{margin:0}.debug-images figcaption{font-weight:700;margin-bottom:8px}.debug-images img{width:100%;max-height:620px;object-fit:contain;border:1px solid #d8e0ea;border-radius:14px;background:#f7f9fc}.ocr-attempt{margin:12px 0;border:1px solid #d8e0ea;border-radius:12px;padding:12px}.ocr-attempt summary{cursor:pointer;font-weight:700}.ocr-attempt pre{white-space:pre-wrap;background:#101722;color:#e8edf5;padding:16px;border-radius:10px;max-height:420px;overflow:auto}.system-grid{display:grid;gap:10px;margin:20px 0}.system-row{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:14px;border:1px solid #d8e0ea;border-radius:12px}.notice.success{border-color:#a8e7c0;background:#effbf3;color:#087a37}@media(max-width:800px){.debug-images{grid-template-columns:1fr}.system-row{grid-template-columns:1fr}}

/* v0.7 initial setup */
.setup-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:24px; }
.setup-heading h1 { margin-bottom:8px; }
.setup-steps { display:grid; gap:16px; margin-top:22px; }
.setup-step { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:22px; border:1px solid #d9e0ea; border-radius:18px; background:#fbfcfe; }
.setup-step.current { border-color:#e59b9b; box-shadow:0 0 0 3px rgba(204,31,37,.06); }
.setup-step.complete { border-color:#b9e7ca; background:#f5fcf7; }
.step-number { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-weight:800; background:#e9edf3; color:#24324a; }
.setup-step.current .step-number { background:#cf2026; color:#fff; }
.setup-step.complete .step-number { background:#178447; color:#fff; }
.step-content h2 { margin:0 0 8px; font-size:21px; }
.step-content p { margin:6px 0 12px; }
.path-form { margin-top:18px; }
.path-form label { display:block; font-weight:700; margin-bottom:8px; }
.path-row { display:grid; grid-template-columns:minmax(280px,1fr) auto; gap:12px; }
.path-row input { width:100%; min-width:0; }
.path-form small { display:block; margin-top:8px; color:#64748b; }
.button.secondary { background:#fff; color:#17233a; border:1px solid #cdd6e3; }
.button.secondary:hover { background:#f4f6f9; }
.ready-box { margin-top:22px; }
@media (max-width:760px) {
  .setup-heading { flex-direction:column; }
  .setup-step { grid-template-columns:1fr; }
  .path-row { grid-template-columns:1fr; }
}

.system-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
  margin-top: 24px;
}
.system-item {
  border: 1px solid var(--border, #d7e0ea);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-wrap: anywhere;
}
.system-item .ok { color: #087a44; }
.debug-section { margin-top: 20px; }

/* v0.9 Tillypad SQL integration */
.sql-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.sql-form .span-2{grid-column:span 2}.sql-form .span-all{grid-column:1/-1}.sql-actions{display:flex;gap:12px;flex-wrap:wrap}.button-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;background:var(--red);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.secondary-link{background:#fff;color:#172033;border:1px solid #cfd7e2}.disabled-link{pointer-events:none;opacity:.45}.explorer-search{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto auto;gap:12px;align-items:end;margin-top:22px}.section-gap{margin-top:28px}.wide-preview{max-height:620px}.wide-preview td{max-width:360px;overflow-wrap:anywhere;white-space:normal}.sql-form code,.card code{font-family:Consolas,monospace;background:#f2f4f7;padding:2px 5px;border-radius:5px}@media(max-width:900px){.sql-form{grid-template-columns:1fr 1fr}.sql-form .span-2{grid-column:span 2}.explorer-search{grid-template-columns:1fr 1fr}.explorer-search .button-link,.explorer-search button{width:100%}}@media(max-width:620px){.sql-form,.explorer-search{grid-template-columns:1fr}.sql-form .span-2,.sql-form .span-all{grid-column:1}.sql-actions{flex-direction:column}.sql-actions button{width:100%}}


/* Dependency download helpers */
.download-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 8px; }
.download-actions .button-link { text-decoration: none; }
.download-actions .button-link.secondary { background: #fff; color: #0d1b35; border: 1px solid #ccd6e5; }
.install-help { margin-top: 14px; color: #52627b; }
.install-help summary { cursor: pointer; font-weight: 700; color: #0d1b35; }
.install-help ol { margin: 12px 0 0 22px; line-height: 1.65; }
.dependency-help { margin-top: 18px; }
.dependency-help span { display: block; margin-top: 6px; }
.sql-editor{width:100%;font-family:Consolas,"Courier New",monospace;font-size:15px;line-height:1.45;resize:vertical;white-space:pre}
.small-field{max-width:170px}.actions-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 26px}.metric-strip>div{border:1px solid #d8e0eb;border-radius:14px;padding:16px;background:#f8fafc}.metric-strip span{display:block;color:#65748b;font-size:13px;margin-bottom:6px}.metric-strip strong{font-size:24px}@media(max-width:800px){.metric-strip{grid-template-columns:repeat(2,1fr)}}
.notice.warning{background:#fff7df;border:1px solid #e9c866;color:#644b00}.notice.success{background:#eaf8ef;border:1px solid #7fc89a;color:#165c30}.notice.error{background:#fff0f0;border:1px solid #dc8e8e;color:#8a2020}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;border-bottom:1px solid #e5e8ef;text-align:left;vertical-align:middle}.data-table select{min-width:260px}.section-title,.actions-card,.inline-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.muted{font-size:.86rem;color:#687080;margin-top:4px}.danger-zone{border:1px solid #e7a2a2}.button.danger{background:#a62f2f;color:#fff}.inline-actions input{min-width:260px}.tillypad-next{margin-top:20px}@media(max-width:900px){.form-grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.actions-card,.inline-actions,.section-title{align-items:stretch;flex-direction:column}.inline-actions input{min-width:0;width:100%}}
.hero-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;border-radius:12px;padding:14px 20px}.button.secondary{border:1px solid var(--border,#ccd6e4);color:var(--ink,#071a38);background:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0}.stat-card{border:1px solid #d7e0ec;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:5px}.stat-card strong{font-size:28px}.stat-card span{color:#61718a}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.feature{border:1px solid #d7e0ec;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px}.feature span,.muted{color:#61718a}.table-scroll{overflow:auto}.api-results{min-width:1000px}.wrap-cell{white-space:normal;max-width:420px;word-break:break-word}.match-state{display:inline-flex;padding:5px 10px;border-radius:999px;font-weight:800;font-size:12px}.match-state.high{background:#d8f7e4;color:#08783c}.match-state.medium{background:#fff0c7;color:#8b5a00}.empty-state{text-align:center;padding:45px 20px}.notice.warning{background:#fff8e5;border:1px solid #efc966;color:#795300}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.status-pill{background:#eef2f6;border-radius:999px;padding:8px 14px;font-weight:800}@media(max-width:900px){.hero-row{flex-direction:column}.hero-actions{width:100%}.hero-actions form,.hero-actions .button,.hero-actions button{width:100%}}

/* v1.4.3: forms must never widen the whole page. */
html,body{max-width:100%;overflow-x:hidden}
.card,.compact-card,.supplier-row,.line-form,.table-wrap{min-width:0;max-width:100%}
.line-form{
  grid-template-columns:minmax(220px,2fr) repeat(5,minmax(100px,1fr)) minmax(190px,1.5fr);
}
.line-form>label,.line-form>button{min-width:0;max-width:100%}
.line-form select,.line-form input{width:100%}
.line-form>button{grid-column:1/-1;justify-self:start}
@media(max-width:1200px){
  .line-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .line-form .name-field{grid-column:span 2}
  .line-form>button{grid-column:1/-1}
}
@media(max-width:720px){
  .line-form{grid-template-columns:1fr}
  .line-form .name-field,.line-form>button{grid-column:1}
  .line-form>button{width:100%}
}

/* v1.4.4: compact manual item form; product selector stays inside the card. */
.line-form{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
.line-form .name-field{grid-column:span 4}
.line-form .quantity-field{grid-column:span 2}
.line-form .unit-field{grid-column:span 1}
.line-form .price-field{grid-column:span 2}
.line-form .amount-field{grid-column:span 2}
.line-form .vat-field{grid-column:span 1}
.line-form .product-field{grid-column:span 6}
.line-form>button{grid-column:span 3;justify-self:stretch;width:100%}
.line-form .product-field select{width:100%;min-width:0}
@media(max-width:1100px){
  .line-form{grid-template-columns:repeat(6,minmax(0,1fr))}
  .line-form .name-field{grid-column:span 3}
  .line-form .quantity-field{grid-column:span 1}
  .line-form .unit-field{grid-column:span 1}
  .line-form .price-field{grid-column:span 1}
  .line-form .amount-field{grid-column:span 2}
  .line-form .vat-field{grid-column:span 1}
  .line-form .product-field{grid-column:span 3}
  .line-form>button{grid-column:span 2}
}
@media(max-width:720px){
  .line-form{grid-template-columns:1fr 1fr}
  .line-form .name-field,.line-form .product-field{grid-column:1/-1}
  .line-form .quantity-field,.line-form .unit-field,.line-form .price-field,.line-form .amount-field,.line-form .vat-field{grid-column:span 1}
  .line-form>button{grid-column:1/-1}
}


/* v1.4.5: product selector is a dedicated second row, independent of the main field grid. */
.manual-item-form{display:flex;flex-direction:column;gap:18px;min-width:0;overflow:hidden}
.manual-main-fields{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(5,minmax(110px,1fr));gap:12px;align-items:end;min-width:0}
.manual-main-fields>label,.manual-product-row>label{min-width:0}
.manual-main-fields input,.manual-product-row select{width:100%;min-width:0;max-width:100%}
.manual-product-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:12px;align-items:end;width:100%;min-width:0}
.manual-product-row button{width:100%;min-width:0;max-width:100%;white-space:normal}
@media(max-width:1150px){
  .manual-main-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  .manual-main-fields .name-field{grid-column:span 2}
}
@media(max-width:760px){
  .manual-main-fields{grid-template-columns:1fr 1fr}
  .manual-main-fields .name-field{grid-column:1/-1}
  .manual-product-row{grid-template-columns:1fr}
}
@media(max-width:520px){
  .manual-main-fields{grid-template-columns:1fr}
  .manual-main-fields .name-field{grid-column:1}
}

/* v1.4.8 — cleaner Tillypad document creation page */
.document-head { align-items: center; }
.eyebrow { color: #cf2026; font-weight: 800; letter-spacing: .08em; font-size: .82rem; margin-bottom: .35rem; }
.draft-note { display:flex; gap:14px; align-items:flex-start; background:#edf9f1; border:1px solid #b9e5c7; border-radius:18px; padding:18px 20px; margin:0 0 24px; }
.draft-note-icon { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#168f4b; color:#fff; font-weight:900; flex:0 0 34px; }
.draft-note strong { display:block; font-size:1.05rem; margin:1px 0 4px; }
.draft-note p { margin:0; color:#557063; }
.document-card { padding:28px 32px; }
.section-heading { margin-bottom:20px; }
.section-heading > div:first-child { display:flex; align-items:center; gap:12px; }
.section-heading h2 { margin:0; }
.section-heading p { margin:8px 0 0 46px; color:#66758a; }
.section-heading-row { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:8px; }
.step-badge { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#151c28; color:#fff; font-weight:800; flex:0 0 34px; }
.section-help { margin:0 0 18px 46px; }
.document-total { display:flex; align-items:baseline; gap:10px; white-space:nowrap; }
.document-total span { color:#66758a; }
.document-total strong { font-size:1.5rem; }
.document-table td { vertical-align:middle; }
.action-panel { margin-bottom:32px; }
.action-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.action-box { border:1px solid #dbe3ee; border-radius:16px; padding:20px; display:flex; flex-direction:column; gap:18px; justify-content:space-between; min-width:0; }
.action-box strong { font-size:1.05rem; }
.action-box p { margin:6px 0 0; color:#66758a; line-height:1.45; }
.safe-action { background:#f8fafc; }
.create-action { background:#fff8f7; border-color:#f2cfcc; }
.confirm-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.confirm-row input { min-width:0; }
@media (max-width: 900px) {
  .action-grid { grid-template-columns:1fr; }
  .section-heading-row { align-items:flex-start; }
}
@media (max-width: 640px) {
  .document-card { padding:22px 18px; }
  .section-heading-row { display:block; }
  .document-total { margin:14px 0 0 46px; }
  .confirm-row { grid-template-columns:1fr; }
  .confirm-row .button { width:100%; }
}


/* v1.4.9 — single-screen home dashboard */
.home-dashboard{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:28px;align-items:stretch;min-height:620px}.home-upload-panel,.home-history-panel{min-width:0}.home-upload-panel{display:flex;flex-direction:column}.home-heading{margin-bottom:20px}.home-heading h1{font-size:34px}.home-heading kbd{display:inline-block;padding:1px 6px;border:1px solid #d0d5dd;border-bottom-width:2px;border-radius:5px;background:#fff;color:#344054;font:600 12px/1.5 Segoe UI,Arial,sans-serif}.home-upload-form{display:grid;grid-template-columns:1fr;gap:14px;flex:1}.home-supplier{max-width:none}.home-drop-zone{grid-column:auto!important;min-height:230px}.home-import-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:10px}.home-import-actions button{width:100%}.home-history-panel{border-left:1px solid var(--line);padding-left:28px;display:flex;flex-direction:column}.home-history-head{margin-bottom:14px}.home-history-list{display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:500px;padding-right:4px}.home-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:13px;text-decoration:none;color:inherit;background:#fff;transition:.15s ease}.home-history-item:hover{border-color:#ef9a9e;background:#fffafa;transform:translateY(-1px)}.home-history-main,.home-history-side{display:flex;flex-direction:column;gap:5px;min-width:0}.home-history-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-history-main span{color:var(--muted);font-size:13px}.home-history-side{align-items:flex-end}.home-history-side>strong{white-space:nowrap}.home-empty{margin-top:10px}.home-dashboard .clipboard-message{text-align:left;min-height:18px}.home-dashboard .clipboard-message.success{margin:0}.home-dashboard .clipboard-message.error{margin:0}
@media(max-width:1050px){.home-dashboard{grid-template-columns:1fr;min-height:auto}.home-history-panel{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}.home-history-list{max-height:none}.home-drop-zone{min-height:180px}}
@media(max-width:620px){.home-import-actions{grid-template-columns:1fr}.home-history-item{grid-template-columns:1fr}.home-history-side{align-items:flex-start;flex-direction:row;justify-content:space-between}.home-heading h1{font-size:29px}}

/* v1.5.1 — simplified top navigation */
.main-nav{display:flex;align-items:center;gap:8px}
.main-nav .nav-link,.nav-dropdown>summary{display:flex;align-items:center;min-height:40px;padding:9px 14px;border-radius:9px;color:#e5e7eb;text-decoration:none;font-size:14px;font-weight:650;cursor:pointer;list-style:none;transition:background-color .15s ease,color .15s ease}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.main-nav .nav-link:hover,.nav-dropdown>summary:hover,.main-nav .nav-link.active,.nav-dropdown.active>summary,.nav-dropdown[open]>summary{background:#252c38;color:#fff}
.nav-dropdown{position:relative}
.nav-dropdown-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:100;display:grid;min-width:245px;padding:8px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 16px 38px rgba(16,24,40,.18)}
.nav-dropdown:not([open]) .nav-dropdown-menu{display:none}
.nav-dropdown-menu a{display:block;padding:11px 12px;border-radius:8px;color:#172033;text-decoration:none;font-size:14px;font-weight:650;white-space:nowrap}
.nav-dropdown-menu a:hover{background:#f6f7f9;color:var(--red)}
.nav-dropdown-menu .secondary-link{color:#667085;font-weight:550}
.nav-dropdown-divider{height:1px;margin:6px 4px;background:#eaecf0}
@media(max-width:720px){.topbar{padding:12px 16px}.main-nav{gap:3px}.main-nav .nav-link,.nav-dropdown>summary{padding:8px 10px;font-size:13px}.nav-dropdown-menu{position:fixed;left:12px;right:12px;top:62px;min-width:0}.brand-wrap span{display:none}}
@media(max-width:500px){.brand{font-size:20px}.main-nav .nav-link,.nav-dropdown>summary{padding:8px 8px}.topbar{gap:8px}}

.field-hint{font-size:12px;color:var(--muted);font-weight:500}.warning-text{color:#b54708}

/* v1.5.2: validate first, then create */
.validation-pending,
.validation-ready {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  border: 1px solid #d7e0ec;
  border-radius: 18px;
  background: #f8fafc;
}
.validation-pending p,
.validation-ready p { margin: 6px 0 0; color: #66758d; }
.validation-ready {
  justify-content: flex-start;
  border-color: #a9dfbd;
  background: #effbf3;
}
.validation-ready-icon,
.confirm-modal-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #168a4a;
  color: #fff;
  font-size: 24px;
  font-weight: 800;
}
.wizard-actions {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 18px;
}
.button.success { background: #168a4a; border-color: #168a4a; color: #fff; }
.button.success:hover { background: #11743e; border-color: #11743e; }
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(10, 18, 31, .58);
  backdrop-filter: blur(4px);
}
.modal-backdrop[hidden] { display: none; }
body.modal-open { overflow: hidden; }
.confirm-modal {
  position: relative;
  width: min(520px, 100%);
  padding: 34px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 26px 80px rgba(10, 18, 31, .28);
  text-align: center;
}
.confirm-modal-icon { margin: 0 auto 18px; }
.confirm-modal h2 { margin: 0 0 12px; }
.confirm-modal p { margin: 0; color: #66758d; line-height: 1.55; }
.modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  border: 0;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
  color: #66758d;
}
.modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 28px;
}
@media (max-width: 720px) {
  .validation-pending { align-items: stretch; flex-direction: column; }
  .wizard-actions { flex-direction: column; }
  .wizard-actions .button { width: 100%; }
  .modal-actions { grid-template-columns: 1fr; }
}

/* v1.5.4 */
.home-success{max-width:1600px;margin:20px auto 0;}

/* v1.6.0 document workflow and processing journal */
.workflow-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:12px;padding:18px 22px;margin-bottom:18px}.workflow-step{display:flex;align-items:center;gap:10px;min-width:0}.workflow-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid #d0d5dd;color:#667085;font-weight:800;background:#fff}.workflow-step.done>span{background:#178f55;border-color:#178f55;color:#fff}.workflow-step.current>span{border-color:var(--primary);color:var(--primary)}.workflow-step div{display:flex;flex-direction:column}.workflow-step small{color:var(--muted);white-space:nowrap}.workflow-line{height:2px;background:#e4e7ec}.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.review-main{min-width:0}.processing-journal{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.journal-list{display:flex;flex-direction:column;gap:9px}.journal-event{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;background:#fff}.journal-event:hover{background:#fafafa}.journal-event p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.journal-dot{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-weight:800;background:#f2f4f7;color:#475467}.journal-event.success .journal-dot{background:#e8f7ef;color:#087443}.journal-event.warning .journal-dot{background:#fff4d6;color:#9b6700}.journal-event.error .journal-dot{background:#feeceb;color:#b42318}.journal-event.info .journal-dot{background:#eef4ff;color:#3538cd}.row-warning{background:#fffaf0}.row-warning td:first-child{box-shadow:inset 4px 0 #f79009}.profile-badge{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:10px 12px;margin:12px 0 16px;border-radius:10px;background:#f5f8ff;border:1px solid #d9e2ff}.profile-badge span{font-size:12px;text-transform:uppercase;color:#667085;font-weight:800}.profile-badge small{color:#667085}.manual-entry>summary{cursor:pointer;font-weight:750;list-style:none}.manual-entry>summary::-webkit-details-marker{display:none}.manual-entry>summary span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f2f4f7;margin-right:8px}.manual-entry[open]>summary{margin-bottom:18px}.ready-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;border-color:#a6e2c1;background:#f3fcf7}.ready-banner>div{display:flex;align-items:center;gap:14px}.ready-banner h2,.ready-banner p{margin:0}.ready-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#178f55;color:#fff;font-size:22px;font-weight:800}.sticky-review-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 2px;z-index:5;border-top:1px solid var(--line)}
@media(max-width:1180px){.review-workspace{grid-template-columns:1fr}.processing-journal{position:static;max-height:none}.workflow-progress{overflow-x:auto;grid-template-columns:auto 60px auto 60px auto 60px auto}.workflow-step small{display:none}}
@media(max-width:700px){.workflow-progress{padding:14px;gap:7px}.workflow-line{width:28px}.workflow-step strong{font-size:12px}.workflow-step>span{width:30px;height:30px}.ready-banner{align-items:stretch;flex-direction:column}.ready-banner .button{width:100%;text-align:center}}

/* v1.6.2 — supplier package conversion */
.conversion-cell { min-width: 155px; }
.conversion-cell label { display: grid; grid-template-columns: auto minmax(64px, 90px) auto; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.conversion-cell input { min-width: 0; text-align: center; }
.conversion-cell small { display: block; margin-top: 7px; color: var(--muted); }
.conversion-cell small strong { color: var(--ink); }
.factor-inline { display: flex; align-items: center; gap: 6px; min-width: 110px; }
.factor-inline input { width: 90px; text-align: center; }
.document-table .final-converted-qty,
.document-table .final-converted-price { white-space: nowrap; }
@media (max-width: 1100px) {
  .conversion-cell { min-width: 140px; }
}

/* v1.6.3 — full-width review page with processing journal above the document. */
.review-page-wide{
  width:calc(100vw - 32px);
  max-width:none;
  margin-left:50%;
  transform:translateX(-50%);
}
.review-workspace-full{
  display:block;
}
.review-workspace-full .review-main{
  width:100%;
  min-width:0;
}
.review-page-wide > .processing-journal{
  position:static;
  max-height:none;
  overflow:visible;
  padding:20px 24px;
}
.journal-list-horizontal{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px;
}
.journal-list-horizontal .journal-event{
  min-height:78px;
}
.review-page-wide .table-wrap{
  width:100%;
  overflow-x:auto;
}
.review-page-wide .editable table{
  min-width:1500px;
}
@media(max-width:900px){
  .review-page-wide{width:calc(100vw - 16px)}
  .journal-list-horizontal{grid-template-columns:1fr}
  .review-page-wide > .processing-journal{padding:18px}
}

/* v1.7.0 — self-learning */
.auto-supplier-note{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid #d7e0ec;border-radius:12px;background:#f8fafc;color:#344054}.auto-supplier-note span{font-size:13px;color:var(--muted)}
.learning-summary{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:14px 0;padding:13px 15px;border:1px solid #b7e4c7;border-radius:12px;background:#effbf3}.learning-summary strong{color:#137a43}.learning-summary span{font-size:13px;color:#52606f}.learning-summary a{color:#137a43;font-weight:700;text-decoration:none}.product-match-cell{min-width:260px}.product-match-cell select{width:100%}.match-badge{display:inline-flex;margin-top:6px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:750}.match-badge.learned{background:#e8f8ee;color:#157347}.match-badge.fuzzy{background:#eef4ff;color:#2f5aac}.match-badge.suggested{background:#fff4e5;color:#9a5b00}.learning-cell{min-width:105px}.learning-on,.learning-wait{font-size:12px;font-weight:700}.learning-on{color:#157347}.learning-wait{color:#667085}
.mapping-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.mapping-toolbar form{display:flex;gap:10px;flex:1}.mapping-toolbar input{max-width:520px}.mapping-table td{vertical-align:middle}.mapping-source strong,.mapping-target strong{display:block}.mapping-source small,.mapping-target small{color:var(--muted)}.usage-pill{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eef2f6;font-weight:700;font-size:12px}.empty-learning{padding:36px;text-align:center;border:1px dashed #cfd8e3;border-radius:14px;color:var(--muted)}
@media(max-width:900px){.learning-summary{grid-template-columns:1fr}.mapping-toolbar{display:block}.mapping-toolbar form{margin-top:12px}.mapping-table thead{display:none}.mapping-table tr{display:grid;padding:14px;border-bottom:1px solid var(--line)}.mapping-table td{display:block;padding:5px 0;border:0}}

/* v1.8.0: рабочий журнал накладных */
.invoice-page{width:min(1660px,calc(100% - 48px));margin:0 auto;padding:30px 0 56px}.invoice-hero{display:flex;align-items:center;justify-content:space-between;gap:28px}.invoice-hero h1{font-size:38px}.invoice-new{white-space:nowrap}.invoice-toolbar{margin-top:18px;padding:18px 22px;display:grid;gap:16px}.invoice-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px}.invoice-search label{display:block}.invoice-search input{width:100%;height:48px}.invoice-tabs{display:flex;gap:8px;flex-wrap:wrap}.invoice-tabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#f3f5f8;color:#344054;text-decoration:none;font-weight:750}.invoice-tabs a span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#fff;color:#667085;font-size:12px}.invoice-tabs a.active{background:#172033;color:#fff}.invoice-tabs a.active span{color:#172033}.invoice-list{display:grid;gap:12px;margin-top:18px}.invoice-row{display:grid;grid-template-columns:64px minmax(300px,1fr) 160px auto;gap:20px;align-items:center;padding:20px 22px}.invoice-number{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#f3f5f8;font-size:18px;font-weight:900}.invoice-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.invoice-title-line h2{margin:0;font-size:19px;overflow-wrap:anywhere}.invoice-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;color:#667085;font-size:13px}.invoice-warning{color:#b54708;font-weight:750}.invoice-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:850}.invoice-status.created{background:#dcfae6;color:#067647}.invoice-status.ready{background:#e0eaff;color:#3538cd}.invoice-status.review{background:#fff0c7;color:#8b5a00}.invoice-total{text-align:right;font-size:19px;font-weight:900;white-space:nowrap}.invoice-actions{display:flex;align-items:center;gap:8px}.invoice-actions .button{padding:11px 16px}.invoice-more{position:relative}.invoice-more>summary{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d0d5dd;border-radius:10px;cursor:pointer;font-weight:900;list-style:none}.invoice-more>summary::-webkit-details-marker{display:none}.invoice-more>div{position:absolute;right:0;top:48px;z-index:20;min-width:150px;padding:7px;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 14px 34px rgba(16,24,40,.16)}.invoice-more a,.invoice-more button{display:block;width:100%;padding:10px;border:0;border-radius:7px;background:#fff;color:#344054;text-align:left;text-decoration:none;font-weight:650}.invoice-more a:hover,.invoice-more button:hover{background:#f6f7f9;color:var(--red)}.invoice-more form{margin:0}.invoice-more button{cursor:pointer}.empty-state .button{margin-top:18px}.nav-dropdown-menu{min-width:230px}
@media(max-width:1000px){.invoice-row{grid-template-columns:56px 1fr auto}.invoice-total{grid-column:2;text-align:left}.invoice-actions{grid-column:3;grid-row:1/3}.invoice-page{width:min(100% - 28px,1660px)}}
@media(max-width:720px){.invoice-page{width:calc(100% - 20px);padding-top:14px}.invoice-hero{align-items:flex-start;flex-direction:column}.invoice-new{width:100%}.invoice-search{grid-template-columns:1fr}.invoice-row{grid-template-columns:48px 1fr;padding:16px}.invoice-number{width:42px;height:42px}.invoice-actions,.invoice-total{grid-column:1/-1}.invoice-actions{grid-row:auto}.invoice-actions .button{flex:1}.invoice-tabs{display:grid;grid-template-columns:1fr 1fr}.invoice-tabs a{justify-content:space-between}.invoice-meta{gap:8px 14px}}

/* v2.1 self-learning center */
.learning-header h1{margin-bottom:6px}.learning-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.learning-tabs a{display:flex;gap:8px;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--text);font-weight:800}.learning-tabs a.active{background:#151d2b;color:#fff;border-color:#151d2b}.learning-tabs b{min-width:24px;padding:2px 7px;border-radius:999px;background:#eef2f6;color:#152033;text-align:center;font-size:12px}.learning-tabs a.active b{background:#fff;color:#152033}.mapping-table td small{display:block;color:var(--muted);margin-top:5px}.confidence{display:inline-flex;padding:5px 10px;border-radius:999px;font-weight:800}.confidence-high{background:#dcf8e8;color:#08733d}.inline-edit{display:grid;grid-template-columns:100px 90px auto;gap:8px;align-items:center}.inline-edit input{min-width:0;padding:10px}.ignore-form{display:grid;grid-template-columns:minmax(220px,1fr) 260px 200px auto;gap:10px;margin:20px 0}.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.rule-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:15px}.rule-card strong,.rule-card span{display:block}.rule-card span{color:var(--muted);font-size:13px;margin-top:4px}.learning-log{display:grid;gap:10px;margin-top:18px}.learning-log article{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px}.learning-log article div>*{display:block}.learning-log article span{color:var(--muted)}.learning-log article small{margin-top:5px;color:var(--muted)}.log-action{min-width:82px;padding:5px 8px;border-radius:8px;background:#eef2f6;text-align:center;font-weight:800;font-size:12px}
@media(max-width:900px){.ignore-form{grid-template-columns:1fr}.inline-edit{grid-template-columns:1fr}.learning-tabs a{flex:1;justify-content:center}}


/* v2.1.1 */
.connection-form,.mapping-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.connection-form label,.mapping-edit-form label{display:flex;flex-direction:column;gap:7px}.connection-actions,.mapping-edit-actions{display:flex;gap:10px;align-items:center}.connection-summary{display:flex;gap:28px;flex-wrap:wrap;margin-top:20px;padding:14px 16px;border-radius:12px;background:#f4f8f6}.mapping-cards{display:grid;gap:14px}.mapping-editor-card{border:1px solid #e4e8e6;border-radius:14px;padding:16px;background:#fff}.mapping-editor-card.invalid-rule{border-color:#efb5b5}.mapping-card-summary{display:flex;justify-content:space-between;gap:18px;align-items:center}.mapping-card-summary>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mapping-card-summary strong{font-size:1rem}.mapping-card-summary span{color:#66716c}.mapping-edit-form{margin:16px 0;padding-top:16px;border-top:1px solid #edf0ee}.button.compact{padding:7px 11px}.text-danger{background:none;border:0;color:#a83434;padding:8px 0;cursor:pointer}.notice.warning{background:#fff7e3;border-color:#efd08a}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}@media(max-width:900px){.connection-form,.mapping-edit-form{grid-template-columns:1fr 1fr}.mapping-card-summary{align-items:flex-start}}@media(max-width:620px){.connection-form,.mapping-edit-form{grid-template-columns:1fr}.span-2{grid-column:auto}.mapping-card-summary{display:block}.mapping-card-summary>div{margin-bottom:10px}}

/* Searchable Tillypad product picker */
.product-autocomplete { position: relative; min-width: 230px; }
.product-search-input { width: 100%; }
.product-search-results {
  position: absolute; z-index: 80; top: calc(100% + 4px); left: 0; right: 0;
  max-height: 320px; overflow-y: auto; background: #fff; border: 1px solid #cfd8e6;
  border-radius: 10px; box-shadow: 0 16px 36px rgba(20, 31, 49, .18); padding: 6px;
}
.product-search-option {
  width: 100%; border: 0; background: transparent; color: #111b2e; text-align: left;
  padding: 10px 12px; border-radius: 7px; font: inherit; cursor: pointer;
}
.product-search-option:hover, .product-search-option:focus { background: #eef4ff; outline: none; }
.product-search-empty { padding: 12px; color: #66728a; }
.resolved-partner-field {
  display: flex; flex-direction: column; justify-content: center; min-height: 76px;
  padding: 12px 16px; border: 1px solid #d4deeb; border-radius: 12px; background: #f8fbff;
}
.resolved-partner-field > span { font-weight: 700; margin-bottom: 6px; }
.resolved-partner-field strong { font-size: 1.05rem; }
.resolved-partner-field small { color: #60708a; margin-top: 4px; }
.text-danger { color: #b42318; }


.decompose-option { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border:1px solid var(--border, #d8dee8); border-radius:12px; background:#f8fafc; }
.decompose-option input { width:20px; height:20px; margin-top:2px; }
.decompose-option span { display:flex; flex-direction:column; gap:4px; }
.decompose-option small { color:#667085; font-weight:400; }
.decompose-preview { margin:0 0 18px; padding:16px; border:1px solid #b7dfc6; border-radius:12px; background:#f1fbf4; }
.decompose-preview > strong { display:block; margin-bottom:10px; }
.decompose-preview-item { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-top:1px solid rgba(40,120,70,.12); }
.decompose-preview-item small { color:#4d6b57; }


/* v2.3.1 — review polish and quick scored suggestions */
.review-summary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;overflow:hidden;border-color:#e3e8ef;background:#e3e8ef;margin-bottom:18px}
.review-summary-bar>div{background:#fff;padding:16px 20px;display:flex;align-items:baseline;gap:8px}
.review-summary-bar strong{font-size:22px;color:#172033}.review-summary-bar span{font-size:13px;color:#667085}
.review-summary-bar .summary-good strong{color:#067647}.review-summary-bar .summary-warn strong{color:#b54708}
.match-suggestions-panel{padding:22px 24px}.match-suggestions-panel .section-head{align-items:flex-start}
.top-suggestion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;margin-top:16px}
.top-suggestion-card{border:1px solid #e2e7ee;border-radius:14px;padding:14px;background:#fbfcfe;min-width:0}
.top-suggestion-card.chosen{border-color:#9ed7b5;background:#f2fbf6}
.top-suggestion-source{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}
.top-suggestion-source strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.top-suggestion-source small{white-space:nowrap;color:#667085}
.top-suggestion-options{display:grid;gap:7px}
.suggestion-choice{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #d9e1ec;background:#fff;color:#263248;border-radius:9px;text-align:left;font-weight:650}
.suggestion-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suggestion-choice b{display:inline-flex;justify-content:center;min-width:48px;padding:3px 7px;border-radius:999px;background:#eef2f6;color:#475467;font-size:12px}
.suggestion-choice.medium b{background:#fff3d6;color:#8a5a00}.suggestion-choice.strong{border-color:#b6dac5;background:#f8fdf9}.suggestion-choice.strong b{background:#dcfae6;color:#067647}
.suggestion-choice:hover{border-color:#98a9bf;background:#f5f8fc}.suggestion-none{font-size:13px;color:#667085;padding:8px 0}.suggestion-picked{font-size:13px;color:#067647;font-weight:750}
.inline-suggestions{display:grid;gap:5px;margin-top:7px}
.inline-suggestion{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;border:1px solid #e1e6ed;border-radius:8px;background:#f8fafc;color:#344054;text-align:left;font-size:12px;font-weight:650}
.inline-suggestion:hover{background:#eef4ff;border-color:#c9d7f0;color:#243f72}.inline-suggestion span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inline-suggestion b{font-size:11px;padding:2px 6px;border-radius:999px;background:#fff;color:#475467}
.review-page-wide .editable{border:1px solid #dfe5ec;border-radius:13px}.review-page-wide .editable table{border-collapse:separate;border-spacing:0}
.review-page-wide .editable thead th{position:sticky;top:0;z-index:4;background:#f8fafc;border-bottom:1px solid #dfe5ec;padding-top:12px;padding-bottom:12px}
.review-page-wide .editable tbody tr{transition:background .15s ease}.review-page-wide .editable tbody tr:hover{background:#f8fbff}
.review-page-wide .editable td{vertical-align:top;padding-top:12px;padding-bottom:12px}
.review-page-wide .editable th:first-child,.review-page-wide .editable td:first-child{min-width:280px}
.review-page-wide .editable .product-match-cell{min-width:330px}.review-page-wide .editable input{background:#fff}
.product-search-option{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-search-option small{color:#98a2b3;font-size:11px;font-weight:650}
@media(max-width:900px){.review-summary-bar{grid-template-columns:1fr 1fr}.top-suggestion-grid{grid-template-columns:1fr}}
@media(max-width:560px){.review-summary-bar{grid-template-columns:1fr}.top-suggestion-source{flex-direction:column}}

/* v3.3.3 auth/owner */
.auth-shell{min-height:72vh;display:grid;place-items:center;padding:36px 16px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid #e3e8ef;border-radius:20px;padding:30px;box-shadow:0 18px 55px rgba(16,24,40,.09)}.auth-brand{font-size:27px;font-weight:850;margin-bottom:18px}.auth-form{display:grid;gap:14px;margin:20px 0}.auth-form label{display:grid;gap:6px;font-weight:700}.auth-form input,.owner-grid-form input{padding:11px;border:1px solid #d0d5dd;border-radius:10px;font:inherit}.auth-error{background:#fee4e2;color:#b42318;padding:10px 12px;border-radius:9px}.owner-link{display:block;text-align:center;margin-top:12px;color:#667085}.owner-page{padding:18px}.owner-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.owner-stats>div{background:#fff;border:1px solid #e3e8ef;border-radius:15px;padding:17px;display:flex;gap:8px;align-items:baseline}.owner-stats strong{font-size:25px}.owner-stats span{color:#667085}.owner-stats .good strong{color:#067647}.owner-stats .warn strong{color:#b54708}.owner-create{padding:20px}.owner-grid-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.owner-grid-form label{display:grid;gap:6px;font-weight:700}.owner-grid-form .wide{grid-column:span 2}.owner-table-card{padding:0;overflow:hidden}.owner-table{width:100%;border-collapse:collapse}.owner-table th,.owner-table td{padding:12px 13px;border-bottom:1px solid #eaecf0;text-align:left;vertical-align:top}.owner-table th{background:#f8fafc;color:#667085;font-size:12px}.owner-table small{display:block;color:#667085;margin-top:4px}.chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#475467;font-size:12px;font-weight:750}.chip.good{background:#dcfae6;color:#067647}.chip.warn{background:#fff3d6;color:#8a5a00}.chip.bad{background:#fee4e2;color:#b42318}.token-code{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.row-actions form{display:flex;gap:4px}.row-actions input{width:56px;padding:5px;border:1px solid #d0d5dd;border-radius:7px}.btn-small{padding:6px 8px;font-size:12px}.btn-danger{background:#b42318;color:#fff;border-color:#b42318}@media(max-width:900px){.owner-stats,.owner-grid-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.owner-stats,.owner-grid-form{grid-template-columns:1fr}.owner-grid-form .wide{grid-column:auto}}

/* TillyStock 3.2 owner */
.owner-head{align-items:center}.owner-create{padding:0;margin:16px 0}.owner-create>summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;gap:12px;align-items:center}.owner-create>summary span{color:#667085;font-size:13px}.owner-create[open] .owner-grid-form{border-top:1px solid #eaecf0;padding:20px}.tenant-cards{display:grid;gap:16px}.tenant-card{background:#fff;border:1px solid #e3e8ef;border-radius:18px;padding:20px;box-shadow:0 5px 18px rgba(16,24,40,.035)}.tenant-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.tenant-card h2{margin:0;font-size:21px}.tenant-login{color:#667085;margin-top:3px}.tenant-statuses{display:flex;gap:7px;flex-wrap:wrap}.tenant-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.tenant-metrics>div{background:#f8fafc;border:1px solid #eaecf0;border-radius:12px;padding:12px}.tenant-metrics span,.tenant-metrics small{display:block;color:#667085;font-size:12px}.tenant-metrics strong{display:block;margin:4px 0}.tenant-notes{background:#fffaeb;border-radius:9px;padding:9px 12px}.token-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #eaecf0}.token-row>span{font-weight:700}.token-row code{flex:1;background:#f2f4f7;padding:8px 10px;border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-settings{border-top:1px solid #eaecf0;margin-top:4px;padding-top:10px}.tenant-settings>summary{cursor:pointer;font-weight:750;color:#344054}.tenant-settings-body{padding-top:15px}.owner-grid-form.compact{grid-template-columns:repeat(3,1fr)}.owner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.owner-actions form{display:flex;gap:6px}.owner-actions input{min-width:90px;padding:8px;border:1px solid #d0d5dd;border-radius:8px}@media(max-width:850px){.tenant-metrics{grid-template-columns:1fr}.owner-grid-form.compact{grid-template-columns:1fr}.tenant-card-head{display:block}.tenant-statuses{margin-top:10px}.token-row{flex-wrap:wrap}.token-row code{flex-basis:100%}}

/* TillyStock 3.3.3 owner alignment polish */
.owner-page{max-width:1320px;margin:0 auto;padding:28px 24px 42px}
.owner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.owner-logout{min-width:96px;text-align:center}
.owner-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.owner-stat{min-height:68px;display:flex;align-items:center;gap:10px}
.owner-stat strong{min-width:30px;font-size:28px;line-height:1}
.owner-create{margin:18px 0}
.owner-create>summary{padding:18px 22px}
.owner-create-title{font-weight:800}.owner-create-subtitle{margin-left:8px;color:#667085;font-size:13px}
.owner-grid-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}
.owner-grid-form input{width:100%;box-sizing:border-box;height:44px}
.owner-grid-form .wide{grid-column:span 2}
.owner-form-submit{display:flex;align-items:end}.owner-form-submit .btn{width:100%;height:44px}
.tenant-cards{gap:18px}.tenant-card{padding:22px 22px 18px}
.tenant-card-head{min-height:54px;align-items:flex-start}.tenant-statuses{justify-content:flex-end}
.tenant-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.tenant-metric{min-height:82px;display:flex;flex-direction:column}
.tenant-metric small{margin-top:auto;padding-top:6px;line-height:1.35}
.tenant-notes{margin:2px 0 14px}
.token-row{display:grid;grid-template-columns:92px minmax(0,1fr) 118px;gap:10px;align-items:center;padding:12px 0}
.token-label{font-weight:800}.token-row code{width:100%;box-sizing:border-box}.token-copy{width:118px}
.tenant-settings>summary{padding:10px 0}
.tenant-settings-body{display:grid;gap:18px;padding-top:14px}
.tenant-settings-section{background:#f8fafc;border:1px solid #eaecf0;border-radius:14px;padding:16px}
.tenant-settings-section h3{margin:0 0 14px;font-size:15px}
.owner-grid-form.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
.owner-grid-form.compact .wide{grid-column:span 2}
.tenant-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tenant-action-card{display:grid;gap:8px}.tenant-action-card label{font-weight:700;font-size:13px}
.inline-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.inline-action input{width:100%;height:42px;box-sizing:border-box;padding:9px 10px;border:1px solid #d0d5dd;border-radius:9px}
.inline-action .btn{height:42px;min-width:118px}
.danger-zone{background:#fff7f6;border-color:#fecdca}.danger-zone h3{color:#b42318}
.danger-actions{display:flex;gap:10px;flex-wrap:wrap}.danger-actions .btn{min-width:180px}
@media(max-width:1050px){
  .owner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .owner-grid-form,.owner-grid-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tenant-metrics{grid-template-columns:1fr}
}
@media(max-width:700px){
  .owner-page{padding:20px 14px 32px}.owner-head{display:block}.owner-logout{margin-top:12px}
  .owner-stats,.owner-grid-form,.owner-grid-form.compact,.tenant-action-grid{grid-template-columns:1fr}
  .owner-grid-form .wide,.owner-grid-form.compact .wide{grid-column:auto}
  .tenant-card-head{display:block}.tenant-statuses{justify-content:flex-start;margin-top:10px}
  .token-row{grid-template-columns:1fr}.token-copy{width:100%}
  .inline-action{grid-template-columns:1fr}.inline-action .btn{width:100%}
  .danger-actions{display:grid}.danger-actions .btn{width:100%}
}

.agent-indicator{position:relative;margin-left:6px}.agent-indicator>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border-radius:10px;font-weight:750;font-size:13px}.agent-indicator>summary::-webkit-details-marker{display:none}.agent-dot{width:9px;height:9px;border-radius:50%}.agent-online>summary{color:#d7fbe4;background:rgba(22,163,74,.13)}.agent-online .agent-dot{background:#22c55e}.agent-offline>summary{color:#ffe0e0;background:rgba(220,38,38,.13)}.agent-offline .agent-dot{background:#ef4444}.agent-popover{position:absolute;right:0;top:48px;z-index:80;width:300px;background:#fff;color:#172033;border:1px solid #e1e7ef;border-radius:14px;padding:15px;box-shadow:0 18px 45px rgba(15,23,42,.18)}.agent-popover-title{font-weight:850;margin-bottom:10px}.agent-kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #eef2f6;font-size:12px}.agent-kv span{color:#667085}
