*{box-sizing:border-box}
body{margin:0;background:#f4f5f7;color:#1a1a1a;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.marca{background:#fff;border-bottom:3px solid var(--acento);padding:14px 16px;text-align:center}
.marca img{max-height:48px;max-width:220px}
.marca a{color:inherit;text-decoration:none}
main{max-width:820px;margin:24px auto;padding:0 16px}
.caja{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);padding:28px}
.encabezado{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.titulo{display:flex;gap:12px;align-items:center}
.titulo h1{margin:0;font-size:24px;line-height:1.2}
.titulo p{margin:0;color:#555}
.datos-hoja{display:grid;grid-template-columns:auto auto;gap:2px 10px;margin:0;font-size:14px}
.datos-hoja dt{color:#555}
.datos-hoja dd{margin:0;font-weight:600}
.tenue{color:#888;font-weight:400}
.proveedor{margin:16px 0 0;padding:12px 14px;background:#f7f7f9;border-radius:8px;font-size:15px}
h2{font-size:17px;margin:28px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--acento)}
.rejilla{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.campo{display:flex;flex-direction:column;gap:4px;margin:0;border:0;padding:0;min-width:0}
.ancho{grid-column:1/-1}
label,legend{font-weight:600;font-size:15px;padding:0}
.req{color:#c2410c}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid #c9ccd3;border-radius:8px;background:#fff;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acento);outline-offset:1px;border-color:transparent}
[aria-invalid=true]{border-color:#c2410c}
small,.nota{color:#666;font-size:13px}
.nota{margin:0}
.error{color:#c2410c;font-size:13px}
.radios{display:flex;gap:20px;flex-wrap:wrap;margin-top:4px}
.radio{font-weight:400;display:flex;gap:6px;align-items:center}
.radio input{width:auto}
.legal{margin:24px 0 16px;padding:12px 14px;border-left:3px solid #c9ccd3;color:#444;font-size:14px}
.legal p{margin:4px 0}
button{font:inherit;font-weight:600;background:var(--acento);color:#fff;border:0;border-radius:8px;padding:13px 22px;cursor:pointer}
button:hover{filter:brightness(1.1)}
.alerta{background:#fff1ec;border:1px solid #fdba9b;color:#9a3412;padding:10px 14px;border-radius:8px;margin:18px 0 0}
.demo{background:#eef2ff;border:1px solid #c7d2fe;padding:10px 14px;border-radius:8px;margin:18px 0 0}
.exito{background:#ecfdf3;border:1px solid #a6e9c1;padding:12px 14px;border-radius:8px;margin:18px 0 0}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.filas{display:grid;grid-template-columns:200px 1fr;margin:0}
.filas dt,.filas dd{padding:7px 0;border-top:1px solid #eee;margin:0}
.filas dt{color:#555}
.volver{margin-left:12px;color:var(--acento)}
/* Panel */
.angosta{max-width:480px;margin:0 auto}
.angosta h1{font-size:22px;margin-top:0}
.barra{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;max-width:1000px;margin:0 auto 12px;font-size:14px}
.barra a{color:inherit}
.barra form{margin-left:auto}
button.enlace{background:none;color:inherit;padding:0;text-decoration:underline;font-weight:400}
button.secundario{background:#fff;color:#1a1a1a;border:1px solid #c9ccd3}
main:has(.barra){max-width:1000px}
.resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.resumen div{background:#f7f7f9;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column}
.resumen strong{font-size:26px;line-height:1.1}
.resumen span{color:#555;font-size:13px}
.tabla{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid #eee;vertical-align:top}
th{font-size:13px;color:#555;font-weight:600}
td a{color:var(--acento);font-weight:600}
.estado{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;white-space:nowrap}
.estado.ok{background:#ecfdf3;color:#166534}
.estado.pendiente{background:#eef2ff;color:#3730a3}
.estado.urgente{background:#fff7e6;color:#9a3412}
.estado.vencida{background:#fee2e2;color:#991b1b;font-weight:600}
.acciones{margin:18px 0 6px}
.acciones a{color:var(--acento)}
.responder{margin-top:8px}
footer{text-align:center;color:#888;font-size:13px;padding:8px 16px 32px}
footer a{color:inherit}
@media (max-width:640px){
  .caja{padding:20px 16px}
  .rejilla{grid-template-columns:1fr}
  .filas{grid-template-columns:1fr}
  .filas dd{border-top:0;padding-top:0}
  .resumen{grid-template-columns:1fr}
  .barra form{margin-left:0}
  button{width:100%}
}
@media print{
  body{background:#fff}
  .marca,footer,.no-imprimir,.barra{display:none}
  main{margin:0;max-width:none}
  .caja{box-shadow:none;padding:0}
}
