/* Keep the current task readable and remove competing side panels. */
.tool-wrap { max-width: 1040px; padding: 24px; }
.tool-main { width: 100%; }
.step-sec { min-height: 0; padding: clamp(20px, 3vw, 32px); }
.step-sec:focus { outline: none; box-shadow: var(--shadow); }
.s-eye, .privacy-badge, .card-label { font-size: .8125rem; }
.drop-z { padding: 30px 20px; margin-top: 20px; }
.drop-sub, .file-limits, .chip, .chip-meta, .fname, .sheet-select-hint, .sheet-add-row span, .sheet-selection-error { font-size: .875rem; }
.file-limits { margin-top: 12px; color: #475467; }
.file-limits summary, .result-preview summary { cursor: pointer; padding: 12px 0; }
.file-limits p { padding: 0 0 12px; line-height: 1.7; }
.file-errors { white-space: pre-line; overflow-wrap: anywhere; margin-bottom: 14px; padding: 16px; border: 1px solid #f0b8bf; background: #fff1f3; border-radius: 10px; color: #9f2435; font-size: .875rem; }
#restartFiles { margin-bottom: 16px; }
.fname { min-width: 0; overflow-wrap: anywhere; }
.fhead, .sheet-add-row { flex-wrap: wrap; }
.chip { min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.chip[aria-disabled="true"] { opacity: .6; cursor: wait; }
#keyCard { margin-top: 16px; }
#keyCard .helper { margin-bottom: 18px; line-height: 1.7; color: #475467; }
.mopt-title { font-size: 1rem; }
.mopt-sub { line-height: 1.6; }
.source-row select { min-height: 44px; }
.out-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pitem > div { min-width: 0; }
.pitem { min-height: 48px; }
.pitem-src, .sort-src { font-size: .8125rem; }
.sort-item { min-height: 48px; }
.sort-actions { display: inline-flex; gap: 4px; margin-left: auto; }
.sort-mv, .sort-rm { min-width: 44px; min-height: 44px; }
.empty-sort { font-size: .875rem; }
.export-box { margin: 0 0 20px; }
.format-picker { margin: 0 auto 17px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 10px; background: #fff; max-width: 430px; }
.format-picker legend { padding: 0 8px; font-size: 13px; font-weight: 700; }
.format-option { display: inline-flex; align-items: center; gap: 7px; margin: 2px 12px; font-size: 14px; cursor: pointer; }
.format-option input { width: 18px; height: 18px; accent-color: var(--teal); }
.format-hint { margin-top: 8px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.result-preview { border: 1px solid var(--border); border-radius: 12px; padding: 0 16px 16px; background: white; }
.result-preview summary { font-size: .875rem; font-weight: 700; }
.btn-gold { color: #fff; background: #08796e; box-shadow: none; }
.btn-gold:hover { background: #066358; box-shadow: none; }
summary:focus-visible { outline: 3px solid #167bba; outline-offset: 3px; }
.steps-bar { overflow-x: auto; scrollbar-width: none; }
.steps-bar::-webkit-scrollbar { display: none; }
.s-item { flex: 0 0 auto; }

@media (max-width: 640px) {
  .tool-wrap { padding: 14px 12px; }
  .step-sec { padding: 20px 16px; }
  .out-layout, .mtypes { grid-template-columns: 1fr; }
  .steps-bar { padding: 10px 8px; justify-content: flex-start; }
  .s-sep { margin: 0 5px; }
  .s-item { gap: 4px; }
  .s-item .s-lbl { display: none; }
  .s-item.active .s-lbl { display: inline; }
  .sheet-add-row { align-items: flex-start; }
  .nav-row .btn { flex: 1; }
  .drop-z { padding: 24px 14px; }
  .pitem { padding-block: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .step-sec.on { animation: none; }
  .progress > div { transition: none; }
}

/* Match fields and match-reach guidance. */
.match-field-group{margin:14px 0 18px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}
.match-field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.match-field-head strong{font-size:.82rem}
.match-field-remove{border:0;background:transparent;color:var(--danger);font-size:.78rem;font-weight:700;cursor:pointer;min-width:44px;min-height:44px;padding:4px 8px;border-radius:8px}
.match-field-remove:hover{background:#fff1f3;text-decoration:none}
.match-field-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr);gap:12px;align-items:center;margin-bottom:9px}
.match-field-row:last-child{margin-bottom:0}
.match-field-row select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.875rem}
.multi-key-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.multi-key-actions span{font-size:.78rem;line-height:1.5;color:var(--muted)}
.multi-key-summary{margin-top:8px;font-size:.78rem;line-height:1.5;color:var(--muted)}
@media(max-width:640px){.match-field-row{grid-template-columns:1fr}.match-field-group{padding:12px}.multi-key-actions .btn{width:100%}.match-field-head{margin-bottom:12px}}
#keyCard.match-guided{border-color:#e7c979;background:linear-gradient(180deg,#fffaf0 0%,#fff 100%);box-shadow:0 14px 34px rgba(146,99,18,.08)}
.match-guidance-banner{display:flex;align-items:flex-start;gap:11px;margin:2px 0 14px;padding:12px 14px;border:1px solid #efc76d;border-radius:10px;background:#fff3d4;color:#704600}
.match-guidance-banner.ready{border-color:#9fd4c9;background:#edf9f6;color:#075f56}
.match-guidance-number{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#f59e0b;color:#fff;font-size:.78rem;font-weight:900}
.match-guidance-banner.ready .match-guidance-number{background:#0f9f8f}
.match-guidance-banner.warn{border-color:#e9a7a7;background:#fdf0ef;color:#8a2b22}
.match-guidance-banner.warn .match-guidance-number{background:#c0392b}
.match-guidance-copy em{font-style:normal;font-weight:700}
.match-guidance-copy strong{display:block;font-size:.86rem;line-height:1.3}
.match-guidance-copy span{display:block;margin-top:3px;font-size:.76rem;line-height:1.5;color:inherit;opacity:.88}
#keyCard .match-field-group{background:linear-gradient(180deg,#fffdf7,#fff)!important;border-color:#e7d7ad!important}
#keyCard .match-field-group.match-incomplete{border:2px solid #e6a126!important;background:#fff8e8!important;box-shadow:0 0 0 3px rgba(245,158,11,.08)}
#keyCard .match-field-group.match-complete{border-color:#a9d8cf!important;background:#f8fcfb!important}
#keyCard select.match-needed{border:2px solid #e49a16!important;background:#fffaf0!important;box-shadow:0 0 0 3px rgba(245,158,11,.09)!important}
#keyCard select.match-selected{border-color:#76c2b6!important;background:#f7fcfb!important}
.rule{min-height:48px}
.rule input{width:20px!important;height:20px!important;flex:0 0 20px}
.rule-impact{font-size:.85rem!important;line-height:1.6!important}
.rule-impact strong{font-weight:850}
.match-card-continue{position:sticky;bottom:10px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px -2px -2px;padding:12px 14px;border:1px solid #cdd8e5;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 12px 28px rgba(31,42,68,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.match-card-next-copy{min-width:0}
.match-card-next-copy strong{display:block;font-size:.78rem;color:#344054}
.match-card-next-copy span{display:block;margin-top:2px;font-size:.72rem;line-height:1.45;color:#667085}
.match-card-continue #btn3{flex:0 0 auto;min-width:230px}
@media(max-width:640px){
.match-guidance-banner{padding:11px 12px}
.match-card-continue{bottom:8px;display:grid;gap:10px;margin-top:14px;padding:11px 12px}
.match-card-continue #btn3{width:100%;min-width:0}
.rule{padding:13px 12px!important}
.rule-detail{font-size:.8rem!important}
}


/* Formula transparency, stack-column mapping, provenance and pre-merge review. */
.formula-warning{margin-top:10px;padding:10px 12px;border:1px solid #efc76d;border-radius:9px;background:#fff8e8;color:#704600;font-size:.78rem;line-height:1.5}
.stack-mapping-card{margin:16px 0}
.stack-mapping-card .helper{margin:0 0 12px;color:var(--muted);font-size:.82rem;line-height:1.55}
.stack-map-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid var(--border);cursor:pointer}
.stack-map-row:first-child{border-top:0}
.stack-map-row input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:var(--teal)}
.stack-map-row strong,.stack-map-row small{display:block}
.stack-map-row strong{font-size:.84rem}
.stack-map-row small{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.45}
.stack-map-empty{padding:10px 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.premerge-summary{margin-top:16px}
.premerge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.premerge-grid>div{padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}
.premerge-grid strong,.premerge-grid span{display:block}
.premerge-grid strong{font-size:.95rem;overflow-wrap:anywhere}
.premerge-grid span{margin-top:3px;color:var(--muted);font-size:.72rem}
.premerge-summary p{margin:10px 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.quality-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
@media(max-width:640px){.premerge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-map-row{padding:12px 0}}
