@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_8b3a0b{font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,sans-serif;font-style:normal}.__variable_8b3a0b{--font-sans:"Inter","Inter Fallback",system-ui,-apple-system,Segoe UI,sans-serif}:root{--bg:#EEF1F7;--surface:#FFFFFF;--elevated:#F8FAFD;--border:#DDE3ED;--fg:#1B2740;--muted:#4B5C78;--muted-2:#5C6B84;--hover:#E4E9F2;--accent:#2563EB;--accent-hover:#2F6BEE;--accent-text:#2563EB;--on-accent:#FFFFFF;--accent-wash:rgba(37,99,235,0.16);--danger:#B3322F;--ok:#0E7A57;--warn:#825E0E;--inner:rgba(15,23,42,0.05);--inner-hover:rgba(15,23,42,0.09);--inner-on-accent:rgba(4,18,31,0.18);--inner-on-accent-hover:rgba(4,18,31,0.28);--scrim:rgba(4,18,31,0.72);--scrim-strong:rgba(4,18,31,0.92);--shadow-sm:0 4px 14px rgba(15,23,42,0.08);--shadow-md:0 24px 60px rgba(15,23,42,0.18);--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:32px;--lh-body:1.5;--lh-tight:1.25;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--t-fast:150ms;--t-base:200ms;--ease:cubic-bezier(0.4,0,0.2,1);--radius:12px;--sidebar-w:300px}:root[data-theme=dark]{--bg:#0B1220;--surface:#111C2E;--elevated:#16233A;--border:#2C3F58;--fg:#E8EEF7;--muted:#94A6BF;--muted-2:#7A8CA6;--hover:#1C2B45;--accent-text:#5B9BFF;--danger:#F2777E;--ok:#46B98A;--warn:#E0AC4E;--inner:rgba(232,238,247,0.08);--inner-hover:rgba(232,238,247,0.14);--shadow-sm:0 8px 24px rgba(4,18,31,0.45);--shadow-md:0 8px 32px rgba(4,18,31,0.5)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{font-family:var(--font-sans,"Inter"),system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--fg);font-size:var(--fs-sm);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,input,textarea{border:none;background:none;color:inherit;font:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}svg.lucide{stroke-width:1.5;flex-shrink:0}.isotipo{display:block;flex-shrink:0}.isotipo .iso-fondo{fill:var(--iso-bg,var(--accent))}.isotipo .iso-marca{fill:var(--iso-fg,var(--on-accent))}.lockup{display:flex;align-items:center;gap:10px}.lockup-name{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:var(--lh-tight)}.lockup-parent{font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em}.lockup-product{font-weight:400;font-size:var(--fs-sm);color:var(--muted)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}[aria-disabled=true],button:disabled,input:disabled,textarea:disabled{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{height:100vh;height:100dvh}.app-shell,.sidebar{display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;transition:transform var(--t-base) var(--ease)}.sidebar.hidden{transform:translateX(-100%)}.chat-area{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);position:relative}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--scrim);z-index:40}.sidebar-overlay.show{display:block}.user-header{padding:14px 16px;border-bottom:1px solid var(--border);gap:10px}.avatar,.user-header{display:flex;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:#24405C;justify-content:center;font-weight:600;font-size:var(--fs-sm);color:#FFFFFF;flex-shrink:0;overflow:hidden;letter-spacing:.02em}.avatar.t0{background:#1E3A5F}.avatar.t1{background:#24405C}.avatar.t2{background:#2A3B55}.avatar.t3{background:#163049}.avatar.t4{background:#33415C}.avatar.t5{background:#14384A}.avatar.t6{background:#1C4552}.avatar img{width:100%;height:100%;object-fit:cover}.user-info{flex:1 1;overflow:hidden}.user-name{font-weight:600;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--fs-xs);color:var(--muted)}.online-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex-shrink:0}.presence{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--muted-2);flex-shrink:0}.presence.is-on{color:var(--ok)}.presence.is-on .presence-dot{background:var(--ok)}.convo-item .presence{margin-top:2px}.search-bar{margin:8px 10px;background:var(--elevated);border:1px solid transparent;border-radius:8px;display:flex;align-items:center;padding:0 12px;gap:8px;color:var(--muted);transition:border-color var(--t-fast) var(--ease)}.search-bar:focus-within{border-color:var(--accent-text)}.search-bar input{flex:1 1;padding:9px 0;font-size:var(--fs-sm);color:var(--fg);outline:none}.search-bar input::placeholder{color:var(--muted-2)}.convo-list{flex:1 1;overflow-y:auto;padding:4px 6px}.convo-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer;transition:opacity var(--t-fast) var(--ease);position:relative;background:transparent;width:100%;text-align:left}.convo-item:hover{background:var(--hover)}.convo-item.active{background:var(--elevated);box-shadow:inset 2px 0 0 var(--accent-text)}.convo-item:active{opacity:.85}.convo-name{font-weight:600;font-size:var(--fs-sm)}.convo-name,.convo-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convo-preview{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.convo-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.convo-time{font-size:var(--fs-xs);color:var(--muted-2)}.unread-badge{background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);font-weight:700;border-radius:10px;padding:0 6px;min-width:20px;text-align:center}.convo-section+.convo-section{margin-top:2px}.convo-section-h{font:inherit;font-weight:inherit;margin:0}.convo-section-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;width:100%;min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--surface);color:var(--muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;transition:opacity var(--t-fast) var(--ease)}.convo-section-head:hover{color:var(--fg)}.convo-section-head:active{opacity:.85}.convo-section-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-section-count{font-size:var(--fs-xs);font-weight:600;color:var(--muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.convo-section-chevron{flex-shrink:0;transform:rotate(-90deg);transition:transform var(--t-base) var(--ease)}.convo-section-chevron.is-open{transform:rotate(0deg)}.convo-empty{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:20px}.channel-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:8px 10px;min-width:0}.channel-toolbar>*{min-width:0}.channel-new-btn{min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--border);color:var(--fg);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.channel-new-btn:hover{background:var(--hover)}.channel-new-btn:active{transform:translateY(1px)}.channel-new-form{margin:0 10px 8px;padding:12px;background:var(--elevated);border:1px solid var(--border);border-radius:10px}.channel-new-form .form-input{margin-bottom:10px}.channel-aviso{margin:0 10px 8px;color:var(--danger);font-size:var(--fs-xs);line-height:var(--lh-body)}.channel-row{cursor:default}.channel-row:hover{background:transparent}.channel-tile{width:40px;height:40px;border-radius:10px;background:var(--elevated);color:var(--fg);justify-content:center}.channel-acciones,.channel-tile{display:flex;align-items:center;flex-shrink:0}.channel-acciones{gap:4px}.channel-accion{min-height:44px;padding:0 12px;font-size:var(--fs-xs);flex-shrink:0}.channel-salir{width:44px;height:44px}.chat-header{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:14px;flex-shrink:0}.chat-header-info{flex:1 1;min-width:0}.chat-title{font-weight:700;font-size:var(--fs-md);line-height:var(--lh-tight)}.chat-subtitle{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:5px}.hamburger{display:none;padding:8px;border-radius:8px;color:var(--muted);transition:opacity var(--t-fast) var(--ease)}.hamburger:hover{background:var(--hover);color:var(--fg)}@media (max-width:640px){.detalles{position:fixed;inset:0;z-index:60;width:100%;flex-basis:auto;border-left:none}.composer-overlay{padding:0}.composer-panel{width:100%;max-width:none;height:100dvh;max-height:100dvh;border:none;border-radius:0}.composer-img{max-height:none}.hamburger{display:flex;align-items:center}}.messages-wrap{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:16px 20px;gap:4px}.messages-wrap,.msg-row{display:flex;flex-direction:column}.msg-row.mine{align-items:flex-end}.msg-row.theirs{align-items:flex-start}.msg-sender{font-size:var(--fs-xs);font-weight:600;color:var(--accent-text);margin-bottom:2px;padding-left:4px}.bubble{max-width:min(420px,80vw);padding:10px 14px;border-radius:14px;font-size:var(--fs-sm);line-height:var(--lh-body);word-break:break-word;white-space:pre-wrap}.bubble.mine{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.bubble.theirs{background:var(--surface);color:var(--fg);border-bottom-left-radius:4px;border:1px solid var(--border)}.bubble.deleted{color:var(--muted);font-style:italic;font-size:var(--fs-xs);background:var(--elevated);border:none}.msg-deleted{display:inline-flex;align-items:center;gap:6px}.msg-edited{margin-left:6px}.msg-edited,.msg-meta{font-size:var(--fs-xs)}.msg-meta{color:var(--on-accent);text-align:right;margin-top:3px}.msg-meta.theirs{color:var(--muted)}.msg-image-btn{padding:0;max-width:100%;line-height:0}.msg-image,.msg-image-btn{display:block;border-radius:10px}.msg-image{max-width:min(280px,75vw);height:auto;cursor:pointer}.msg-line{display:flex;align-items:center;gap:4px;max-width:100%;min-width:0}.msg-line>.bubble{flex:0 1 auto;min-width:0}.msg-actions{flex:0 0 auto;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--t-fast) var(--ease)}.msg-row:focus-within .msg-actions,.msg-row:hover .msg-actions{opacity:1}.msg-action{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.msg-action:hover{background:var(--hover);color:var(--fg)}.msg-action:active{transform:scale(.94)}.msg-action.is-danger{color:var(--danger)}.msg-action.is-danger:hover{background:var(--hover);color:var(--danger)}@media (hover:none){.msg-actions{opacity:1}.msg-action{width:44px;height:44px}}.msg-row.is-target .bubble{outline:2px solid var(--accent-text);outline-offset:2px}.msg-quote{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;color:inherit;padding:5px 8px;margin-bottom:6px;border-left:3px solid;border-radius:4px;background:var(--inner);transition:opacity var(--t-fast) var(--ease)}.msg-quote:hover{background:var(--inner-hover)}.bubble.mine .msg-file,.bubble.mine .msg-quote{background:var(--inner-on-accent)}.bubble.mine .msg-file:hover,.bubble.mine .msg-quote:hover{background:var(--inner-on-accent-hover)}.msg-quote-author{font-size:var(--fs-xs);font-weight:700}.msg-quote-text{font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-quote-text.is-gone{font-style:italic}.msg-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.msg-row.mine .msg-reactions{justify-content:flex-end}.reaction-chip{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:2px 8px;border-radius:999px;background:var(--elevated);border:1px solid var(--border);color:var(--fg);font-size:var(--fs-xs);line-height:1;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.reaction-chip:hover{background:var(--hover)}.reaction-chip:active{transform:scale(.94)}.reaction-chip.is-mine{background:var(--hover);border-color:var(--accent-text);font-weight:700}.reaction-count{color:var(--muted);font-size:var(--fs-xs)}.reaction-chip.is-mine .reaction-count{color:var(--fg)}@media (hover:none){.reaction-chip{min-height:44px;padding:2px 12px}}.msg-attachment-state{font-size:var(--fs-xs);padding:6px 2px;display:flex;align-items:center;gap:6px}.msg-attachment-state.is-error{color:var(--danger)}.msg-audio{display:flex;flex-direction:column;gap:4px}.msg-audio audio{max-width:min(280px,75vw);height:36px}.msg-file{display:flex;align-items:center;gap:10px;max-width:min(280px,75vw);padding:8px 10px;border-radius:10px;background:var(--inner);text-align:left;cursor:pointer;color:inherit;transition:background-color var(--t-fast) var(--ease)}.msg-file:hover{background:var(--inner-hover)}.msg-file:disabled{cursor:default;opacity:.55}.msg-file-icon{display:flex;align-items:center;flex-shrink:0}.msg-file-text{display:flex;flex-direction:column;min-width:0}.msg-file-name{font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-file-meta{font-size:var(--fs-xs)}.typing-indicator{padding:4px 0 8px 4px;font-size:var(--fs-xs);font-style:italic;color:var(--ok);min-height:20px;gap:6px}.chat-search,.typing-indicator{display:flex;align-items:center}.chat-search{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 20px;gap:10px}.chat-search input{flex:1 1;padding:7px 12px;background:var(--elevated);border:1px solid transparent;border-radius:8px;font-size:var(--fs-sm);color:var(--fg);transition:border-color var(--t-fast) var(--ease)}.chat-search input:focus-visible{border-color:var(--accent-text)}.chat-search-count{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.input-bar{background:var(--surface);border-top:1px solid var(--border);padding:10px 16px;gap:8px;flex-shrink:0}.input-bar,.input-wrap{display:flex;align-items:center}.input-wrap{flex:1 1;background:var(--elevated);border:1px solid transparent;border-radius:22px;padding:0 16px;transition:border-color var(--t-fast) var(--ease)}.input-wrap:focus-within{border-color:var(--accent-text)}.input-wrap textarea{flex:1 1;resize:none;max-height:120px;padding:11px 0;font-size:var(--fs-sm);line-height:var(--lh-body);outline:none}.input-wrap textarea::placeholder{color:var(--muted-2)}.composer-context{background:var(--surface);border-top:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;gap:10px;color:var(--muted);flex-shrink:0}.composer-context-text{display:flex;flex-direction:column;min-width:0;flex:1 1}.composer-context-title{font-size:var(--fs-xs);font-weight:700;color:var(--fg)}.composer-context-excerpt{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-context-close{width:32px;height:32px}@media (hover:none){.composer-context-close{width:44px;height:44px}}.composer-aviso{background:var(--surface);border-top:1px solid var(--border);padding:8px 16px;font-size:var(--fs-xs);color:var(--danger);display:flex;align-items:center;gap:8px;flex-shrink:0}.composer-aviso.is-progreso{color:var(--muted)}.input-bar.sin-borde{border-top:none}.drop-zone{position:absolute;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(11,18,32,.86);pointer-events:none;animation:aparecer var(--t-fast) var(--ease)}@keyframes aparecer{0%{opacity:0}to{opacity:1}}.drop-zone-card{border:2px dashed var(--accent-text);border-radius:var(--radius);background:var(--elevated);padding:28px 36px;max-width:420px;text-align:center;color:var(--fg);display:flex;flex-direction:column;align-items:center;gap:8px}.drop-zone-title{font-weight:700;font-size:var(--fs-md)}.drop-zone-hint{font-size:var(--fs-xs);color:var(--muted)}.reaction-picker:focus{outline:none}.reaction-picker:focus .emoji-picker,.reaction-picker:focus-within .emoji-picker{outline:2px solid var(--accent-text);outline-offset:2px}.icon-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);flex-shrink:0}.icon-btn:hover{background:var(--hover);color:var(--fg)}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.45}.icon-btn:disabled:hover{background:none;color:var(--muted)}.send-btn{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{opacity:.45;cursor:not-allowed}.voice-bar{flex:1 1;min-width:0;display:flex;align-items:center;gap:8px;padding:3px 4px;background:var(--elevated);border-radius:22px}.voice-status{flex:1 1;font-size:var(--fs-sm);color:var(--muted)}.voice-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex-shrink:0;margin-left:4px}.voice-dot.is-live{animation:voice-pulse 1.4s var(--ease) infinite}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.3}}.voice-time{font-size:var(--fs-xs);color:var(--fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.voice-meter{flex:1 1;min-width:48px;height:26px;display:flex;align-items:center;gap:2px;overflow:hidden}.voice-meter-bar{flex:1 1;min-width:2px;height:100%;border-radius:2px;background:var(--accent-text);transform:scaleY(.12);transform-origin:center}.voice-progress{flex:1 1;min-width:48px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.voice-progress-fill{display:block;width:100%;height:100%;background:var(--accent-text);transform:scaleX(0);transform-origin:left center}.icon-btn.is-danger{color:var(--danger)}.icon-btn.is-danger:hover{background:var(--hover);color:var(--danger)}.composer-notice,.voice-notice{position:absolute;left:16px;right:16px;bottom:calc(100% + 8px);display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;background:var(--elevated);border:1px solid var(--border);border-radius:10px;color:var(--danger);box-shadow:var(--shadow-sm)}.composer-notice-text,.voice-notice-text{flex:1 1;font-size:var(--fs-sm);color:var(--fg)}.composer-notice-close,.voice-notice-close{width:28px;height:28px}@media (max-width:480px){.voice-meter{gap:1px;min-width:32px}.voice-meter-bar{min-width:1px}}@media (max-width:400px){.input-bar{padding-left:8px;padding-right:8px;gap:4px}.input-wrap{padding:0 12px}}.emoji-picker{position:absolute;bottom:70px;right:10px;width:min(360px,95vw);background:var(--surface);border:1px solid var(--border);border-radius:14px;z-index:100;overflow:hidden;box-shadow:var(--shadow-md)}.emoji-cats{display:flex;overflow-x:auto;padding:8px;gap:2px;border-bottom:1px solid var(--border)}.emoji-cat-btn{padding:6px 8px;border-radius:8px;font-size:var(--fs-lg);transition:opacity var(--t-fast) var(--ease)}.emoji-cat-btn.active,.emoji-cat-btn:hover{background:var(--hover)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:2px;gap:2px;padding:8px;max-height:200px;overflow-y:auto}.emoji-btn{font-size:var(--fs-xl);padding:4px;border-radius:6px;text-align:center;transition:opacity var(--t-fast) var(--ease)}.emoji-btn:hover{background:var(--hover)}.modal-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:20px;z-index:300}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:min(400px,100%);box-shadow:var(--shadow-md)}.modal-title{font-size:var(--fs-md);font-weight:700;color:var(--fg)}.modal-text{font-size:var(--fs-sm);color:var(--muted);margin-top:8px}.modal-excerpt{margin-top:12px;padding:8px 10px;background:var(--elevated);border-radius:8px;font-size:var(--fs-xs);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-danger,.btn-ghost{min-height:44px;padding:0 18px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn-ghost{border:1px solid var(--border);color:var(--fg)}.btn-ghost:hover{background:var(--hover)}.btn-danger{background:var(--danger);color:var(--bg)}.btn-danger:hover{opacity:.88}.btn-danger:active,.btn-ghost:active{transform:translateY(1px)}.btn-accent{min-height:44px;padding:0 18px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-accent:active:not(:disabled){transform:translateY(1px)}.btn-accent:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.photo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;width:min(560px,100%);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:12px}.photo-head{display:flex;align-items:center;gap:8px}.photo-head .modal-title{flex:1 1}.photo-stage{position:relative;aspect-ratio:4/3;max-height:52vh;border-radius:10px;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center}.photo-shot,.photo-video{width:100%;height:100%;object-fit:cover;display:block}.photo-video.is-mirrored{transform:scaleX(-1)}.photo-hint{display:flex;align-items:center;gap:8px;padding:0 20px;font-size:var(--fs-sm);color:var(--muted);text-align:center}.photo-hint svg{color:var(--danger);flex-shrink:0}.photo-error{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--fg)}.photo-error svg{color:var(--danger);flex-shrink:0}.photo-actions{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px}.photo-side{position:absolute;left:16px}.photo-shutter{width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--border);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.photo-shutter:hover{background:var(--accent-hover)}.photo-shutter:active{transform:scale(.94)}.empty-state{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:12px;text-align:center;padding:20px}.empty-state .big-icon{color:var(--muted-2);display:flex}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:36px 32px;width:100%;max-width:400px}.login-logo{margin-bottom:20px}.login-title{font-size:var(--fs-xl);font-weight:700;line-height:var(--lh-tight)}.login-sub{font-size:var(--fs-sm);color:var(--muted);margin-top:6px;margin-bottom:24px}.form-label{font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px}.form-input{width:100%;background:var(--elevated);border:1px solid var(--border);border-radius:8px;padding:11px 13px;font-size:var(--fs-sm);color:var(--fg);margin-bottom:14px;display:block;transition:border-color var(--t-fast) var(--ease)}.form-input::placeholder{color:var(--muted-2)}.form-input:focus-visible{border-color:var(--accent-text)}.login-btn{width:100%;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:12px;font-size:var(--fs-sm);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{opacity:.45;cursor:not-allowed}.login-err{color:var(--danger);font-size:var(--fs-xs);margin-bottom:10px;display:flex;align-items:center;gap:6px}.login-footer{font-size:var(--fs-xs);color:var(--muted-2);text-align:center;margin-top:14px}.viewer-overlay{position:fixed;inset:0;z-index:400;display:flex;flex-direction:column;background:var(--scrim-strong);animation:viewerIn var(--t-base) var(--ease)}@keyframes viewerIn{0%{opacity:0}to{opacity:1}}.viewer-bar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.viewer-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.viewer-name{font-size:var(--fs-sm);font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-meta{font-size:var(--fs-xs);color:var(--muted)}.viewer-btn{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--fg);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.viewer-btn:hover:not(:disabled){background:var(--hover)}.viewer-btn:active:not(:disabled){transform:scale(.94)}.viewer-stage{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}.viewer-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px}.viewer-stage.is-real{display:block;overflow:auto}.viewer-stage.is-real .viewer-img{max-width:none;max-height:none;margin:0 auto;border-radius:0}.viewer-state{font-size:var(--fs-sm);color:var(--muted)}.viewer-state.is-error{color:var(--danger)}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--elevated);border:1px solid var(--border);color:var(--fg);transition:opacity var(--t-fast) var(--ease)}.viewer-nav.is-prev{left:12px}.viewer-nav.is-next{right:12px}.viewer-nav:hover:not(:disabled){background:var(--hover)}.toast{position:fixed;top:16px;right:16px;background:var(--elevated);border:1px solid var(--border);border-radius:10px;padding:12px 16px;max-width:320px;z-index:200;animation:slideIn var(--t-base) var(--ease);cursor:pointer;text-align:left;color:var(--fg);box-shadow:var(--shadow-sm)}@keyframes slideIn{0%{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-title{font-weight:600;font-size:var(--fs-sm);display:flex;align-items:center;gap:6px}.toast-body{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.reconnect-bar{background:var(--warn);color:var(--bg);text-align:center;font-size:var(--fs-xs);font-weight:600;padding:5px;display:flex;align-items:center;justify-content:center;gap:6px}.reconnect-bar.is-down{background:var(--danger)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent-text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.icon-spin{animation:spin .8s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-btn:focus-within{outline:2px solid var(--accent-text);outline-offset:2px}.detalles{width:308px;flex:0 0 308px;display:flex;flex-direction:column;gap:18px;padding:14px 16px 20px;overflow-y:auto;border-left:1px solid var(--border);background:var(--elevated)}.detalles-barra{display:flex;align-items:center;justify-content:space-between}.detalles-titulo{font-size:var(--fs-md);font-weight:700;color:var(--fg)}.detalles-perfil{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.detalles-avatar{width:72px;height:72px;font-size:var(--fs-lg)}.detalles-nombre{font-size:var(--fs-md);font-weight:700;color:var(--fg);overflow-wrap:anywhere}.detalles-seccion{display:flex;flex-direction:column;gap:8px}.detalles-label{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}.detalles-cuenta{padding:0 6px;border-radius:999px;background:var(--inner);color:var(--muted);font-size:10px;line-height:16px;letter-spacing:0}.detalles-lista{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.detalles-lista li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--fg)}.detalles-lista li svg{color:var(--ok);flex-shrink:0;margin-top:2px}.detalles-nota{display:flex;gap:8px;margin:2px 0 0;padding:10px 12px;border-radius:10px;background:var(--inner);font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--muted)}.detalles-nota svg{flex-shrink:0;margin-top:2px}.detalles-vacio{margin:0;font-size:var(--fs-sm);color:var(--muted)}.detalles-archivos{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.detalles-archivos li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);min-width:0}.detalles-archivo-nombre{font-size:var(--fs-sm);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detalles-archivo-meta{font-size:var(--fs-xs);color:var(--muted-2)}.dia-grupo{display:flex;flex-direction:column;gap:4px}.dia-divisor{display:flex;align-items:center;justify-content:center;margin:14px 0 10px;position:-webkit-sticky;position:sticky;top:4px;z-index:2;pointer-events:none}.dia-divisor span{padding:3px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:var(--fs-xs);font-weight:600}.filtros-convo{display:flex;gap:6px;padding:0 12px 10px}.chip-filtro{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:600;font-family:inherit;cursor:pointer}.chip-filtro:hover{background:var(--hover);color:var(--fg)}.chip-filtro.activo{border-color:transparent;background:var(--accent-wash);color:var(--accent-text)}.chip-cuenta{padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;line-height:16px}.voz{display:flex;gap:10px;min-width:0}.voz,.voz-boton{align-items:center}.voz-boton{display:inline-flex;justify-content:center;width:36px;height:36px;flex:0 0 auto;border:none;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer}.voz-boton:hover{background:var(--accent-hover)}.voz-boton:active{transform:scale(.94)}.voz-onda{display:flex;align-items:center;gap:2px;flex:1 1 auto;min-width:0;height:28px;cursor:pointer}.voz-barra{flex:1 1;min-width:2px;border-radius:999px;background:var(--muted-2);opacity:.45}.voz-barra.sonada{background:var(--accent);opacity:1}.voz-onda.rota{cursor:default;opacity:.4}.voz-boton:disabled{opacity:.45;cursor:not-allowed}.bubble.mine .voz-boton{background:var(--on-accent);color:var(--accent)}.bubble.mine .voz-barra{background:var(--on-accent);opacity:.45}.bubble.mine .voz-barra.sonada{background:var(--on-accent);opacity:1}.bubble.mine .voz-tiempo{color:var(--on-accent)}.voz-tiempo{flex:0 0 auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--muted)}.msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px}.msg-check{display:inline-flex;align-items:center;color:inherit;opacity:.7}.msg-check.is-read{opacity:1}.composer-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(4,8,16,.82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.composer-panel{display:flex;flex-direction:column;gap:12px;width:min(560px,100%);max-height:calc(100dvh - 32px);padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel,var(--bg));box-shadow:0 24px 60px rgba(0,0,0,.45)}.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-title{font-size:var(--fs-sm);font-weight:600;color:var(--fg)}.composer-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.composer-btn:hover:not(:disabled){background:var(--hover,rgba(255,255,255,.06));color:var(--fg)}.composer-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:0;flex:1 1 auto;overflow:hidden;border-radius:10px;background:rgba(0,0,0,.25)}.composer-img{max-width:100%;max-height:46dvh;object-fit:contain;border-radius:8px}.composer-nav{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;cursor:pointer}.composer-meta{margin:0;font-size:var(--fs-xs);color:var(--muted-2);text-align:center;overflow-wrap:anywhere}.composer-aviso{padding:8px 12px;border-radius:8px;background:rgba(220,38,38,.12);color:var(--danger,#f87171);font-size:var(--fs-sm)}.composer-pie{display:flex;align-items:flex-end;gap:8px}.composer-input{flex:1 1 auto;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--fg);font-size:16px;font-family:inherit;line-height:1.4;resize:none}.composer-enviar{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:44px;padding:0 18px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:var(--fs-sm);font-weight:600;font-family:inherit;cursor:pointer}.composer-enviar:hover:not(:disabled){background:var(--accent-hover)}.composer-enviar:active:not(:disabled){transform:scale(.97)}.composer-enviar:disabled{opacity:.45;cursor:not-allowed}.msg-caption{margin:6px 0 0;font-size:var(--fs-sm);line-height:var(--lh-body,1.5);white-space:pre-wrap;overflow-wrap:anywhere}.user-ficha{flex:1 1;display:flex;align-items:center;gap:10px;min-width:0;padding:4px;margin:-4px;background:none;border:0;border-radius:10px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background var(--t-fast) var(--ease)}.user-ficha:hover{background:var(--hover)}.user-ficha:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.user-ficha .user-info{display:block;min-width:0}.user-ficha .user-name,.user-ficha .user-role{display:block}.perfil-fondo{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--scrim)}.perfil-tapa{position:absolute;inset:0;background:none;border:0;cursor:default}.perfil-panel{position:relative;width:min(420px,100%);max-height:100%;overflow-y:auto;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.perfil-barra{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.perfil-titulo{margin:0;font-size:var(--fs-lg);font-weight:600;color:var(--fg)}.perfil-foto{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px}.perfil-avatar{width:88px;height:88px;font-size:var(--fs-xl)}.perfil-cambiar{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--elevated);border:1px solid var(--border);border-radius:999px;font-size:var(--fs-sm);font-weight:500;color:var(--fg);cursor:pointer;transition:background var(--t-fast) var(--ease)}.perfil-cambiar:hover{background:var(--hover)}.perfil-cambiar:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.perfil-campo{margin-bottom:18px}.perfil-etiqueta{display:block;margin-bottom:6px;font-size:var(--fs-sm);font-weight:500;color:var(--muted)}.perfil-entrada{width:100%;min-height:44px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:var(--fs-md);color:var(--fg)}.perfil-entrada:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px;border-color:var(--accent-text)}.perfil-entrada::placeholder{color:var(--muted-2)}.perfil-cuenta{display:block;margin-top:4px;text-align:right;font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted-2)}.perfil-ayuda{margin:6px 0 0;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--muted-2)}.perfil-fijos{margin:0;padding:12px 14px;background:var(--elevated);border:1px solid var(--border);border-radius:10px}.perfil-fijos>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.perfil-fijos>div+div{margin-top:8px}.perfil-fijos dt{font-size:var(--fs-sm);color:var(--muted)}.perfil-fijos dd{margin:0;min-width:0;font-size:var(--fs-sm);color:var(--fg);overflow-wrap:anywhere;text-align:right}.perfil-aviso{margin-top:14px;padding:10px 12px;border:1px solid var(--danger);border-radius:10px;font-size:var(--fs-sm);color:var(--danger)}.perfil-acciones{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.perfil-cancelar,.perfil-guardar{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:9px 18px;border-radius:10px;font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background var(--t-fast) var(--ease)}.perfil-cancelar{background:none;border:1px solid var(--border);color:var(--fg)}.perfil-cancelar:hover{background:var(--hover)}.perfil-guardar{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent)}.perfil-guardar:hover:not(:disabled){background:var(--accent-hover)}.perfil-cancelar:focus-visible,.perfil-guardar:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.perfil-cancelar:disabled,.perfil-guardar:disabled{opacity:.45;cursor:not-allowed}.sidebar-pie{padding:10px 12px;border-top:1px solid var(--border)}.ajustes,.sidebar-pie{position:relative}.ajustes-boton{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;background:none;border:0;border-radius:10px;font-size:var(--fs-sm);font-weight:500;color:var(--muted);text-align:left;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.ajustes-boton.abierto,.ajustes-boton:hover{background:var(--hover);color:var(--fg)}.ajustes-boton:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.ajustes-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:70;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.ajustes-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 10px;background:none;border:0;border-radius:8px;font-size:var(--fs-sm);color:var(--fg);text-align:left;cursor:pointer;transition:background var(--t-fast) var(--ease)}.ajustes-item:hover:not(:disabled){background:var(--hover)}.ajustes-item:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.ajustes-item:disabled{opacity:.5;cursor:not-allowed}.ajustes-item svg{flex-shrink:0;color:var(--muted)}.ajustes-texto{flex:1 1;min-width:0}.ajustes-valor{color:var(--muted)}.ajustes-pista,.ajustes-valor{flex-shrink:0;font-size:var(--fs-xs)}.ajustes-nota,.ajustes-pista{color:var(--muted-2)}.ajustes-nota{margin:0 10px 6px 36px;font-size:var(--fs-xs);line-height:var(--lh-body)}.ajustes-separador{height:1px;margin:6px 8px;background:var(--border)}.ajustes-item.peligro,.ajustes-item.peligro svg{color:var(--danger)}.perfil-secreto{position:relative;display:flex}.perfil-secreto .perfil-entrada{padding-right:46px}.perfil-ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:8px;color:var(--muted);cursor:pointer}.perfil-ojo:hover{color:var(--fg)}.perfil-ojo:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.convo-section{--seccion:var(--muted);--seccion-rail:var(--border)}.convo-section.s-directos{--seccion:#475569;--seccion-rail:#CBD5E1}.convo-section.s-canales{--seccion:#2563EB;--seccion-rail:#BFD3FA}.convo-section.s-grupos{--seccion:#0E7490;--seccion-rail:#A9DCE9}:root[data-theme=dark] .convo-section.s-directos{--seccion:#94A3B8;--seccion-rail:#33415C}:root[data-theme=dark] .convo-section.s-canales{--seccion:#7CA6F5;--seccion-rail:#24405C}:root[data-theme=dark] .convo-section.s-grupos{--seccion:#5FC5DE;--seccion-rail:#164E5C}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .convo-section.s-directos{--seccion:#94A3B8;--seccion-rail:#33415C}:root:not([data-theme=light]) .convo-section.s-canales{--seccion:#7CA6F5;--seccion-rail:#24405C}:root:not([data-theme=light]) .convo-section.s-grupos{--seccion:#5FC5DE;--seccion-rail:#164E5C}}.convo-section-head svg:first-of-type{color:var(--seccion)}.convo-section-body{border-left:2px solid var(--seccion-rail);margin-left:18px;padding-left:6px}.grupo-panel{width:min(480px,100%)}.grupo-cuenta{margin-left:8px;font-weight:600;color:var(--accent-text)}.grupo-buscador{margin:0 0 8px}.grupo-lista{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:4px}.grupo-fila{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background var(--t-fast) var(--ease)}.grupo-fila:hover{background:var(--hover)}.grupo-fila:focus-within{outline:2px solid var(--accent-text);outline-offset:-2px}.grupo-fila.elegido{background:var(--accent-wash)}.grupo-nombre{flex:1 1;min-width:0;display:block}.grupo-nombre-1{font-size:var(--fs-sm);font-weight:500;color:var(--fg)}.grupo-nombre-1,.grupo-nombre-2{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grupo-nombre-2{font-size:var(--fs-xs);color:var(--muted-2)}.grupo-marca{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:6px;color:var(--on-accent)}.grupo-fila.elegido .grupo-marca{background:var(--accent);border-color:var(--accent)}.estrenar-fondo{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.estrenar-tarjeta{width:min(420px,100%);padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.estrenar-icono{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;border-radius:14px;background:var(--accent-wash);color:var(--accent-text)}.estrenar-titulo{margin:0 0 8px;font-size:var(--fs-xl);font-weight:700;color:var(--fg)}.estrenar-texto{margin:0 0 24px;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--muted)}.estrenar-campo{margin-bottom:18px}.estrenar-guardar{width:100%;min-height:46px;margin-top:6px;border-radius:10px;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);font-size:var(--fs-sm);font-weight:700;cursor:pointer;transition:background var(--t-fast) var(--ease)}.estrenar-guardar:hover:not(:disabled){background:var(--accent-hover)}.estrenar-guardar:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.estrenar-guardar:disabled{opacity:.45;cursor:not-allowed}.estrenar-motivo{text-align:center;margin-top:8px}.estrenar-salir{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin-top:18px;background:none;border:0;font-size:var(--fs-xs);color:var(--muted-2);cursor:pointer}.estrenar-salir:hover{color:var(--fg)}.estrenar-salir:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}@media (max-width:640px){:root{--sidebar-w:85vw}.grupo-lista{max-height:45vh}.ajustes-menu{left:4px;right:4px}.perfil-fondo{padding:0;align-items:flex-end}.perfil-panel{width:100%;max-height:92vh;border-radius:var(--radius) var(--radius) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px))}.perfil-acciones>*{flex:1 1;justify-content:center}.input-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px))}.bubble{max-width:min(420px,62vw)}.msg-audio audio,.msg-file,.msg-image{max-width:min(280px,58vw)}.msg-line{flex-direction:column;align-items:stretch}.msg-row.mine .msg-line{align-items:flex-end}.msg-row.theirs .msg-line{align-items:flex-start}.msg-actions{margin-top:2px}.chat-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-subtitle{min-width:0}.cifrado-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-subtitle>:last-child{flex-shrink:0}@media (max-width:420px){.cifrado-label{display:none}}.viewer-bar{padding:4px 6px;gap:2px}.viewer-stage{padding:8px 8px calc(8px + env(safe-area-inset-bottom, 0px))}.viewer-nav{width:44px;height:44px}.viewer-nav.is-prev{left:6px}.viewer-nav.is-next{right:6px}.sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:50;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}}