/* Zanatta Machinery — sitio de operadores (mobile-first) */
:root{--rojo:#C8102E;--azul:#15357A;--azul-d:#0F2756;--naranja:#F28A1C;--tinta:#1A1F2B;--gris:#6B7280;--linea:#E7E9EE;--bg:#F4F5F7;--ok:#1E9E5A;--warn:#E5920A;--danger:#D8362B;--info:#2B66C9}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--bg);color:var(--tinta);-webkit-font-smoothing:antialiased}
a{color:var(--azul);text-decoration:none}
.op-top{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--azul-d),var(--azul));color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 10px rgba(16,32,74,.2)}
.op-top img{height:30px;filter:brightness(0) invert(1)}
.op-top .t{font-weight:700;font-size:16px;flex:1}
.op-top a{color:#cdd9f2}
.op-wrap{max-width:560px;margin:0 auto;padding:14px 14px 90px}
.op-card{background:#fff;border:1px solid var(--linea);border-radius:14px;box-shadow:0 1px 3px rgba(20,30,55,.06);margin-bottom:14px;overflow:hidden;animation:fu .3s ease}
@keyframes fu{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.op-card .h{padding:12px 16px;border-bottom:1px solid var(--linea);font-weight:700;display:flex;align-items:center;gap:8px}
.op-card .b{padding:14px 16px}
.op-greet{font-size:20px;font-weight:800;margin:4px 2px 14px}
.op-greet span{color:var(--gris);font-weight:500;font-size:14px;display:block}
.tile-horo{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--azul-d),var(--azul));color:#fff;border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 6px 18px rgba(16,32,74,.25);text-decoration:none;transition:transform .15s}
.tile-horo:active{transform:scale(.98)}
.tile-horo .ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:none}
.tile-horo .n{font-weight:800;font-size:17px}
.tile-horo .s{font-size:12.5px;color:#cdd9f2}
.tile-horo>.ico:last-child{margin-left:auto;transform:rotate(180deg);opacity:.7}
.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.tile{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:16px;text-align:center;box-shadow:0 1px 3px rgba(20,30,55,.06);transition:transform .15s}
.tile:active{transform:scale(.97)}
.tile .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin:0 auto 8px;background:#eef2fb;color:var(--azul)}
.tile.rojo .ic{background:#fdeae8;color:var(--rojo)} .tile.naranja .ic{background:#fef0df;color:var(--naranja)} .tile.verde .ic{background:#e6f6ee;color:var(--ok)}
.tile .n{font-weight:700;font-size:14px}
.tile .s{font-size:12px;color:var(--gris)}
.tk{display:flex;gap:12px;padding:13px 16px;border-bottom:1px solid var(--linea);align-items:center}
.tk:last-child{border-bottom:0}
.tk .badge{font-size:11px}
.tk .info{flex:1;min-width:0}
.tk .info .ti{font-weight:700;font-size:14px}
.tk .info .me{font-size:12px;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge.ok{background:#e6f6ee;color:#147a43}.badge.info{background:#e7eefb;color:#1e4fa3}.badge.warn{background:#fdf1dd;color:#9a6206}.badge.danger{background:#fdeae8;color:#b32b22}.badge.muted{background:#eef0f3;color:#6b7280}
.fld{margin-bottom:14px}
.fld label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#3a4253}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid #d8dce4;border-radius:11px;padding:12px 13px;font-size:16px;font-family:inherit;background:#fff}
.fld textarea{min-height:90px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--azul);box-shadow:0 0 0 3px rgba(21,53,122,.12)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:12px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;background:#fff;border:1px solid var(--linea);color:var(--tinta)}
.btn.primary{background:var(--rojo);color:#fff}
.btn.azul{background:var(--azul);color:#fff}
.btn.ghost{background:transparent}
.btn:active{transform:scale(.98)}
.btn+.btn{margin-top:10px}
.fab{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--linea);padding:10px 14px;display:flex;gap:10px;max-width:560px;margin:0 auto}
.flash{padding:12px 14px;border-radius:12px;margin-bottom:12px;font-size:13.5px;border-left:4px solid var(--info);background:#fff;box-shadow:0 1px 3px rgba(20,30,55,.06)}
.flash.success{border-color:var(--ok)}.flash.error{border-color:var(--danger)}
#firma-canvas{border:1px dashed #b9c0cc;border-radius:11px;width:100%;height:160px;background:#fff;touch-action:none}
.auth-op{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(900px 400px at 50% -10%,rgba(21,53,122,.15),transparent),var(--bg)}
.auth-op .box{background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(16,32,74,.18);width:100%;max-width:380px;overflow:hidden}
.auth-op .top{background:linear-gradient(135deg,var(--azul-d),var(--azul));padding:26px;text-align:center}
.auth-op .top img{height:42px;filter:brightness(0) invert(1)}
.auth-op .body{padding:24px}
.act-item{padding:12px 16px;border-bottom:1px solid var(--linea)}
.act-item:last-child{border:0}
.act-item .who{font-size:12px;color:var(--gris);margin-top:3px}
.empty{text-align:center;color:var(--gris);padding:30px 16px}

/* Análisis de IA (formato enriquecido, compacto para móvil) */
.ia-out{font-size:13.5px;line-height:1.5;color:var(--tinta)}
.ia-out>*:first-child{margin-top:0}.ia-out>*:last-child{margin-bottom:0}
.ia-out h3{font-size:13.5px;font-weight:800;color:var(--azul);margin:13px 0 5px;padding-bottom:4px;border-bottom:1px solid #e9edf6}
.ia-out h4{font-size:12.5px;font-weight:700;color:var(--azul-d);margin:10px 0 3px;text-transform:uppercase;letter-spacing:.3px}
.ia-out p{margin:5px 0}
.ia-out ul,.ia-out ol{margin:5px 0 8px;padding-left:18px}
.ia-out li{margin:3px 0}
.ia-out b,.ia-out strong{color:var(--azul-d);font-weight:700}
.ia-out i,.ia-out em{color:var(--gris);font-style:italic}
.ia-out code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:#eef1f7;color:var(--azul-d);padding:1px 5px;border-radius:5px}
.ia-out hr{border:0;border-top:1px solid var(--linea);margin:10px 0}
.ia-out table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12.5px}
.ia-out th{background:var(--azul);color:#fff;text-align:left;padding:6px 8px;font-size:11px;text-transform:uppercase}
.ia-out td{padding:6px 8px;border-bottom:1px solid #eef0f4}
.ia-out tr:nth-child(even) td{background:#fafbfd}
