/* Sanlúcar Limpia — Consulta de estado */
.consulta-main{max-width:640px;margin:0 auto;padding:clamp(24px,6vw,56px) var(--gutter) var(--s24)}
.consulta-main h1{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.7rem,5vw,2.6rem);margin:0 0 var(--s2)}
.consulta-main .lead{color:var(--ink-soft);margin:0 0 var(--s8)}
.consulta-main code{font-family:var(--mono);color:var(--sea);font-weight:600}
.consulta-main .card-form{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s6);display:grid;gap:var(--s6);box-shadow:0 12px 32px rgba(31,35,33,.06)}
.consulta-main .field{display:grid;gap:var(--s2)}
.consulta-main label.title{font-weight:600;color:var(--ink-soft)}
.consulta-main input{width:100%;min-height:52px;background:var(--white);border:1px solid var(--muted);border-radius:var(--r-md);
  padding:14px 16px;color:var(--ink);font:inherit;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.consulta-main input::placeholder{color:var(--muted);opacity:1}
.consulta-main input[aria-invalid="true"]{border-color:var(--danger)}
.consulta-main input:focus-visible{outline:3px solid var(--sea);outline-offset:2px}
.consulta-main .hint{color:var(--ink-soft);font-size:.9rem}
.consulta-main .btn-primary.full{width:100%;justify-content:center}
.consulta-main .btn-primary:disabled{background:var(--muted);border-color:var(--muted);color:var(--white)!important;cursor:wait;transform:none}
.consulta-main .form-error{color:#70202C;background:#FCE8EB;border:1px solid #B34234;border-radius:var(--r-md);padding:12px 16px;margin:var(--s4) 0 0;font-weight:500}
.consulta-main .form-error:focus-visible,.resultado:focus{outline:3px solid var(--sea);outline-offset:3px}

.resultado{background:var(--white);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s6);margin-top:var(--s8);box-shadow:0 12px 32px rgba(31,35,33,.06)}
.resultado .head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.resultado .code{font-family:var(--mono);font-size:1.2rem;letter-spacing:.1em;color:var(--ink);font-weight:600}
.badge{font-size:.8rem;padding:6px 14px;border-radius:var(--r-full);border:1px solid var(--glass-border);font-weight:600}
.badge.pendiente{color:#8A2635;border-color:#D99AA4;background:#FCE8EB}
.badge.en_ruta{color:#784200;border-color:#D9A66B;background:#FFF0DF}
.badge.resuelto{color:#28583A;border-color:#8AB694;background:#E7F3E9}

.timeline{list-style:none;margin:0 0 var(--s4);padding:0;position:relative}
.timeline li{position:relative;padding:0 0 var(--s4) 26px;color:var(--muted);font-size:.92rem}
.timeline li::before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;
  background:var(--white);border:2px solid var(--muted)}
.timeline li::after{content:"";position:absolute;left:5px;top:16px;bottom:-2px;width:2px;background:var(--border)}
.timeline li:last-child{padding-bottom:0}
.timeline li:last-child::after{display:none}
.timeline li.done{color:var(--ink-soft)}
.timeline li.done::before{background:var(--sea);border-color:var(--sea)}
.timeline li .when{display:block;font-size:.82rem;color:var(--muted)}

.ubica{color:var(--ink);margin:0 0 var(--s4);font-size:.95rem}
.ubica .label{color:var(--ink-soft);font-weight:600}
.fotos{display:flex;gap:var(--s3);flex-wrap:wrap}
.fotos figure{margin:0;flex:1 1 160px}
.fotos img{width:100%;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface)}
.fotos figcaption{color:var(--ink-soft);font-size:.85rem;margin-top:6px}
