:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}.app-wrapper{background-color:#f0f4f0;position:fixed;width:100vw;height:100vh;height:100dvh;top:0;left:0}.app-center{display:flex;justify-content:center;align-items:center;height:100%}.app-window{width:90%;height:90vh;background:#fff;display:flex;box-shadow:0 4px 24px #0000001f;border-radius:12px;overflow:hidden}.app-sidebar{width:30%;display:flex;flex-direction:column;border-right:1px solid #dde8dd;background-color:#fff;flex-shrink:0;min-height:0}.app-sidebar-scroll{flex:1;overflow-y:auto;min-height:0}.app-chat{width:70%;display:flex;flex-direction:column;min-width:0}@media (max-width: 768px){.app-center{align-items:stretch}.app-window{width:100%;height:100%;border-radius:0;box-shadow:none}.app-sidebar{width:100%;border-right:none}.app-chat{width:100%}.mobile-hidden{display:none!important}}.chatContainer{background-color:#e8f0ea;height:100%;width:100%;justify-self:end;display:grid;grid-template-rows:auto 1fr auto}.inputWrapper{position:relative;width:100%;background-color:#fff;border-top:1px solid #dde8dd;max-height:120px;box-sizing:border-box}.inputMensaje{padding:14px 48px 14px 84px;font-size:15px;outline:none;width:100%;box-sizing:border-box;word-break:break-word;max-height:120px;overflow-y:auto;color:#1c2b22;line-height:1.4;min-height:50px}.grabadorAudioIcono{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;color:#547a63;transition:color .2s}.grabadorAudioIcono:hover{color:#1a6045}.grabandoAudio{animation:animacionColor 1s infinite;animation-timing-function:ease}@keyframes animacionColor{0%{color:#547a63}to{color:#27ae60}}.chatActions{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px}.flechaIcono{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:20px;color:#1a6045;cursor:pointer;transition:color .2s}.flechaIcono:hover{color:#27ae60}.msg{background-color:#fff;display:inline-block;max-width:65%;padding:7px 12px 5px;border-radius:12px;word-wrap:break-word;font-size:14px;color:#1c2b22;box-shadow:0 1px 2px #00000014;line-height:1.45}.mySelfMessage{align-self:flex-end;background-color:#d4f5d8;border-top-right-radius:4px}.someoneMessage{align-self:flex-start;background-color:#fff;border-top-left-radius:4px}.chatHeader{background-color:#1a6045;border-bottom:1px solid #155237;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between}.chatHeaderTitle{color:#fff;font-weight:600;font-size:16px;letter-spacing:.2px}.mensajesSection{overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:6px;min-height:0}.horaMensaje{color:#8fa895;font-size:11px;padding-left:6px;white-space:nowrap}.nombre-emisor-grupo{font-size:11px;font-weight:700;display:block;margin-bottom:2px;color:#1a6045;opacity:.85}.mobile-back-btn{display:none}@media (max-width: 768px){.mobile-back-btn{display:flex;cursor:pointer;opacity:.85;flex-shrink:0}.mobile-back-btn:hover{opacity:1}.msg{max-width:80%}}.reproductorAudio{background-color:#1a6045;color:#fff;padding:10px 16px;display:flex;text-align:center;flex-direction:column;align-items:center;box-shadow:0 2px 8px #0003;max-height:120px;font-size:13px}.reproductorAudioMinimizado{background-color:#1a6045;color:#fff;padding:6px 12px 0;text-align:center;box-shadow:0 2px 8px #0003;width:fit-content;border-bottom-left-radius:12px;border-bottom-right-radius:12px;justify-self:center}.contenedorVisualizador{display:flex;height:20px;margin-top:2%}.contenedorVisualizadorminimizado{display:flex;height:10px;margin-top:-2%}.visualizador{display:flex;align-items:flex-end;gap:5px;height:40px}.visualizadorminimizado{display:flex;align-items:flex-end;gap:5px;height:20px}.barra{width:10px;background:#0fa;border-radius:3px;animation:rebotar 1s infinite ease-in-out;transform-origin:bottom}.barra:nth-child(1){animation-delay:0s}.barra:nth-child(2){animation-delay:.1s}.barra:nth-child(3){animation-delay:.2s}.barra:nth-child(4){animation-delay:.3s}.barra:nth-child(5){animation-delay:.4s}.barra:nth-child(6){animation-delay:.5s}.barra:nth-child(7){animation-delay:.6s}.barra:nth-child(8){animation-delay:.7s}@keyframes rebotar{0%,to{height:20%}50%{height:100%}}.contacto-item{display:flex;flex-direction:column;justify-content:center;height:62px;padding:0 16px;cursor:pointer;border-left:3px solid transparent;transition:background-color .12s;box-sizing:border-box}.contacto-selected{background-color:#e0f0e4;border-left-color:#1a6045}.contacto-nombre{font-size:14px;font-weight:600;color:#1c2b22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacto-preview{display:flex;align-items:center;margin-top:2px;gap:3px}.contacto-preview-quien{font-size:12px;color:#547a63;white-space:nowrap;flex-shrink:0;font-weight:500}.contacto-preview-texto{font-size:12px;color:#8fa895;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.contacto-preview-hora{font-size:11px;color:#8fa895;white-space:nowrap;flex-shrink:0;margin-left:4px}.contactosItemHover:hover{background-color:#f0faf2}.seccion-label{padding:10px 16px 4px;font-size:11px;font-weight:700;color:#8fa895;letter-spacing:.8px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.actions-section{height:52px;background-color:#1a6045;display:flex;justify-content:space-around;width:100%;border-top:1px solid #155237;flex-shrink:0}.action{flex-grow:1;display:flex;align-items:center;justify-content:center;transition:background-color .15s}.action:hover{cursor:pointer;background-color:#155237}.action:active{background-color:#0f3d29}.itemContainer{border-radius:8px;border:1px solid rgba(0,0,0,.11);padding:8px;height:36px;display:flex;align-items:center;gap:20px;margin-bottom:8px}.campo{flex:0 0 30%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acciones{display:flex;flex-direction:column;gap:8px;margin-left:-20px}.contenedorPrincipalLogin{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;display:flex;justify-content:center;align-items:center;background-color:#e8f0ea}.contenedorLogin{background-color:#fff;width:400px;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:40px 36px}@media (max-width: 600px){.contenedorPrincipalLogin{align-items:flex-start;padding:24px 16px;box-sizing:border-box}.contenedorLogin{width:100%;box-sizing:border-box}}.appNombreLogin{text-align:center;font-size:30px;font-weight:700;color:#1a6045;margin:0 0 6px;letter-spacing:1px}.subtituloLogin{text-align:center;font-size:15px;color:#777;font-weight:400;margin:0 0 32px}.inputsDivLogin{display:flex;flex-direction:column;gap:8px}.helpTextLogin{font-size:13px;color:#666;margin-top:16px;text-align:center}.contenedorPrincipalRegistrarse{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;display:flex;justify-content:center;align-items:center;background-color:#e8f0ea}.contenedorRegistrarse{background-color:#fff;width:400px;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:40px 36px}@media (max-width: 600px){.contenedorPrincipalRegistrarse{align-items:flex-start;padding:24px 16px;box-sizing:border-box}.contenedorRegistrarse{width:100%;box-sizing:border-box}}.appNombreRegistrarse{text-align:center;font-size:30px;font-weight:700;color:#1a6045;margin:0 0 6px;letter-spacing:1px}.subtituloRegistrarse{text-align:center;font-size:15px;color:#777;font-weight:400;margin:0 0 32px}.inputsDivRegistrarse{display:flex;flex-direction:column;gap:8px}.helpTextRegistrarse{font-size:13px;color:#666;margin-top:16px;text-align:center}.contenedorPrincipalOlvide{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;display:flex;justify-content:center;align-items:center;background-color:#e8f0ea}.contenedorOlvide{background-color:#fff;width:400px;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:40px 36px}@media (max-width: 600px){.contenedorPrincipalOlvide{align-items:flex-start;padding:24px 16px;box-sizing:border-box}.contenedorOlvide{width:100%;box-sizing:border-box}}.appNombreOlvide{text-align:center;font-size:30px;font-weight:700;color:#1a6045;margin:0 0 6px;letter-spacing:1px}.subtituloOlvide{text-align:center;font-size:15px;color:#777;font-weight:400;margin:0 0 32px}.inputsDivOlvide{display:flex;flex-direction:column;gap:8px}.helpTextOlvide{font-size:13px;color:#666;margin-top:16px;text-align:center}.dashboardContenedor{min-height:100vh;background-color:#e8f0ea;padding:32px;box-sizing:border-box}.dashboardHeader{display:flex;align-items:center;margin-bottom:32px}.dashboardTitulo{font-size:26px;font-weight:700;color:#1a6045;margin:0}.dashboardSubtitulo{font-size:13px;color:#888;margin:2px 0 0}.statsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.statCard{background:#fff;border-radius:10px;padding:20px 24px;box-shadow:0 1px 6px #00000012}.statCard .statValor{font-size:32px;font-weight:700;color:#1a6045;line-height:1}.statCard .statLabel{font-size:13px;color:#888;margin-top:4px}.dashboardSeccion{background:#fff;border-radius:10px;padding:24px;box-shadow:0 1px 6px #00000012;margin-bottom:24px}.dashboardSeccionTitulo{font-size:16px;font-weight:600;color:#1a6045;margin:0 0 20px}.flagsGrid{display:flex;flex-direction:column;gap:16px}.flagRow{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f7fbf8;border-radius:8px}.flagInfo .flagNombre{font-size:14px;font-weight:500;color:#333}.flagInfo .flagDescripcion{font-size:12px;color:#888;margin-top:2px}.filtrosGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px;align-items:end}.diasGrid{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.diaChip{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1.5px solid #1a6045;background:transparent;color:#1a6045;transition:all .15s}.diaChip.activo{background:#1a6045;color:#fff}.tablaContenedor{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:10px 14px;background:#f0f7f2;color:#1a6045;font-weight:600;border-bottom:2px solid #d4e8da}tbody td{padding:10px 14px;border-bottom:1px solid #f0f0f0;color:#444}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#f7fbf8}@media (max-width: 900px){.dashboardContenedor{padding:16px}.statsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.statsGrid{grid-template-columns:1fr 1fr}}
