.cat-card{max-width:860px;margin:20px auto;padding:26px;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(15,34,69,.12);border:1px solid rgba(15,34,69,.08);font-family:inherit}.cat-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cat-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#b48c39;font-weight:700}.cat-card h3{margin:4px 0 0;color:#0f2245;font-size:28px}.cat-clock{font-size:28px;font-weight:800;color:#0f2245;background:#f3f6fc;border-radius:14px;padding:10px 14px}.cat-worker{display:grid;gap:5px;margin:18px 0;padding:16px;border-radius:16px;background:#f8fafc;color:#24324a}.cat-worker strong{font-size:18px;color:#0f2245}.cat-panel{margin-top:16px;padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.cat-panel h4{margin:0 0 12px;color:#0f2245;font-size:18px}.cat-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.cat-section-head p{margin:0 0 12px;color:#64748b}.cat-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.cat-actions{margin-top:0}.cat-btn{border:0;border-radius:14px;padding:15px 18px;font-weight:800;cursor:pointer;background:#f3f6fc;color:#0f2245}.cat-btn:hover{filter:brightness(.97)}.cat-primary{background:#0f2245;color:#fff}.cat-light{background:#fff;border:1px solid #dbe3ef}.cat-small{padding:10px 14px;border-radius:12px}.cat-textarea{width:100%;min-height:72px;border:1px solid #dbe3ef;border-radius:14px;padding:12px;resize:vertical}.cat-status{margin-top:12px;padding:12px;border-radius:12px;background:#f3f6fc;color:#0f2245}.cat-status.ok{background:#e9f7ef;color:#176b3a}.cat-status.err{background:#fdeaea;color:#9f1d1d}.cat-note{margin-top:12px;font-size:13px;color:#64748b;line-height:1.5}.cat-list{display:grid;gap:10px}.cat-row{display:grid;gap:3px;padding:12px;border-radius:13px;background:#fbfcfe;border:1px solid #edf2f7}.cat-row strong{text-transform:capitalize;color:#0f2245}.cat-row span{color:#0f2245}.cat-row small{color:#64748b}.cat-empty{padding:12px;color:#64748b}.cat-filter-tabs{display:flex;gap:16px;flex-wrap:wrap;margin:4px 0 12px;color:#24324a;font-weight:700}.cat-filtros-mi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:14px}.cat-filtros-mi label{display:block;font-weight:800;font-size:12px;color:#0f2245;margin-bottom:6px}.cat-filtros-mi input{width:100%;border:1px solid #dbe3ef;border-radius:12px;padding:9px 10px}.cat-filter-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.cat-card{padding:18px}.cat-card-head,.cat-grid2{grid-template-columns:1fr;display:grid}.cat-clock{font-size:22px}.cat-card h3{font-size:23px}.cat-filtros-mi{grid-template-columns:1fr}.cat-section-head{display:block}}


/* Camara de auditoria de marcacion */
.cat-camera-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px}
.cat-camera-box{width:min(560px,96vw);background:#fff;border-radius:14px;padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.35);text-align:center}
.cat-camera-box h3{margin:0 0 8px}.cat-camera-box p{margin:0 0 12px;color:#50575e}
.cat-camera-box video{display:block;width:100%;max-height:420px;background:#111;border-radius:10px;object-fit:cover}
.cat-camera-actions{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}

/* Shortcode independiente [asistencia_dni] */
.cat-dni-wrap .cat-dni-search-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cat-dni-wrap .cat-dni-search-row .cat-input{flex:1;min-width:220px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:18px;letter-spacing:1px}.cat-dni-wrap .cat-dni-cambiar{margin-top:12px}.cat-dni-wrap .cat-worker-card{margin-bottom:14px}.cat-dni-wrap .cat-worker-card span{display:block;margin-top:3px}
