/* Permiso sin placas: revisión en vivo (permiso.js). Archivo propio; usa los tokens del panel. */
.permit{display:grid;gap:16px}
.permit-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;list-style:none;margin:0;padding:0;counter-reset:none}
.permit-steps li{display:grid;justify-items:center;gap:6px;text-align:center;font-size:.72rem;line-height:1.25;color:var(--faint);font-weight:600}
.permit-steps li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);font-size:.8rem;font-variant-numeric:tabular-nums}
.permit-steps li span .ico{width:14px;height:14px}
.permit-steps li.done{color:var(--ok)}
.permit-steps li.done span{border-color:var(--ok);background:var(--ok);color:#fff}
.permit-steps li.now{color:var(--brand)}
.permit-steps li.now span{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}
.permit-status{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}
.permit-status>.ico,.permit-status>.spinner{flex:none;margin-top:2px;width:20px;height:20px}
.permit-status div{display:grid;gap:4px}
.permit-status strong{font-size:.95rem}
.permit-status span{color:var(--muted);font-size:.85rem;line-height:1.5}
.permit-status.is-working{background:var(--info-50);border-color:transparent}
.permit-status.is-working .spinner{border-color:rgba(11,106,148,.25);border-top-color:var(--info)}
.permit-status.is-review{background:var(--warn-50);border-color:transparent}
.permit-status.is-review b{font-variant-numeric:tabular-nums;color:var(--text);font-size:1rem}
.permit-status.is-urgent{background:var(--danger-50)}
.permit-status.is-urgent b{color:var(--danger)}
.permit-status.is-done{background:var(--ok-50);border-color:transparent;color:var(--ok)}
.permit-status.is-error{background:var(--danger-50);border-color:transparent;color:var(--danger)}
.permit-niv{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r-md);background:var(--brand-50)}
.permit-niv span{font-size:.78rem;color:var(--brand-600);font-weight:650}
.permit-niv strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;font-size:1rem;word-break:break-all}
.permit-group{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}
.permit-group legend{padding:0;margin-bottom:4px;font-weight:700;font-size:.9rem}
.permit-field.is-waiting input,.permit-field.is-waiting select{background:repeating-linear-gradient(90deg,var(--surface-2),var(--surface-2) 40%,var(--line) 50%,var(--surface-2) 60%);background-size:300% 100%;animation:permit-shimmer 1.6s linear infinite}
.permit-from{font-style:normal;font-weight:600;font-size:.72rem;color:var(--warn);margin-left:4px}
.permit-error{color:var(--danger);font-size:.78rem}
@keyframes permit-shimmer{from{background-position:100% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.permit-field.is-waiting input,.permit-field.is-waiting select{animation:none}}
@media (max-width:420px){.permit-steps li{font-size:.66rem}}
/* «¿Los datos están bien?» antes de enviar (27-oct-2026) */
.permit-check h3{margin:0 0 4px;font-size:1.05rem}
.permit-check>div>p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.permit-check-list{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.permit-check-list .detail-row strong{text-align:right;overflow-wrap:anywhere}
.permit-check-warn{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:var(--r-md);background:var(--warn-50);color:var(--text);font-size:.85rem;line-height:1.45}
.permit-check-warn .ico{flex:none;width:18px;height:18px;color:var(--warn);margin-top:1px}
.permit-check-list .detail-row:first-child strong{overflow-wrap:normal;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
