/* IMPORTAR (Alquileres) — page-specific styles */

/* ── Módulo tag / switcher ── */
.module-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.75);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:12px;border:1px solid rgba(255,255,255,.18)}
.module-tag-dot{width:6px;height:6px;border-radius:50%;background:#4db8ff;animation:dot-pulse 2s infinite}
.module-switcher{display:none;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 12px;text-decoration:none;color:var(--text-mid);font-size:.8rem;font-weight:600;transition:all .2s}
.module-switcher:hover{background:var(--volvo-light);color:var(--volvo-accent);border-color:var(--volvo-accent)}

/* ── Pasos ── */
.paso-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow)}
.paso-hdr{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.paso-num{width:30px;height:30px;border-radius:50%;background:var(--volvo-accent);color:#fff;font-size:.8rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.paso-num.done{background:#22c55e}
.paso-tit{font-size:.95rem;font-weight:700;color:var(--text-dark)}
.paso-sub{font-size:.78rem;color:var(--text-light);margin-top:1px}

/* ── Tipo buttons ── */
.tipo-btns{display:flex;gap:8px;flex-wrap:wrap}
.tipo-btn{padding:8px 15px;border-radius:10px;border:2px solid var(--border);font-family:'Montserrat',sans-serif;font-size:.81rem;font-weight:700;cursor:pointer;background:#fff;color:var(--text-mid);transition:all .2s;display:flex;align-items:center;gap:7px}
.tipo-btn:hover{border-color:var(--volvo-accent);color:var(--volvo-accent)}
.tipo-btn.active{background:var(--volvo-blue);border-color:var(--volvo-blue);color:#fff}
.tipo-btn.master-btn{background:var(--volvo-light);color:var(--volvo-accent);border-color:var(--volvo-accent)}
.tipo-btn.master-btn.active{background:var(--volvo-accent);color:#fff}

/* ── Drop zone ── */
.dz{border:2px dashed var(--border);border-radius:14px;padding:44px 24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg)}
.dz:hover,.dz.over{border-color:var(--volvo-accent);background:var(--volvo-light)}
.dz i{font-size:2.2rem;color:var(--volvo-accent);margin-bottom:10px;display:block}
.file-ok{display:none;margin-top:12px;padding:10px 16px;background:#dbeafe;border-radius:9px;font-size:.85rem;font-weight:700;color:#1e40af}

/* ── Mapeo columnas ── */
.col-map{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cm-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:var(--bg)}
.cm-lbl{width:170px;font-size:.8rem;font-weight:700;color:var(--text-mid);flex-shrink:0}
.cm-lbl span.req{color:var(--danger);margin-left:2px}
.cm-row select{flex:1;padding:6px 9px;border:1.5px solid var(--border);border-radius:7px;font-family:'Montserrat',sans-serif;font-size:.8rem;outline:none;transition:border-color .2s}
.cm-row select:focus{border-color:var(--volvo-accent)}

/* ── Diff preview ── */
.diff-strip{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.diff-badge{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:10px;font-size:.83rem;font-weight:700}
.diff-badge.new{background:#d1fae5;color:#065f46}
.diff-badge.upd{background:#fef3c7;color:#92400e}
.diff-badge.skip{background:#f1f5f9;color:#475569}
.diff-badge.err{background:#fee2e2;color:#b91c1c}

.prev-tbl{font-size:.77rem;max-height:340px;overflow:auto;border-radius:10px;border:1px solid var(--border)}
.prev-tbl table{width:100%;border-collapse:collapse}
.prev-tbl th{background:var(--volvo-blue);color:#fff;padding:7px 10px;font-size:.67rem;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;position:sticky;top:0}
.prev-tbl td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.prev-tbl tr.r-new td{background:#f0fdf4}
.prev-tbl tr.r-upd td{background:#fefce8}
.prev-tbl tr.r-skip td{background:#f8fafc;opacity:.6}
.prev-tbl tr.r-err td{background:#fef2f2}
.prev-tbl tr:hover td{filter:brightness(.97)}
.row-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;font-size:.68rem;font-weight:700;white-space:nowrap}
.rt-new{background:#bbf7d0;color:#065f46}
.rt-upd{background:#fde68a;color:#92400e}
.rt-skip{background:#e2e8f0;color:#475569}
.rt-err{background:#fecaca;color:#b91c1c}

/* ── Resultado ── */
.res-ok{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#d1fae5;color:#065f46;font-weight:700;font-size:.88rem;margin-bottom:8px}
.res-warn{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#fef3c7;color:#92400e;font-weight:700;font-size:.88rem;margin-bottom:8px}
.res-err{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#fee2e2;color:#b91c1c;font-weight:700;font-size:.88rem;margin-bottom:8px}

/* ── Plantilla btn ── */
.tpl-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;background:var(--volvo-light);color:var(--volvo-accent);border:1px solid var(--volvo-accent);border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;text-decoration:none}
.tpl-btn:hover{background:var(--volvo-accent);color:#fff}

/* FORZAR ANCHO COMPLETO */
.page-content{width:100%;max-width:100%!important;padding:28px;flex:1;min-width:0}

@media(max-width:700px){.col-map{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE ADDITIONS — alq-importar.css
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .tipo-btns { flex-direction: column; }
  .tipo-btn { width: 100%; }
  .col-map { grid-template-columns: 1fr; }
  .cm-row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .cm-lbl { width: 100%; }
  .cm-row select { width: 100%; }
  .dz { padding: 28px 16px; }
  .diff-strip { gap: 8px; }
  .diff-badge { font-size: .76rem; padding: 5px 10px; }
  .prev-tbl { max-height: 260px; }
  .prev-tbl th, .prev-tbl td { padding: 5px 7px; font-size: .7rem; }
  .paso-wrap { padding: 16px 18px; }
  .paso-tit { font-size: .88rem; }
  .paso-sub { font-size: .73rem; }
}
@media (max-width: 480px) {
  .tipo-btn { font-size: .76rem; padding: 7px 12px; }
  .paso-num { width: 26px; height: 26px; font-size: .72rem; }
  .paso-hdr { gap: 8px; }
  .file-ok { font-size: .78rem; }
  .res-ok, .res-warn, .res-err { font-size: .78rem; padding: 9px 12px; }
  .tpl-btn { font-size: .74rem; padding: 6px 12px; }
  .paso-wrap { padding: 14px 12px; }
}
