/* ─── GESPERIA · app.css ─────────────────────────────────────────────────── */
/* Importar tipografías                                                        */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ─── TOKENS DE DISEÑO ───────────────────────────────────────────────────── */
:root{
  /* Naranja corporativo */
  --naranja:#F59E0B;
  --naranja-oscuro:#D97706;
  --naranja-claro:#FFEDD5;
  --naranja-borde:#FED7AA;
  --naranja-hover:#FEF3C7;

  /* Navy (sidebar, topbar) */
  --navy:#1F2937;
  --navy-light:#374151;

  /* Fondos y superficies */
  --gris-fondo:#F9FAFB;
  --blanco:#FFFFFF;

  /* Bordes y textos */
  --gris-borde:#E5E7EB;
  --gris-texto:#6B7280;
  --negro:#111827;

  /* Estados semánticos */
  --rojo:#DC2626;--rojo-claro:#FEE2E2;--rojo-borde:#FCA5A5;
  --verde:#059669;--verde-claro:#D1FAE5;--verde-borde:#6EE7B7;
  --azul:#2563EB;--azul-claro:#DBEAFE;--azul-borde:#93C5FD;
  --amarillo-claro:#FFFBEB;--amarillo-borde:#FDE68A;

  --radius:10px;--radius-sm:7px;
}

/* ─── BASE ───────────────────────────────────────────────────────────────── */
body{
  font-family:'Inter',sans-serif;
  background:var(--gris-fondo);
  color:var(--negro);
  min-height:100vh;
  font-size:15px;
}

/* ─── TOPBAR ─────────────────────────────────────────────────────────────── */
.topbar{
  background:var(--navy);
  padding:0 24px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:100;
}
.topbar-logo{display:flex;align-items:center;gap:11px}
.topbar-logo-mark{
  width:38px;height:38px;
  background:var(--naranja);
  border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Outfit',sans-serif;
  color:#fff;font-size:22px;font-weight:700;
  flex-shrink:0;
}
.topbar-name{
  font-family:'Outfit',sans-serif;
  font-size:18px;font-weight:700;
  color:#fff;
}
.topbar-sub{font-size:11px;color:#9CA3AF;letter-spacing:0.2px}
.topbar-right{display:flex;align-items:center;gap:10px}
.ird-badge{
  background:rgba(245,158,11,0.15);
  border:1px solid rgba(245,158,11,0.35);
  border-radius:20px;
  padding:4px 14px;
  font-size:12px;font-weight:600;
  color:var(--naranja);
}
.topbar-user{
  display:flex;align-items:center;gap:7px;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:20px;
  padding:4px 13px 4px 5px;
}
.topbar-avatar{
  width:28px;height:28px;border-radius:50%;
  background:var(--naranja);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:11px;font-weight:700;
}
.topbar-username{font-size:13px;color:#E5E7EB;font-weight:500}

/* ─── LAYOUT ─────────────────────────────────────────────────────────────── */
.layout{padding:0;max-width:none;margin:0;display:flex;gap:0}

/* ─── SIDEBAR ────────────────────────────────────────────────────────────── */
.sidebar{
  width:260px;min-width:260px;
  background:var(--navy);
  border-right:none;
  padding:14px 0;
  height:calc(100vh - 60px);
  position:sticky;
  top:60px;
  overflow-y:auto;
  flex-direction:column;
  gap:0;
  flex-shrink:0;
  display:flex;
}
.sidebar-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 12px 12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  margin-bottom:10px;
}
.sidebar-title{
  font-size:10px;font-weight:700;
  color:#9CA3AF;
  text-transform:uppercase;letter-spacing:0.7px;
}
.sidebar-exp-nombre{
  padding:8px 12px;
  background:rgba(245,158,11,0.1);
  border-bottom:1px solid rgba(245,158,11,0.15);
  margin-bottom:8px;
}
.sidebar-section-title{
  font-size:9px;font-weight:700;
  color:#9CA3AF;
  text-transform:uppercase;letter-spacing:0.7px;
  padding:14px 12px 6px;
}

/* ─── DOCUMENTOS EXTRA SIDEBAR ───────────────────────────────────────────── */
.sidebar-extra{
  margin-top:16px;
  border-top:1px solid rgba(255,255,255,0.08);
  padding:14px 0 0;
}
.sidebar-extra-title{
  font-size:9px;font-weight:700;
  color:#9CA3AF;
  text-transform:uppercase;letter-spacing:0.7px;
  padding:0 12px 8px;
}
.sidebar-extra-btn{
  display:flex;align-items:center;gap:8px;
  padding:5px 14px;
  margin:0 6px 5px;
  border-radius:20px;
  font-size:12px;font-weight:600;
  color:var(--naranja);
  background:rgba(245,158,11,0.15);
  border:1px solid rgba(245,158,11,0.35);
  cursor:pointer;
  transition:all 0.15s;
}
.sidebar-extra-btn:hover{
  background:rgba(245,158,11,0.28);
  border-color:rgba(245,158,11,0.6);
}
.sidebar-extra-btn.activo{
  background:rgba(245,158,11,0.25);
  border-color:rgba(245,158,11,0.5);
  color:var(--naranja);
}

/* ─── MAIN ───────────────────────────────────────────────────────────────── */
.main{
  flex:1;min-width:0;
  padding:24px 28px 80px;
  overflow-y:auto;
}

/* ─── PANTALLA INICIO ────────────────────────────────────────────────────── */
#pantalla-inicio{background:var(--blanco);border-radius:var(--radius);padding:40px 24px}

/* ─── STEPS ──────────────────────────────────────────────────────────────── */
.steps{
  display:flex;
  margin-bottom:22px;
  background:var(--blanco);
  border:1px solid var(--gris-borde);
  border-radius:var(--radius);
  overflow:hidden;
}
.step{
  flex:1;padding:11px 8px;
  display:flex;align-items:center;gap:8px;
  border-right:1px solid var(--gris-borde);
  cursor:pointer;
  transition:background 0.12s;
}
.step:last-child{border-right:none}
.step:hover{background:var(--gris-fondo)}
.step-num{
  width:24px;height:24px;border-radius:50%;
  background:var(--gris-borde);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:var(--gris-texto);
  flex-shrink:0;
}
.step.active .step-num{background:var(--naranja);color:#fff}
.step.done .step-num{background:var(--naranja-oscuro);color:#fff}
.step.blocked .step-num{background:#F3F4F6;color:#D1D5DB}
.step-label{font-size:11px;font-weight:500;color:var(--gris-texto);line-height:1.3}
.step.active .step-label{color:var(--naranja-oscuro);font-weight:700}
.step.done .step-label{color:var(--naranja-oscuro)}
.step.blocked .step-label{color:#D1D5DB}

/* ─── CARDS ──────────────────────────────────────────────────────────────── */
.card{
  background:var(--blanco);
  border:1px solid var(--gris-borde);
  border-radius:var(--radius);
  padding:22px;
  margin-bottom:16px;
}
.card-title{
  font-family:'Outfit',sans-serif;
  font-size:19px;font-weight:600;
  color:var(--negro);
  margin-bottom:3px;
}
.card-subtitle{font-size:13px;color:var(--gris-texto);margin-bottom:16px}
.bloque-titulo{
  font-size:11px;font-weight:700;
  color:var(--naranja-oscuro);
  text-transform:uppercase;letter-spacing:0.5px;
  border-bottom:1px solid var(--naranja-borde);
  padding-bottom:5px;margin-bottom:12px;margin-top:18px;
}

/* ─── FORMS ──────────────────────────────────────────────────────────────── */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-row.full{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:4px}
label{font-size:11px;font-weight:600;color:var(--naranja-oscuro)}
input,select,textarea{
  border:1px solid var(--gris-borde);
  border-radius:var(--radius-sm);
  padding:9px 12px;
  font-family:'Inter',sans-serif;
  font-size:14px;
  color:var(--negro);
  background:var(--blanco);
  outline:none;
  transition:border 0.12s;
  width:100%;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--naranja);
  box-shadow:0 0 0 3px rgba(245,158,11,0.12);
}
input.auto-filled{background:#F0FDF4;border-color:var(--verde-borde);color:#065F46;font-weight:500}
textarea{resize:none !important;overflow:hidden !important;min-height:60px;box-sizing:border-box}
.field-error{font-size:11px;color:var(--rojo);margin-top:2px;display:none}
.field-error.visible{display:block}

/* ─── BUTTONS ────────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  font-size:14px;font-weight:600;
  cursor:pointer;border:none;
  transition:all 0.12s;
}
.btn-primary{background:var(--naranja);color:#fff}
.btn-primary:hover{background:var(--naranja-oscuro)}
.btn-secondary{
  background:var(--naranja-claro);
  color:var(--naranja-oscuro);
  border:1.5px solid var(--naranja-borde);
}
.btn-secondary:hover{background:var(--naranja-borde);border-color:var(--naranja-oscuro)}
.btn-ghost{background:transparent;color:var(--gris-texto);border:1px solid var(--gris-borde)}
.btn-ghost:hover{background:var(--gris-fondo)}
.btn-danger{background:var(--rojo-claro);color:var(--rojo);border:1px solid var(--rojo-borde)}
.btn:disabled{opacity:0.4;cursor:not-allowed}
.btn-row{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}

/* ─── BOTONES PANTALLA INICIO ────────────────────────────────────────────── */
.btn-inicio-principal{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;
  border-radius:9px;
  font-family:'Inter',sans-serif;
  font-size:15px;font-weight:600;
  cursor:pointer;
  background:var(--naranja-claro);
  color:#C2410C;
  border:1.5px solid var(--naranja-borde);
  transition:all 0.18s;
}
.btn-inicio-principal:hover{
  background:var(--naranja-borde);
  border-color:#C2410C;
  color:#9A3412;
}

/* ─── ALERTAS ────────────────────────────────────────────────────────────── */
.alerta{display:flex;align-items:flex-start;gap:11px;border-radius:var(--radius-sm);padding:11px 14px;margin-bottom:11px;font-size:13px;line-height:1.5}
.alerta-error{background:var(--rojo-claro);border:1px solid var(--rojo-borde);color:#991B1B}
.alerta-warn{background:var(--amarillo-claro);border:1px solid var(--amarillo-borde);color:#92400E}
.alerta-ok{background:var(--verde-claro);border:1px solid var(--verde-borde);color:#065F46}
.alerta-info{background:var(--azul-claro);border:1px solid var(--azul-borde);color:#1E40AF}
.alerta-icon{font-size:15px;flex-shrink:0;margin-top:1px}

/* ─── UPLOAD ─────────────────────────────────────────────────────────────── */
.upload-zone-big{
  border:2px dashed var(--naranja-borde);
  border-radius:var(--radius);
  padding:30px 22px;
  text-align:center;
  background:var(--naranja-claro);
  cursor:pointer;
  transition:all 0.15s;
  margin-bottom:14px;
}
.upload-zone-big:hover{border-color:var(--naranja);background:var(--naranja-borde)}
.upload-zone-big.has-file{border-color:var(--verde);background:var(--verde-claro);cursor:default}
.upload-icon{font-size:32px;margin-bottom:7px}
.upload-text{font-size:15px;color:var(--naranja-oscuro);font-weight:700}
.upload-sub{font-size:12px;color:var(--gris-texto);margin-top:4px}
.upload-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:9px}
.upload-tag{
  background:var(--blanco);
  border:1px solid var(--naranja-borde);
  border-radius:20px;
  padding:2px 11px;
  font-size:11px;font-weight:600;
  color:var(--naranja-oscuro);
}
.upload-zone{
  border:2px dashed var(--naranja-borde);
  border-radius:var(--radius);
  padding:16px;
  text-align:center;
  background:var(--naranja-claro);
  cursor:pointer;
  transition:all 0.12s;
  margin-bottom:11px;
}
.upload-zone:hover{border-color:var(--naranja);background:var(--naranja-borde)}
.upload-zone.has-file{border-color:var(--verde);background:var(--verde-claro)}

/* ─── RESUMEN ────────────────────────────────────────────────────────────── */
.resumen-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}
.resumen-item{background:var(--gris-fondo);border:1px solid var(--gris-borde);border-radius:var(--radius-sm);padding:9px 12px}
.resumen-label{font-size:10px;font-weight:700;color:var(--naranja-oscuro);text-transform:uppercase;letter-spacing:0.3px}
.resumen-valor{font-size:14px;color:var(--negro);font-weight:500;margin-top:2px}

/* ─── FOTOS ──────────────────────────────────────────────────────────────── */
.fotos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.foto-item{display:flex;flex-direction:column;gap:5px}
.foto-thumb{
  background:var(--gris-borde);
  border-radius:var(--radius-sm);
  aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;
  overflow:hidden;position:relative;
}
.foto-thumb img{width:100%;height:100%;object-fit:cover}
.foto-eliminar{
  position:absolute;top:5px;right:5px;
  background:rgba(0,0,0,0.55);color:#fff;
  border:none;border-radius:50%;
  width:24px;height:24px;font-size:12px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.foto-eliminar:hover{background:var(--rojo)}
.foto-thumb-label{font-size:10px;color:var(--gris-texto);text-align:center;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pie-foto-input{
  width:100%;font-size:12px;padding:5px 8px;
  border:1px solid var(--gris-borde);
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  color:var(--negro);
}
.pie-foto-input:focus{border-color:var(--naranja);outline:none}
.anexo-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--verde-claro);border:1px solid var(--verde-borde);
  border-radius:20px;padding:4px 13px;
  font-size:12px;font-weight:700;color:var(--verde);
  margin-top:8px;
}

/* ─── PERCEPTORES ────────────────────────────────────────────────────────── */
.perceptor-card{border:1px solid var(--gris-borde);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}
.perceptor-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--gris-fondo);flex-wrap:wrap;gap:7px}
.perceptor-tipo-badge{font-size:11px;font-weight:700;border-radius:20px;padding:2px 11px}
.badge-asegurado{background:var(--naranja-claro);color:#C2410C;border:1px solid var(--naranja-borde)}
.badge-perjudicado{background:var(--azul-claro);color:var(--azul);border:1px solid var(--azul-borde)}
.badge-reparadora{background:var(--verde-claro);color:var(--verde);border:1px solid var(--verde-borde)}
.modalidad-badge{font-size:11px;font-weight:700;border-radius:20px;padding:2px 11px;margin-left:6px}
.modalidad-indem{background:#F3E8FF;color:#6D28D9;border:1px solid #C4B5FD}
.modalidad-repar{background:var(--verde-claro);color:var(--verde);border:1px solid var(--verde-borde)}
.modalidad-parcial{background:var(--amarillo-claro);color:#92400E;border:1px solid var(--amarillo-borde)}
.add-perceptor-btn{
  display:flex;align-items:center;gap:8px;
  border:2px dashed var(--naranja-borde);
  border-radius:var(--radius-sm);
  padding:12px 16px;
  cursor:pointer;
  color:var(--naranja-oscuro);font-size:14px;font-weight:600;
  background:var(--naranja-claro);
  width:100%;justify-content:center;margin-top:5px;
  transition:background 0.12s;
}
.add-perceptor-btn:hover{background:var(--naranja-borde)}

/* ─── MODAL ──────────────────────────────────────────────────────────────── */
.tipo-selector{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.tipo-btn{
  flex:1;min-width:100px;padding:11px;
  border:1px solid var(--gris-borde);
  border-radius:var(--radius-sm);
  text-align:center;cursor:pointer;
  font-size:13px;font-weight:600;
  color:var(--gris-texto);background:var(--blanco);
  transition:all 0.12s;
}
.tipo-btn.selected{background:var(--naranja-claro);border-color:var(--naranja);color:#C2410C}
.tipo-icon{font-size:20px;display:block;margin-bottom:4px}
.modalidad-label{font-size:12px;font-weight:700;color:var(--naranja-oscuro);margin-bottom:8px;display:block;margin-top:12px}
.modalidad-selector{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.mod-btn{
  flex:1;min-width:80px;padding:11px 9px;
  border:2px solid var(--gris-borde);
  border-radius:var(--radius-sm);
  text-align:center;cursor:pointer;
  font-size:13px;font-weight:600;
  color:var(--gris-texto);background:var(--blanco);
  transition:all 0.12s;
}
.mod-icon{font-size:22px;display:block;margin-bottom:4px}
.mod-btn.sel-indem{background:#F3E8FF;border-color:#C4B5FD;color:#6D28D9}
.mod-btn.sel-repar{background:var(--verde-claro);border-color:var(--verde-borde);color:var(--verde)}
.mod-btn.sel-parcial{background:var(--amarillo-claro);border-color:var(--amarillo-borde);color:#92400E}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-box{background:var(--blanco);border-radius:var(--radius);padding:26px;width:580px;max-width:100%;max-height:92vh;overflow-y:auto}
.modal-title{font-family:'Outfit',sans-serif;font-size:19px;font-weight:600;color:var(--negro);margin-bottom:16px}

/* ─── GENERAR BORRADOR ───────────────────────────────────────────────────── */
.generate-box{
  background:var(--naranja-claro);
  border:1.5px solid var(--naranja-borde);
  border-radius:var(--radius);
  padding:26px;text-align:center;margin-bottom:16px;
}
.generate-title{font-family:'Outfit',sans-serif;font-size:20px;font-weight:600;color:var(--negro);margin-bottom:7px}
.generate-sub{font-size:13px;color:var(--gris-texto);margin-bottom:16px;line-height:1.7}
.generate-btn{
  background:var(--naranja);color:#fff;border:none;
  border-radius:var(--radius-sm);
  padding:13px 32px;font-size:15px;font-weight:700;
  cursor:pointer;font-family:'Inter',sans-serif;
  transition:all 0.2s;
  display:inline-flex;align-items:center;gap:9px;
}
.generate-btn:hover{background:var(--naranja-oscuro);transform:translateY(-1px)}
.generate-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none}
.loading-bar{
  height:4px;
  background:linear-gradient(90deg,var(--naranja),var(--naranja-borde),var(--naranja));
  background-size:200% 100%;
  animation:loading-anim 1.4s linear infinite;
  border-radius:2px;margin-bottom:11px;
}
@keyframes loading-anim{0%{background-position:100% 0}100%{background-position:-100% 0}}
.loading-msg{font-size:13px;color:var(--gris-texto);text-align:center;padding:11px}
.borrador-status{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--verde-claro);border:1px solid var(--verde-borde);
  border-radius:20px;padding:4px 12px;
  font-size:12px;font-weight:700;color:var(--verde);
}
.borrador-preview{
  background:var(--gris-fondo);
  border:1px solid var(--gris-borde);
  border-radius:var(--radius);
  padding:18px;font-size:15px;line-height:1.8;
  max-height:420px;overflow-y:auto;margin-bottom:14px;
}

/* ─── REVISIÓN ───────────────────────────────────────────────────────────── */
.rev-seccion{border:1px solid var(--gris-borde);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}
.rev-seccion-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;cursor:pointer;background:var(--blanco)}
.rev-seccion-header:hover{background:var(--gris-fondo)}
.rev-seccion-title{font-size:13px;font-weight:700}
.rev-seccion-badge{font-size:11px;font-weight:700;border-radius:20px;padding:2px 10px}
.badge-critico{background:#FFF3E0;color:#C2410C;border:1px solid #FED7AA}
.badge-ok-small{background:var(--verde-claro);color:var(--verde);border:1px solid var(--verde-borde)}
.rev-seccion-body{display:none;padding:14px;border-top:1px solid var(--gris-borde)}
.rev-seccion-body.open{display:block}
.rev-chat-input{width:100%;border:1px solid var(--gris-borde);border-radius:var(--radius-sm);padding:9px 12px;font-family:'Inter',sans-serif;font-size:13px;margin-top:9px}
.rev-seccion-body textarea{font-size:14px;line-height:1.8;min-height:110px}

/* ─── EXPORTACIÓN ────────────────────────────────────────────────────────── */
.export-docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.export-doc-card{
  border:1px solid var(--gris-borde);
  border-radius:var(--radius-sm);
  padding:18px;text-align:center;
  background:var(--blanco);
  transition:border-color 0.12s;
}
.export-doc-card:hover{border-color:var(--naranja);background:var(--naranja-hover)}
.export-doc-icon{font-size:30px;margin-bottom:8px}
.export-doc-title{font-size:14px;font-weight:700;margin-bottom:4px}
.export-doc-sub{font-size:12px;color:var(--gris-texto);margin-bottom:11px;line-height:1.4}
.export-doc-btns{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}

/* ─── TOAST ──────────────────────────────────────────────────────────────── */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--negro);color:#fff;
  padding:11px 20px;border-radius:8px;
  font-size:13px;z-index:999;
  max-width:90vw;text-align:center;line-height:1.5;
  transition:opacity 0.3s;
}

/* ─── CHECK LISTA ────────────────────────────────────────────────────────── */
.check-lista{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.check-lista label{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:400;color:var(--negro);cursor:pointer}
.check-lista input[type="checkbox"]{width:17px;height:17px;flex-shrink:0;margin-top:2px;cursor:pointer}

/* ─── AVISO IA FIJO ──────────────────────────────────────────────────────── */
.ai-disclaimer{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:#FFFBEB;
  border-top:1px solid var(--amarillo-borde);
  color:#92400E;
  font-size:11px;text-align:center;
  padding:5px 16px;
  font-family:'Inter',sans-serif;
}

/* ─── ZONA SUBIDA PÓLIZA CAUSANTE ────────────────────────────────────────── */
.causante-upload-zone{
  border:2px dashed var(--naranja-borde);
  border-radius:var(--radius-sm);
  padding:14px;text-align:center;
  cursor:pointer;
  transition:border-color 0.2s,background 0.2s;
  margin-bottom:14px;
  background:var(--naranja-hover);
  min-height:78px;
  display:flex;align-items:center;justify-content:center;
}
.causante-upload-zone:hover,.causante-upload-zone.drag-over{
  border-color:var(--naranja-oscuro);
  background:var(--naranja-claro);
}
.causante-placeholder{pointer-events:none}

/* ─── SIDEBAR: ITEMS EXPEDIENTE ──────────────────────────────────────────── */
.sidebar-exp-item{
  padding:7px 10px;
  margin:0 6px 3px;
  border-radius:7px;
  display:flex;align-items:center;gap:8px;
  cursor:pointer;
  transition:background 0.12s;
}
.sidebar-exp-item:hover{background:rgba(255,255,255,0.05)}
.sidebar-exp-item.activo{
  background:rgba(245,158,11,0.12);
  border:1px solid rgba(245,158,11,0.2);
}
.sidebar-exp-item-icon{
  width:26px;height:26px;border-radius:6px;
  background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  color:#9CA3AF;font-size:13px;flex-shrink:0;
}
.sidebar-exp-item.activo .sidebar-exp-item-icon{
  background:rgba(245,158,11,0.2);color:var(--naranja);
}
.sidebar-exp-item-name{font-size:11px;font-weight:500;color:#D1D5DB;line-height:1.3}
.sidebar-exp-item.activo .sidebar-exp-item-name{color:#fff}
.sidebar-exp-item-meta{font-size:9px;color:#6B7280}
.sidebar-new-btn{
  font-size:10px;font-weight:600;
  color:var(--naranja);
  background:rgba(245,158,11,0.1);
  border:1px solid rgba(245,158,11,0.25);
  border-radius:5px;padding:3px 8px;
  cursor:pointer;
}

/* ─── RESPONSIVE: TABLET (≤768px) ───────────────────────────────────────── */
@media (max-width:768px){
  .topbar{padding:0 14px;height:54px}
  .topbar-name{font-size:16px}
  .topbar-sub{display:none}
  .ird-badge{display:none}
  .topbar-username{display:none}
  .sidebar{display:none}
  .layout{padding:0}
  .main{padding:16px 14px 70px}
  .steps{border-radius:var(--radius-sm)}
  .step{padding:9px 5px;gap:5px;flex-direction:column;align-items:center;text-align:center}
  .step-label{font-size:9px}
  .step-num{width:22px;height:22px;font-size:10px}
  .card{padding:14px;margin-bottom:11px}
  .card-title{font-size:17px}
  .card-subtitle{font-size:12px}
  .form-row{grid-template-columns:1fr;gap:9px}
  .resumen-grid{grid-template-columns:1fr}
  .fotos-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .tipo-selector{flex-direction:column}
  .modalidad-selector{flex-direction:column}
  .btn-row{justify-content:stretch}
  .btn-row .btn{flex:1;justify-content:center}
  .generate-btn{width:100%;justify-content:center;padding:12px 18px}
  .modal-box{padding:16px}
  .modal-title{font-size:17px}
  .export-docs-grid{grid-template-columns:1fr}
  .export-doc-btns{flex-direction:column}
  .export-doc-btns .btn{width:100%;justify-content:center}
}

/* ─── RESPONSIVE: MÓVIL (≤480px) ────────────────────────────────────────── */
@media (max-width:480px){
  .topbar{padding:0 12px;height:50px}
  .topbar-logo-mark{width:32px;height:32px;font-size:18px}
  .topbar-name{font-size:15px}
  .main{padding:12px 10px 70px}
  .steps{margin-bottom:14px}
  .step{padding:7px 4px}
  .step-label{font-size:9px}
  .step-num{width:20px;height:20px;font-size:10px}
  .card{padding:12px;margin-bottom:10px}
  .card-title{font-size:16px}
  .fotos-grid{grid-template-columns:repeat(2,1fr);gap:7px}
  .tipo-selector{flex-direction:column}
  .modalidad-selector{flex-direction:column}
  .btn-row{justify-content:stretch}
  .btn-row .btn{flex:1;justify-content:center}
  .generate-btn{width:100%;justify-content:center;padding:12px 16px}
  .modal-box{padding:14px}
  .modal-title{font-size:16px}
  .export-doc-btns{flex-direction:column}
  .export-doc-btns .btn{width:100%;justify-content:center}
}
