@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";:root{--primary:#7c3aed;--primary-light:#a78bfa;--secondary:#f97316;--secondary-light:#fdba74;--tertiary:#10b981;--accent:#f59e0b;--danger:#ef4444;--bg:#fff7ed;--surface:#fff;--text:#1e1b4b;--text-muted:#64748b;--border:#7c3aed1f;--shadow:0 18px 35px -5px #7c3aed33, 0 8px 15px -6px #7c3aed1f;--shadow-sm:0 4px 12px -1px #00000014;--shadow-glow:0 0 40px -10px var(--cat-color,#7c3aed);--radius:28px;--radius-sm:18px;--font:"Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100svh}#root{background:radial-gradient(circle at 5% 10%,#7c3aed1a 0%,#0000 28%),radial-gradient(circle at 95% 90%,#f973161a 0%,#0000 28%),radial-gradient(circle,#10b9810d 0%,#0000 50%),linear-gradient(#fff7ed 0%,#fff0f5 100%);flex-direction:column;min-height:100svh;display:flex}.app{flex-direction:column;flex:1;width:100%;max-width:520px;margin:0 auto;display:flex;position:relative}.app-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffdb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);width:42px;height:42px;box-shadow:var(--shadow-sm);border-radius:14px;place-items:center;font-size:20px;font-weight:800;display:grid}.brand-title{margin:0;font-size:18px;font-weight:700;line-height:1}.brand-date{color:var(--text-muted);margin:2px 0 0;font-size:12px}.header-right{align-items:center;gap:12px;display:flex}.header-clock{background:linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%);color:#fff;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;align-items:flex-end;min-width:92px;padding:8px 14px;display:flex}.header-clock-label{text-transform:uppercase;letter-spacing:.6px;opacity:.85;font-size:9px;font-weight:600}.header-clock-time{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;font-weight:800;line-height:1.2}.countdown-compact{border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:right;background:#fff;border-radius:16px;min-width:130px;padding:8px 14px}.countdown-compact .countdown-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:150px;margin:0 0 2px;font-size:10px;display:block;overflow:hidden}.countdown-compact .countdown-digits{color:var(--primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;font-weight:700;display:block}.app-main{flex:1;padding:20px;overflow-y:auto}.section-title{letter-spacing:-.5px;margin:0 0 20px;font-size:24px;font-weight:800}.now-view{flex-direction:column;gap:18px;display:flex}.cat-style-root{--cat-color:var(--primary);--cat-gradient:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%)}.now-hero{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:2px solid var(--cat-color);position:relative;overflow:hidden}.now-hero-glow{background:var(--cat-color);opacity:.12;filter:blur(18px);z-index:0;position:absolute;inset:-2px}.now-hero-content{z-index:1;padding:28px;position:relative}.now-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.now-category-pill{text-transform:uppercase;letter-spacing:.5px;background:var(--cat-color);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.live-pill-large{text-transform:uppercase;letter-spacing:.5px;color:var(--tertiary);background:#10b9811f;border:2px solid #10b98140;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:800;display:inline-flex}.live-pill-large:before{content:"";background:var(--tertiary);border-radius:50%;width:10px;height:10px;animation:1.4s infinite pulse}.live-pill-large.soon{color:var(--accent);background:#f59e0b1f;border-color:#f59e0b40}.live-pill-large.soon:before{background:var(--accent);animation:1.4s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.now-hero-title{color:var(--text);margin:0 0 10px;font-size:34px;font-weight:800;line-height:1.1}.now-hero-subtitle{color:var(--text-muted);margin:0 0 20px;font-size:18px;line-height:1.4}.now-hero-time{color:var(--cat-color);border:1px solid var(--cat-color);background:#ffffffe6;border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:10px 16px;font-size:15px;font-weight:700;display:inline-flex}.now-hero-time svg{width:18px;height:18px}.now-hero-note{color:var(--text-muted);margin:0;font-size:14px;font-style:italic}.now-progress-wrap{margin-top:4px}.now-progress-bar{border:1px solid var(--border);background:#7c3aed14;border-radius:999px;width:100%;height:14px;margin-bottom:10px;overflow:hidden}.now-progress-fill{background:var(--cat-gradient);height:100%;box-shadow:0 0 12px var(--cat-color);border-radius:999px;transition:width 1s linear}.now-progress-text{color:var(--text-muted);font-size:13px;font-weight:600}.now-finished{text-align:center}.now-hero.is-finished{border-color:var(--tertiary);background:linear-gradient(135deg,#10b98114 0%,#fff 100%);padding:48px 28px}.now-finish-icon{background:var(--tertiary);color:#fff;border-radius:50%;place-items:center;width:80px;height:80px;margin:0 auto 20px;display:grid;box-shadow:0 10px 25px #10b98159}.now-finish-icon svg{width:40px;height:40px}.now-hero.is-finished h2{color:var(--text);margin:0 0 10px;font-size:30px;font-weight:800}.now-hero.is-finished p{color:var(--text-muted);margin:0;font-size:16px}.next-activity-card{--next-color:var(--primary);background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:2px dashed var(--next-color);align-items:center;gap:16px;padding:22px;display:flex;position:relative}.next-activity-card:before{content:"";background:var(--next-color);opacity:.3;border-radius:3px;width:40px;height:6px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.next-arrow{width:48px;height:48px;color:var(--next-color);border:2px solid var(--next-color);background:#7c3aed14;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.next-arrow svg{width:24px;height:24px}.next-content{flex:1;min-width:0}.next-label{text-transform:uppercase;letter-spacing:.8px;color:var(--next-color);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.next-content h3{color:var(--text);margin:0 0 4px;font-size:19px;font-weight:700}.next-content p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px;font-size:14px;overflow:hidden}.next-time{color:var(--next-color);background:#7c3aed0f;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.countdown-large{background:linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%);color:#fff;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:26px 20px}.countdown-large .countdown-label{text-transform:uppercase;letter-spacing:1px;opacity:.9;margin:0 0 18px;font-size:13px;font-weight:600}.countdown-digits-large{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.digit-box{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff24;border-radius:18px;flex-direction:column;align-items:center;min-width:70px;padding:16px 14px;display:flex}.digit{font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1}.digit-box small{text-transform:uppercase;opacity:.85;margin-top:6px;font-size:11px;font-weight:600}.schedule-view{padding-bottom:20px}.schedule-grid{flex-direction:column;gap:14px;display:flex}.schedule-item{--cat-color:var(--primary);--cat-gradient:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);align-items:stretch;gap:14px;display:flex}.schedule-bar{background:var(--cat-color);opacity:.3;border-radius:999px;flex-shrink:0;width:8px;margin:8px 0}.schedule-time{background:var(--surface);border-radius:var(--radius-sm);width:72px;box-shadow:var(--shadow-sm);border:1px solid var(--border);color:var(--text);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:15px;font-weight:800;display:flex}.schedule-time svg{width:18px;height:18px;color:var(--cat-color)}.schedule-card{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid #0000;border-left:6px solid var(--cat-color);flex:1;padding:18px;transition:all .2s}.schedule-card h3{color:var(--text);margin:0 0 6px;font-size:17px;font-weight:700}.schedule-card p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.4}.schedule-card-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.schedule-category{text-transform:uppercase;letter-spacing:.5px;color:var(--cat-color);background:#7c3aed14;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.schedule-now-pill{text-transform:uppercase;background:var(--tertiary);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;animation:1.4s infinite pulse;display:inline-flex}.schedule-done-pill{text-transform:uppercase;color:var(--text-muted);background:#64748b1f;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.schedule-done-pill svg{width:12px;height:12px}.schedule-item.active .schedule-card{border-color:var(--cat-color);box-shadow:var(--shadow), 0 0 30px -10px var(--cat-color);background:linear-gradient(135deg,#fff 0%,#ffffffd9 100%);transform:scale(1.02)}.schedule-item.active .schedule-bar{opacity:1;box-shadow:0 0 16px var(--cat-color)}.schedule-item.past .schedule-card{opacity:.65}.schedule-item.past .schedule-card h3,.schedule-item.past .schedule-card p{text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.schedule-item.past .schedule-time{opacity:.6}.info-view{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.info-view p{color:var(--text-muted);margin:0 0 20px;line-height:1.6}.info-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.info-list li{border-radius:var(--radius-sm);background:#7c3aed0a;padding:14px 16px;font-size:14px}.info-list strong{color:var(--primary)}.companias-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.companias-title{color:var(--text);margin:0 0 4px;font-size:18px;font-weight:800}.companias-subtitle{color:var(--text-muted);margin:0;font-size:13px}.companias-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.companias-refresh{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--primary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.companias-refresh:hover{background:#6366f11a;border-color:#6366f14d;transform:rotate(90deg)}.companias-refresh:disabled{opacity:.5;cursor:not-allowed}.companias-ultima{color:var(--text-muted);align-items:center;gap:6px;margin:4px 0 16px;font-size:11px;display:flex}.companias-ultima:before{content:"";background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.companias-error{color:var(--danger);font-size:14px}.companias-grid{flex-direction:column;gap:12px;display:flex}.compania-card{cursor:pointer;background:linear-gradient(135deg,#6366f114,#8b5cf614);border:1px solid #6366f126;border-radius:14px;align-items:center;gap:14px;padding:16px;transition:all .2s;display:flex}.compania-card:hover{border-color:#6366f166;transform:translateY(-2px);box-shadow:0 4px 14px #6366f133}.compania-card.active{background:linear-gradient(135deg,#6366f133,#8b5cf633);border-color:#6366f199;box-shadow:0 0 0 2px #6366f14d}.compania-card.completa{background:linear-gradient(135deg,#10b98126,#22c55e26);border-color:#10b98166}.compania-card.completa .compania-numero{background:linear-gradient(135deg,#10b981,#22c55e);box-shadow:0 2px 8px #10b98159}.compania-numero{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:900;display:flex;box-shadow:0 2px 8px #6366f159}.compania-info{flex:1;min-width:0}.compania-consejeros{flex-direction:column;gap:4px;margin-bottom:4px;display:flex}.compania-consejero{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:left;background:#6366f11f;border-radius:999px;width:fit-content;min-width:0;max-width:100%;padding:4px 10px;font-size:11px;font-weight:600;overflow:hidden}.compania-consejero.ingreso{color:#059669;background:#10b98126}.compania-consejero.sin-ingreso{color:var(--text-muted);background:#64748b1a}.compania-sin-consejero{color:var(--text-muted);font-size:11px;font-style:italic}.compania-count{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.compania-count-in{color:#059669;font-weight:700}.compania-count-out{color:var(--danger);font-weight:600}.compania-detalle{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:16px;overflow:hidden}.compania-detalle-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#6366f11a,#8b5cf61a);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.compania-detalle-header h4{color:var(--text);margin:0;font-size:16px;font-weight:800}.compania-detalle-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:22px;transition:background .15s;display:flex}.compania-detalle-close:hover{background:#64748b26}.compania-personas{max-height:400px;margin:0;padding:0;list-style:none;overflow-y:auto}.compania-persona{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;display:flex}.compania-persona:last-child{border-bottom:none}.compania-persona-nombre{color:var(--text);flex:1;min-width:120px;font-size:14px;font-weight:700}.compania-persona-datos{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.compania-persona-datos span{white-space:nowrap}.compania-persona-tipo{text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.compania-persona.consejero .compania-persona-tipo{color:#6366f1;background:#6366f126}.compania-persona.participante .compania-persona-tipo{color:#059669;background:#10b98126}.compania-loading,.compania-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:14px}.compania-resumen{border-bottom:1px solid var(--border);background:#6366f10d;flex-direction:column;gap:8px;padding:14px 18px;display:flex}.compania-resumen-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;font-size:13px;display:flex}.compania-resumen-label{color:var(--text);font-weight:700}.compania-resumen-val{color:var(--text-muted)}.compania-resumen-val .val-in{color:#059669;font-size:15px}.compania-resumen-val .val-out{color:var(--danger)}.compania-resumen-val .val-out strong{font-size:15px}.compania-persona-status{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.status-dot{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:flex}.status-dot.status-in{color:#059669;background:#10b98133}.status-dot.status-out{color:var(--danger);background:#ef444433}.status-dot.status-pending{color:var(--text-muted);background:#64748b26}.compania-persona.sin-entrada .compania-persona-nombre{color:var(--text-muted)}.compania-persona.con-salida .compania-persona-nombre{color:var(--text-muted);text-decoration:line-through}.compania-persona-fila{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.compania-persona-checklist{border-top:1px dashed var(--border);flex-wrap:wrap;gap:8px;width:100%;margin-top:8px;padding-top:8px;display:flex}.check-item{border-radius:8px;flex-direction:column;flex:1;gap:2px;min-width:90px;padding:6px 10px;font-size:11px;display:flex}.check-item.done{background:#10b9811a;border:1px solid #10b98133}.check-item.pending{background:#64748b14;border:1px solid #64748b26}.check-label{color:var(--text);font-size:11px;font-weight:700}.check-item.done .check-label{color:#059669}.check-item.pending .check-label{color:var(--text-muted)}.check-time{color:var(--text-muted);font-size:11px}.check-item.done .check-time{color:#059669;font-weight:600}.check-nota{color:var(--text-muted);word-break:break-word;margin-top:2px;font-size:10px;font-style:italic}.sim-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.sim-section-title{color:var(--text);margin:0 0 16px;font-size:16px;font-weight:700}.sim-controls{border:1px solid var(--border);border-radius:var(--radius-sm);background:#7c3aed0a;padding:16px}.sim-toggle{color:var(--text);cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.sim-toggle input{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.sim-fields{flex-direction:column;gap:12px;margin-top:16px;display:flex}.sim-now{color:var(--text);margin:0;font-size:14px}.sim-now span{color:var(--primary);font-weight:600}.sim-fields label{color:var(--text-muted);font-size:13px;font-weight:600}.sim-fields input[type=datetime-local]{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:15px}.sim-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.sim-presets{flex-wrap:wrap;gap:8px;display:flex}.sim-presets button{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);cursor:pointer;border:none;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:transform .15s,box-shadow .15s}.sim-presets button:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.app-footer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);background:#ffffffeb;padding:12px 20px 20px;position:sticky;bottom:0}.footer-nav{justify-content:space-around;align-items:center;gap:8px;display:flex}.footer-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:10px 8px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.footer-btn svg{width:24px;height:24px}.footer-btn:hover{color:var(--primary);background:#7c3aed0f}.footer-btn.active{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);box-shadow:var(--shadow)}@media (width>=640px){.app{max-width:560px}}.install-prompt{background:linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%);color:#fff;box-shadow:var(--shadow);padding:14px 20px}.install-prompt.ios{background:linear-gradient(135deg,#0f172a 0%,#334155 100%)}.install-content{justify-content:space-between;align-items:center;gap:16px;max-width:520px;margin:0 auto;display:flex}.install-content strong{font-weight:700}.install-text{opacity:.95;margin:4px 0 0;font-size:13px;line-height:1.4}.install-text svg{vertical-align:middle;margin:0 2px;display:inline-block}.install-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.install-btn{color:var(--primary);cursor:pointer;background:#fff;border:none;border-radius:12px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s}.install-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0003}.install-close,.install-close-text{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;font-family:inherit;font-size:20px;font-weight:700;line-height:1;transition:opacity .15s}.install-close-text{text-underline-offset:3px;opacity:.9;font-size:13px;text-decoration:underline}.install-close:hover,.install-close-text:hover{opacity:1}.check-loading{text-align:center;color:var(--text-muted);padding:60px 20px;font-weight:600}.login-view{flex-direction:column;justify-content:center;align-items:center;min-height:60svh;padding:20px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:28px}.login-title{color:var(--text);margin:0 0 8px;font-size:22px;font-weight:800}.login-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:14px;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-label{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.login-input{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:14px;padding:12px 14px;font-family:inherit;font-size:15px}.login-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #7c3aed1f}.login-error{color:var(--danger);background:#ef444414;border:1px solid #ef444433;border-radius:12px;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.login-btn{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);cursor:pointer;border:none;border-radius:16px;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn:not(:disabled):hover{box-shadow:var(--shadow);transform:translateY(-2px)}.login-hint{color:var(--text-muted);text-align:center;margin:20px 0 0;font-size:12px;line-height:1.5}.check-view{flex-direction:column;gap:16px;display:flex}.check-header{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.check-user{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.check-welcome{color:var(--text);font-weight:700}.check-logout{color:var(--primary);cursor:pointer;background:#7c3aed14;border:none;border-radius:12px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:700}.check-user-actions{align-items:center;gap:8px;display:flex}.check-add-btn{color:#059669;cursor:pointer;white-space:nowrap;background:#10b9811f;border:none;border-radius:12px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s}.check-add-btn:hover{background:#10b98138}.check-compania-btn{color:#d97706;cursor:pointer;white-space:nowrap;background:#f59e0b1f;border:none;border-radius:12px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s}.check-compania-btn:hover{background:#f59e0b38}.check-stats-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#3b82f61f;border:none;border-radius:12px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s}.check-stats-btn:hover{background:#3b82f638}.check-admin-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}@media (width<=600px){.check-admin-actions{flex-direction:column}.check-admin-actions button{text-align:center;width:100%}}.check-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.check-stats div{text-align:center;cursor:pointer;background:#7c3aed0d;border:1px solid #0000;border-radius:14px;padding:12px 8px;transition:transform .15s,box-shadow .15s,background .15s}.check-stats div:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed26}.check-stats div.active{background:#7c3aed33;border-color:#7c3aed80;box-shadow:0 0 0 2px #7c3aed4d}.check-stats strong{color:var(--primary);font-size:20px;display:block}.check-stats span{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.check-filters{flex-direction:column;gap:10px;display:flex}.check-search,.check-selects select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;padding:12px 14px;font-family:inherit;font-size:14px}.check-search:focus,.check-selects select:focus{border-color:var(--primary);outline:none}.check-selects{gap:10px;display:flex}.check-selects select{flex:1}.check-search-btn{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);cursor:pointer;border:none;border-radius:16px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s}.check-search-btn:disabled{opacity:.6;cursor:not-allowed}.check-search-btn:not(:disabled):hover{box-shadow:var(--shadow);transform:translateY(-2px)}.check-count{color:var(--text-muted);font-size:13px;font-weight:600}.check-list{flex-direction:column;gap:12px;display:flex}.check-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.attendee-card{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border-left:5px solid var(--text-muted);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.attendee-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.attendee-card.status-in{border-left-color:var(--tertiary)}.attendee-card.status-out{border-left-color:var(--danger)}.attendee-card.status-pending{border-left-color:var(--text-muted)}.attendee-info{flex:1;min-width:0}.attendee-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:16px;font-weight:700;overflow:hidden}.attendee-meta{color:var(--text-muted);margin:0 0 8px;font-size:12px}.attendee-compania{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:13px;font-weight:800;display:inline-block;box-shadow:0 2px 6px #6366f14d}.attendee-status{color:var(--text-muted);background:#64748b1a;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-block}.attendee-status.status-in{color:var(--tertiary);background:#10b9811f}.attendee-status.status-out{color:var(--danger);background:#ef44441f}.attendee-actions{flex-shrink:0;gap:8px;display:flex}.attendee-btn{color:#fff;cursor:pointer;border:none;border-radius:12px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:transform .15s,box-shadow .15s}.attendee-btn:disabled{opacity:.4;cursor:not-allowed}.attendee-btn:not(:disabled):hover{transform:translateY(-2px)}.btn-entrada{background:linear-gradient(135deg, var(--tertiary) 0%, #059669 100%)}.btn-salida{background:linear-gradient(135deg, var(--danger) 0%, #b91c1c 100%)}.btn-implementos{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.attendee-badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.attendee-badge{border:1px solid #0000;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:600}.attendee-badge.badge-on{color:#059669;background:#10b9811f;border-color:#10b9814d}.attendee-badge.badge-off{color:#94a3b8;background:#64748b14;border-color:#64748b33}.detail-status-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.detail-status-pill{border-radius:10px;padding:6px 12px;font-size:12px;font-weight:700}.detail-status-pill.on{color:#059669;background:#10b98126}.detail-status-pill.off{color:#64748b;background:#64748b1a}.log-implementos{color:#d97706;text-transform:uppercase;background:#f59e0b26;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.log-note{color:var(--text-muted);margin-top:2px;font-size:12px;font-style:italic;display:block}.checklist{margin-bottom:16px}.checklist-title{color:var(--text);margin:0 0 12px;font-size:15px;font-weight:700}.checklist-item{border:2px solid #0000;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px;transition:all .2s;display:flex}.checklist-item.done{background:#10b98114;border-color:#10b9814d}.checklist-item.pending{background:#64748b0d;border-color:#64748b26}.checklist-checkbox{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;display:flex}.checklist-item.done .checklist-checkbox{background:var(--item-color,#10b981);color:#fff}.checklist-item.pending .checklist-checkbox{color:#94a3b8;background:#64748b26}.check-icon{font-size:18px}.check-icon-empty{color:#94a3b8;font-size:20px}.checklist-content{flex-direction:column;flex:1;gap:6px;display:flex}.checklist-label{flex-direction:column;display:flex}.checklist-label strong{color:var(--text);font-size:15px}.checklist-desc{color:var(--text-muted);font-size:12px}.checklist-time{color:#059669;background:#10b9811a;border-radius:8px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600}.checklist-btn{color:#fff;cursor:pointer;border:none;border-radius:10px;align-self:flex-start;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:transform .15s}.checklist-btn:not(:disabled):hover{transform:translateY(-1px)}.checklist-btn:disabled{opacity:.4;cursor:not-allowed}.nota-panel{background:#f59e0b14;border:2px solid #f59e0b4d;border-radius:14px;margin-bottom:16px;padding:16px}.nota-panel h4{margin:0 0 4px;font-size:14px}.nota-hint{color:var(--text-muted);margin:0 0 10px;font-size:12px}.nota-panel input{box-sizing:border-box;border:2px solid #f59e0b4d;border-radius:10px;width:100%;margin-bottom:12px;padding:10px;font-family:inherit;font-size:14px}.nota-actions{gap:10px;display:flex}.nota-cancel{color:#64748b;cursor:pointer;background:#64748b26;border:none;border-radius:10px;flex:1;padding:10px;font-family:inherit;font-size:14px;font-weight:600}.nota-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none;border-radius:10px;flex:2;padding:10px;font-family:inherit;font-size:14px;font-weight:700}.nota-confirm:disabled{opacity:.5}.detail-info-collapse{margin-bottom:16px}.detail-info-collapse summary{color:var(--primary);cursor:pointer;background:#7c3aed14;border-radius:10px;padding:10px;font-size:14px;font-weight:600;list-style:none}.detail-info-collapse summary:after{content:" ▼";font-size:10px}.detail-info-collapse[open] summary{margin-bottom:12px}.check-more{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);cursor:pointer;border:none;border-radius:16px;padding:14px;font-family:inherit;font-size:14px;font-weight:700}.detail-overlay{z-index:100;background:#1e1b4b8c;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.detail-modal{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:560px;max-height:90svh;box-shadow:var(--shadow);padding:24px 20px 28px;position:relative;overflow-y:auto}.detail-close{color:var(--primary);cursor:pointer;background:#7c3aed14;border:none;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:16px;right:16px}.detail-toast{color:#fff;text-align:center;background:linear-gradient(135deg,#10b981,#22c55e);border-radius:10px;margin-bottom:12px;padding:10px 16px;font-size:14px;font-weight:700;animation:.3s toastSlide}@keyframes toastSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-header{margin-bottom:20px}.detail-name{color:var(--text);margin:0 0 4px;font-size:20px;font-weight:800}.detail-compania{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:999px;margin:8px 0 12px;padding:8px 18px;font-size:18px;font-weight:900;display:inline-block;box-shadow:0 3px 10px #6366f166}.detail-meta{color:var(--text-muted);margin:0;font-size:14px}.detail-section{border-radius:var(--radius-sm);background:#7c3aed0a;margin-bottom:16px;padding:14px}.detail-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin:0 0 8px;font-size:13px}.detail-section p{color:var(--text);word-break:break-word;margin:0;font-size:14px;line-height:1.5}.detail-contact-name{font-weight:700}.detail-contact-email{color:var(--text-muted);font-size:12px}.detail-log{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.detail-log li{border-bottom:1px solid #0000000d;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 0;font-size:13px;display:flex}.detail-log li:last-child{border-bottom:none}.log-info{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.log-actions{flex-shrink:0;gap:4px;display:flex}.log-btn-edit,.log-btn-delete{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;transition:background .15s}.log-btn-edit:hover{background:#3b82f626}.log-btn-delete:hover{background:#ef444426}.log-edit-form{background:#3b82f60d;border-radius:6px;flex-direction:column;gap:8px;width:100%;margin-top:6px;padding:10px;display:flex}.log-edit-form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.log-edit-form input,.log-edit-form textarea{border:1px solid #00000026;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}.log-edit-actions{justify-content:flex-end;gap:8px;display:flex}.log-btn-cancel{cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:4px;padding:4px 12px;font-size:12px}.log-btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:12px}.btn-editar-datos{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:6px 14px;font-size:13px;font-weight:600}.btn-editar-datos:hover{opacity:.9}.editar-datos-panel{max-height:60vh;overflow-y:auto}.editar-datos-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.editar-datos-grid label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.editar-datos-grid label.full-width{grid-column:1/-1}.editar-datos-grid input,.editar-datos-grid select,.editar-datos-grid textarea{border:1px solid #00000026;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}@media (width<=480px){.editar-datos-grid{grid-template-columns:1fr}}.log-entrada{color:var(--tertiary);font-weight:700}.log-salida{color:var(--danger);font-weight:700}.log-time{color:var(--text);font-weight:600}.log-user{color:var(--text-muted);font-size:12px}.detail-note{color:var(--text);flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:700;display:flex}.detail-note input{border:1px solid var(--border);border-radius:12px;padding:12px;font-family:inherit;font-size:14px}.detail-actions{gap:12px;display:flex}.detail-actions button{color:#fff;cursor:pointer;border:none;border-radius:16px;flex:1;padding:14px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .15s}.detail-actions button:disabled{opacity:.4;cursor:not-allowed}.detail-actions button:not(:disabled):hover{transform:translateY(-2px)}.detail-admin-note{color:var(--text-muted);text-align:center;margin:16px 0 0;font-size:12px}.attendee-badge.badge-enf{color:#0284c7;background:#0ea5e926;font-weight:700}.attendee-card.status-enf{background:linear-gradient(90deg,#0ea5e914 0%,#0000 60%);border-left-color:#0ea5e9}.attendee-card.status-enf-alta{border-left-color:#22c55e}.badge-enfermeria{color:#0284c7;background:#0ea5e926;border-radius:999px;margin-top:8px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.attendee-badge.badge-sic{color:#7c3aed;background:#8b5cf626;font-weight:700}.attendee-card.status-sic{background:linear-gradient(90deg,#8b5cf614 0%,#0000 60%);border-left-color:#8b5cf6}.attendee-card.status-sic-alta{border-left-color:#22c55e}.badge-sicologia{color:#7c3aed;background:#8b5cf626;border-radius:999px;margin-top:8px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.checklist-blocked{color:var(--text-muted);margin-top:4px;font-size:12px;font-style:italic;display:block}.nota-panel textarea{box-sizing:border-box;resize:vertical;border:2px solid #f59e0b4d;border-radius:10px;width:100%;min-height:70px;margin-bottom:12px;padding:10px;font-family:inherit;font-size:14px}.check-toggle{color:#0284c7;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.check-toggle input{cursor:pointer;width:16px;height:16px}.attendee-arrow{color:var(--text-muted);opacity:.5;align-items:center;padding-left:8px;font-size:28px;display:flex}.dashboard-rows{flex-direction:column;gap:12px;width:100%;display:flex}.dashboard-row{align-items:stretch;gap:10px;display:flex}.dashboard-row-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex:0 0 110px;justify-content:flex-end;align-items:center;padding-right:4px;font-size:13px;font-weight:700;display:flex}.dashboard-row-cards{flex:1;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.participante-form-modal{background:var(--surface);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow);border-radius:20px;padding:24px;position:relative;overflow-y:auto}.participante-form{margin-top:16px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-field{flex-direction:column;gap:4px;display:flex}.form-field.full{grid-column:1/-1}.form-field span{color:var(--text-muted);font-size:12px;font-weight:700}.form-required{color:#ef4444}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:10px;padding:8px 10px;font-family:inherit;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #7c3aed26}.form-checkbox{cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-size:14px;font-weight:600;display:flex}.form-checkbox input{cursor:pointer;width:18px;height:18px}.form-error{color:#dc2626;background:#ef44441a;border-radius:10px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:600}.form-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.form-btn-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700}.form-btn-submit{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700}.form-btn-submit:disabled,.form-btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.form-grid{grid-template-columns:1fr}.participante-form-modal{padding:18px}}.compania-editor-modal{background:var(--surface);width:100%;max-width:720px;max-height:90vh;box-shadow:var(--shadow);border-radius:20px;padding:24px;position:relative;overflow-y:auto}.compania-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.compania-row{background:var(--bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.compania-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.compania-row-nombre{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.compania-row-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.compania-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.compania-badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.compania-badge.asignada{color:#d97706;background:#f59e0b26}.compania-badge.sin{color:#6b7280;background:#6b72801f}.compania-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700}.compania-btn.editar{color:var(--primary);background:#7c3aed1a}.compania-btn.quitar{color:#dc2626;background:#ef44441a}.compania-btn.guardar{color:#059669;background:#10b98126;padding:6px 10px;font-size:16px}.compania-btn.cancelar{color:#6b7280;background:#6b72801f;padding:6px 10px;font-size:16px}.compania-select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}@media (width<=600px){.compania-row{flex-direction:column;align-items:stretch;gap:8px}.compania-row-actions{flex-wrap:wrap;justify-content:flex-end}.compania-editor-modal{padding:18px}}.stats-modal{background:var(--surface);width:100%;max-width:900px;max-height:92vh;box-shadow:var(--shadow);border-radius:20px;padding:24px;position:relative;overflow-y:auto}.stats-export-buttons{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.stats-export-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:700}.stats-export-btn.excel{color:#059669;background:#10b98126}.stats-export-btn.pdf{color:#dc2626;background:#ef44441f}.stats-refresh-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:700}.stats-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;display:grid}.stats-card{background:var(--bg);border:1px solid var(--border);text-align:center;border-radius:12px;padding:12px}.stats-card strong{color:var(--text);font-size:24px;font-weight:800;display:block}.stats-card span{color:var(--text-muted);font-size:11px}.stats-card.green strong{color:#059669}.stats-card.red strong{color:#dc2626}.stats-card.blue strong{color:#2563eb}.stats-card.enf strong{color:#0284c7}.stats-card.enf{background:#0ea5e90f}.stats-card.sic strong{color:#7c3aed}.stats-card.sic{background:#8b5cf60f}.stats-tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:8px;display:flex}.stats-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.stats-tab.active{color:var(--primary);background:#7c3aed1f}.stats-section h4{color:var(--text);margin:16px 0 10px;font-size:15px;font-weight:700}.stats-bar-chart{flex-direction:column;gap:6px;display:flex}.stats-bar-row{align-items:center;gap:8px;display:flex}.stats-bar-label{width:140px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex-shrink:0;font-size:12px;font-weight:600;overflow:hidden}.stats-bar-track{background:var(--bg);border-radius:6px;flex:1;align-items:center;gap:2px;height:24px;display:flex;position:relative;overflow:hidden}.stats-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .3s}.stats-bar-fill.green{background:#10b981}.stats-bar-fill.red{background:#ef4444}.stats-bar-fill.blue{background:#3b82f6}.stats-bar-fill.purple{background:#8b5cf6}.stats-bar-value{color:var(--text);font-size:11px;font-weight:700;position:absolute;right:8px}.stats-legend{color:var(--text-muted);gap:16px;margin-top:10px;font-size:12px;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.legend-item .dot{border-radius:3px;width:10px;height:10px}.legend-item .dot.green{background:#10b981}.legend-item .dot.red{background:#ef4444}.stats-compare{flex-direction:column;gap:10px;display:flex}.stats-compare-block{align-items:center;gap:10px;display:flex}.stats-compare-title{flex-shrink:0;width:100px;font-size:13px;font-weight:600}.stats-compare-bar{background:var(--bg);border-radius:6px;flex:1;height:20px;overflow:hidden}.stats-compare-bar .fill{background:#3b82f6;border-radius:6px;height:100%;transition:width .3s}.stats-compare-bar .fill.green{background:#10b981}.stats-compare-block span:last-child{flex-shrink:0;min-width:60px;font-size:12px;font-weight:700}.stats-table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.stats-table{border-collapse:collapse;width:100%;font-size:12px}.stats-table thead{background:#7c3aed14}.stats-table th{text-align:left;color:var(--text);white-space:nowrap;padding:8px 10px;font-weight:700}.stats-table td{border-top:1px solid var(--border);color:var(--text);white-space:nowrap;padding:6px 10px}.stats-table tbody tr:hover{background:#7c3aed0a}.stats-table .green-text{color:#059669;font-weight:700}.stats-table .red-text{color:#dc2626;font-weight:700}.stats-table .blue-text{color:#2563eb;font-weight:700}.stats-table-groups .group-header th{text-align:center;border-bottom:2px solid var(--border);padding:6px 4px;font-size:11px}.stats-table-groups .col-info{background:#7c3aed0a}.stats-table-groups .group-header .col-info{background:#7c3aed1f}.stats-table-groups .col-consej{background:#3b82f614;border-left:2px solid #3b82f64d}.stats-table-groups .group-header .col-consej{color:#1e40af;background:#3b82f638;border-left:2px solid #3b82f680}.stats-table-groups .col-particip{background:#10b98114;border-left:2px solid #10b9814d}.stats-table-groups .group-header .col-particip{color:#065f46;background:#10b98138;border-left:2px solid #10b98180}.stats-table-groups .col-total{background:#6b21a814;border-left:2px solid #6b21a84d}.stats-table-groups .group-header .col-total{color:#6b21a8;background:#6b21a838;border-left:2px solid #6b21a880}.stats-table-groups td.col-consej,.stats-table-groups td.col-particip,.stats-table-groups td.col-total{text-align:center}.stats-content{min-height:200px}@media (width<=600px){.stats-cards{grid-template-columns:repeat(2,1fr)}.stats-bar-label{width:90px;font-size:11px}.stats-modal{padding:18px}.stats-export-buttons{flex-direction:column}.stats-export-btn,.stats-refresh-btn{text-align:center;width:100%}}.dashboard-row-cards:has(.stat-block:nth-child(2):last-child){grid-template-columns:repeat(2,1fr);max-width:66%}.stat-block{text-align:center;cursor:pointer;background:#7c3aed0d;border:1px solid #0000;border-radius:14px;padding:12px 8px;transition:all .2s}.stat-block:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed2e}.stat-block.active{background:#7c3aed38;border-color:#7c3aed80;transform:translateY(-2px);box-shadow:0 0 0 2px #7c3aed4d}.stat-block.enf.active{background:#0ea5e940;border-color:#0ea5e980;box-shadow:0 0 0 2px #0ea5e94d}.stat-block.highlight.active{background:#10b98138;border-color:#10b98180;box-shadow:0 0 0 2px #10b9814d}.filter-banner{color:var(--text);background:linear-gradient(135deg,#6366f126,#8b5cf626);border:1px solid #6366f14d;border-radius:12px;justify-content:space-between;align-items:center;margin:12px 0;padding:10px 16px;font-size:14px;display:flex}.filter-banner strong{color:#6366f1}.filter-banner button{color:#6366f1;cursor:pointer;background:#6366f133;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700;transition:background .15s}.filter-banner button:hover{background:#6366f159}.user-manage{border-top:2px solid var(--border);margin-top:32px;padding-top:24px}.user-manage-title{color:var(--text);margin:0 0 16px;font-size:18px;font-weight:800}.user-form{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:18px}.user-form-title{color:var(--primary);margin:0 0 14px;font-size:15px;font-weight:700}.user-form-grid{grid-template-columns:1fr;gap:12px;display:grid}.user-field{flex-direction:column;gap:4px;display:flex}.user-field span{color:var(--text-muted);font-size:12px;font-weight:600}.user-field input,.user-field select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.user-field input:focus,.user-field select:focus{border-color:var(--primary)}.user-form-actions{gap:10px;margin-top:14px;display:flex}.user-btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;transition:opacity .15s}.user-btn-save:hover{opacity:.9}.user-btn-save:disabled{opacity:.5;cursor:not-allowed}.user-btn-cancel{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:#64748b1a;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600}.user-list-title{color:var(--text-muted);margin:0 0 12px;font-size:14px;font-weight:700}.user-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.user-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.user-item-info{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.user-item-nombre{color:var(--text);font-size:14px;font-weight:700}.user-item-usuario{color:var(--text-muted);font-size:12px}.user-item-rol{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.user-item-actions{flex-shrink:0;gap:6px;display:flex}.user-item-btn{cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;transition:opacity .15s}.user-item-btn:disabled{opacity:.5;cursor:not-allowed}.user-item-btn.edit{color:#6366f1;background:#6366f126}.user-item-btn.edit:hover{background:#6366f140}.user-item-btn.delete{color:var(--danger);background:#ef44441f}.user-item-btn.delete:hover{background:#ef444438}@media (width>=600px){.user-form-grid{grid-template-columns:1fr 1fr}}.stat-block strong{color:var(--primary);font-size:24px;font-weight:800;display:block}.stat-block span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:11px;display:block}.stat-block.highlight{background:#10b9811f;border:1px solid #10b98140}.stat-block.highlight strong{color:#059669}.stat-block.enf{background:#0ea5e914}.stat-block.enf strong{color:#0284c7}.stat-block.enf.highlight{background:#0ea5e92e;border:1px solid #0ea5e94d}.stat-block.sic{background:#8b5cf614}.stat-block.sic strong{color:#7c3aed}.stat-block.sic.highlight{background:#8b5cf62e;border:1px solid #8b5cf64d}.stat-block.sic.active{background:#8b5cf640;border-color:#8b5cf680;box-shadow:0 0 0 2px #8b5cf64d}.dashboard-refresh{color:var(--text-muted);align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.refresh-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.log-enfermeria_entrada{color:#0284c7!important;background:#0ea5e926!important}.log-enfermeria_alta{color:#16a34a!important;background:#22c55e26!important}.check-view .check-stats:has(.stat-block){grid-template-columns:repeat(3,1fr)}@media (width<=600px){.dashboard-row{flex-direction:column;gap:6px}.dashboard-row-label{flex:none;justify-content:flex-start;padding-right:0}.dashboard-row-cards{grid-template-columns:repeat(3,1fr)!important;max-width:100%!important}.stat-block strong{font-size:18px}}
