.csn-chat{width:min(98vw,1900px);margin:0 auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
            .csn-version{font-size:12px;color:#64748b;text-align:center;margin:8px 0}
            .csn-card{max-width:520px;margin:30px auto;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.08)}
            .csn-card label{display:block;font-weight:700;margin:12px 0 5px}
            .csn-card input,.csn-card select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font-size:16px}
            .csn-card button,.csn-form button,#csn-toggle-rooms,.csn-room-btn,#csn-close-rooms{border:0;border-radius:12px;padding:11px 14px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}
            #csn-enter{width:100%;margin-top:18px}
            .csn-error{color:#991b1b;font-weight:700;margin-top:10px}
            .csn-app{display:grid;grid-template-columns:minmax(900px,1fr) 310px;height:86vh;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.08)}
            .csn-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0}
            .csn-top{padding:14px 18px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
            .csn-messages{overflow-y:auto;padding:18px;background:linear-gradient(180deg,#fff,#f8fafc)}
            .csn-msg{display:flex;gap:10px;margin-bottom:12px}
            .csn-msg.mine{flex-direction:row-reverse}
            .csn-avatar{width:38px;height:38px;border-radius:999px;border:5px solid #2980b9;display:grid;place-items:center;background:#fff;flex:0 0 auto}
            .csn-bubble{max-width:78%;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px 12px;box-shadow:0 4px 16px rgba(15,23,42,.05)}
            .csn-msg.mine .csn-bubble{background:#eff6ff}
            .csn-meta{font-size:12px;color:#64748b;margin-bottom:4px}
            .csn-body{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
            .csn-form{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:12px;border-top:1px solid #e5e7eb;background:#fff}
            .csn-form input,.csn-form select{border:1px solid #cbd5e1;border-radius:12px;padding:11px;font-size:16px}
            .csn-side{border-left:1px solid #e5e7eb;background:#f8fafc;padding:14px;overflow-y:auto}
            #csn-toggle-rooms{width:100%;background:#0f172a;margin-bottom:10px}
            .csn-rooms{background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:10px;margin-bottom:10px;display:grid;gap:8px}
            #csn-close-rooms{background:#e2e8f0;color:#0f172a}
            .csn-room-btn{background:#e0f2fe;color:#075985;text-align:left}
            .csn-status{font-size:12px;background:linear-gradient(135deg,#dcfce7,#e0f2fe);border:1px solid #86efac;border-radius:999px;padding:9px 12px;margin-bottom:12px;font-weight:800;color:#14532d;text-align:center;box-shadow:0 4px 12px rgba(15,23,42,.06)}
            .csn-status::before{content:'●';display:inline-block;margin-right:6px;color:#22c55e}.csn-users{display:grid;gap:8px}
            .csn-user{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:9px}
            .csn-user-icon{width:32px;height:32px;border-radius:999px;border:4px solid #2980b9;display:grid;place-items:center}
            @media(min-width:1500px){.csn-app{grid-template-columns:minmax(1150px,1fr) 320px}.csn-bubble{max-width:82%}}@media(max-width:1100px){.csn-app{grid-template-columns:minmax(0,1fr) 280px}.csn-chat{width:100%}}@media(max-width:820px){.csn-app{grid-template-columns:1fr 120px}.csn-side{padding:8px}.csn-user span:last-child{display:none}.csn-bubble{max-width:86%}.csn-form{grid-template-columns:auto 1fr}.csn-form button{grid-column:1/-1}}
        
            /* v1.3.0 mejoras de diseño */
            .csn-chat{
                width:min(98vw,1800px) !important;
                max-width:1800px !important;
                margin:20px auto !important;
            }

            .csn-app{
                grid-template-columns:minmax(720px,1fr) 280px !important;
                height:82vh !important;
                min-height:680px !important;
                border-radius:24px !important;
            }

            .csn-main{
                min-width:0 !important;
            }

            .csn-top{
                padding:18px 24px !important;
                background:linear-gradient(135deg,#f8fafc,#eef6ff) !important;
            }

            #csn-room-title{
                font-size:20px !important;
            }

            .csn-messages{
                padding:24px 28px !important;
            }

            .csn-bubble{
                max-width:74% !important;
                padding:12px 14px !important;
            }

            .csn-form{
                grid-template-columns:70px minmax(0,1fr) 120px !important;
                gap:10px !important;
                padding:16px 18px !important;
                align-items:center !important;
                background:#ffffff !important;
            }

            #csn-icon{
                width:70px !important;
                height:48px !important;
                font-size:20px !important;
                text-align:center !important;
                cursor:pointer !important;
                background:#f8fafc !important;
            }

            #csn-input{
                width:100% !important;
                height:50px !important;
                font-size:16px !important;
                border:2px solid #dbeafe !important;
                border-radius:16px !important;
                padding:0 16px !important;
                background:#ffffff !important;
                box-shadow:inset 0 1px 2px rgba(15,23,42,.04) !important;
            }

            #csn-input:focus{
                outline:none !important;
                border-color:#60a5fa !important;
                box-shadow:0 0 0 4px rgba(96,165,250,.18) !important;
            }

            #csn-send{
                height:50px !important;
                border-radius:16px !important;
                background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;
                box-shadow:0 8px 20px rgba(37,99,235,.25) !important;
                font-size:15px !important;
            }

            .csn-side{
                padding:16px !important;
                background:linear-gradient(180deg,#f8fafc,#eef6ff) !important;
            }

            #csn-toggle-rooms{
                height:48px !important;
                border-radius:16px !important;
                background:linear-gradient(135deg,#0f172a,#1e293b) !important;
                box-shadow:0 8px 20px rgba(15,23,42,.18) !important;
                font-size:15px !important;
            }

            .csn-rooms{
                border-radius:18px !important;
                padding:12px !important;
                box-shadow:0 10px 25px rgba(15,23,42,.08) !important;
            }

            .csn-room-btn{
                border-radius:14px !important;
                padding:12px 14px !important;
            }

            .csn-status{
                margin-top:12px !important;
                margin-bottom:16px !important;
                line-height:1.25 !important;
            }

            .csn-side h4{
                margin:8px 0 10px !important;
                font-size:15px !important;
                color:#0f172a !important;
            }

            .csn-user{
                border-radius:16px !important;
                padding:10px !important;
                box-shadow:0 4px 12px rgba(15,23,42,.04) !important;
            }

            .csn-user-icon{
                width:36px !important;
                height:36px !important;
            }

            @media(min-width:1500px){
                .csn-chat{
                    width:min(98vw,2000px) !important;
                    max-width:2000px !important;
                }
                .csn-app{
                    grid-template-columns:minmax(1000px,1fr) 300px !important;
                }
                .csn-bubble{
                    max-width:70% !important;
                }
            }

            @media(max-width:1100px){
                .csn-chat{
                    width:100% !important;
                    margin:0 auto !important;
                }
                .csn-app{
                    grid-template-columns:minmax(0,1fr) 250px !important;
                    border-radius:0 !important;
                    min-height:620px !important;
                }
                .csn-form{
                    grid-template-columns:64px minmax(0,1fr) 105px !important;
                }
            }

            @media(max-width:820px){
                .csn-app{
                    grid-template-columns:1fr !important;
                    height:88vh !important;
                    min-height:600px !important;
                    position:relative !important;
                }
                .csn-side{
                    position:absolute !important;
                    right:0 !important;
                    top:0 !important;
                    bottom:0 !important;
                    width:118px !important;
                    z-index:5 !important;
                    padding:8px !important;
                    background:rgba(248,250,252,.96) !important;
                    border-left:1px solid #e5e7eb !important;
                }
                .csn-main{
                    padding-right:118px !important;
                }
                #csn-toggle-rooms{
                    height:42px !important;
                    font-size:13px !important;
                }
                .csn-status{
                    font-size:10px !important;
                    padding:7px !important;
                    border-radius:12px !important;
                }
                .csn-side h4{
                    font-size:12px !important;
                    text-align:center !important;
                }
                .csn-user{
                    justify-content:center !important;
                    padding:8px !important;
                }
                .csn-user span:last-child{
                    display:none !important;
                }
                .csn-form{
                    grid-template-columns:58px minmax(0,1fr) !important;
                    gap:8px !important;
                    padding:10px !important;
                }
                #csn-send{
                    grid-column:1 / -1 !important;
                    width:100% !important;
                    height:44px !important;
                }
                #csn-input{
                    height:46px !important;
                }
                .csn-messages{
                    padding:14px !important;
                }
                .csn-bubble{
                    max-width:88% !important;
                }
                .csn-rooms{
                    position:absolute !important;
                    right:8px !important;
                    top:58px !important;
                    width:230px !important;
                    z-index:20 !important;
                }
            }

        
            /* v2.2.0 privado limpio */
            .csn-user[data-csn-token]{cursor:pointer!important;position:relative}
            .csn-user[data-csn-token]:hover{border-color:#60a5fa!important;background:#eff6ff!important}
            .csn-private-red-dot{width:11px;height:11px;background:#ef4444;border-radius:999px;display:inline-block;margin-left:auto;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
            .csn-private-tabbar{display:flex;gap:6px;overflow-x:auto;margin-top:8px}
            .csn-private-tabbar:empty{display:none}
            .csn-private-tab{border:1px solid #1d4ed8;background:#2563eb;color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
            .csn-private-tab b{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:999px;background:rgba(255,255,255,.24);font-size:12px;line-height:1}
            .csn-private-window{position:fixed;right:24px;bottom:24px;width:370px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #bfdbfe;border-radius:20px;box-shadow:0 20px 50px rgba(15,23,42,.22);z-index:9999999;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
            .csn-private-window-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}
            #csn-private-window-title{font-size:14px}
            #csn-private-window-close{border:0;background:rgba(255,255,255,.22);color:#fff;width:30px;height:30px;border-radius:999px;font-weight:900;cursor:pointer}
            .csn-private-window-messages{height:260px;overflow-y:auto;display:grid;gap:8px;padding:12px;background:#f8fafc}
            .csn-private-msg{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:9px 10px;font-size:13px;box-shadow:0 4px 12px rgba(15,23,42,.04)}
            .csn-private-msg.mine{background:#eff6ff;border-color:#bfdbfe}
            .csn-private-meta{font-size:11px;color:#64748b;font-weight:800;margin-bottom:4px}
            .csn-private-body{color:#0f172a;overflow-wrap:anywhere}
            .csn-private-window-status{min-height:18px;padding:6px 12px;font-size:11px;font-weight:800;color:#2563eb;background:#f8fafc;border-top:1px solid #e5e7eb}
            .csn-private-window-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;background:#fff;border-top:1px solid #e5e7eb}
            #csn-private-window-input{min-width:0;border:2px solid #2563eb;background:#eff6ff;border-radius:12px;padding:10px 11px;font-size:14px}
            #csn-private-window-send{border:0;border-radius:12px;background:#2563eb;color:#fff;padding:10px 12px;font-weight:800;cursor:pointer}
            @media(max-width:560px){.csn-private-window{left:10px;right:10px;bottom:10px;width:auto}.csn-private-window-messages{height:220px}}

        
            /* v2.3.0 privados en pestañas superiores */
            .csn-private-tabbar{
                display:flex;
                gap:6px;
                overflow-x:auto;
                margin-top:8px;
                padding-bottom:2px;
            }

            .csn-private-tabbar:empty{
                display:none;
            }

            .csn-private-tab,
            .csn-public-tab{
                border:1px solid #dbeafe;
                background:#ffffff;
                color:#0f172a;
                border-radius:999px;
                padding:8px 12px;
                font-size:12px;
                font-weight:900;
                cursor:pointer;
                display:inline-flex;
                align-items:center;
                gap:7px;
                white-space:nowrap;
            }

            .csn-private-tab.active,
            .csn-public-tab.active{
                background:#2563eb;
                color:#ffffff;
                border-color:#1d4ed8;
            }

            .csn-private-tab b{
                display:inline-grid;
                place-items:center;
                width:17px;
                height:17px;
                border-radius:999px;
                background:rgba(15,23,42,.12);
                font-size:12px;
                line-height:1;
            }

            .csn-private-tab.active b{
                background:rgba(255,255,255,.24);
            }

            .csn-user[data-csn-token]{
                cursor:pointer!important;
                position:relative;
            }

            .csn-user[data-csn-token]:hover{
                border-color:#60a5fa!important;
                background:#eff6ff!important;
            }

            .csn-private-red-dot{
                width:11px;
                height:11px;
                background:#ef4444;
                border-radius:999px;
                display:inline-block;
                margin-left:auto;
                box-shadow:0 0 0 3px rgba(239,68,68,.18);
            }

            #csn-input.csn-private-input-mode{
                border-color:#2563eb!important;
                background:#eff6ff!important;
                box-shadow:0 0 0 4px rgba(37,99,235,.13)!important;
            }

            .csn-private-window{display:none!important}

        
            /* v2.4.1 adjuntos privados seguros y usuarios más pequeños */
            .csn-users{
                gap:6px!important;
            }

            .csn-user{
                padding:6px 7px!important;
                font-size:12px!important;
                border-radius:10px!important;
                line-height:1.15!important;
            }

            .csn-user-icon{
                width:26px!important;
                height:26px!important;
                min-width:26px!important;
                font-size:14px!important;
                border-width:3px!important;
            }

            #csn-private-media-btn{
                border:0;
                border-radius:12px;
                background:#e0f2fe;
                color:#075985;
                min-width:44px;
                font-size:18px;
                font-weight:900;
                cursor:pointer;
                padding:10px 12px;
            }

            #csn-private-media-btn:hover{
                background:#bae6fd;
            }

            .csn-private-media{
                max-width:260px;
                max-height:260px;
                border-radius:14px;
                display:block;
                margin-top:8px;
                border:1px solid #dbeafe;
                cursor:zoom-in;
            }

            .csn-view-once-btn{
                border:0;
                border-radius:999px;
                background:#2563eb;
                color:#fff;
                padding:8px 12px;
                font-weight:900;
                cursor:pointer;
                margin-top:8px;
                font-size:12px;
            }

            .csn-media-sent,
            .csn-media-expired{
                margin-top:8px;
                font-size:11px;
                color:#64748b;
                font-weight:800;
                background:#f8fafc;
                border:1px solid #e5e7eb;
                border-radius:12px;
                padding:7px 9px;
            }

            .csn-media-modal{
                position:fixed;
                inset:0;
                background:rgba(15,23,42,.86);
                z-index:99999999;
                display:none;
                align-items:center;
                justify-content:center;
                padding:24px;
            }

            #csn-media-modal-close{
                position:absolute;
                right:22px;
                top:18px;
                border:0;
                background:#fff;
                color:#0f172a;
                width:38px;
                height:38px;
                border-radius:999px;
                font-size:24px;
                font-weight:900;
                cursor:pointer;
            }

            #csn-media-modal-content img,
            #csn-media-modal-content video{
                max-width:92vw;
                max-height:86vh;
                border-radius:18px;
                background:#000;
                box-shadow:0 24px 80px rgba(0,0,0,.35);
            }

        
            /* v2.4.2 botón adjuntar fijo y visible */
            #csn-private-media-btn{
                align-items:center!important;
                justify-content:center!important;
                border:0!important;
                border-radius:12px!important;
                background:#e0f2fe!important;
                color:#075985!important;
                min-width:46px!important;
                width:46px!important;
                height:44px!important;
                font-size:20px!important;
                font-weight:900!important;
                cursor:pointer!important;
                padding:0!important;
                line-height:1!important;
                z-index:5!important;
            }

            #csn-private-media-btn:hover{
                background:#bae6fd!important;
            }

            .csn-form{
                grid-template-columns:auto minmax(0,1fr) 46px auto!important;
            }

            @media(max-width:560px){
                .csn-form{
                    grid-template-columns:48px minmax(0,1fr) 44px 70px!important;
                }

                #csn-private-media-btn{
                    width:44px!important;
                    min-width:44px!important;
                    height:42px!important;
                }
            }

        
            /* v2.4.3 ajuste visual barra inferior y pestaña privada */
            .csn-form{
                display:grid!important;
                grid-template-columns:52px minmax(0,1fr) 46px 88px!important;
                align-items:center!important;
                gap:8px!important;
            }

            #csn-input{
                min-width:0!important;
                width:100%!important;
                box-sizing:border-box!important;
                grid-column:auto!important;
            }

            #csn-private-media-btn{
                position:relative!important;
                grid-column:auto!important;
                flex:none!important;
                margin:0!important;
            }

            #csn-send{
                grid-column:auto!important;
                white-space:nowrap!important;
                min-width:82px!important;
            }

            @media(max-width:560px){
                .csn-form{
                    grid-template-columns:44px minmax(0,1fr) 42px 70px!important;
                    gap:6px!important;
                }

                #csn-send{
                    min-width:68px!important;
                    padding-left:8px!important;
                    padding-right:8px!important;
                    font-size:13px!important;
                }

                #csn-input{
                    font-size:14px!important;
                    padding-left:9px!important;
                    padding-right:9px!important;
                }
            }

        
            /* v2.4.5 proteger barra inferior durante subida */
            .csn-main{
                min-height:0!important;
            }

            .csn-form{
                position:sticky!important;
                bottom:0!important;
                z-index:20!important;
                background:#ffffff!important;
                padding-top:8px!important;
            }

            #csn-input:disabled,
            #csn-private-media-btn:disabled{
                opacity:.55!important;
                cursor:wait!important;
            }

            .csn-form *{
                box-sizing:border-box!important;
            }

        
            /* v2.4.6 porcentaje de subida */
            .csn-upload-progress{
                display:none;
                background:#f8fafc;
                border:1px solid #dbeafe;
                border-radius:14px;
                padding:8px 10px;
                margin:6px 0;
                font-size:12px;
                font-weight:800;
                color:#1d4ed8;
            }

            .csn-upload-progress-top{
                display:flex;
                align-items:center;
                justify-content:space-between;
                gap:10px;
                margin-bottom:6px;
            }

            .csn-upload-progress-track{
                height:8px;
                border-radius:999px;
                background:#dbeafe;
                overflow:hidden;
            }

            #csn-upload-progress-bar{
                height:100%;
                width:0%;
                border-radius:999px;
                background:#2563eb;
                transition:width .18s ease;
            }

        
            /* v2.4.7 vídeos sin botón descargar */
            video.csn-private-media,
            #csn-media-modal-content video{
                -webkit-user-select:none;
                user-select:none;
            }

        
            /* v2.4.8 subida no bloqueante */
            .csn-upload-progress{
                pointer-events:none;
            }

            #csn-input:disabled,
            #csn-private-media-btn:disabled{
                opacity:1!important;
                cursor:auto!important;
            }

        
            /* v2.5.1 detalles seguros: punto rojo, identidad e iconos */
            .csn-private-tab{
                position:relative!important;
            }

            .csn-private-tab-dot{
                width:10px;
                height:10px;
                border-radius:999px;
                background:#ef4444;
                display:inline-block;
                box-shadow:0 0 0 3px rgba(239,68,68,.14);
            }

            .csn-tab-name{
                display:inline-flex;
                align-items:center;
            }

            .csn-user-name-wrap{
                display:flex;
                align-items:center;
                gap:6px;
                min-width:0;
            }

            .csn-user-name{
                overflow:hidden;
                text-overflow:ellipsis;
                white-space:nowrap;
            }

            .csn-identity-badge{
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:18px;
                height:18px;
                min-width:18px;
                border-radius:999px;
                font-size:11px;
                font-weight:900;
                color:#fff;
                box-shadow:0 3px 10px rgba(15,23,42,.12);
            }

            .csn-identity-male{background:linear-gradient(135deg,#2563eb,#60a5fa)}
            .csn-identity-female{background:linear-gradient(135deg,#db2777,#f472b6)}
            .csn-identity-neutral{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
            .csn-identity-gay{background:linear-gradient(135deg,#ef4444,#f59e0b,#10b981,#3b82f6)}
            .csn-identity-lesbian{background:linear-gradient(135deg,#ea580c,#f97316,#ec4899)}
            .csn-identity-generic{background:linear-gradient(135deg,#64748b,#94a3b8)}

            .csn-emoji-panel{
                grid-template-columns:repeat(auto-fill,minmax(42px,1fr));
                gap:8px;
                padding:10px 14px;
                margin:10px 16px 0;
                background:#fff;
                border:1px solid #dbeafe;
                border-radius:16px;
                box-shadow:0 8px 24px rgba(15,23,42,.08);
                z-index:10;
            }

            .csn-emoji-item{
                border:1px solid #dbeafe!important;
                background:#f8fbff!important;
                border-radius:12px!important;
                height:42px!important;
                display:flex!important;
                align-items:center!important;
                justify-content:center!important;
                font-size:24px!important;
                cursor:pointer!important;
                padding:0!important;
            }

            .csn-emoji-item:hover{
                transform:translateY(-1px);
                background:#eef6ff!important;
            }

            #csn-emoji-toggle{
                border:0!important;
                border-radius:12px!important;
                background:#fff7ed!important;
                color:#c2410c!important;
                min-width:46px!important;
                width:46px!important;
                height:44px!important;
                font-size:20px!important;
                font-weight:900!important;
                cursor:pointer!important;
                padding:0!important;
                line-height:1!important;
            }

            #csn-emoji-toggle:hover{
                background:#ffedd5!important;
            }

            .csn-form{
                grid-template-columns:46px 46px minmax(0,1fr) 46px 88px!important;
            }

            @media(max-width:560px){
                .csn-form{
                    grid-template-columns:42px 42px minmax(0,1fr) 42px 68px!important;
                    gap:6px!important;
                }
            }

        
            /* v2.5.2 punto rojo solo en la pestaña superior */
            .csn-user .csn-private-red-dot{
                display:none!important;
            }

            .csn-private-tab .csn-private-tab-dot{
                display:inline-block!important;
            }

        
            /* v2.5.3: el privado recibido no se abre solo */
            .csn-private-tab .csn-private-tab-dot{
                animation: csnTabDotPulse 1.2s infinite;
            }

            @keyframes csnTabDotPulse{
                0%,100%{transform:scale(1);opacity:1}
                50%{transform:scale(1.25);opacity:.75}
            }

        
            /* v2.6.5 salas elegidas junto a privados */
            .csn-top-tabs-line{
                display:flex!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:8px!important;
                flex-wrap:wrap!important;
                width:100%!important;
            }

            .csn-room-tabbar{
                display:flex!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:6px!important;
                flex-wrap:wrap!important;
            }

            .csn-room-tabbar:empty{
                display:none!important;
            }

            .csn-room-open-tab{
                border:1px solid #bbf7d0!important;
                background:#f0fdf4!important;
                color:#14532d!important;
                border-radius:999px!important;
                padding:7px 10px!important;
                font-size:12px!important;
                font-weight:900!important;
                cursor:pointer!important;
                display:inline-flex!important;
                align-items:center!important;
                gap:7px!important;
                white-space:nowrap!important;
                box-shadow:0 3px 10px rgba(15,23,42,.04)!important;
            }

            .csn-room-open-tab.active{
                background:#16a34a!important;
                color:#ffffff!important;
                border-color:#15803d!important;
            }

            .csn-room-open-tab b{
                display:inline-grid!important;
                place-items:center!important;
                width:17px!important;
                height:17px!important;
                border-radius:999px!important;
                background:rgba(20,83,45,.12)!important;
                font-size:12px!important;
                line-height:1!important;
            }

            .csn-room-open-tab.active b{
                background:rgba(255,255,255,.24)!important;
            }

            .csn-private-tabbar{
                display:flex!important;
                align-items:center!important;
                gap:6px!important;
                flex-wrap:wrap!important;
            }

            @media(max-width:820px){
                .csn-top-tabs-line{
                    gap:6px!important;
                }

                .csn-room-open-tab{
                    font-size:11px!important;
                    padding:6px 9px!important;
                }
            }

        
            /* v2.6.6 sala activa azul y evitar nombre duplicado */
            #csn-room-title{
                display:none!important;
            }

            .csn-room-open-tab{
                background:#e0f2fe!important;
                color:#0f172a!important;
                border-color:#bae6fd!important;
            }

            .csn-room-open-tab.active{
                background:#2563eb!important;
                color:#ffffff!important;
                border-color:#1d4ed8!important;
            }

            .csn-room-open-tab b{
                background:rgba(15,23,42,.12)!important;
                color:#0f172a!important;
            }

            .csn-room-open-tab.active b{
                background:rgba(255,255,255,.24)!important;
                color:#ffffff!important;
            }

        
            /* v2.6.7 quitar pestaña pública duplicada */
            #csn-public-tab{
                display:none!important;
            }

            #csn-room-title{
                display:none!important;
            }

            .csn-top-tabs-line{
                display:flex!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:8px!important;
                flex-wrap:wrap!important;
                width:100%!important;
            }

            #csn-room-tabbar{
                order:1!important;
            }

            #csn-private-tabbar{
                order:2!important;
            }

        
            /* v2.7.5 IP ultra pequeña: regla final */
            span.csn-photo-ip-watermark,
            .csn-private-media-wrap > span.csn-photo-ip-watermark,
            #csn-chat span.csn-photo-ip-watermark{
                font-size:5.25px!important;
                line-height:1!important;
                padding:1px 3px!important;
                opacity:.48!important;
                border-radius:4px!important;
                font-weight:600!important;
                letter-spacing:0!important;
                left:4px!important;
                bottom:4px!important;
                transform:scale(.72)!important;
                transform-origin:left bottom!important;
                max-width:calc(100% - 8px)!important;
            }

            span.csn-photo-ip-watermark-modal,
            .csn-private-media-modal-wrap > span.csn-photo-ip-watermark-modal,
            #csn-media-modal span.csn-photo-ip-watermark-modal{
                font-size:6.3px!important;
                line-height:1!important;
                padding:2px 4px!important;
                opacity:.55!important;
                border-radius:5px!important;
                font-weight:600!important;
                left:6px!important;
                bottom:6px!important;
                transform:scale(.76)!important;
                transform-origin:left bottom!important;
            }

        
            /* v2.7.7 IP legible sobre la foto */
            span.csn-photo-ip-watermark,
            .csn-private-media-wrap > span.csn-photo-ip-watermark,
            #csn-chat span.csn-photo-ip-watermark{
                font-size:9px!important;
                line-height:1!important;
                padding:3px 6px!important;
                opacity:.72!important;
                border-radius:6px!important;
                font-weight:700!important;
                letter-spacing:0!important;
                left:6px!important;
                bottom:6px!important;
                transform:none!important;
                max-width:calc(100% - 12px)!important;
                background:rgba(15,23,42,.72)!important;
            }

            span.csn-photo-ip-watermark-modal,
            .csn-private-media-modal-wrap > span.csn-photo-ip-watermark-modal,
            #csn-media-modal span.csn-photo-ip-watermark-modal{
                font-size:11px!important;
                line-height:1!important;
                padding:4px 7px!important;
                opacity:.76!important;
                border-radius:7px!important;
                font-weight:700!important;
                left:10px!important;
                bottom:10px!important;
                transform:none!important;
                background:rgba(15,23,42,.76)!important;
            }

        
            /* v2.7.8 bloqueo de usuarios */
            .csn-block-user-btn{
                margin-left:auto!important;
                border:0!important;
                width:28px!important;
                height:28px!important;
                min-width:28px!important;
                border-radius:999px!important;
                background:#fee2e2!important;
                color:#991b1b!important;
                display:inline-flex!important;
                align-items:center!important;
                justify-content:center!important;
                cursor:pointer!important;
                font-size:13px!important;
                padding:0!important;
                line-height:1!important;
            }

            .csn-block-user-btn:hover{
                background:#fecaca!important;
                transform:scale(1.05);
            }

            .csn-user-blocked{
                opacity:.62!important;
                background:#f8fafc!important;
                border-style:dashed!important;
            }

            .csn-user-blocked .csn-user-name::after{
                content:' bloqueado';
                margin-left:4px;
                font-size:10px;
                color:#991b1b;
                font-weight:800;
            }

        
            /* v2.8.0 límite nombre usuario */
            .csn-name-help{
                display:block;
                margin-top:5px;
                color:#64748b;
                font-size:12px;
                font-weight:700;
            }

        
            /* v2.9.6 botón de micrófono visual, sin función de grabación todavía */
            #csn-private-mic-btn{
                align-items:center!important;
                justify-content:center!important;
                border:0!important;
                border-radius:12px!important;
                background:#ede9fe!important;
                color:#5b21b6!important;
                min-width:46px!important;
                width:46px!important;
                height:44px!important;
                font-size:18px!important;
                font-weight:900!important;
                cursor:pointer!important;
                padding:0!important;
                line-height:1!important;
                flex:none!important;
            }

            #csn-private-mic-btn:hover{
                background:#ddd6fe!important;
            }

            @media(max-width:560px){
                #csn-private-mic-btn{
                    width:42px!important;
                    min-width:42px!important;
                    height:42px!important;
                }
            }

        
            /* v2.9.11 restauración segura: botón visual de micrófono */
            #csn-private-mic-btn{
                align-items:center!important;
                justify-content:center!important;
                border:0!important;
                border-radius:12px!important;
                background:#ede9fe!important;
                color:#5b21b6!important;
                min-width:46px!important;
                width:46px!important;
                height:44px!important;
                font-size:18px!important;
                font-weight:900!important;
                cursor:pointer!important;
                padding:0!important;
                line-height:1!important;
                flex:none!important;
            }

            #csn-private-mic-btn:hover{
                background:#ddd6fe!important;
            }

            @media(max-width:560px){
                #csn-private-mic-btn{
                    width:42px!important;
                    min-width:42px!important;
                    height:42px!important;
                }
            }

        
            /* v2.9.12 prueba segura del micrófono */
            #csn-private-mic-btn:disabled{
                opacity:.7!important;
                cursor:wait!important;
            }

        
            /* v2.9.14 voz aislada */
            #csn-private-mic-btn.recording{
                background:#fee2e2!important;
                color:#991b1b!important;
                animation:csnVoicePulse 1s infinite;
            }

            @keyframes csnVoicePulse{
                0%,100%{transform:scale(1)}
                50%{transform:scale(1.08)}
            }

            .csn-private-voice-box{
                display:grid;
                gap:6px;
                margin-top:8px;
                padding:8px;
                border-radius:14px;
                background:#f5f3ff;
                border:1px solid #ddd6fe;
                max-width:270px;
            }

            .csn-private-voice-label{
                font-size:12px;
                font-weight:900;
                color:#5b21b6;
            }

            .csn-private-voice-audio{
                width:245px;
                max-width:100%;
                height:36px;
            }

        
            /* v2.9.18 auditoría responsive final */
            .csn-form{
                grid-template-columns:46px 46px minmax(0,1fr) 46px 46px 88px!important;
                align-items:center!important;
                gap:7px!important;
            }

            #csn-icon,
            #csn-emoji-toggle,
            #csn-private-media-btn,
            #csn-private-mic-btn{
                width:46px!important;
                min-width:46px!important;
                height:44px!important;
                padding:0!important;
                box-sizing:border-box!important;
            }

            #csn-input{
                min-width:0!important;
            }

            #csn-send{
                width:88px!important;
                min-width:88px!important;
                height:44px!important;
                padding-left:10px!important;
                padding-right:10px!important;
                box-sizing:border-box!important;
            }

            @media(max-width:820px){
                .csn-app{
                    height:calc(100dvh - 16px)!important;
                    min-height:560px!important;
                }

                .csn-main{
                    padding-right:112px!important;
                }

                .csn-side{
                    width:112px!important;
                }

                .csn-form{
                    grid-template-columns:38px 38px minmax(0,1fr) 38px 38px 62px!important;
                    gap:4px!important;
                    padding:8px!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:38px!important;
                    min-width:38px!important;
                    height:40px!important;
                    font-size:16px!important;
                    border-radius:10px!important;
                }

                #csn-input{
                    height:40px!important;
                    font-size:14px!important;
                    padding:8px!important;
                }

                #csn-send{
                    width:62px!important;
                    min-width:62px!important;
                    height:40px!important;
                    font-size:12px!important;
                    padding-left:5px!important;
                    padding-right:5px!important;
                    border-radius:10px!important;
                }
            }

            @media(max-width:430px){
                .csn-main{
                    padding-right:96px!important;
                }

                .csn-side{
                    width:96px!important;
                    padding:6px!important;
                }

                .csn-form{
                    grid-template-columns:34px 34px minmax(0,1fr) 34px 34px 56px!important;
                    gap:3px!important;
                    padding:7px!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:34px!important;
                    min-width:34px!important;
                    height:38px!important;
                    font-size:15px!important;
                }

                #csn-send{
                    width:56px!important;
                    min-width:56px!important;
                    height:38px!important;
                    font-size:11px!important;
                    padding-left:3px!important;
                    padding-right:3px!important;
                }

                .csn-messages{
                    padding:10px!important;
                }

                .csn-bubble{
                    max-width:92%!important;
                }

                .csn-private-voice-audio{
                    width:210px!important;
                    max-width:100%!important;
                }
            }

            @media(max-width:360px){
                .csn-main{
                    padding-right:0!important;
                }

                .csn-side{
                    position:relative!important;
                    width:auto!important;
                    border-left:0!important;
                    border-top:1px solid #e5e7eb!important;
                }

                .csn-app{
                    display:flex!important;
                    flex-direction:column!important;
                }

                .csn-form{
                    grid-template-columns:32px 32px minmax(0,1fr) 32px 32px 54px!important;
                }
            }

        
            /* v2.9.19 móvil: controles encima y escritura debajo */
            @media(max-width:560px){
                .csn-form{
                    display:grid!important;
                    grid-template-columns:42px 42px 42px 42px minmax(0,1fr) 68px!important;
                    grid-template-areas:
                        "icon emoji file mic . ."
                        "input input input input input send"!important;
                    gap:6px!important;
                    padding:8px!important;
                    align-items:center!important;
                }

                #csn-icon{
                    grid-area:icon!important;
                }

                #csn-emoji-toggle{
                    grid-area:emoji!important;
                }

                #csn-private-media-btn{
                    grid-area:file!important;
                }

                #csn-private-mic-btn{
                    grid-area:mic!important;
                }

                #csn-input{
                    grid-area:input!important;
                    width:100%!important;
                    min-width:0!important;
                    height:42px!important;
                    font-size:14px!important;
                    padding:9px 10px!important;
                    box-sizing:border-box!important;
                }

                #csn-send{
                    grid-area:send!important;
                    width:68px!important;
                    min-width:68px!important;
                    height:42px!important;
                    font-size:12px!important;
                    padding-left:5px!important;
                    padding-right:5px!important;
                    box-sizing:border-box!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:42px!important;
                    min-width:42px!important;
                    height:40px!important;
                    font-size:16px!important;
                    border-radius:10px!important;
                    padding:0!important;
                    box-sizing:border-box!important;
                }
            }

            @media(max-width:430px){
                .csn-form{
                    grid-template-columns:38px 38px 38px 38px minmax(0,1fr) 60px!important;
                    grid-template-areas:
                        "icon emoji file mic . ."
                        "input input input input input send"!important;
                    gap:5px!important;
                    padding:7px!important;
                }

                #csn-input{
                    height:40px!important;
                    font-size:14px!important;
                }

                #csn-send{
                    width:60px!important;
                    min-width:60px!important;
                    height:40px!important;
                    font-size:11px!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:38px!important;
                    min-width:38px!important;
                    height:38px!important;
                    font-size:15px!important;
                }
            }

            @media(max-width:360px){
                .csn-form{
                    grid-template-columns:36px 36px 36px 36px minmax(0,1fr) 56px!important;
                    grid-template-areas:
                        "icon emoji file mic . ."
                        "input input input input input send"!important;
                    gap:4px!important;
                }

                #csn-send{
                    width:56px!important;
                    min-width:56px!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:36px!important;
                    min-width:36px!important;
                    height:36px!important;
                }
            }

        
            /* v2.9.20 móvil: barra de texto mucho más ancha */
            @media(max-width:560px){
                .csn-form{
                    display:grid!important;
                    grid-template-columns:42px 42px 42px 42px 1fr!important;
                    grid-template-areas:
                        "icon emoji file mic ."
                        "input input input input input"
                        ". . . . send"!important;
                    gap:6px!important;
                    padding:8px!important;
                    align-items:center!important;
                }

                #csn-icon{
                    grid-area:icon!important;
                }

                #csn-emoji-toggle{
                    grid-area:emoji!important;
                }

                #csn-private-media-btn{
                    grid-area:file!important;
                }

                #csn-private-mic-btn{
                    grid-area:mic!important;
                }

                #csn-input{
                    grid-area:input!important;
                    width:100%!important;
                    min-width:0!important;
                    max-width:none!important;
                    height:44px!important;
                    font-size:15px!important;
                    padding:10px 12px!important;
                    box-sizing:border-box!important;
                }

                #csn-send{
                    grid-area:send!important;
                    justify-self:end!important;
                    width:86px!important;
                    min-width:86px!important;
                    height:40px!important;
                    font-size:12px!important;
                    padding-left:8px!important;
                    padding-right:8px!important;
                    box-sizing:border-box!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:42px!important;
                    min-width:42px!important;
                    height:40px!important;
                    font-size:16px!important;
                    border-radius:10px!important;
                    padding:0!important;
                    box-sizing:border-box!important;
                }
            }

            @media(max-width:430px){
                .csn-form{
                    grid-template-columns:40px 40px 40px 40px 1fr!important;
                    grid-template-areas:
                        "icon emoji file mic ."
                        "input input input input input"
                        ". . . . send"!important;
                    gap:5px!important;
                    padding:7px!important;
                }

                #csn-input{
                    width:100%!important;
                    height:42px!important;
                    font-size:14px!important;
                    padding:9px 11px!important;
                }

                #csn-send{
                    width:80px!important;
                    min-width:80px!important;
                    height:38px!important;
                    font-size:11px!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:40px!important;
                    min-width:40px!important;
                    height:38px!important;
                    font-size:15px!important;
                }
            }

            @media(max-width:360px){
                .csn-form{
                    grid-template-columns:36px 36px 36px 36px 1fr!important;
                    grid-template-areas:
                        "icon emoji file mic ."
                        "input input input input input"
                        ". . . . send"!important;
                    gap:4px!important;
                    padding:6px!important;
                }

                #csn-input{
                    width:100%!important;
                    height:40px!important;
                }

                #csn-send{
                    width:74px!important;
                    min-width:74px!important;
                    height:36px!important;
                }

                #csn-icon,
                #csn-emoji-toggle,
                #csn-private-media-btn,
                #csn-private-mic-btn{
                    width:36px!important;
                    min-width:36px!important;
                    height:36px!important;
                }
            }

        
            /* v2.9.21 móvil: caja de texto a ancho completo real */
            @media(max-width:700px){
                .csn-form,
                form#csn-form{
                    display:grid!important;
                    grid-template-columns:44px 44px 44px 44px 1fr!important;
                    grid-template-areas:
                        "icon emoji file mic ."
                        "input input input input input"
                        "send send send send send"!important;
                    gap:7px!important;
                    padding:9px!important;
                    align-items:center!important;
                    width:100%!important;
                    max-width:100%!important;
                    box-sizing:border-box!important;
                }

                .csn-form #csn-icon,
                form#csn-form #csn-icon{
                    grid-area:icon!important;
                }

                .csn-form #csn-emoji-toggle,
                form#csn-form #csn-emoji-toggle{
                    grid-area:emoji!important;
                }

                .csn-form #csn-private-media-btn,
                form#csn-form #csn-private-media-btn{
                    grid-area:file!important;
                }

                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-private-mic-btn{
                    grid-area:mic!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    grid-area:input!important;
                    width:100%!important;
                    min-width:0!important;
                    max-width:100%!important;
                    display:block!important;
                    height:46px!important;
                    font-size:15px!important;
                    padding:10px 12px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    grid-area:send!important;
                    justify-self:stretch!important;
                    width:100%!important;
                    min-width:0!important;
                    max-width:100%!important;
                    height:42px!important;
                    font-size:13px!important;
                    padding:8px 10px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    width:44px!important;
                    min-width:44px!important;
                    max-width:44px!important;
                    height:42px!important;
                    font-size:16px!important;
                    border-radius:10px!important;
                    padding:0!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }
            }

            @media(max-width:430px){
                .csn-form,
                form#csn-form{
                    grid-template-columns:40px 40px 40px 40px 1fr!important;
                    grid-template-areas:
                        "icon emoji file mic ."
                        "input input input input input"
                        "send send send send send"!important;
                    gap:6px!important;
                    padding:8px!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    width:100%!important;
                    height:44px!important;
                    font-size:15px!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    width:100%!important;
                    height:40px!important;
                    font-size:12px!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    width:40px!important;
                    min-width:40px!important;
                    max-width:40px!important;
                    height:39px!important;
                }
            }

            @media(max-width:360px){
                .csn-form,
                form#csn-form{
                    grid-template-columns:36px 36px 36px 36px 1fr!important;
                    gap:5px!important;
                    padding:7px!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    width:100%!important;
                    height:42px!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    width:36px!important;
                    min-width:36px!important;
                    max-width:36px!important;
                    height:36px!important;
                }
            }

        
            /* v2.9.22 móvil: escritura a ancho completo con flex real */
            @media(max-width:700px){
                .csn-form,
                form#csn-form{
                    display:flex!important;
                    flex-wrap:wrap!important;
                    align-items:center!important;
                    gap:7px!important;
                    padding:9px!important;
                    width:100%!important;
                    max-width:100%!important;
                    box-sizing:border-box!important;
                }

                .csn-form #csn-icon,
                form#csn-form #csn-icon{
                    order:1!important;
                }

                .csn-form #csn-emoji-toggle,
                form#csn-form #csn-emoji-toggle{
                    order:2!important;
                }

                .csn-form #csn-private-media-btn,
                form#csn-form #csn-private-media-btn{
                    order:3!important;
                }

                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-private-mic-btn{
                    order:4!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    order:10!important;
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    display:block!important;
                    height:46px!important;
                    font-size:15px!important;
                    padding:10px 12px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    order:11!important;
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:42px!important;
                    font-size:13px!important;
                    padding:8px 10px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 44px!important;
                    width:44px!important;
                    min-width:44px!important;
                    max-width:44px!important;
                    height:42px!important;
                    font-size:16px!important;
                    border-radius:10px!important;
                    padding:0!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }
            }

            @media(max-width:430px){
                .csn-form,
                form#csn-form{
                    gap:6px!important;
                    padding:8px!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:44px!important;
                    font-size:15px!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:40px!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 40px!important;
                    width:40px!important;
                    min-width:40px!important;
                    max-width:40px!important;
                    height:39px!important;
                }
            }

            @media(max-width:360px){
                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 36px!important;
                    width:36px!important;
                    min-width:36px!important;
                    max-width:36px!important;
                    height:36px!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:42px!important;
                }
            }

        
            /* v2.9.24 móvil: usuarios a la derecha más estrechos y escritura más ancha */
            @media(max-width:700px){
                .csn-app{
                    width:100%!important;
                    max-width:100%!important;
                    overflow:hidden!important;
                    position:relative!important;
                }

                .csn-main{
                    width:100%!important;
                    max-width:100%!important;
                    min-width:0!important;
                    padding-right:74px!important;
                    margin-right:0!important;
                    box-sizing:border-box!important;
                }

                .csn-side{
                    position:absolute!important;
                    right:0!important;
                    top:0!important;
                    bottom:0!important;
                    width:74px!important;
                    max-width:74px!important;
                    min-width:74px!important;
                    height:100%!important;
                    max-height:none!important;
                    overflow-y:auto!important;
                    overflow-x:hidden!important;
                    border-left:1px solid #e5e7eb!important;
                    border-top:0!important;
                    box-sizing:border-box!important;
                    padding:5px!important;
                    background:#ffffff!important;
                    z-index:4!important;
                }

                .csn-side h3,
                .csn-side-title{
                    font-size:10px!important;
                    line-height:1.1!important;
                    margin:0 0 5px 0!important;
                    padding:0!important;
                }

                .csn-user,
                .csn-users .csn-user{
                    padding:5px 4px!important;
                    gap:3px!important;
                    border-radius:8px!important;
                    font-size:10px!important;
                    line-height:1.1!important;
                    display:flex!important;
                    align-items:center!important;
                    justify-content:flex-start!important;
                    min-width:0!important;
                    overflow:hidden!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    font-size:10px!important;
                    line-height:1.1!important;
                    max-width:54px!important;
                    overflow:hidden!important;
                    text-overflow:ellipsis!important;
                    white-space:nowrap!important;
                }

                .csn-form,
                form#csn-form{
                    display:flex!important;
                    flex-wrap:wrap!important;
                    align-items:center!important;
                    gap:5px!important;
                    padding:7px!important;
                    width:100%!important;
                    max-width:100%!important;
                    min-width:0!important;
                    box-sizing:border-box!important;
                }

                .csn-form #csn-icon,
                form#csn-form #csn-icon{ order:1!important; }

                .csn-form #csn-emoji-toggle,
                form#csn-form #csn-emoji-toggle{ order:2!important; }

                .csn-form #csn-private-media-btn,
                form#csn-form #csn-private-media-btn{ order:3!important; }

                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-private-mic-btn{ order:4!important; }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    order:10!important;
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    display:block!important;
                    height:44px!important;
                    font-size:14px!important;
                    padding:9px 10px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    order:11!important;
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:40px!important;
                    font-size:12px!important;
                    padding:7px 10px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 38px!important;
                    width:38px!important;
                    min-width:38px!important;
                    max-width:38px!important;
                    height:38px!important;
                    font-size:15px!important;
                    border-radius:10px!important;
                    padding:0!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }
            }

            @media(max-width:430px){
                .csn-main{
                    padding-right:64px!important;
                }

                .csn-side{
                    width:64px!important;
                    max-width:64px!important;
                    min-width:64px!important;
                    padding:4px!important;
                }

                .csn-user,
                .csn-users .csn-user{
                    padding:4px 3px!important;
                    font-size:9px!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    font-size:9px!important;
                    max-width:47px!important;
                }

                .csn-form,
                form#csn-form{
                    gap:4px!important;
                    padding:6px!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 34px!important;
                    width:34px!important;
                    min-width:34px!important;
                    max-width:34px!important;
                    height:36px!important;
                    font-size:14px!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:42px!important;
                    font-size:14px!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:38px!important;
                }
            }

            @media(max-width:360px){
                .csn-main{
                    padding-right:58px!important;
                }

                .csn-side{
                    width:58px!important;
                    max-width:58px!important;
                    min-width:58px!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    max-width:42px!important;
                }
            }

        
            /* v2.9.25 móvil: usuarios derecha legibles + scroll interno */
            @media(max-width:700px){
                .csn-app{
                    position:relative!important;
                    overflow:hidden!important;
                    width:100%!important;
                    max-width:100%!important;
                }

                .csn-main{
                    width:100%!important;
                    max-width:100%!important;
                    min-width:0!important;
                    padding-right:104px!important;
                    box-sizing:border-box!important;
                }

                .csn-side{
                    position:absolute!important;
                    right:0!important;
                    top:0!important;
                    bottom:0!important;
                    width:104px!important;
                    min-width:104px!important;
                    max-width:104px!important;
                    height:100%!important;
                    max-height:100%!important;
                    overflow-y:auto!important;
                    overflow-x:hidden!important;
                    -webkit-overflow-scrolling:touch!important;
                    border-left:1px solid #e5e7eb!important;
                    border-top:0!important;
                    box-sizing:border-box!important;
                    padding:6px!important;
                    background:#ffffff!important;
                    z-index:4!important;
                }

                .csn-side h3,
                .csn-side-title{
                    font-size:11px!important;
                    line-height:1.15!important;
                    margin:0 0 6px 0!important;
                    padding:0!important;
                    white-space:normal!important;
                }

                .csn-user,
                .csn-users .csn-user{
                    padding:6px 5px!important;
                    gap:4px!important;
                    border-radius:9px!important;
                    font-size:11px!important;
                    line-height:1.15!important;
                    display:flex!important;
                    align-items:center!important;
                    justify-content:flex-start!important;
                    min-width:0!important;
                    max-width:100%!important;
                    overflow:hidden!important;
                    box-sizing:border-box!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    font-size:11px!important;
                    line-height:1.15!important;
                    max-width:82px!important;
                    overflow:hidden!important;
                    text-overflow:ellipsis!important;
                    white-space:nowrap!important;
                    display:block!important;
                }

                .csn-form,
                form#csn-form{
                    display:flex!important;
                    flex-wrap:wrap!important;
                    align-items:center!important;
                    gap:5px!important;
                    padding:7px!important;
                    width:100%!important;
                    max-width:100%!important;
                    min-width:0!important;
                    box-sizing:border-box!important;
                }

                .csn-form #csn-icon,
                form#csn-form #csn-icon{ order:1!important; }

                .csn-form #csn-emoji-toggle,
                form#csn-form #csn-emoji-toggle{ order:2!important; }

                .csn-form #csn-private-media-btn,
                form#csn-form #csn-private-media-btn{ order:3!important; }

                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-private-mic-btn{ order:4!important; }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    order:10!important;
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    display:block!important;
                    height:44px!important;
                    font-size:14px!important;
                    padding:9px 10px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    order:11!important;
                    flex:0 0 100%!important;
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:40px!important;
                    font-size:12px!important;
                    padding:7px 10px!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 38px!important;
                    width:38px!important;
                    min-width:38px!important;
                    max-width:38px!important;
                    height:38px!important;
                    font-size:15px!important;
                    border-radius:10px!important;
                    padding:0!important;
                    box-sizing:border-box!important;
                    margin:0!important;
                }
            }

            @media(max-width:430px){
                .csn-main{
                    padding-right:92px!important;
                }

                .csn-side{
                    width:92px!important;
                    min-width:92px!important;
                    max-width:92px!important;
                    padding:5px!important;
                }

                .csn-side h3,
                .csn-side-title{
                    font-size:10px!important;
                }

                .csn-user,
                .csn-users .csn-user{
                    padding:5px 4px!important;
                    font-size:10px!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    font-size:10px!important;
                    max-width:72px!important;
                }

                .csn-form,
                form#csn-form{
                    gap:4px!important;
                    padding:6px!important;
                }

                .csn-form #csn-icon,
                .csn-form #csn-emoji-toggle,
                .csn-form #csn-private-media-btn,
                .csn-form #csn-private-mic-btn,
                form#csn-form #csn-icon,
                form#csn-form #csn-emoji-toggle,
                form#csn-form #csn-private-media-btn,
                form#csn-form #csn-private-mic-btn{
                    flex:0 0 34px!important;
                    width:34px!important;
                    min-width:34px!important;
                    max-width:34px!important;
                    height:36px!important;
                    font-size:14px!important;
                }

                .csn-form #csn-input,
                form#csn-form #csn-input{
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:42px!important;
                    font-size:14px!important;
                }

                .csn-form #csn-send,
                form#csn-form #csn-send{
                    width:100%!important;
                    min-width:100%!important;
                    max-width:100%!important;
                    height:38px!important;
                }
            }

            @media(max-width:360px){
                .csn-main{
                    padding-right:84px!important;
                }

                .csn-side{
                    width:84px!important;
                    min-width:84px!important;
                    max-width:84px!important;
                    padding:4px!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    max-width:64px!important;
                }
            }

        
            /* v2.9.26 móvil: usuarios más anchos, letras e iconos más pequeños */
            @media(max-width:700px){
                .csn-main{
                    padding-right:128px!important;
                }

                .csn-side{
                    width:128px!important;
                    min-width:128px!important;
                    max-width:128px!important;
                    right:0!important;
                    top:0!important;
                    bottom:0!important;
                    height:100%!important;
                    max-height:100%!important;
                    overflow-y:auto!important;
                    overflow-x:hidden!important;
                    -webkit-overflow-scrolling:touch!important;
                    box-sizing:border-box!important;
                    padding:5px!important;
                }

                .csn-side h3,
                .csn-side-title{
                    font-size:10px!important;
                    line-height:1.1!important;
                    margin:0 0 5px 0!important;
                    padding:0!important;
                }

                .csn-user,
                .csn-users .csn-user{
                    padding:4px 4px!important;
                    gap:3px!important;
                    border-radius:8px!important;
                    font-size:10px!important;
                    line-height:1.1!important;
                    min-height:24px!important;
                    max-width:100%!important;
                    overflow:hidden!important;
                    box-sizing:border-box!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    font-size:10px!important;
                    line-height:1.1!important;
                    max-width:94px!important;
                    overflow:hidden!important;
                    text-overflow:ellipsis!important;
                    white-space:nowrap!important;
                    display:block!important;
                }

                .csn-user .csn-user-icon,
                .csn-user .csn-identity-icon,
                .csn-user i,
                .csn-users .csn-user i,
                .csn-user svg,
                .csn-users .csn-user svg{
                    width:13px!important;
                    min-width:13px!important;
                    max-width:13px!important;
                    height:13px!important;
                    font-size:12px!important;
                    line-height:1!important;
                    flex:0 0 13px!important;
                }

                .csn-user button,
                .csn-users .csn-user button{
                    font-size:9px!important;
                    padding:2px 3px!important;
                    line-height:1!important;
                }
            }

            @media(max-width:430px){
                .csn-main{
                    padding-right:116px!important;
                }

                .csn-side{
                    width:116px!important;
                    min-width:116px!important;
                    max-width:116px!important;
                    padding:4px!important;
                }

                .csn-user,
                .csn-users .csn-user{
                    padding:4px 3px!important;
                    gap:3px!important;
                    font-size:9.5px!important;
                    min-height:23px!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    font-size:9.5px!important;
                    max-width:86px!important;
                }

                .csn-user .csn-user-icon,
                .csn-user .csn-identity-icon,
                .csn-user i,
                .csn-users .csn-user i,
                .csn-user svg,
                .csn-users .csn-user svg{
                    width:12px!important;
                    min-width:12px!important;
                    max-width:12px!important;
                    height:12px!important;
                    font-size:11px!important;
                    flex:0 0 12px!important;
                }
            }

            @media(max-width:360px){
                .csn-main{
                    padding-right:104px!important;
                }

                .csn-side{
                    width:104px!important;
                    min-width:104px!important;
                    max-width:104px!important;
                    padding:4px!important;
                }

                .csn-user .csn-user-name,
                .csn-user strong,
                .csn-user span{
                    max-width:76px!important;
                    font-size:9px!important;
                }

                .csn-user .csn-user-icon,
                .csn-user .csn-identity-icon,
                .csn-user i,
                .csn-users .csn-user i,
                .csn-user svg,
                .csn-users .csn-user svg{
                    width:11px!important;
                    min-width:11px!important;
                    max-width:11px!important;
                    height:11px!important;
                    font-size:10px!important;
                    flex:0 0 11px!important;
                }
            }

        
            /* v2.9.33 SOLO CSS: superior en una línea horizontal sin duplicar salas */
            .csn-top{
                min-width:0!important;
                overflow:hidden!important;
            }

            .csn-top-tabs-line{
                display:flex!important;
                flex-direction:row!important;
                flex-wrap:nowrap!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:8px!important;
                width:100%!important;
                max-width:100%!important;
                min-width:0!important;
                overflow-x:auto!important;
                overflow-y:hidden!important;
                white-space:nowrap!important;
                box-sizing:border-box!important;
                -webkit-overflow-scrolling:touch!important;
                touch-action:pan-x!important;
                scroll-behavior:smooth!important;
                padding:6px 6px 8px 6px!important;
            }

            .csn-top-tabs-line .csn-room-tabbar,
            .csn-top-tabs-line #csn-room-tabbar,
            .csn-top-tabs-line .csn-private-tabbar,
            .csn-top-tabs-line #csn-private-tabbar{
                display:flex!important;
                flex-direction:row!important;
                flex-wrap:nowrap!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:7px!important;
                flex:0 0 auto!important;
                width:auto!important;
                max-width:none!important;
                min-width:0!important;
                overflow:visible!important;
                white-space:nowrap!important;
                margin:0!important;
                padding:0!important;
                box-sizing:border-box!important;
            }

            .csn-top-tabs-line .csn-room-tabbar:empty,
            .csn-top-tabs-line #csn-room-tabbar:empty,
            .csn-top-tabs-line .csn-private-tabbar:empty,
            .csn-top-tabs-line #csn-private-tabbar:empty{
                display:none!important;
            }

            .csn-top-tabs-line .csn-room-open-tab,
            .csn-top-tabs-line .csn-private-tab,
            .csn-top-tabs-line #csn-public-tab{
                flex:0 0 auto!important;
                display:inline-flex!important;
                align-items:center!important;
                justify-content:center!important;
                white-space:nowrap!important;
                width:auto!important;
                min-width:max-content!important;
                max-width:150px!important;
                overflow:hidden!important;
                text-overflow:ellipsis!important;
                box-sizing:border-box!important;
            }

            .csn-top-tabs-line .csn-room-open-tab span,
            .csn-top-tabs-line .csn-private-tab .csn-tab-name{
                display:inline-block!important;
                overflow:hidden!important;
                text-overflow:ellipsis!important;
                white-space:nowrap!important;
                max-width:105px!important;
            }

            .csn-top-tabs-line::-webkit-scrollbar{
                height:5px!important;
            }

            @media(max-width:700px){
                .csn-top-tabs-line{
                    gap:6px!important;
                    padding:6px 6px 8px 6px!important;
                }

                .csn-top-tabs-line .csn-room-tabbar,
                .csn-top-tabs-line #csn-room-tabbar,
                .csn-top-tabs-line .csn-private-tabbar,
                .csn-top-tabs-line #csn-private-tabbar{
                    gap:6px!important;
                }

                .csn-top-tabs-line .csn-room-open-tab,
                .csn-top-tabs-line .csn-private-tab,
                .csn-top-tabs-line #csn-public-tab{
                    font-size:12px!important;
                    height:32px!important;
                    padding:6px 9px!important;
                    border-radius:999px!important;
                    max-width:122px!important;
                }

                .csn-top-tabs-line .csn-room-open-tab span,
                .csn-top-tabs-line .csn-private-tab .csn-tab-name{
                    max-width:82px!important;
                }
            }

            @media(max-width:430px){
                .csn-top-tabs-line .csn-room-open-tab,
                .csn-top-tabs-line .csn-private-tab,
                .csn-top-tabs-line #csn-public-tab{
                    font-size:11px!important;
                    height:30px!important;
                    padding:5px 8px!important;
                    max-width:108px!important;
                }

                .csn-top-tabs-line .csn-room-open-tab span,
                .csn-top-tabs-line .csn-private-tab .csn-tab-name{
                    max-width:72px!important;
                }
            }

        
            /* v2.9.35 evitar duplicado visual de sala actual sin tocar scroll */
            #csn-room-title,
            .csn-top > #csn-room-title,
            .csn-top strong#csn-room-title{
                display:none!important;
                visibility:hidden!important;
                width:0!important;
                height:0!important;
                max-width:0!important;
                max-height:0!important;
                overflow:hidden!important;
                padding:0!important;
                margin:0!important;
                line-height:0!important;
                font-size:0!important;
            }

            #csn-public-tab{
                display:none!important;
                visibility:hidden!important;
            }

            .csn-room-open-tab{
                background:#e0f2fe!important;
                color:#0f172a!important;
                border-color:#bae6fd!important;
            }

            .csn-room-open-tab.active{
                background:#2563eb!important;
                color:#ffffff!important;
                border-color:#1d4ed8!important;
            }

            .csn-room-open-tab.active span{
                color:#ffffff!important;
            }

            .csn-room-open-tab.active b{
                background:rgba(255,255,255,.24)!important;
                color:#ffffff!important;
            }

        
            /* v2.9.42 salas y privados en el mismo contenedor real, sin hueco */
            #csn-private-tabbar,
            .csn-private-tabbar{
                display:none!important;
                width:0!important;
                min-width:0!important;
                max-width:0!important;
                height:0!important;
                min-height:0!important;
                max-height:0!important;
                padding:0!important;
                margin:0!important;
                overflow:hidden!important;
            }

            .csn-top-tabs-line{
                display:flex!important;
                flex-direction:row!important;
                flex-wrap:nowrap!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:0!important;
                width:100%!important;
                max-width:100%!important;
                min-width:0!important;
                overflow-x:auto!important;
                overflow-y:hidden!important;
                white-space:nowrap!important;
                -webkit-overflow-scrolling:touch!important;
                touch-action:pan-x!important;
                box-sizing:border-box!important;
            }

            #csn-room-tabbar,
            .csn-room-tabbar{
                display:flex!important;
                flex-direction:row!important;
                flex-wrap:nowrap!important;
                align-items:center!important;
                justify-content:flex-start!important;
                gap:4px!important;
                flex:0 0 auto!important;
                width:max-content!important;
                max-width:none!important;
                min-width:0!important;
                overflow:visible!important;
                white-space:nowrap!important;
                margin:0!important;
                padding:0!important;
                box-sizing:border-box!important;
            }

            #csn-room-tabbar .csn-room-open-tab,
            #csn-room-tabbar .csn-private-tab{
                flex:0 0 auto!important;
                margin:0!important;
            }

            #csn-room-tabbar .csn-room-open-tab{
                background:#e0f2fe!important;
                color:#0f172a!important;
                border-color:#bae6fd!important;
            }

            #csn-room-tabbar .csn-room-open-tab.active{
                background:#2563eb!important;
                color:#ffffff!important;
                border-color:#1d4ed8!important;
            }

            #csn-room-tabbar .csn-room-open-tab.active span{
                color:#ffffff!important;
            }

            @media(max-width:700px){
                #csn-room-tabbar,
                .csn-room-tabbar{
                    gap:3px!important;
                }
            }

        
            /* v2.9.43 protección visual contra descarga de fotos y vídeos */
            .csn-private-media,
            .csn-private-media-wrap,
            .csn-private-media-wrap img,
            .csn-private-modal img,
            .csn-private-modal video,
            video.csn-private-media{
                -webkit-user-select:none!important;
                user-select:none!important;
                -webkit-user-drag:none!important;
                user-drag:none!important;
                -webkit-touch-callout:none!important;
                touch-callout:none!important;
            }

            .csn-private-media-wrap img,
            .csn-private-modal img{
                pointer-events:auto!important;
            }

            .csn-private-media-wrap a,
            .csn-private-modal a{
                pointer-events:none!important;
            }

        
            /* v2.9.44 proteger también imagen/vídeo ampliado */
            .csn-protected-expanded-media,
            [data-csn-protected-media="1"],
            .csn-private-modal img,
            .csn-private-modal video,
            .csn-media-modal img,
            .csn-media-modal video,
            .csn-modal img,
            .csn-modal video,
            #csn-media-modal img,
            #csn-media-modal video,
            [id*="modal"] img,
            [id*="modal"] video,
            [class*="modal"] img,
            [class*="modal"] video{
                -webkit-user-select:none!important;
                user-select:none!important;
                -webkit-user-drag:none!important;
                user-drag:none!important;
                -webkit-touch-callout:none!important;
                touch-callout:none!important;
                pointer-events:auto!important;
            }

            [data-csn-protected-link="1"]{
                pointer-events:none!important;
            }

        
            /* v2.9.45 móvil: desplegable de salas visible por encima del chat */
            #csn-toggle-rooms{
                position:relative!important;
                z-index:12000!important;
            }

            #csn-rooms,
            .csn-rooms{
                z-index:12001!important;
                background:#ffffff!important;
                border:1px solid #cbd5e1!important;
                box-shadow:0 18px 45px rgba(15,23,42,.28)!important;
                border-radius:14px!important;
                box-sizing:border-box!important;
            }

            #csn-rooms .csn-room-btn,
            .csn-rooms .csn-room-btn{
                background:#f8fafc!important;
                color:#0f172a!important;
                border:1px solid #dbeafe!important;
                border-radius:10px!important;
                padding:9px 10px!important;
                font-size:13px!important;
                font-weight:800!important;
                width:100%!important;
                text-align:left!important;
                margin:0 0 6px 0!important;
                box-sizing:border-box!important;
            }

            #csn-close-rooms{
                position:sticky!important;
                top:0!important;
                z-index:2!important;
                background:#ef4444!important;
                color:#ffffff!important;
                border:0!important;
                border-radius:10px!important;
                padding:8px 10px!important;
                font-weight:900!important;
                margin-bottom:8px!important;
            }

            @media(max-width:700px){
                #csn-rooms,
                .csn-rooms{
                    position:fixed!important;
                    top:72px!important;
                    right:10px!important;
                    left:auto!important;
                    width:190px!important;
                    max-width:calc(100vw - 20px)!important;
                    max-height:65vh!important;
                    overflow-y:auto!important;
                    overflow-x:hidden!important;
                    -webkit-overflow-scrolling:touch!important;
                    padding:10px!important;
                    z-index:12001!important;
                }

                #csn-rooms[style*="display: none"],
                .csn-rooms[style*="display: none"]{
                    display:none!important;
                }

                #csn-rooms .csn-room-btn,
                .csn-rooms .csn-room-btn{
                    display:block!important;
                    white-space:normal!important;
                    line-height:1.2!important;
                }
            }

            @media(max-width:430px){
                #csn-rooms,
                .csn-rooms{
                    top:68px!important;
                    right:8px!important;
                    width:180px!important;
                    max-height:68vh!important;
                    padding:9px!important;
                }

                #csn-rooms .csn-room-btn,
                .csn-rooms .csn-room-btn{
                    font-size:12px!important;
                    padding:8px 9px!important;
                }
            }

        
            /* v2.9.46 color elegido aplicado al texto y letra 5% más gruesa */
            .csn-msg .csn-body{
                font-weight:525!important;
            }

            .csn-msg .csn-body,
            .csn-msg .csn-body *{
                text-rendering:optimizeLegibility!important;
            }

        
            /* v2.9.47 también veo mi propio color elegido */
            .csn-msg.mine .csn-body{
                font-weight:525!important;
            }

        
            /* v2.9.50 color propio seguro sin tocar render principal */
            .csn-msg.mine .csn-body,
            .csn-msg.own .csn-body,
            .csn-msg.me .csn-body{
                font-weight:525!important;
            }

        
            /* v2.9.52 refuerzo móvil para color de letras en mensajes enviados y recibidos */
            .csn-msg .csn-body,
            .csn-msg .csn-body *{
                font-weight:525!important;
            }

            @media(max-width:700px){
                .csn-msg .csn-body,
                .csn-msg .csn-body *{
                    font-weight:525!important;
                }

                .csn-msg.mine .csn-body,
                .csn-msg.mine .csn-body *{
                    font-weight:525!important;
                }
            }

        
            /* v2.9.54 refuerzo color recibido en móvil */
            .csn-msg .csn-body,
            .csn-msg .csn-body *{
                font-weight:525!important;
            }

            @media(max-width:700px){
                .csn-msg .csn-body,
                .csn-msg .csn-body *{
                    font-weight:525!important;
                }
            }

        
            /* v2.9.55 color de letras en privados móvil/PC */
            .csn-msg[data-private-message="1"] .csn-body,
            .csn-msg[data-private-message="1"] .csn-body *,
            .csn-msg .csn-body,
            .csn-msg .csn-body *{
                font-weight:525!important;
            }

        
            /* v2.9.78 aceptación legal y mayoría de edad */
            .csn-legal-consent-box{
                display:block!important;
                margin:14px 0 4px!important;
                padding:13px!important;
                border:1px solid #bfdbfe!important;
                background:#eff6ff!important;
                color:#0f172a!important;
                border-radius:12px!important;
                font-weight:800!important;
            }

            .csn-legal-consent-label{
                display:flex!important;
                align-items:flex-start!important;
                gap:8px!important;
                margin:0!important;
                color:#0f172a!important;
                font-weight:800!important;
                line-height:1.35!important;
                cursor:pointer!important;
            }

            .csn-legal-consent-label a{
                color:#1d4ed8!important;
                font-weight:900!important;
                text-decoration:underline!important;
            }

            #csn-legal-confirm{
                width:18px!important;
                min-width:18px!important;
                max-width:18px!important;
                height:18px!important;
                margin:2px 0 0 0!important;
                padding:0!important;
                display:inline-block!important;
                appearance:auto!important;
                -webkit-appearance:checkbox!important;
                opacity:1!important;
                visibility:visible!important;
                position:static!important;
                pointer-events:auto!important;
            }

        
            /* v2.9.81 corrección centrado PC */
            @media(min-width:901px){
                html body .csn-chat{
                    width:min(1180px, calc(100vw - 48px))!important;
                    max-width:min(1180px, calc(100vw - 48px))!important;
                    margin-left:auto!important;
                    margin-right:auto!important;
                    transform:none!important;
                    left:auto!important;
                    right:auto!important;
                    position:relative!important;
                    clear:both!important;
                }

                html body .entry-content .csn-chat,
                html body .site-content .csn-chat,
                html body .ast-container .csn-chat{
                    margin-left:auto!important;
                    margin-right:auto!important;
                }

                html body .csn-chat .csn-app{
                    width:100%!important;
                    max-width:100%!important;
                    grid-template-columns:minmax(0, 1fr) 260px!important;
                    gap:14px!important;
                }

                html body .csn-chat .csn-main{
                    min-width:0!important;
                    max-width:100%!important;
                }

                html body .csn-chat .csn-side{
                    width:260px!important;
                    min-width:240px!important;
                    max-width:280px!important;
                }
            }

            @media(min-width:1400px){
                html body .csn-chat{
                    width:min(1320px, calc(100vw - 80px))!important;
                    max-width:min(1320px, calc(100vw - 80px))!important;
                }

                html body .csn-chat .csn-app{
                    grid-template-columns:minmax(0, 1fr) 280px!important;
                }

                html body .csn-chat .csn-side{
                    width:280px!important;
                    min-width:260px!important;
                    max-width:300px!important;
                }
            }

        
            /* v2.9.82 corrección de desplegables entrecortados */
            html body .csn-chat #csn-identity,
            html body .csn-chat #csn-room-entry{
                display:block!important;
                width:100%!important;
                max-width:100%!important;
                min-height:48px!important;
                height:48px!important;
                line-height:24px!important;
                padding:10px 38px 10px 12px!important;
                box-sizing:border-box!important;
                overflow:visible!important;
                white-space:normal!important;
                font-size:15px!important;
                font-weight:600!important;
                color:#0f172a!important;
                background-color:#ffffff!important;
                border:1px solid #bfdbfe!important;
                border-radius:12px!important;
                appearance:auto!important;
                -webkit-appearance:menulist!important;
                vertical-align:middle!important;
            }

            html body .csn-chat #csn-identity option,
            html body .csn-chat #csn-room-entry option{
                font-size:15px!important;
                line-height:24px!important;
                min-height:28px!important;
                padding:8px 10px!important;
                color:#0f172a!important;
                background:#ffffff!important;
            }

            html body .csn-chat label{
                line-height:1.35!important;
                margin-bottom:6px!important;
            }

            @media(max-width:700px){
                html body .csn-chat #csn-identity,
                html body .csn-chat #csn-room-entry{
                    min-height:50px!important;
                    height:50px!important;
                    line-height:26px!important;
                    font-size:16px!important;
                    padding-top:11px!important;
                    padding-bottom:11px!important;
                }
            }

        
            /* v2.9.83 botones de fotos y audios en privados */
            .csn-private-window-compose{
                display:flex!important;
                align-items:center!important;
                gap:8px!important;
            }

            .csn-private-window-tool,
            #csn-private-media-btn,
            #csn-private-mic-btn{
                border:0!important;
                border-radius:12px!important;
                padding:10px 12px!important;
                min-width:42px!important;
                min-height:42px!important;
                background:#0f172a!important;
                color:#ffffff!important;
                font-weight:900!important;
                cursor:pointer!important;
                align-items:center!important;
                justify-content:center!important;
            }

            .csn-private-window-tool{
                display:inline-flex!important;
                flex:0 0 auto!important;
            }

            #csn-private-window-input{
                flex:1 1 auto!important;
                min-width:0!important;
            }

            #csn-private-media-btn[style*="inline-flex"],
            #csn-private-mic-btn[style*="inline-flex"]{
                display:inline-flex!important;
            }

            @media(max-width:700px){
                .csn-private-window-compose{
                    flex-wrap:wrap!important;
                }

                #csn-private-window-input{
                    order:2!important;
                    flex:1 1 100%!important;
                    width:100%!important;
                }

                #csn-private-window-media-btn,
                #csn-private-window-mic-btn,
                #csn-private-window-send{
                    order:1!important;
                }
            }

        
            /* v2.9.84 entrada directa a Sala Principal */
            .csn-entry-default-room{
                margin:12px 0 4px!important;
                padding:12px 14px!important;
                border:1px solid #bbf7d0!important;
                background:#f0fdf4!important;
                color:#14532d!important;
                border-radius:12px!important;
                font-weight:800!important;
                line-height:1.35!important;
            }
            .csn-entry-default-room strong{
                color:#166534!important;
                font-weight:900!important;
            }