/* Imperio Chat | Interfaz independiente. Tokens propios; sin dependencias visuales externas. */
/* Windows no trae banderas de país: esta fuente solo cubre los indicadores regionales (arte Twemoji, CC-BY 4.0; ver fuentes/). */
@font-face{font-family:"TILUM Banderas";src:url(/fuentes/TwemojiCountryFlags.woff2) format("woff2");unicode-range:U+1F1E6-1F1FF;font-display:swap}
:root{
  --bg:#f5f0e8;--surface:#fffdf9;--surface2:#f9f4ec;--surface3:#efe6d9;
  --line:#e5dacb;--text:#1d1412;--muted:#6b5c55;--accent:#8a5a12;
  --primary:#c8102e;--purple:var(--primary);--cyan:#8a5a12;--danger:#b42335;
  --coral:#d4a64a;--soft-coral:#f8ecd6;--nav:#15100f;--nav-text:#d6c6b3;
  --nav-active:#33131a;--outgoing:#f6e4df;--incoming:#ffffff;--input:#fffdf9;
  --shadow:0 10px 35px #2a10100d;--radius:18px;
  --acento-texto:var(--accent);--sobre-acento:#fff;--fondo-chat:var(--bg);--radius-message:16px;--radius-message-cola:4px;--escala-texto:1;
  --rubi:#c8102e;--rubi-oscuro:#650817;--oro:#d4a64a;--oro-claro:#ffd982;--marfil:#f7f0e4;--negro:#080707;
  color-scheme:light;font-family:"TILUM Banderas","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}
:root[data-theme=dark]{
  --bg:#0d0a09;--surface:#15100f;--surface2:#1c1514;--surface3:#271d1b;
  --line:#35282a;--text:#f7f0e4;--muted:#b8a899;--accent:#ffd982;
  --primary:#c8102e;--cyan:#ffd982;--danger:#ff9aa8;--coral:#d4a64a;
  --soft-coral:#2b1e12;--nav:#080707;--nav-text:#cdbca9;--nav-active:#2d1015;
  --outgoing:#3b1119;--incoming:#1c1514;--input:#120d0c;--shadow:none;color-scheme:dark;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;overflow:hidden}
button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.45;cursor:not-allowed}
button:hover:not(:disabled){filter:brightness(.97)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
input,textarea,select{color:var(--text);background:var(--input);border:1px solid var(--line);border-radius:12px;min-width:0;padding:11px 13px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}
a{color:var(--acento-texto)}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1.2px;font-weight:650}h2{font-size:21px;letter-spacing:-.6px}h3{font-size:15px;font-weight:650}
small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--muted)}
.ico{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.icon-btn{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}
.icon-btn:hover{background:var(--surface3);color:var(--text)}
.primary,.send-button{background:var(--primary);color:var(--sobre-acento);font-weight:600;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.primary{border:1px solid var(--primary);padding:11px 18px}.secondary{background:var(--surface);border:1px solid var(--line);padding:10px 15px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.danger{color:var(--danger)}.badge{font-size:10px;padding:5px 9px;border-radius:7px;background:var(--soft-coral);color:var(--acento-texto);font-weight:600;white-space:nowrap}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);border:1px solid var(--line);padding:5px 8px;border-radius:20px}.tag .ico{width:12px;height:12px}
.dot{height:6px;width:6px;background:var(--coral);border-radius:50%;display:inline-block}
.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:15px}.divider{height:1px;background:var(--line);margin:19px 0}
.avatar{width:44px;height:44px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:650;letter-spacing:-.2px;color:#534835;background:#e6d6ba;border:1px solid #00000004}
.avatar.violeta{background:#dbcfba;color:#5e5139}.avatar.cyan{background:#d4e3e8;color:#3b6172}.avatar.rosa{background:#f0d9cf;color:#8d533e}.avatar.naranja{background:#e3e5cb;color:#676e36}
.avatar.mini{width:31px;height:31px;font-size:10px}.avatar.large{width:62px;height:62px;font-size:19px;border:5px solid var(--surface)}.avatar.round{border-radius:50%}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar{height:76px;display:flex;align-items:center;gap:24px;background:var(--surface);border-bottom:1px solid var(--line);padding-right:26px}
.brand{display:flex;align-items:center;gap:9px;width:190px;height:76px;padding-left:27px;flex:none;background:var(--nav);color:#fff5e7}
.topbar-center{display:flex;align-items:center;gap:22px;min-width:0}.topbar-title{font-size:12px;letter-spacing:.15px;font-weight:600}.topbar-subtitle{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px}
.top-actions{display:flex;align-items:center;gap:15px;margin-left:auto;flex:none}.top-actions .secondary{font-size:11px;padding:9px 13px}.top-actions .secondary .ico{width:16px;height:16px}
.local-pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.top-actions .avatar{width:33px;height:33px;font-size:10px}
.layout{display:grid;grid-template-columns:190px minmax(0,1fr);height:calc(100dvh - 76px);min-height:0}
.rail{display:flex;flex-direction:column;min-height:0;background:var(--nav);color:var(--nav-text);padding:29px 13px 14px;overflow:auto;scrollbar-width:none}
.rail-heading{font-size:8px;letter-spacing:1.7px;font-weight:600;color:#97aab4;padding:0 15px;margin:0 0 16px}.rail-heading.second{margin-top:34px}
.rail-links{display:flex;flex-direction:column;gap:5px}.nav-link{position:relative;display:flex;align-items:center;text-align:left;width:100%;gap:12px;padding:13px 15px;border-radius:11px;color:var(--nav-text);font-size:12px;min-height:45px}
.nav-link .ico{width:18px;height:18px}.nav-link span{white-space:nowrap}.nav-link b{margin-left:auto;background:#e7a079;color:#2b3941;font-size:9px;border-radius:6px;min-width:20px;line-height:20px;text-align:center;font-weight:650}
.nav-link.active{background:var(--nav-active);color:#fff5e7}.nav-link.active:before{content:"";height:18px;width:3px;background:var(--coral);position:absolute;left:0;border-radius:2px}
.rail-bottom{margin-top:auto;padding-top:32px}.rail-card{margin:0 5px 24px;padding:18px 13px 12px;border:1px solid #566b732f;background:#344a5577;border-radius:16px}
.rail-card strong{font-size:12px;line-height:1.6;font-weight:500;color:#f1eee5;display:block}.rail-card p{font-size:10px;line-height:1.65;color:#adbdc5;margin:9px 0 15px}.rail-card button{font-size:10px;color:#f1b899;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0}.rail-card button .ico{width:14px;height:14px}
.tiny-orbits{display:flex;padding:0 0 13px 4px}.tiny-orbits i{display:block;width:20px;height:20px;border-radius:50%;background:#e8b895;border:2px solid #3a505a;margin-left:-4px}.tiny-orbits i:nth-child(2){background:#a9cad4}.tiny-orbits i:nth-child(3){background:#dfd2ae}
.rail-profile{display:flex;align-items:center;gap:9px;width:100%;margin-top:12px;padding:18px 8px 0;border-top:1px solid #70848f30;text-align:left}.rail-profile strong{display:block;font-size:11px;color:#f0eee6;font-weight:600}.rail-profile small{display:block;color:#9db0b9;font-size:9px;margin-top:3px}.rail-profile>.ico{width:16px;margin-left:auto}
.workspace{min-width:0;min-height:0;display:flex;flex-direction:column}.chat-shell{display:grid;grid-template-columns:305px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.inbox{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--surface)}
.inbox-heading{padding:28px 23px 19px}.inbox-heading .eyebrow{font-size:8px;margin-bottom:10px}.inbox-heading h1{font-size:27px;display:flex;align-items:center;gap:11px}.inbox-heading .count{font-size:11px;letter-spacing:0;border:1px solid var(--line);padding:4px 7px;border-radius:8px;color:var(--muted)}
.new-button{width:34px;height:34px;background:var(--soft-coral);color:var(--acento-texto);border-radius:11px;display:flex;align-items:center;justify-content:center}.new-button .ico{width:17px;height:17px}
.inbox-search{padding:0 21px 17px}.searchbox{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--line);padding:0 11px;border-radius:11px;color:var(--muted)}.searchbox input{border:0;background:none;width:100%;padding:11px 0;font-size:11px;outline:none}.searchbox .ico{width:15px;height:15px}.search-key{font-size:10px;border:1px solid var(--line);border-radius:4px;width:18px;line-height:17px;text-align:center}
.filterbar{display:flex;gap:5px;padding:0 21px 16px;overflow:auto;flex-shrink:0;scrollbar-width:none}.chip{padding:7px 10px;border-radius:8px;white-space:nowrap;font-size:10px;color:var(--muted);background:var(--surface2);border:1px solid transparent}.chip.active{background:var(--primary);color:var(--sobre-acento);border-color:var(--primary)}
.conversation-list{overflow:auto;flex:1;padding:0 11px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.list-label{font-size:8px;letter-spacing:1.6px;font-weight:650;color:var(--muted);padding:5px 12px 12px;display:flex;justify-content:space-between}.list-label span{letter-spacing:0;font-size:9px;font-weight:400}
.conversation{display:flex;gap:12px;align-items:flex-start;padding:15px 12px;width:100%;border:1px solid transparent;border-radius:13px;text-align:left;margin-bottom:6px;position:relative}.conversation.active{background:var(--soft-coral)}
.conversation .avatar{width:42px;height:42px}.conversation .name{font-size:12px;font-weight:600;max-width:160px;letter-spacing:-.1px}.conversation .preview{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:7px}.conversation .time{font-size:8px;color:var(--muted);white-space:nowrap}.conversation .unread{background:var(--primary);color:var(--sobre-acento);border-radius:50%;min-width:17px;height:17px;font-size:9px;display:flex;align-items:center;justify-content:center;flex:none;margin-top:6px}.chat-type{font-size:8px;color:var(--muted);margin-top:8px}
.saved-shortcut{padding:13px 11px;margin:14px 19px 18px;background:var(--surface2);border-radius:12px;color:var(--muted);display:flex;align-items:center;gap:9px;text-align:left;border:1px solid var(--line)}.saved-shortcut strong{font-size:9px;display:block;color:var(--text);font-weight:550;line-height:1.6}.saved-shortcut small{font-size:9px;display:block;margin-top:4px}.saved-shortcut>.ico{width:13px;height:13px}.shortcut-icon{color:var(--acento-texto)}.shortcut-icon .ico{width:20px;height:20px}
.inbox-footer{border-top:1px solid var(--line);padding:16px 21px;font-size:10px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.inbox-footer .ico{width:13px;height:13px}.inbox-footer button{padding:0;font-size:10px}.inbox-footer>span{font-size:9px}
.chat-area{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:var(--fondo-chat)}
.chat-header{padding:22px 27px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;min-height:92px;background:var(--surface)}.chat-header h2{font-size:17px;margin-bottom:6px;letter-spacing:-.4px;font-weight:650}.chat-header .meta{font-size:10px;color:var(--muted)}.chat-header .avatar{width:42px;height:42px}.header-actions{display:flex;gap:3px}.mobile-back{display:none}
.topics{display:flex;align-items:center;gap:7px;padding:10px 23px;border-bottom:1px solid var(--line);overflow:auto;flex-shrink:0;background:var(--surface)}.topic{padding:7px 11px;font-size:11px;color:var(--muted);border-radius:8px;white-space:nowrap;border:1px solid transparent}.topic.active{background:var(--surface2);border-color:var(--line);color:var(--text);font-weight:600}.topic .hash{color:var(--acento-texto);margin-right:6px}.topic-add{margin-left:auto;padding:5px}.topic-add .ico{width:15px}
.pinned-bar{display:flex;align-items:center;gap:10px;padding:13px 28px;background:var(--surface2);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;flex-shrink:0}.pinned-bar>.ico{height:15px;width:15px;color:var(--acento-texto)}.pinned-bar strong{font-weight:600;color:var(--text)}.pinned-bar button{font-size:10px;color:var(--acento-texto);margin-left:auto;white-space:nowrap}
.message-search{padding:9px 23px;border-bottom:1px solid var(--line);display:flex;gap:7px;background:var(--surface)}.message-search input{flex:1}
.messages{overflow:auto;flex:1;padding:13px 26px 22px;scrollbar-width:thin;scrollbar-color:#babfc380 transparent;min-height:0}.date-label{text-align:center;color:var(--muted);font-size:8px;margin:7px 0 22px;display:flex;align-items:center;gap:10px;justify-content:center;letter-spacing:.7px}.date-label:before,.date-label:after{content:"";width:27px;height:1px;background:var(--line)}
.message-row{display:flex;gap:10px;margin-bottom:19px;align-items:flex-end;position:relative}.message-row .avatar{width:28px;height:28px;font-size:9px;align-self:flex-start;margin-top:21px}.message-wrap{max-width:86%;min-width:80px}.author{font-size:10px;color:var(--text);margin:0 0 7px 3px;display:flex;align-items:center;gap:7px;font-weight:550}.author span{font-size:8px;padding:2px 5px;background:var(--surface3);border-radius:4px;color:var(--muted);font-weight:400}
.message-bubble{background:var(--incoming);border:1px solid var(--line);border-radius:var(--radius-message-cola) var(--radius-message) var(--radius-message) var(--radius-message);padding:12px 15px;font-size:12px;line-height:1.7;overflow-wrap:anywhere;word-break:break-word;position:relative;box-shadow:0 1px 1px #263b4703}.message-bubble .body-text{white-space:pre-wrap}.message-row.mine{justify-content:flex-end}.mine .message-bubble{background:var(--outgoing);border-color:var(--borde-enviada,#b89b6025);border-radius:var(--radius-message) var(--radius-message-cola) var(--radius-message) var(--radius-message)}.message-meta{display:flex;justify-content:flex-end;gap:5px;font-size:8px;color:var(--muted);margin-top:7px;align-items:center;line-height:1.2}.message-meta .ico{width:11px;height:11px}
.message-options{align-self:center;flex-shrink:0;width:24px;height:28px;opacity:.45;border-radius:7px;padding:0;color:var(--muted)}.message-row:hover .message-options,.message-options:focus-visible{opacity:1;background:var(--surface3)}.message-options .ico{width:16px}
.reactions{display:flex;gap:5px;margin-top:5px}.reaction{font-size:10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:3px 8px;color:var(--muted)}.reaction.selected{border-color:var(--coral);background:var(--soft-coral);color:var(--acento-texto)}
.quote{padding:8px 11px;border-left:3px solid var(--coral);background:var(--surface2);border-radius:5px;margin-bottom:9px;font-size:11px;color:var(--muted)}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;width:410px;max-width:100%;margin:10px 0 3px}.media-grid.single{grid-template-columns:1fr}.media-thumb{width:100%;height:auto;min-height:105px;max-height:230px;object-fit:cover;border-radius:9px;display:block}.media-open{padding:0;display:block;width:100%;overflow:hidden;border-radius:9px}
.file-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:var(--surface2);border-radius:10px;margin-top:7px;min-width:170px;max-width:100%;text-align:left}.file-card .ico{color:var(--acento-texto)}.file-card .name{font-size:11px}.file-card .muted{font-size:9px}
.audio-player{display:flex;align-items:center;gap:9px;min-width:210px;padding:6px 0}.audio-play{height:33px;width:33px;background:var(--primary);color:var(--sobre-acento);border-radius:50%;flex:none}.wave{height:30px;display:flex;align-items:center;gap:2px;flex:1}.wave i{display:block;width:3px;border-radius:3px;background:var(--coral)}.audio-time,.audio-label{font-size:10px;color:var(--muted)}
.poll-title{font-weight:650;margin-bottom:5px}.poll-caption{font-size:9px;color:var(--muted);margin-bottom:12px}.poll-caption .ico{width:13px;height:13px;margin-right:3px}.poll-option{position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;text-align:left;font-size:11px;width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;margin:6px 0;background:var(--surface2)}.poll-option:before{content:"";position:absolute;inset:0;width:var(--vote);background:#cc886623}.poll-option span{position:relative;z-index:1}.poll-option .percent{margin-left:auto}.deleted{font-style:italic;color:var(--muted)}
.empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.empty .ico{width:30px;height:30px;margin-bottom:10px;color:var(--acento-texto)}
.composer-wrap{padding:15px 25px 13px;background:var(--fondo-chat)}.composer-box{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:9px 12px 10px;box-shadow:0 3px 16px #263b4704}.composer-box textarea{width:100%;height:43px;min-height:43px;max-height:140px;border:0;background:none;resize:none;padding:5px 6px;font-size:12px;line-height:1.7;outline:none}.composer-controls{display:flex;align-items:center;justify-content:space-between;gap:5px}.compose-tools{display:flex;gap:2px}.compose-tools .icon-btn{width:30px;height:31px;border-radius:8px}.compose-tools .ico{height:18px;width:18px}.send-button{height:35px;border-radius:10px;padding:0 14px;font-size:11px;flex:none}.send-button .ico{height:15px;width:15px}.composer-help{font-size:8px;color:var(--muted);margin-top:9px;display:flex;justify-content:space-between;gap:10px}.composer-help .ico{width:10px;height:10px}
.compose-banner{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;border-left:3px solid var(--coral);padding-left:10px;font-size:11px;color:var(--acento-texto)}.pending-files{display:flex;gap:6px;overflow:auto;margin-bottom:8px}.pending-file{font-size:10px;background:var(--soft-coral);border:1px solid var(--line);border-radius:8px;padding:6px 8px;white-space:nowrap}.emoji-strip{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.emoji-strip button{font-size:20px;padding:5px;background:var(--surface);border-radius:9px}
.group-cover{height:115px;border-radius:13px;background:#eedcc4;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:15px}.cover-label{position:absolute;top:16px;left:17px;color:#745b42;font-size:7px;letter-spacing:1.8px;font-weight:600}.cover-orbit{width:160px;height:160px;border:25px solid #d487627a;border-radius:50%;position:absolute;right:-45px;top:30px}.cover-orbit:after{content:"";position:absolute;width:100px;height:100px;border:1px solid #b07d58;left:-83px;top:-32px;border-radius:50%}.group-cover .avatar{z-index:1;width:49px;height:49px;font-size:14px;border:3px solid #f7efe3;background:#e4c19a;color:#5f4b37}.group-title{font-size:18px;margin:18px 0 9px;letter-spacing:-.5px}.group-tags{gap:8px}.group-tags .small{font-size:10px}.group-description{font-size:11px;color:var(--muted);line-height:1.85;margin:16px 0 19px}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quick-actions button{border:1px solid var(--line);background:var(--surface2);border-radius:10px;padding:10px 0;color:var(--muted);font-size:9px;display:flex;align-items:center;flex-direction:column;gap:6px}.quick-actions .ico{width:17px;height:17px}
.context-section{margin-top:26px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:11px;font-weight:650}.section-head button{font-size:9px;color:var(--acento-texto);font-weight:500;padding:0}.album-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.album-previews button{padding:0;border-radius:9px;overflow:hidden;aspect-ratio:1}.album-previews img{width:100%;height:100%;object-fit:cover}.gallery-empty{grid-column:1/-1;color:var(--muted);font-size:11px}
.context-tools{margin-top:20px;padding-top:10px;border-top:1px solid var(--line)}.context-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px 0;font-size:11px;text-align:left;color:var(--text)}.tool-tile{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface2);border-radius:9px;color:var(--muted)}.tool-tile .ico{width:15px;height:15px}.context-row .tail{margin-left:auto;color:var(--muted);font-size:10px;display:flex;gap:8px;align-items:center}.context-row .tail .ico{width:10px;height:10px;transform:rotate(180deg)}.members-section{margin-top:21px}.member-stack{display:flex;align-items:center}.member-stack .avatar{border:3px solid var(--surface);margin-left:-6px;width:33px;height:33px}.member-stack .avatar:first-child{margin-left:0}.member-stack .small{font-size:9px;margin-left:8px}.privacy-link{display:flex;gap:8px;align-items:center;width:100%;text-align:left;margin-top:22px;padding:17px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.privacy-link .ico{width:14px;height:14px}.privacy-link>.ico:last-child{margin-left:auto;transform:rotate(180deg);width:10px}.context-note{font-size:9px;line-height:1.75;color:var(--muted);margin-top:16px}.context-note .ico{width:12px;height:12px;margin-right:4px}
/* Administración: la navegación reside en la barra propia, no en una segunda barra anidada. */
.admin-shell{min-height:0;flex:1;overflow:hidden;display:flex}.admin-nav{display:none}.admin-main{overflow:auto;width:100%;padding:36px 42px;background:var(--bg)}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:29px}.admin-header .eyebrow{margin-bottom:12px;color:var(--acento-texto)}.admin-header h1{font-size:34px;letter-spacing:-1.3px;font-weight:600}.admin-header p{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.7}.admin-header>.secondary{font-size:11px;white-space:nowrap}.admin-header>.secondary .ico{width:16px;height:16px}
.notice{background:var(--surface2);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:13px 16px;font-size:11px;line-height:1.8;margin-bottom:24px;display:flex;gap:11px}.notice strong{color:var(--text);font-weight:600}.notice .ico{height:17px;width:17px;flex:none;margin-top:2px;color:var(--acento-texto)}.notice.violet{background:var(--soft-coral);border-color:#d9885422;color:var(--acento-texto)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat{border:1px solid var(--line);border-radius:16px;padding:21px 23px;background:var(--surface);box-shadow:var(--shadow)}.stat .row{color:var(--muted);font-size:11px}.stat .ico{width:18px;height:18px;color:var(--acento-texto)}.stat strong{font-size:38px;display:block;margin:17px 0 8px;font-weight:600;letter-spacing:-1.8px}.stat small{font-size:10px;color:var(--muted)}.stat:nth-child(4){background:var(--soft-coral)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:23px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:23px;min-width:0;box-shadow:var(--shadow)}.panel h3{font-size:15px;letter-spacing:-.2px}.panel .sub{font-size:11px;color:var(--muted);margin-top:7px;margin-bottom:17px}.activity-row{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.activity-row:last-child{border-bottom:0}.activity-row strong{font-size:12px;display:block;margin-bottom:6px;font-weight:550}.activity-row p{font-size:11px;color:var(--muted)}.activity-icon{border-radius:11px;background:var(--soft-coral);color:var(--acento-texto);width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex:none}.activity-icon .ico{width:17px}.activity-row .badge{font-size:9px}
.capability{display:flex;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.capability:last-child{border:0;padding-bottom:0}.feature-ready{color:var(--cyan);font-size:10px}.feature-pending{color:var(--acento-texto);font-size:10px}.security-art{display:flex;align-items:center;justify-content:center;width:90px;height:90px;border-radius:50%;background:var(--soft-coral);color:var(--acento-texto);margin:24px auto}.security-art .ico{width:44px;height:44px;stroke-width:1.15}.security-note{font-size:12px;color:var(--muted);line-height:1.9}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{padding:17px 19px;font-size:9px;letter-spacing:1px;color:var(--muted);background:var(--surface2);font-weight:600}td{padding:18px 19px;border-top:1px solid var(--line);line-height:1.65}td .muted{font-size:10px;margin-top:5px}td .secondary{font-size:11px}.audit-code{font-family:ui-monospace,monospace;font-size:11px}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
/* Formularios, visores y biblioteca. */
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:21px;padding:0;width:620px;max-width:calc(100vw - 32px);max-height:88dvh;box-shadow:0 24px 100px #1a080838;overflow:auto}dialog::backdrop{background:#14080866;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:21px 24px;border-bottom:1px solid var(--line);gap:12px;position:sticky;top:0;background:var(--surface);z-index:3}.modal-head h2{font-size:20px;font-weight:600}.modal-body{padding:24px}.modal-body>p{font-size:12px;line-height:1.8;color:var(--muted)}.modal-body .notice{font-size:11px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:550}.field small{font-size:10px;line-height:1.75;color:var(--muted);font-weight:400}.check-row{display:flex;align-items:center;gap:9px;font-size:12px;padding:8px 0;font-weight:400}.check-row input{accent-color:var(--acento-texto);width:16px;height:16px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:7px}.menu-action{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);font-size:12px}.menu-action:hover{background:var(--soft-coral)}.menu-action .ico{width:18px;height:18px;color:var(--acento-texto)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-list{display:flex;flex-direction:column;gap:12px}.modal-item{background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:17px;text-align:left;width:100%}.modal-item h3{font-size:14px}.modal-item p{margin-top:10px;font-size:12px;line-height:1.8;color:var(--muted)}.modal-item .meta{font-size:10px;color:var(--muted);margin-top:12px}.media-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.media-library button{padding:0;border-radius:10px;overflow:hidden}.media-library img{width:100%;height:120px;object-fit:cover;display:block}.media-viewer{width:100%;max-height:60dvh;object-fit:contain;border-radius:12px;background:var(--surface2)}.video-viewer{width:100%;max-height:58dvh;border-radius:12px}audio{max-width:100%;width:100%}.attachment-details{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;font-size:11px}.download-link{display:inline-flex;gap:8px;align-items:center;font-size:12px;padding:10px 15px;border-radius:11px;border:1px solid var(--line);text-decoration:none}.reaction-picker{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.reaction-picker button{font-size:24px;background:var(--surface2);padding:8px;border-radius:11px}.recording-status{display:flex;align-items:center;justify-content:center;color:var(--danger);padding:20px;gap:10px}.recording{color:var(--danger)}
.library-intro{display:flex;align-items:center;gap:14px;margin-bottom:23px}.library-intro h3{font-size:17px;letter-spacing:-.4px}.library-intro p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:5px}.library-mark{display:flex;align-items:center;justify-content:center;width:49px;height:49px;border-radius:14px;background:var(--soft-coral);color:var(--acento-texto);flex:none}.library-filters{padding:0 0 20px}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-card{text-align:left;padding:0 0 12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.library-card img{width:100%;height:150px;object-fit:cover}.library-card strong{padding:12px 13px 0;font-size:12px;font-weight:550;overflow-wrap:anywhere}.library-card small{padding:5px 13px 0;color:var(--muted);font-size:10px}.library-file-icon{height:125px;width:100%;display:flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--acento-texto)}.library-file-icon .ico{width:36px;height:36px}.preferences-hero{padding:15px 0 27px;text-align:center}.preferences-hero .brand-mark{vertical-align:middle}.preferences-hero .brand-word{font-size:40px;vertical-align:middle;margin-left:9px}.preferences-hero p{font-size:12px;margin-top:16px;color:var(--muted)}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;max-width:min(600px,90vw);background:var(--nav);color:#fff9ec;border:1px solid #546d76;padding:13px 20px;border-radius:13px;font-size:12px;box-shadow:0 10px 35px #263b471f;line-height:1.6}
.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1650px){.chat-shell{grid-template-columns:326px minmax(0,1fr)}.messages{padding-left:40px;padding-right:40px}}
@media(max-height:850px) and (min-width:721px){.rail{padding-top:20px}.rail-heading.second{margin-top:22px}.rail-card{padding:13px 11px;margin-bottom:14px}.rail-card p{display:none}.rail-card button{margin-top:9px}.rail-bottom{padding-top:14px}.group-cover{height:89px}.group-description{margin:13px 0 15px;font-size:10px}.context-section{margin-top:21px}.context-tools{margin-top:16px}.members-section{margin-top:15px}.group-title{margin-top:15px}.chat-header{min-height:82px;padding-top:17px;padding-bottom:17px}.composer-wrap{padding-top:10px}}
@media(max-width:1260px){.chat-shell{grid-template-columns:287px minmax(0,1fr)}.topbar-subtitle{display:none}.messages{padding-left:27px;padding-right:27px}.admin-main{padding:30px}.stats{gap:12px}.stat{padding:18px}.admin-grid{gap:17px}}
@media(max-width:1040px) and (min-width:721px){.layout{grid-template-columns:76px minmax(0,1fr)}.brand{width:76px;padding:0;justify-content:center}.brand-word{display:none}.brand-mark{width:35px;height:35px}.rail{padding:21px 10px}.rail-heading,.rail-card,.rail-profile span,.rail-profile>.ico{display:none}.rail-links{gap:9px}.nav-link{padding:14px;justify-content:center;width:53px}.nav-link span,.nav-link b{display:none}.secondary-links{margin-top:25px}.rail-bottom{padding-top:20px}.rail-profile{padding:16px 0 0;justify-content:center}.nav-link.active:before{left:0}.chat-shell{grid-template-columns:265px minmax(0,1fr)}.inbox-heading{padding-left:19px;padding-right:19px}.inbox-search,.filterbar{padding-left:16px;padding-right:16px}.conversation{padding:13px 9px;gap:9px}.conversation .avatar{width:37px;height:37px;font-size:11px}.conversation .name{font-size:11px}.saved-shortcut{margin-left:15px;margin-right:15px}.saved-shortcut .shortcut-icon{display:none}.chat-header{padding-left:18px;padding-right:18px}.chat-header h2{font-size:15px}.chat-header .avatar{width:36px;height:36px}.header-actions .icon-btn{width:29px;height:32px}.messages{padding-left:17px;padding-right:17px}.message-row{gap:7px}.message-row>.avatar{display:none}.message-wrap{max-width:90%}.message-bubble{font-size:12px;padding:11px 12px}.composer-wrap{padding-left:16px;padding-right:16px}.composer-help span:first-child{font-size:7px}.admin-main{padding:26px}.admin-header h1{font-size:27px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.panel{padding:20px}}
@media(max-width:720px){
 .topbar{height:65px;padding:0 16px;background:var(--surface);gap:12px}.brand{width:auto;height:auto;padding:0;background:none;color:var(--text);gap:6px}.brand-mark{width:28px;height:28px}.brand-word{font-size:29px;display:block}.topbar-center{display:none}.top-actions{gap:9px}.top-actions .secondary{padding:7px;width:32px;height:32px;border:0;background:var(--surface2)}.top-actions .secondary span{display:none}.top-actions>.avatar{display:none}.local-pill{font-size:8px;gap:5px}.local-pill .dot{width:5px;height:5px}
 .layout{display:block;height:calc(100dvh - 65px - 66px - env(safe-area-inset-bottom));min-height:0}.workspace{height:100%}.rail{position:fixed;left:0;right:0;bottom:0;height:calc(66px + env(safe-area-inset-bottom));padding:8px 9px calc(7px + env(safe-area-inset-bottom));z-index:10;background:var(--surface);border-top:1px solid var(--line);display:flex;flex-direction:row;align-items:center;justify-content:space-around;overflow:visible}
 .rail-heading,.rail-bottom,.secondary-links{display:none}.rail-links{display:contents}.nav-link{flex:1;max-width:90px;min-height:49px;padding:5px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:9px;border-radius:11px}.nav-link span{white-space:nowrap}.nav-link .ico{height:19px;width:19px}.nav-link b{display:none}.nav-link.active{color:var(--acento-texto);background:var(--soft-coral)}.nav-link.active:before{display:none}
 .chat-shell{display:block;height:100%}.inbox{height:100%;border:0}.chat-area{display:none;height:100%}.chat-open .inbox{display:none}.chat-open .chat-area{display:flex}.inbox-heading{padding:23px 24px 17px}.inbox-heading h1{font-size:29px}.inbox-heading .eyebrow{font-size:8px}.new-button{width:38px;height:38px}.inbox-search{padding:0 23px 17px}.searchbox input{font-size:13px;padding:13px 0}.filterbar{padding:0 23px 17px;gap:7px}.chip{font-size:11px;padding:8px 12px}.conversation-list{padding:0 13px}.list-label{padding-left:12px;padding-right:12px}.conversation{padding:16px 12px;gap:13px;margin-bottom:5px}.conversation .avatar{width:47px;height:47px;font-size:14px}.conversation .name{font-size:13px;max-width:200px}.conversation .time{font-size:9px}.conversation .preview{font-size:12px}.chat-type{font-size:9px}.inbox-footer{padding:15px 24px}.saved-shortcut{margin:15px 23px}.saved-shortcut strong,.saved-shortcut small{font-size:10px}.shortcut-icon{margin-right:4px}
 .mobile-back{display:flex;width:26px}.chat-header{padding:14px 14px 14px 9px;min-height:75px;gap:8px}.chat-header>.avatar{width:35px;height:35px;font-size:11px}.chat-header h2{font-size:15px;max-width:170px;letter-spacing:-.3px}.chat-header .meta{font-size:8px}.header-actions{gap:0}.header-actions .icon-btn{width:28px;height:33px}.header-actions .icon-btn:first-child{display:none}.header-actions .ico{width:18px;height:18px}.topics{padding:8px 15px;gap:4px}.topic{font-size:10px;padding:7px 10px}.pinned-bar{padding:11px 17px;font-size:9px;gap:7px}.pinned-bar .grow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pinned-bar button{font-size:9px}.pinned-bar strong{display:none}
 .messages{padding:10px 14px 12px}.date-label{font-size:7px;letter-spacing:.6px;margin-bottom:17px}.message-row{gap:6px;margin-bottom:15px}.message-row>.avatar{display:none}.message-wrap{max-width:89%;min-width:0}.message-bubble{padding:10px 12px;font-size:12px;line-height:1.75}.author{font-size:10px}.author span{font-size:7px}.message-meta{font-size:7px}.message-options{width:23px;opacity:.5}.media-grid{gap:5px;width:300px;margin-top:8px}.media-thumb{min-height:87px}.reaction{font-size:10px}.poll-option{font-size:10px;padding:8px}.composer-wrap{padding:9px 12px 10px}.composer-box{padding:7px 8px 8px;border-radius:15px}.composer-box textarea{font-size:13px;height:37px;min-height:37px;padding:4px 7px}.compose-tools{gap:0}.compose-tools .icon-btn{width:29px;height:32px}.compose-tools .ico{width:18px;height:18px}.composer-controls>.row .icon-btn{width:27px}.send-button{height:33px;padding:0 11px;gap:6px;font-size:10px}.send-button .ico{width:14px;height:14px}.composer-help{font-size:7px;justify-content:center;margin-top:7px}.composer-help span:first-child{display:none}.pending-file{font-size:10px}.compose-banner{font-size:10px}.audio-player{min-width:185px}.wave i{width:2px}.file-card{min-width:0;width:100%}
 .group-cover{height:110px}.context-note{font-size:10px}.quick-actions button{font-size:10px}.context-row{font-size:12px}.section-head{font-size:12px}.album-previews button{max-height:100px}.members-section{margin-bottom:5px}
 dialog{max-width:calc(100vw - 22px);max-height:86dvh;border-radius:17px}.modal-head{padding:17px 18px}.modal-head h2{font-size:18px}.modal-body{padding:18px}.field{font-size:12px}.policy-grid{grid-template-columns:1fr;gap:16px}.menu-grid{gap:9px}.menu-action{font-size:11px;padding:13px;gap:8px}.modal-item{padding:14px}.media-library{grid-template-columns:repeat(2,minmax(0,1fr))}.media-library img{height:95px}.modal-body p{font-size:11px}.library-card img{height:115px}.library-card strong{font-size:11px}.library-intro h3{font-size:15px}.library-grid{gap:11px}.form-actions{flex-wrap:wrap}.form-actions .primary,.form-actions .secondary{font-size:12px}.toast{bottom:83px;font-size:11px;padding:12px 16px}
 .admin-main{padding:24px 17px}.admin-header{display:block;margin-bottom:21px}.admin-header h1{font-size:26px;letter-spacing:-1px;line-height:1.25}.admin-header .eyebrow{font-size:8px}.admin-header p{font-size:11px;line-height:1.7}.admin-header>.secondary{margin-top:15px;font-size:10px}.notice{font-size:10px;padding:11px 13px;margin-bottom:17px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:16px}.stat{padding:15px;border-radius:12px}.stat .row{font-size:10px;gap:7px}.stat .ico{height:15px;width:15px}.stat strong{font-size:32px;margin:12px 0 6px}.stat small{font-size:9px;line-height:1.6;display:block}.admin-grid{grid-template-columns:1fr;gap:15px}.panel{padding:18px}.panel h3{font-size:14px}.activity-row strong{font-size:11px}.activity-row p{font-size:10px}.capability{font-size:10px;gap:8px}.security-note{font-size:11px}.table-wrap{max-width:100%;overflow:auto}th,td{padding:13px 14px;min-width:90px}table{font-size:11px}td .row{min-width:180px}body[data-view=admin] .rail .nav-link{font-size:8px;max-width:none}body[data-view=admin] .rail .nav-link span{white-space:normal;text-align:center;line-height:1.1}
}
@media(max-width:365px){.conversation .name{font-size:12px}.chat-header h2{max-width:145px;font-size:14px}.composer-controls{gap:0}.compose-tools .icon-btn{width:27px}.send-button{padding:0 9px}.compose-tools .ico{width:17px;height:17px}.composer-controls>.row{gap:2px!important}.pinned-bar button{font-size:8px}.nav-link{font-size:8px}.stat .row{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.mobile-more{display:none}
@media(max-width:720px){.rail .secondary-links{display:none}.rail .mobile-more{display:flex}}

.message-action{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 2px;border-bottom:1px solid var(--line);font-size:13px}
.message-action.danger{color:var(--danger)}
.modal-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
body.sin-sesion{overflow:auto}
.acceso{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:28px 16px}
.acceso-card{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px 26px 24px;box-shadow:var(--shadow)}
.acceso-card h1{font-size:22px;margin:18px 0 8px}
.acceso-card .stack{margin-top:16px}
.auth-switch{display:flex;gap:8px;margin-top:16px}
.auth-switch button{flex:1}
.banner-estado{margin:0 23px 8px}
.estado-envio{letter-spacing:.2px}
.message-wrap:has(.poll){min-width:min(320px,100%);max-width:min(460px,92%)}
.poll-option{align-items:flex-start}
.poll-option:disabled{cursor:default}
.poll-option.elegida{border-color:var(--coral);background:var(--soft-coral)}
.poll-option:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}
.poll-mark{flex:none;width:1.1em}
.poll-label{flex:1;min-width:0;white-space:normal}
.poll-foot{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:10px;color:var(--muted)}
.poll-link{padding:0;font-size:10px;color:var(--acento-texto);text-decoration:underline;text-underline-offset:2px}
.poll-edit-row{display:grid;grid-template-columns:22px minmax(0,1fr) 28px 28px 28px;gap:6px;align-items:center;margin:6px 0}
.poll-edit-index{font-size:11px;color:var(--muted);text-align:center}
.poll-edit-row input{width:100%;border:1px solid var(--line);background:var(--surface2);border-radius:9px;padding:8px 10px;font:inherit;font-size:12px}
.poll-edit-row .icon-btn{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.poll-detail h3{font-size:18px;margin-bottom:6px}
.poll-result{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:8px 0;background:var(--surface2)}
.poll-result:focus-visible{outline:2px solid var(--acento-texto);outline-offset:2px}
.poll-result strong{font-size:13px}
.poll-bar{height:8px;border-radius:99px;background:var(--line);margin:8px 0;overflow:hidden}
.poll-bar:before{content:"";display:block;height:100%;width:var(--vote);background:var(--coral)}
.poll-people{margin:4px 0 0;padding-left:18px;font-size:12px;line-height:1.7}
.compose-tools{min-width:0;overflow-x:auto}
.composer-input{display:flex;align-items:flex-end;gap:8px}
.composer-input textarea{flex:1;min-width:0;scrollbar-width:none}
.composer-input textarea::-webkit-scrollbar{display:none}
.composer-input .emoji-btn,.composer-input .mas-btn,.composer-input .camara-btn{flex:0 0 auto;width:36px;height:36px;margin-bottom:4px;border-radius:50%;color:var(--muted)}
.composer-input .emoji-btn:hover,.composer-input .emoji-btn[aria-expanded=true],.composer-input .mas-btn:hover,.composer-input .camara-btn:hover{color:var(--primary);background:var(--surface2)}
.composer-input .emoji-btn .ico,.composer-input .mas-btn .ico,.composer-input .camara-btn .ico{width:21px;height:21px}
.composer-input .emoji-btn+.mas-btn{margin-left:-6px}
.composer-input .mas-btn .ico{transition:transform .18s ease}
.composer-input .mas-btn[aria-expanded=true]{color:var(--primary);background:var(--surface2)}
.composer-input .mas-btn[aria-expanded=true] .ico{transform:rotate(45deg)}
.menu-herr{position:fixed;z-index:70;width:236px;max-height:calc(100dvh - 16px);overflow-y:auto;padding:6px;border-radius:16px;background:var(--surface);box-shadow:0 18px 40px #1408082e,0 0 0 1px var(--line);animation:mm-entra .18s cubic-bezier(.2,.9,.3,1.2) both}
.mh-item{display:flex;align-items:center;gap:11px;width:100%;padding:7px 10px;border-radius:11px;font-size:13px;color:var(--text);text-align:left}
.mh-item:hover,.mh-item:focus-visible{background:var(--surface2);outline:none}
.mh-item:focus-visible{box-shadow:inset 0 0 0 2px var(--cyan)}
.mh-ico{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#fff;background:var(--mh,var(--primary))}
.mh-ico .ico{width:16px;height:16px}
.mh-adjuntar{--mh:#a50e26}.mh-albumes{--mh:#0284c7}.mh-notas{--mh:#b45309}.mh-eventos{--mh:#be185d}
.mh-encuesta{--mh:#0f766e}.mh-programar{--mh:#6d28d9}.mh-temporales{--mh:#650817}
.mh-temporales::after{content:"";margin-left:auto;flex:none;width:7px;height:7px;border:solid var(--muted);border-width:0 2px 2px 0;transform:rotate(-45deg);transition:transform .16s ease}
.mh-temporales[aria-expanded="true"]{background:var(--surface2)}.mh-temporales[aria-expanded="true"]::after{transform:rotate(45deg)}
.mh-estado{margin-left:auto;flex:none;white-space:nowrap;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--oro-claro);background:var(--rubi-oscuro)}
.mh-temporales:has(.mh-estado)::after{margin-left:8px}
.menu-herr .menu-tiempos .mm-tiempo.activo{color:var(--oro-claro);background:var(--rubi-oscuro);box-shadow:inset 0 0 0 1.5px var(--oro)}
.menu-herr .menu-tiempos .mm-desactivar{color:var(--danger)}
.menu-herr .menu-tiempos{grid-template-columns:repeat(3,1fr);padding:4px 6px 8px 49px}
.menu-herr .menu-tiempos .mm-tiempo{padding:0 6px}
.menu-herr .menu-otra-fecha{grid-column:1/-1}
.composer-input .send-button{width:40px;height:40px;padding:0;border-radius:50%;margin-bottom:2px}
.composer-input .send-button .ico{width:18px;height:18px}
.composer-input.con-texto .mic-button,.composer-input:not(.con-texto) .send-button[type=submit]{display:none}
.record-bar{display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);border-radius:16px;box-shadow:0 3px 16px #263b4704}
.record-dot{width:9px;height:9px;border-radius:50%;background:var(--danger);flex:none;box-shadow:0 0 0 0 #c45c5c55;animation:record-pulse 1.2s ease-out infinite}
.record-time{font-variant-numeric:tabular-nums;font-size:13px;font-weight:650;min-width:36px}
.record-wave{display:flex;align-items:center;justify-content:space-between;gap:2px;height:32px;flex:1;min-width:0}
.record-wave i{display:block;width:3px;height:4px;border-radius:3px;background:var(--coral);flex:none}
.record-cancel{color:var(--danger);flex:none}
.record-bar .send-button{flex:none;width:40px;height:40px;padding:0;border-radius:50%}
.record-bar .send-button .ico{width:18px;height:18px}
.nota-play{flex:none;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--primary);border:1px solid var(--line)}
.nota-play .ico{width:15px;height:15px}
.nota-wave i{background:var(--line);transition:background .12s}
.nota-wave i.hecha{background:var(--primary)}
@keyframes record-pulse{70%{box-shadow:0 0 0 7px transparent}}

/* Marca Imperio Chat: el logo completo y el wordmark son recortes de la lámina de referencia, sin redibujar; el isotipo es un SVG propio. */
.topbar{background:var(--nav);border-bottom:1px solid var(--nav-borde,#d4a64a38);color:var(--nav-fuerte,var(--marfil))}
.topbar-subtitle{color:var(--nav-tenue,#cdbca9);border-left:0;padding-left:0}
.top-actions .local-pill{color:var(--nav-tenue,#d6c6b3)}
.top-actions .secondary{background:var(--nav-tarjeta,#ffffff0d);border-color:var(--nav-borde,#d4a64a45);color:var(--nav-fuerte,var(--marfil))}
.brand{background:var(--nav);justify-content:flex-start;gap:8px;padding:0 10px 0 16px;overflow:hidden}
.brand-icon{display:block;width:38px;height:38px;flex:none}
.brand-logo{display:block;height:54px;width:auto;min-width:0;max-width:calc(100% - 46px);object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 6%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 6%,#000 92%,transparent);mask-composite:intersect}
.rail-heading{color:var(--nav-tenue,#a8917a)}
.rail-card{border-color:var(--nav-borde,#d4a64a2e);background:var(--nav-tarjeta,#ffffff08)}
.rail-card strong{color:var(--nav-fuerte,var(--marfil))}.rail-card p{color:var(--nav-tenue,#bfae9c)}.rail-card button{color:var(--nav-acento,var(--oro-claro))}
.rail-profile{border-top-color:var(--nav-borde,#d4a64a26)}.rail-profile strong{color:var(--nav-fuerte,var(--marfil))}.rail-profile small{color:var(--nav-tenue,#a8968a)}
.nav-link b{background:var(--nav-acento,var(--oro));color:var(--nav-insignia-texto,#2a1a08)}
.nav-link.active:before{background:var(--nav-acento,var(--oro))}
@media(min-width:721px){.nav-link.active{color:var(--nav-fuerte,#ffffff)}}
.tiny-orbits i{border-color:var(--nav)}
.avatar{color:#6b1020;background:#f3dcd8}
.avatar.violeta{background:#efdcc9;color:#6b3f12}.avatar.cyan{background:#e6e0d4;color:#4f4636}.avatar.rosa{background:#f6d9d3;color:#8f2a1d}.avatar.naranja{background:#f7e8c8;color:#7a5410}
.toast{border-color:var(--nav-borde,#d4a64a55);color:var(--nav-fuerte,var(--marfil));box-shadow:0 10px 35px #14080833}
.group-cover{background:radial-gradient(ellipse at 50% 0,#8a0c22 0,#650817 45%,#1a0507 100%)}.cover-label{color:#e9d8c4}.cover-orbit{border-color:#d4a64a66}.cover-orbit:after{border-color:#ffd982}
.group-cover .avatar{border-color:#650817;background:#f3dcd8;color:#6b1020}
/* Fondos de marca. Solo para superficies de marca (arranque, acceso, cabecera de preferencias), nunca en conversaciones. */
.fondo-rubi{background:radial-gradient(ellipse at 50% 0,#c8102e 0,#650817 45%,#1a0507 100%);color:var(--marfil)}
.fondo-imperial{background:radial-gradient(ellipse at 50% 18%,#3a1418 0,#15100f 48%,#080707 100%);color:var(--marfil)}
.fondo-claro{background:radial-gradient(ellipse at 50% 0,#fffaf0 0,#f7f0e4 55%,#ecdfc8 100%);color:#2a1a14}
.acceso{flex-direction:column;gap:22px;max-height:100dvh;overflow-y:auto;color:var(--marfil);background:radial-gradient(ellipse at 50% 22%,#c8102e2e 0,transparent 58%),linear-gradient(180deg,#080707a6 0,#08070780 38%,#080707e0 78%,#080707f5 100%),url(/assets/imperio/fondos/castillo-vertical.webp) center top/cover no-repeat,#120708}
.acceso-marca{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;flex:none}
.acceso-logo{display:block;width:min(240px,56vw);height:auto;max-height:30dvh;aspect-ratio:330/336;object-fit:contain;border-radius:17%;box-shadow:0 0 0 1px #d4a64a59,0 22px 60px #000000b3,0 0 90px #c8102e40}
.acceso-lema{font-size:13px;font-weight:700;letter-spacing:.42em;margin-right:-.42em;color:var(--oro-claro);text-shadow:0 2px 12px #000}
.acceso-desc{font-size:13px;color:#d9c8b6;max-width:30ch;line-height:1.6}
.acceso-card{position:relative;border:1px solid #d4a64a59;border-radius:24px;padding:30px 28px 26px;background:linear-gradient(170deg,#1d1413f0,#0e0a09eb);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--marfil);box-shadow:0 24px 80px #000000a6,inset 0 1px 0 #ffd98221}
.acceso-card:before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#d4a64a,#ffd982,#d4a64a,transparent)}
.acceso-card input,.acceso-card .primary,.acceso-card .secondary{border-radius:999px}
.acceso-card input{padding-left:18px;padding-right:18px}
.acceso-card .primary{padding-left:26px;padding-right:26px}
.acceso-card h1{margin-top:0;color:#ffffff}
.acceso-card .muted{color:#c7b5a4}
.acceso-card .field{color:#ecdfcf}.acceso-card .field small{color:#ad9a8c}
.acceso-card input{background:#0d0908;border-color:#4a3532;color:#ffffff}
.acceso-card input:focus{outline:none;border-color:#d4a64a;box-shadow:0 0 0 3px #d4a64a38}
.acceso-card input:-webkit-autofill{-webkit-text-fill-color:#ffffff;box-shadow:0 0 0 40px #0d0908 inset;caret-color:#ffffff}
.clave-campo{position:relative;display:block}
.clave-campo input{width:100%}
.acceso-card .clave-campo input{padding-right:50px}
.clave-campo input::-ms-reveal,.clave-campo input::-ms-clear{display:none}
.ver-clave{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent;color:#ad9a8c;cursor:pointer}
.ver-clave:hover,.ver-clave[aria-pressed="true"]{color:#d4a64a}
.ver-clave:focus-visible{outline:2px solid #d4a64a;outline-offset:1px}
.ver-clave .ico{width:19px;height:19px}
.acceso-card .primary{border:1px solid #d4a64a8c;color:#ffffff;background:linear-gradient(180deg,#d4173a,#9c0b23);box-shadow:0 8px 24px #c8102e4d}
.acceso-card .primary:hover{filter:brightness(1.1)}
.acceso-card .primary:focus-visible,.acceso-card .secondary:focus-visible{outline:2px solid var(--oro-claro);outline-offset:2px}
.acceso-card .secondary{background:transparent;border-color:#d4a64a45;color:var(--marfil)}
.acceso-card .secondary:hover{border-color:var(--oro);color:var(--oro-claro)}
.preferences-hero{display:flex;align-items:center;gap:16px;padding:16px 18px;margin-bottom:18px;border-radius:16px;border:1px solid #d4a64a40;text-align:left}
.preferences-hero strong{display:block;font-size:16px;letter-spacing:-.2px}
:root[data-theme=dark] .preferences-hero{background:radial-gradient(ellipse at 50% 18%,#3a1418 0,#15100f 48%,#080707 100%);color:var(--marfil)}
:root:not([data-theme=dark]) .preferences-hero{background:radial-gradient(ellipse at 50% 0,#fffaf0 0,#f7f0e4 55%,#ecdfc8 100%);color:#2a1a14}
@media(min-width:900px){
 .acceso{flex-direction:row;align-items:safe center;justify-content:safe center;gap:clamp(40px,7vw,112px);padding:40px clamp(24px,5vw,72px);background:radial-gradient(ellipse at 30% 40%,#c8102e2e 0,transparent 55%),linear-gradient(90deg,#0807079e 0,#08070766 42%,#080707d9 70%,#080707f0 100%),url(/assets/imperio/fondos/castillo-horizontal.webp) center/cover no-repeat,#120708}
 .acceso-marca{width:min(380px,36vw);gap:16px}
 .acceso-logo{width:min(300px,30vw);max-height:46dvh}
 .acceso-lema{font-size:15px}
 .acceso-card{width:min(440px,100%)}
}
@media(max-width:1040px) and (min-width:721px){.brand{padding:0;justify-content:center}.brand-logo{display:none}}
@media(max-width:720px){
 .topbar{background:var(--nav)}
 .brand{background:none;padding:0;width:auto;height:auto;justify-content:flex-start}
 .brand-icon{width:34px;height:34px}
 .brand-logo{height:44px;max-width:none}
 .top-actions .secondary{background:var(--nav-tarjeta,#ffffff12)}
 .acceso{justify-content:flex-start;padding-top:28px}
}
@media(max-width:420px){.brand-logo{display:none}}
@media(max-height:520px){.acceso-logo{max-height:26dvh}}
.emoji-propio{width:1.25em;height:1.25em;vertical-align:-.25em;object-fit:contain}
.programar-atajos{display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}
#form-programar .primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}#form-programar .primary .ico{width:16px;height:16px}
.menu-mensaje{position:fixed;inset:0;z-index:70}
.mm-capa{position:absolute;inset:0;background:#1408081a;animation:mm-aparece .18s ease-out}
.mm-reacciones,.mm-acciones{position:fixed;background:var(--surface);box-shadow:0 18px 40px #1408082e,0 0 0 1px var(--line);animation:mm-entra .2s cubic-bezier(.2,.9,.3,1.2) both}
.mm-reacciones{display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px}
.mm-reaccion{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:26px;line-height:1;transition:transform .14s ease,background .14s ease}
.mm-reaccion .emoji-propio{width:32px;height:32px;vertical-align:0}
.mm-reaccion:hover,.mm-reaccion:focus-visible{transform:translateY(-4px) scale(1.2);background:var(--surface2);outline:none}
.mm-reaccion.activa{background:var(--soft-coral);box-shadow:inset 0 0 0 2px #f7931e66}
.mm-mas{background:var(--surface2);color:var(--muted)}.mm-mas .ico{width:20px;height:20px}
.mm-acciones{min-width:224px;padding:6px;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;animation-delay:.04s}
.mm-acciones::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#650817,#c8102e,#d4a64a,#ffd982)}
.mm-accion{display:flex;align-items:center;gap:13px;padding:10px 13px;border-radius:13px;font-size:13px;color:var(--text);text-align:left}
.mm-accion .ico{width:18px;height:18px;color:var(--muted)}
.mm-accion:hover,.mm-accion:focus-visible{background:var(--surface2);outline:none}.mm-accion:focus-visible{box-shadow:inset 0 0 0 2px var(--cyan)}
.mm-accion.peligro,.mm-accion.peligro .ico{color:var(--danger)}
.mm-temporizador{position:relative}.mm-temporizador::after{content:"";margin-left:auto;width:7px;height:7px;border:solid var(--muted);border-width:0 2px 2px 0;transform:rotate(-45deg);transition:transform .16s ease}
.mm-temporizador[aria-expanded="true"]{background:var(--surface2)}.mm-temporizador[aria-expanded="true"]::after{transform:rotate(45deg)}
.mm-tiempos{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px 8px 8px 44px;animation:mm-despliega .16s ease-out}
.mm-tiempos[hidden]{display:none}
.menu-programar::after{content:"";margin-left:auto;width:7px;height:7px;border:solid var(--muted);border-width:0 2px 2px 0;transform:rotate(-45deg);transition:transform .16s ease}
.menu-programar[aria-expanded="true"]{border-color:var(--cyan)}.menu-programar[aria-expanded="true"]::after{transform:rotate(45deg)}
.menu-tiempos{grid-column:1/-1;grid-template-columns:repeat(7,auto);justify-content:start;padding:0 0 2px}
.menu-tiempos .mm-tiempo{padding:0 13px}
.menu-tiempos-nota{grid-column:1/-1;font-size:10.5px;color:var(--muted)}
@media(max-width:720px){.menu-tiempos{grid-template-columns:repeat(4,auto)}}
.mm-tiempo{height:28px;border-radius:999px;background:var(--surface2);color:var(--text);font-size:11.5px;font-weight:600;white-space:nowrap;transition:background .14s ease,color .14s ease,transform .14s ease}
.mm-tiempo:hover,.mm-tiempo:focus-visible{background:linear-gradient(135deg,#d4173a,#7a0b1d);color:#fff;transform:translateY(-1px);outline:none}
.mm-tiempo:disabled{opacity:.38;cursor:default;transform:none;background:var(--surface2);color:var(--muted)}
.reloj-mensaje{display:inline-flex;align-items:center;gap:2px;color:var(--acento-texto);font-weight:600}.reloj-mensaje .ico{color:currentColor}
#messages .message-row.desvanece{animation:desvanece .45s ease forwards}
@keyframes desvanece{to{opacity:0;transform:scale(.92);filter:blur(2px)}}
@keyframes mm-despliega{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mm-tiempos,#messages .message-row.desvanece{animation:none}}
#messages .message-row.seleccionado{background:linear-gradient(90deg,#c8102e0d,#c8102e26);border-radius:16px;box-shadow:0 0 0 6px #c8102e1a}
@keyframes mm-entra{from{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:none}}
@keyframes mm-aparece{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.mm-reacciones,.mm-acciones,.mm-capa{animation:none}}
#messages .message-bubble{-webkit-touch-callout:none;transition:transform .18s ease,box-shadow .18s ease}
#messages .message-bubble.presionando{transform:scale(.97);box-shadow:0 0 0 3px #c8102e33}
@media(pointer:coarse){#messages .message-bubble{-webkit-user-select:none;user-select:none}}
.message-bubble .body-text.emoji-solo{font-size:28px;line-height:1.25;letter-spacing:2px}
.message-bubble .body-text.emoji-grande{font-size:44px;line-height:1.15}
.emoji-mov{display:inline-block;transform-origin:50% 70%;cursor:default}
.emoji-mov.animar{animation-name:var(--mov);animation-duration:1.15s;animation-timing-function:ease-in-out;animation-iteration-count:2;animation-fill-mode:both}
.mov-rebote{--mov:mov-rebote}.mov-latido{--mov:mov-latido;transform-origin:50% 55%}.mov-saludo{--mov:mov-saludo;transform-origin:72% 88%}.mov-pulgar{--mov:mov-pulgar;transform-origin:40% 90%}.mov-aplauso{--mov:mov-aplauso}.mov-risa{--mov:mov-risa}.mov-triste{--mov:mov-triste}.mov-enojo{--mov:mov-enojo}.mov-sorpresa{--mov:mov-sorpresa}.mov-brillo{--mov:mov-brillo}.mov-flotar{--mov:mov-flotar}.mov-bandera{--mov:mov-bandera;transform-origin:0 50%}
@keyframes mov-rebote{0%,100%{transform:none}25%{transform:translateY(-16%) scale(1.06)}45%{transform:translateY(0) scale(1.08,.92)}65%{transform:translateY(-6%)}80%{transform:none}}
@keyframes mov-latido{0%,60%,100%{transform:none}12%{transform:scale(1.24)}24%{transform:scale(.94)}36%{transform:scale(1.16)}48%{transform:scale(1)}}
@keyframes mov-saludo{0%,70%,100%{transform:none}10%{transform:rotate(18deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(18deg)}40%{transform:rotate(-6deg)}50%{transform:rotate(12deg)}60%{transform:rotate(0)}}
@keyframes mov-pulgar{0%,100%{transform:none}25%{transform:translateY(-14%) rotate(-14deg) scale(1.12)}45%{transform:translateY(4%) rotate(4deg) scale(.96)}65%{transform:translateY(-4%) rotate(-3deg)}}
@keyframes mov-aplauso{0%,70%,100%{transform:none}10%,30%,50%{transform:scale(.84)}20%,40%,60%{transform:scale(1.12)}}
@keyframes mov-risa{0%,100%{transform:none}12%{transform:rotate(-14deg) scale(1.08)}26%{transform:rotate(12deg) scale(1.08)}40%{transform:rotate(-10deg)}54%{transform:rotate(8deg)}68%{transform:rotate(-4deg)}82%{transform:rotate(2deg)}}
@keyframes mov-triste{0%,100%{transform:none}35%{transform:translateY(10%) rotate(-7deg) scale(.94)}65%{transform:translateY(8%) rotate(5deg) scale(.96)}}
@keyframes mov-enojo{0%,90%,100%{transform:none}10%,30%,50%,70%{transform:translateX(-7%) rotate(-4deg) scale(1.06)}20%,40%,60%,80%{transform:translateX(7%) rotate(4deg) scale(1.06)}}
@keyframes mov-sorpresa{0%,100%{transform:none}18%{transform:translateY(-10%) scale(1.3)}38%{transform:scale(.92)}58%{transform:scale(1.06)}78%{transform:none}}
@keyframes mov-brillo{0%,100%{transform:none;filter:none}25%{transform:scale(1.16) rotate(-8deg);filter:brightness(1.25) saturate(1.2)}50%{transform:scale(.95) rotate(6deg);filter:none}75%{transform:scale(1.08) rotate(-3deg);filter:brightness(1.15)}}
@keyframes mov-flotar{0%,100%{transform:none}50%{transform:translateY(-12%) rotate(-5deg)}}
@keyframes mov-bandera{0%,100%{transform:none}25%{transform:skewY(-7deg) scaleX(.95)}50%{transform:skewY(5deg)}75%{transform:skewY(-3deg) scaleX(.98)}}
@media(prefers-reduced-motion:reduce){.emoji-mov.animar{animation:none}}
.emoji-strip .emoji-mas{display:inline-flex;align-items:center;justify-content:center;width:38px;color:var(--primary);border:1px dashed var(--line)}
.emoji-strip .emoji-mas .ico{width:18px;height:18px}
.tep{position:fixed;z-index:70;width:min(380px,calc(100vw - 16px));height:min(430px,calc(100dvh - 16px));display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px #14080838;overflow:hidden}
.tep:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#650817,#c8102e 38%,#d4a64a 72%,#ffd982)}
.tep .ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tep-cabeza{display:flex;align-items:center;gap:6px;padding:14px 12px 8px}
.tep-buscar{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);color:var(--muted)}
.tep-buscar:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #d4a64a38}
.tep-consulta{flex:1;min-width:0;border:0;background:none;padding:0;color:var(--text);outline:none}
.tep-consulta::-webkit-search-cancel-button{cursor:pointer}
.tep-btn{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted)}
.tep-btn:hover{background:var(--surface2);color:var(--text)}
.tep-tonos{display:flex;gap:4px;padding:0 12px 8px}
.tep-tonos[hidden]{display:none}
.tep-tono{width:38px;height:38px;border-radius:12px;font-size:20px;border:1px solid transparent}
.tep-tono.activo{border-color:var(--primary);background:var(--outgoing)}
.tep-categorias{display:flex;gap:2px;padding:0 8px 6px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tep-cat{position:relative;flex:1 0 32px;height:36px;border-radius:10px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}
.tep-cat.activa{color:var(--primary);background:var(--outgoing)}
.tep-cat.activa:after{content:"";position:absolute;left:25%;right:25%;bottom:-7px;height:3px;border-radius:3px;background:linear-gradient(90deg,#c8102e,#d4a64a,#ffd982)}
:root[data-theme=dark] .tep-cat.activa{color:#fff}
.tep-cuerpo{flex:1;min-height:0;overflow-y:auto;padding:4px 10px 8px;overscroll-behavior:contain}
.tep-titulo{position:sticky;top:0;z-index:1;margin:0;padding:8px 2px 6px;font-size:11px;font-weight:650;letter-spacing:.4px;color:var(--muted);background:var(--surface)}
.tep-rejilla{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}
.tep-emoji{position:relative;aspect-ratio:1;min-height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;font-family:"TILUM Banderas","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}
.tep-emoji:hover,.tep-emoji:focus-visible{background:var(--outgoing)}
.tep-emoji:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.tep-emoji.con-tonos:after{content:"";position:absolute;right:5px;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--coral)}
.tep-emoji.favorito:before{content:"";position:absolute;left:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--cyan)}
.tep-img{width:28px;height:28px;object-fit:contain}
.tep-estado{grid-column:1/-1;padding:28px 12px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}
.tep-error p{color:var(--danger)}
.tep-reintentar{margin-top:10px;padding:8px 16px;border-radius:999px;background:var(--primary);color:var(--sobre-acento);font-weight:600}
.tep-pie{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-top:1px solid var(--line);background:var(--surface2)}
.tep-grande{font-size:30px;line-height:1;width:36px;text-align:center;font-family:"TILUM Banderas","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}
.tep-grande .tep-img{width:32px;height:32px}
.tep-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tep-info strong{font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tep-info small,.tep-ayuda{font-size:10px;color:var(--muted)}
.tep-fav.activo{color:var(--coral)}
.tep-fav.activo .ico{fill:currentColor}
.tep-variantes{position:absolute;left:10px;right:10px;bottom:66px;z-index:3;padding:10px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 36px #14080833}
.tep-variantes[hidden]{display:none}
.tep-variantes-cabeza{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px}
.tep-rejilla-variantes{grid-template-columns:repeat(6,minmax(0,1fr));max-height:200px;overflow-y:auto}
.tep.tep-hoja{left:0;right:0;bottom:0;top:auto;width:100%;height:min(56dvh,440px);border-radius:22px 22px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:420px){.tep-rejilla{grid-template-columns:repeat(7,minmax(0,1fr))}.tep-emoji{font-size:23px}}
@media(prefers-reduced-motion:no-preference){.tep{animation:tep-entrar .14s ease-out}}
@keyframes tep-entrar{from{opacity:0;transform:translateY(6px)}}

/* Stickers TILUM */
.tep.tsp{width:min(400px,calc(100vw - 16px));height:min(470px,calc(100dvh - 16px))}
.tep.tsp.tep-hoja{width:100%;height:min(62dvh,460px)}
.tep.tep-con-pestanas{width:min(400px,calc(100vw - 16px));height:min(500px,calc(100dvh - 16px))}
.tep.tep-con-pestanas.tep-hoja{width:100%;height:min(66dvh,520px)}
.tep-pestanas{flex:none;display:flex;align-self:center;gap:2px;margin:12px auto 0;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface2)}
.tep-pestana{display:inline-flex;align-items:center;justify-content:center;width:56px;height:34px;border-radius:999px;color:var(--muted)}
.tep-pestana:hover{color:var(--text)}
.tep-pestana[aria-selected="true"]{background:var(--surface);color:var(--primary);box-shadow:0 1px 4px #14080824}
.tep-pestana:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.tep-con-pestanas .tep-cabeza{padding-top:10px}
.tsp-categorias{gap:4px}
.tsp-cat{flex:0 0 42px;height:40px}
.tsp-cat img{width:28px;height:28px;object-fit:contain;pointer-events:none}
.tsp .tep-cuerpo{touch-action:pan-y}
.tsp-rejilla{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tsp-sticker{position:relative;aspect-ratio:1;border-radius:16px;border:2px solid transparent;display:flex;align-items:center;justify-content:center;padding:6px;background:none}
.tsp-sticker img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.tsp-sticker:hover{background:var(--outgoing)}
.tsp-sticker:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.tsp-sticker.elegido{border-color:var(--primary);background:var(--outgoing)}
.tsp-sticker.no-disponible{opacity:.45;cursor:not-allowed}
.tsp-roto{font-size:22px;font-weight:700;color:var(--muted)}
.tsp-pie{min-height:72px}
.tsp-vista{width:56px;height:56px;object-fit:contain;flex:none}
.tsp-enviar{flex:none;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:999px;background:var(--primary);color:var(--sobre-acento);font-weight:650;font-size:12px}
.tsp-enviar .ico{width:16px;height:16px}
.tsp-enviar:disabled{opacity:.6;cursor:progress}
.tsp-fallo{color:var(--danger)!important}
@media(max-width:420px){.tsp-rejilla{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}}

.message-bubble.burbuja-sticker{background:none;border-color:transparent;box-shadow:none;padding:2px 2px 4px}
.mine .message-bubble.burbuja-sticker{background:none;border-color:transparent}
.traduccion{margin-top:9px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--muted) 45%,transparent)}
.traduccion-texto{white-space:pre-wrap;font-size:12.5px}
.traduccion.cargando .traduccion-texto{color:var(--muted);font-style:italic}
.traduccion.error .traduccion-texto{color:var(--danger,#c0392b)}
.traduccion-pie{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px;font-size:10px;color:var(--muted)}
.traduccion-pie .ico{width:12px;height:12px;flex:none}
.traduccion-nota{font-size:10px}
.traducir-a{display:inline-flex;align-items:center;gap:3px;max-width:170px;padding:2px 6px 2px 9px;font:inherit;font-size:10.5px;font-weight:600;color:var(--acento-texto);background:var(--surface);border:1px solid var(--line);border-radius:999px;white-space:nowrap;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.traducir-a:hover,.traducir-a[aria-expanded=true]{border-color:var(--primary);background:var(--surface2)}
.traducir-a .ico{width:12px;height:12px;transition:transform .15s ease}
.traducir-a[aria-expanded=true] .ico{transform:rotate(180deg)}
.flot-menu.flot-idiomas{width:372px;max-height:min(430px,calc(var(--vv-alto,100dvh) - 16px));overflow-x:hidden}
.flot-idiomas .flot-filas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.flot-idiomas .flot-fila{min-height:38px;gap:8px;padding:5px 8px}
.flot-idiomas .flot-etiqueta{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flot-idiomas .flot-ico{width:auto}
.trad-codigo{min-width:26px;padding:2px 0;border-radius:6px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-align:center;color:var(--muted);background:var(--surface2);border:1px solid var(--line)}
.trad-codigo.actual{color:var(--sobre-acento);background:var(--primary);border-color:var(--primary)}
.flot-idiomas .flot-fila[aria-current=true]{background:var(--soft-coral)}
.flot-idiomas .flot-fila[aria-current=true] .flot-etiqueta{font-weight:650;color:var(--acento-texto)}
.traduccion-cerrar,.traduccion .enlace{font:inherit;font-size:10px;color:var(--primary);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.traduccion-cerrar{margin-left:auto}
.burbuja-sticker .quote{background:var(--surface);border:1px solid var(--line);margin-bottom:6px;max-width:220px}
.sticker-mensaje{margin:0;width:160px;max-width:min(160px,60vw);aspect-ratio:1}
.mine .sticker-mensaje,.mine .sticker-roto{margin-left:auto}
.sticker-img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;user-select:none}
.burbuja-sticker .message-meta{width:fit-content;margin:2px 0 0 auto;padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.sticker-roto{width:160px;max-width:60vw;aspect-ratio:1;border:1px dashed var(--line);border-radius:18px;background:var(--surface2);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;text-align:center}
.sticker-roto .ico{width:30px;height:30px;stroke-width:1.5}
.sticker-roto strong{font-size:11px;color:var(--text);overflow-wrap:anywhere}
.sticker-roto small{font-size:9px}
@media(max-width:720px){.sticker-mensaje,.sticker-roto{width:132px}}

.ast-packs{list-style:none;margin:0;padding:0}
.ast-packs li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ast-packs li:last-child{border-bottom:0}
.ast-pack-nombre{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:3px}
.ast-pack-nombre strong{font-size:12px}
.ast-packs .muted{font-size:11px}
.ast-pack-acciones{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ast-pack-acciones .icon-btn{width:32px;height:32px;border:1px solid var(--line)}
.ast-pack-acciones .icon-btn:disabled{opacity:.35}
.ast-pack-acciones .secondary{font-size:11px;padding:7px 11px}
.ast-catalogo,.ast-rechazados{margin-top:20px}
.ast-rechazados ul{margin:10px 0 0;padding-left:18px;font-size:11px;line-height:1.8;color:var(--danger)}
.ast-filtros{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.3fr);gap:12px;margin:14px 0}
.ast-cuenta{font-size:11px;margin-bottom:10px}
.ast-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ast-sticker{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center;min-width:0}
.ast-sticker strong{font-size:12px;line-height:1.35}
.ast-sticker .audit-code{font-size:10px;overflow-wrap:anywhere}
.ast-sticker .muted{font-size:10px}
.ast-sticker .secondary{margin-top:4px;font-size:11px;padding:6px 12px}
.ast-sticker.oculto{border-style:dashed;background:var(--surface2)}
.ast-sticker.oculto .ast-vista img{opacity:.55}
.ast-sticker.rechazado{border-color:var(--danger)}
.ast-vista{width:96px;height:96px;display:flex;align-items:center;justify-content:center;border-radius:12px;padding:4px;background:none}
.ast-vista:hover,.ast-vista:focus-visible{background:var(--outgoing)}
.ast-vista img{width:88px;height:88px;object-fit:contain;-webkit-user-drag:none}
.ast-motivo{font-size:10px;color:var(--danger)}
.ast-detalle{display:flex;flex-direction:column;align-items:center;gap:14px}
.ast-grande{width:min(256px,70vw);aspect-ratio:1;border-radius:18px;background:repeating-conic-gradient(var(--surface2) 0 25%,transparent 0 50%) 0 0/24px 24px;display:flex;align-items:center;justify-content:center}
.ast-grande img{width:100%;height:100%;object-fit:contain}
.ast-detalle dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;width:100%;font-size:12px;margin:0}
.ast-detalle dt{color:var(--muted)}
.ast-detalle dd{margin:0;overflow-wrap:anywhere}
@media(max-width:720px){.ast-filtros{grid-template-columns:1fr 1fr}.ast-buscar{grid-column:1/-1}.ast-rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ast-vista{width:80px;height:80px}.ast-vista img{width:72px;height:72px}}
.cam-capa{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;background:#080707f2;color:#fff;animation:mm-aparece .18s ease-out}
.cam-capa [hidden]{display:none!important}
.cam-marco{position:relative;width:min(820px,100%);aspect-ratio:16/10;max-height:calc(100dvh - 170px);border-radius:22px;overflow:hidden;background:#000;box-shadow:0 0 0 1px #ffffff1f,0 24px 70px #0009}
.cam-vivo,.cam-revision{position:absolute;inset:0;width:100%;height:100%}
.cam-vivo{object-fit:cover}.cam-vivo.espejo{transform:scaleX(-1)}
.cam-revision{display:grid;place-items:center;background:#000}
.cam-revision img,.cam-revision video{max-width:100%;max-height:100%;object-fit:contain}
.cam-aviso{position:absolute;inset:auto 16px 16px;text-align:center;font-size:13px;line-height:1.6;pointer-events:none}
.cam-aviso:not(:empty){padding:10px 14px;border-radius:14px;background:#140808d9}
.cam-aviso button{pointer-events:auto;margin-top:8px}
.cam-btn{position:absolute;top:12px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1408088c;color:#fff;backdrop-filter:blur(6px)}
.cam-btn:hover{background:#140808cc}.cam-btn .ico{width:20px;height:20px}
.cam-cerrar{left:12px}.cam-girar{right:12px}
.cam-reloj{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#140808cc;font-size:13px;font-variant-numeric:tabular-nums}
.cam-reloj i{width:9px;height:9px;border-radius:50%;background:#ef4444;animation:cam-latido 1s ease-in-out infinite}
.cam-barra{display:flex;flex-direction:column;align-items:center;gap:10px}
.cam-pista{font-size:12px;color:#c7d2fe}
.cam-disparador{position:relative;display:grid;place-items:center;width:74px;height:74px;border-radius:50%;border:4px solid #fff;background:transparent;touch-action:none;-webkit-user-select:none;user-select:none}
.cam-disparador span{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#d4173a,#7a0b1d);transition:all .2s ease}
.cam-disparador:active span{transform:scale(.92)}
.cam-disparador:disabled{opacity:.4}
.cam-disparador:focus-visible,.cam-btn:focus-visible,.cam-accion:focus-visible{outline:3px solid #ffd982;outline-offset:3px}
.cam-capa.grabando .cam-disparador{border-color:#fca5a5}
.cam-capa.grabando .cam-disparador span{width:28px;height:28px;border-radius:8px;background:#ef4444}
.cam-capa.grabando .cam-disparador::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:3px solid #ef444466;animation:cam-latido 1.2s ease-in-out infinite}
.cam-barra-revision{flex-direction:row;gap:12px}
.cam-accion{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;background:#ffffff1f;color:#fff;font-size:14px;font-weight:600}
.cam-accion:hover{background:#ffffff33}.cam-accion .ico{width:18px;height:18px}
.cam-accion:disabled{opacity:.5}
.cam-usar{background:linear-gradient(135deg,#d4173a,#7a0b1d)}.cam-usar:hover{background:linear-gradient(135deg,#e0234a,#8a0d22)}
.cam-capa.destello .cam-marco::after{content:"";position:absolute;inset:0;background:#fff;animation:cam-destello .26s ease-out forwards}
@keyframes cam-destello{from{opacity:.85}to{opacity:0}}
@keyframes cam-latido{50%{opacity:.35}}
@media(max-width:720px){.cam-capa{padding:0 0 calc(16px + env(safe-area-inset-bottom));gap:14px;justify-content:space-between}.cam-marco{width:100%;flex:1;aspect-ratio:auto;max-height:none;border-radius:0 0 22px 22px}}
@media(prefers-reduced-motion:reduce){.cam-reloj i,.cam-capa.grabando .cam-disparador::after{animation:none}}

/* Mis stickers */
.tsp-crear{flex-direction:column;gap:3px;border:2px dashed color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent);font-size:11px;font-weight:700}
.tsp-crear .ico{width:24px;height:24px;stroke-width:2.2}
.tsp-crear:hover{background:color-mix(in srgb,var(--primary) 12%,transparent);border-style:solid}
.tsp-crear:disabled{opacity:.5;cursor:not-allowed}
.tsp-primera{grid-column:2/-1;align-self:center;margin:0;padding:0 6px;font-size:11.5px;line-height:1.6;color:var(--muted)}
.tsp-quitar{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--muted)}
.tsp-quitar:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}
.tsp-quitar .ico{width:18px;height:18px}
.tsp-secundario{flex:none;height:38px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text);background:var(--surface3)}
.tsp-enviar.tsp-peligro{background:var(--danger)}

/* Creador de stickers */
.stc-capa{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:#140808a6;backdrop-filter:blur(6px);animation:mm-aparece .18s ease-out}
.stc-hoja{position:relative;display:flex;flex-direction:column;width:min(760px,100%);max-height:calc(100dvh - 40px);background:var(--surface);color:var(--text);border-radius:26px;box-shadow:0 30px 90px #14080866;overflow:hidden;transition:box-shadow .15s}
.stc-hoja.soltando{box-shadow:0 0 0 3px var(--cyan),0 30px 90px #14080866}
.stc-cabeza{display:flex;align-items:center;gap:8px;padding:14px 14px 10px 22px;border-bottom:1px solid var(--line)}
.stc-cabeza h2{flex:1;margin:0;font-size:17px;font-weight:700;letter-spacing:-.2px}
.stc-cabeza .stc-icono[data-stc="volver"]:not([hidden])+h2{margin-left:-6px}
.stc-icono{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--muted)}
.stc-icono:hover{background:var(--surface3);color:var(--text)}
.stc-icono[hidden]{display:none}
.stc-icono .ico{width:20px;height:20px}
.stc-cuerpo{flex:1;min-height:0;overflow-y:auto;padding:20px 22px 22px}
.stc-intro{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--muted)}
.stc-origenes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stc-origenes + .stc-interruptor{margin-top:16px}
.stc-origen{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;border-radius:20px;border:1px solid var(--line);background:var(--surface2);text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}
.stc-origen:hover:not(:disabled){transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 40%,var(--line));box-shadow:0 12px 30px #1408081f}
.stc-origen:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.stc-origen:disabled{opacity:.55;cursor:not-allowed}
.stc-origen strong{font-size:15px;font-weight:700}
.stc-origen small{font-size:12px;color:var(--muted)}
.stc-origen-ico{display:grid;place-items:center;width:52px;height:52px;margin-bottom:8px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#f7931e,#e8590c)}
.stc-origen-mov .stc-origen-ico{background:linear-gradient(135deg,#d4173a,#7a0b1d)}
.stc-origen-ico .ico{width:26px;height:26px}
.stc-nota{margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.stc-alerta{margin:16px 0 0;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.6;background:var(--soft-coral);color:var(--text);border:1px solid color-mix(in srgb,var(--coral) 35%,transparent)}
.stc-alerta code{font-size:12px;padding:1px 5px;border-radius:6px;background:var(--surface)}
.stc-aviso-vivo{margin:12px 0 0;min-height:1em;font-size:12.5px}
.stc-aviso-vivo:empty{display:none}
.stc-aviso-vivo.error{color:var(--danger)}.stc-aviso-vivo.info{color:var(--muted)}
.stc-escenario{display:grid;place-items:center;height:min(42dvh,340px);border-radius:20px;background:#140808;overflow:hidden}
.stc-clip{max-width:100%;max-height:100%;object-fit:contain}
.stc-tramo{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:16px}
.stc-campo{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.stc-campo input[type=range]{width:min(320px,52vw);accent-color:var(--primary)}
.stc-campo output{min-width:44px;font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}
.stc-grupo{display:inline-flex;flex-wrap:wrap;gap:6px}
.stc-chip{height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:600}
.stc-chip:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}
.stc-chip.activo{background:var(--primary);border-color:var(--primary);color:var(--sobre-acento)}
.stc-chip:disabled{opacity:.45;cursor:not-allowed}
.stc-dato{flex-basis:100%;margin:0;font-size:12px;color:var(--muted)}
.stc-acciones{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}
.stc-primario,.stc-secundario,.stc-peligro{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:650}
.stc-primario{color:#fff;background:linear-gradient(135deg,#d4173a,#9c0b23);box-shadow:0 8px 20px #c8102e40}
.stc-primario:hover:not(:disabled){filter:brightness(1.08)}
.stc-primario:disabled{opacity:.65;cursor:progress}
.stc-primario .ico{width:18px;height:18px}
.stc-secundario{color:var(--text);background:var(--surface3)}
.stc-secundario:hover{filter:brightness(.97)}
.stc-peligro{color:#fff;background:var(--danger)}
.stc-proceso{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 10px 10px;text-align:center}
.stc-proceso .stc-alerta{margin:0;max-width:460px}
.stc-brillo{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;color:#fff;background:conic-gradient(from 0deg,#c8102e,#d4a64a,#ffd982,#c8102e);animation:stc-gira 2.4s linear infinite}
.stc-brillo .ico{width:38px;height:38px;animation:stc-gira 2.4s linear infinite reverse}
.stc-proceso-texto{margin:0;font-size:14px;font-weight:600}
.stc-barra{width:min(360px,80%);height:8px;border-radius:999px;overflow:hidden;appearance:none;background:var(--surface3);border:0}
.stc-barra::-webkit-progress-bar{background:var(--surface3)}
.stc-barra::-webkit-progress-value{background:linear-gradient(90deg,#d4a64a,#c8102e);border-radius:999px;transition:width .25s}
.stc-barra::-moz-progress-bar{background:linear-gradient(90deg,#d4a64a,#c8102e);border-radius:999px}
@keyframes stc-gira{to{transform:rotate(360deg)}}
.stc-editor{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:22px;align-items:start}
.stc-lienzo{position:sticky;top:0;aspect-ratio:1;border-radius:22px;border:1px solid var(--line);background:repeating-conic-gradient(var(--surface3) 0 25%,var(--surface) 0 50%) 0 0/22px 22px;display:grid;place-items:center;overflow:hidden}
.stc-vista{width:100%;height:100%}
.stc-controles{display:flex;flex-direction:column;gap:16px;min-width:0}
.stc-seccion{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:9px}
.stc-seccion legend{margin-bottom:9px;padding:0;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--muted)}
.stc-fila{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.stc-muestra{position:relative;width:30px;height:30px;border-radius:50%;background:var(--muestra);box-shadow:inset 0 0 0 1px #1408082e;cursor:pointer}
.stc-muestra.activo{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}
.stc-muestra:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.stc-libre{background:conic-gradient(#ff5fa2,#f7931e,#ffd84d,#7cd992,#22d3ee,#2f5bd3,#ff5fa2);overflow:hidden}
.stc-libre input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.stc-libre:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
.stc-interruptor{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;cursor:pointer}
.stc-interruptor input{width:18px;height:18px;accent-color:var(--primary)}
.stc-entrada{width:100%;height:40px;padding:0 13px;border-radius:12px;border:1px solid var(--line);background:var(--input);color:var(--text);font:inherit;font-size:14px}
.stc-entrada:focus{outline:2px solid color-mix(in srgb,var(--cyan) 60%,transparent);outline-offset:0;border-color:transparent}
.stc-campo-nombre{flex-direction:column;align-items:stretch;gap:8px;font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.3px}
.stc-salir{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 40px #14080833;animation:mm-aparece .15s ease-out}
.stc-salir span{flex:1;min-width:160px;font-size:13.5px;font-weight:600}
.stc-salir button{height:38px;padding:0 16px;font-size:13px}
@media(max-width:720px){
  .stc-capa{padding:0;align-items:flex-end}
  .stc-hoja{width:100%;max-height:100dvh;height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
  .stc-origenes{grid-template-columns:1fr}
  .stc-origen{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;row-gap:2px;padding:16px}
  .stc-origen-ico{grid-row:span 2;margin:0}
  .stc-origen strong{align-self:end}.stc-origen small{align-self:start}
  .stc-editor{grid-template-columns:1fr}
  .stc-lienzo{position:static;width:min(78vw,300px);margin:0 auto}
  .stc-acciones{position:sticky;bottom:-22px;margin:18px -22px -22px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}
  .stc-acciones button{flex:1}
}
@media(prefers-reduced-motion:reduce){.stc-brillo,.stc-brillo .ico{animation:none}.stc-origen{transition:none}}
.tlf-numero{display:flex;gap:8px}
.tlf-numero select{flex:0 1 auto;max-width:48%;min-width:0}
.tlf-numero input{flex:1;min-width:0}
.tlf-codigo{position:relative;display:flex;gap:8px;cursor:text;margin-top:2px}
.tlf-codigo input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;font-size:16px;color:transparent;caret-color:transparent;background:transparent}
.tlf-casilla{flex:1;max-width:54px;height:54px;display:grid;place-items:center;border-radius:16px 16px 16px 6px;border:1.5px solid var(--line);background:var(--surface);font-size:22px;font-weight:650;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}
.tlf-corte{margin-right:12px}
.tlf-casilla.activa{border-color:var(--acento-texto);box-shadow:0 0 0 3px color-mix(in srgb,var(--acento-texto) 25%,transparent)}
.tlf-enlaces{display:flex;justify-content:space-between;gap:12px}
.tlf-enlace{background:none;border:0;padding:4px 0;font:inherit;font-size:12px;color:var(--acento-texto);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tlf-enlace:disabled{color:var(--muted);text-decoration:none;cursor:default}
.tlf-nota{font-size:11px;color:var(--muted)}
.tlf-error{font-size:12px;line-height:1.6;color:#d6455d;margin:0}
.tlf-error[hidden]{display:none}
.auth-alterna{display:flex;justify-content:center;margin-top:14px}
.auth-separador{display:flex;align-items:center;gap:12px;margin:14px 0 10px;color:#ad9a8c;font-size:12px}
.auth-separador::before,.auth-separador::after{content:"";flex:1;height:1px;background:#4a3532}
.google-boton{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 16px;border:1px solid #8e918f;border-radius:999px;background:#131314;color:#e3e3e3;font:inherit;font-weight:600;cursor:pointer}
.google-boton:hover{background:#1f1f20}
.google-boton:disabled{opacity:.6;cursor:progress}
.google-logo{width:18px;height:18px;flex:none}
.auth-proveedores{display:grid;gap:10px}
.google-error{font-size:12px;line-height:1.6;color:#d6455d;margin:8px 0 0;text-align:center}
.google-error[hidden]{display:none}
.acceso-card select{background:#0d0908;border-color:#4a3532;color:#ffffff;border-radius:999px;padding-left:14px}
.acceso-card .tlf-casilla{background:#0d0908;border-color:#4a3532;color:#ffffff}
.acceso-card .tlf-casilla.activa{border-color:#d4a64a;box-shadow:0 0 0 3px #d4a64a38}
.acceso-card .tlf-enlace{color:var(--oro-claro)}
.acceso-card .tlf-enlace:disabled{color:#ad9a8c}
.acceso-card .tlf-error{color:#ff9fae}
.acceso-card .tlf-nota{color:#ad9a8c}
.pref-telefono{margin-bottom:18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px}
.pref-telefono-fila{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pref-telefono-fila strong{font-size:13px}
.pref-telefono-fila p{margin:2px 0 0;font-size:12px}
.pref-telefono .tlf{margin-top:12px}
@media(max-width:420px){.tlf-codigo{gap:6px}.tlf-casilla{height:48px;font-size:20px}.tlf-corte{margin-right:8px}}
/* Arranque: luz roja, gema con flor de lis, logo y salida. app.js lo retira en cuanto la app está lista; no hay espera mínima. */
.arranque{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;overflow:hidden;transition:opacity .28s ease,visibility 0s linear .28s}
.arranque.saliendo{opacity:0;visibility:hidden;pointer-events:none}
.arranque-luz{position:absolute;left:50%;top:44%;width:min(120vw,900px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#c8102e8c 0,#65081759 32%,transparent 66%);animation:arr-luz .7s ease-out both}
.arranque-simbolo{position:relative;width:min(128px,32vw);height:auto;filter:drop-shadow(0 0 22px #c8102e99);animation:arr-simbolo .6s cubic-bezier(.2,.9,.3,1.15) .25s both}
.arranque-logo{position:relative;width:min(230px,58vw);height:auto;color:var(--oro-claro);font-weight:700;text-align:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 6%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 6%,#000 92%,transparent);mask-composite:intersect;animation:arr-logo .5s ease-out .7s both}
.arranque-carga{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px;animation:arr-aparece .3s ease-out 1.6s both}
.arranque-carga p,.arranque-lento,.arranque-sin-js{font-size:12px;letter-spacing:.04em;color:#d9c8b6;text-align:center}
.arranque-lento{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:24px;right:24px;animation:arr-aparece .3s ease-out 12s both}
.carga-imperial{position:relative;width:min(220px,60vw);height:6px;border-radius:999px;border:1px solid #d4a64a99;background:#1a0b0c;overflow:hidden}
.carga-imperial span{position:absolute;top:0;bottom:0;left:0;width:38%;border-radius:999px;background:linear-gradient(90deg,#650817,#c8102e 55%,#e0234a);box-shadow:0 0 8px #c8102e99;animation:carga-indeterminada 1.3s ease-in-out infinite}
@keyframes arr-luz{from{opacity:0;scale:.55}to{opacity:1;scale:1}}
@keyframes arr-simbolo{from{opacity:0;scale:.78}to{opacity:1;scale:1}}
@keyframes arr-logo{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes arr-aparece{from{opacity:0}to{opacity:1}}
@keyframes carga-indeterminada{from{translate:-105% 0}to{translate:270% 0}}
@media(prefers-reduced-motion:reduce){
 .arranque{transition:none}
 .arranque-luz,.arranque-simbolo,.arranque-logo{animation:none}
 .arranque-carga,.arranque-lento{animation-duration:0s}
 .carga-imperial span{animation:none;width:100%;opacity:.55}
}

/* Superficies flotantes: menús anclados, paneles del chat, confirmaciones y hojas inferiores. Un solo lenguaje para todas. */
:root{--flot-fondo:var(--surface);--flot-borde:var(--line);--flot-hover:var(--surface2);--flot-activo:var(--surface3);--flot-oro:#a8792a;--flot-peligro:#b42335;--flot-radio:14px;--flot-velo:#14080824;--flot-velo-suave:#1408080a;--flot-sombra:0 1px 2px #1408080d,0 14px 34px -10px #1408083d}
:root[data-theme=dark]{--flot-fondo:#1a1312;--flot-borde:#3a2b2b;--flot-hover:#241a19;--flot-activo:#2e2220;--flot-oro:#d4a64a;--flot-peligro:#c8102e;--flot-velo:#00000059;--flot-velo-suave:#0000001f;--flot-sombra:0 1px 0 #ffffff0a inset,0 18px 40px -10px #000000c7}
@keyframes flot-entra{from{opacity:0;transform:translateY(-4px) scale(.98)}}
@keyframes flot-entra-arriba{from{opacity:0;transform:translateY(4px) scale(.98)}}
@keyframes flot-dialogo{from{opacity:0;transform:translateY(6px) scale(.985)}}
@keyframes flot-panel{from{opacity:0;transform:translateX(10px)}}
@keyframes flot-hoja{from{opacity:.3;transform:translateY(28px)}}

.flot-menu{position:fixed;z-index:75;width:296px;max-width:calc(100vw - 16px);max-height:calc(var(--vv-alto,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:4px;background:var(--flot-fondo);color:var(--text);border:1px solid var(--flot-borde);border-radius:var(--flot-radio);box-shadow:var(--flot-sombra);animation:flot-entra .14s cubic-bezier(.2,.8,.3,1) both}
.flot-menu[data-lado=arriba]{animation-name:flot-entra-arriba}
.flot-cabeza{display:flex;align-items:center;gap:8px;padding:8px 4px 9px 10px;margin-bottom:4px;border-bottom:1px solid var(--flot-borde)}
.flot-titulos{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.flot-titulos strong{font-size:13px;font-weight:650;letter-spacing:-.1px}
.flot-titulos span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flot-x{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--muted)}
.flot-x .ico{width:16px;height:16px}
.flot-x:hover{background:var(--flot-hover);color:var(--text)}
.flot-filas{display:flex;flex-direction:column;gap:1px}
.flot-fila{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:7px 10px;border-radius:10px;text-align:left;color:var(--text);transition:background .12s ease}
.flot-fila:hover:not(:disabled){background:var(--flot-hover);filter:none}
.flot-fila:active:not(:disabled){background:var(--flot-activo)}
.flot-fila:focus-visible{outline:none;background:var(--flot-hover);box-shadow:inset 0 0 0 1.5px var(--flot-oro)}
.flot-ico{flex:none;display:grid;place-items:center;width:20px;color:var(--muted)}
.flot-ico .ico{width:18px;height:18px}
.flot-texto{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.flot-etiqueta{font-size:13px;font-weight:500;line-height:1.3}
.flot-texto small{font-size:11px;line-height:1.35;color:var(--muted)}
.flot-cola{flex:none;display:grid;color:var(--muted);opacity:.65}
.flot-cola .ico{width:14px;height:14px}
.flot-switch{flex:none;position:relative;width:30px;height:18px;border-radius:999px;background:var(--surface3);box-shadow:inset 0 0 0 1px var(--flot-borde);transition:background .15s ease}
.flot-switch::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000003d;transition:transform .15s ease}
.flot-fila[aria-checked=true] .flot-switch{background:var(--flot-oro);box-shadow:none}
.flot-fila[aria-checked=true] .flot-switch::after{transform:translateX(12px)}
.flot-fila[aria-checked=true] .flot-ico{color:var(--flot-oro)}
.flot-fila.peligro,.flot-fila.peligro .flot-ico{color:var(--danger)}
.flot-fila.peligro:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 9%,transparent)}
.flot-sep{height:1px;margin:4px 8px;background:var(--flot-borde)}
.flot-error{margin:6px 8px;padding:8px 10px;border-radius:9px;font-size:12px;line-height:1.45;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent)}
.flot-error[hidden]{display:none}
.modal-body>.flot-error,form>.flot-error{margin:0}
.flot-velo{display:none}
.flot-peligro{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;border:1px solid var(--flot-peligro);background:var(--flot-peligro);color:#fff;font-weight:600}
.peligro-suave{color:var(--danger)}
.peligro-suave:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--surface))}

#modal{--modal-ancho:520px;display:flex;flex-direction:column;width:var(--modal-ancho);max-width:calc(100vw - 32px);max-height:min(84dvh,760px);padding:0;overflow:hidden;background:var(--flot-fondo);color:var(--text);border:1px solid var(--flot-borde);border-radius:16px;box-shadow:var(--flot-sombra)}
#modal:not([open]){display:none}
#modal[open]{animation:flot-dialogo .16s cubic-bezier(.2,.8,.3,1)}
#modal::backdrop{background:var(--flot-velo);-webkit-backdrop-filter:none;backdrop-filter:none}
#modal[data-tipo=compacto]{--modal-ancho:400px}
#modal[data-tipo=amplio]{--modal-ancho:760px;max-height:min(88dvh,880px)}
#modal[data-tipo=panel]{position:fixed;margin:0;inset:var(--panel-arriba,84px) var(--panel-derecha,16px) auto auto;width:min(400px,var(--panel-ancho,calc(100vw - 32px)));max-width:none;max-height:var(--panel-alto,calc(100dvh - 100px));border-radius:14px;animation-name:flot-panel}
#modal[data-tipo=panel]::backdrop{background:var(--flot-velo-suave)}
#modal .modal-head{position:static;flex:none;align-items:center;gap:10px;padding:12px 10px 12px 18px;background:none;border-bottom:1px solid var(--flot-borde)}
.modal-titulos{flex:1;min-width:0}
#modal .modal-head h2{font-size:15px;font-weight:650;letter-spacing:-.2px;line-height:1.3}
.modal-sub{margin-top:1px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-sub[hidden]{display:none}
#modal .modal-x{width:32px;height:32px;border-radius:9px}
#modal .modal-x .ico{width:17px;height:17px}
#modal .modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px 18px}
#modal .stack{gap:13px}
#modal .modal-list{gap:8px}
#modal .modal-item{padding:12px 14px;border-radius:12px;background:var(--surface2);border-color:var(--flot-borde)}
#modal .modal-item h3{font-size:13.5px}
#modal .modal-item p{margin-top:4px;font-size:12px;line-height:1.55}
#modal .modal-item>.secondary{margin-top:10px;padding:7px 12px;font-size:12px}
#modal .form-actions{margin-top:2px}
#modal .empty{padding:24px 12px}

.pnl-titulo{margin:0 0 8px;font-size:11px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.pnl-lista{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column}
.pnl-persona{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--flot-borde)}
.pnl-persona:last-child{border-bottom:0}
.pnl-quien{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.pnl-quien strong{font-size:13px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pnl-quien small{font-size:11px;color:var(--muted)}
.pnl-tu{font-size:10px;font-weight:650;color:var(--flot-oro);margin-left:4px}
.pnl-nota{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.pnl-form{display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--flot-borde)}
.pnl-plegable{margin-top:14px;border-top:1px solid var(--flot-borde)}
.pnl-plegable summary{cursor:pointer;padding:12px 0 2px;font-size:13px;font-weight:550;color:var(--text);list-style-position:inside}
.pnl-plegable summary:focus-visible{outline:2px solid var(--flot-oro);outline-offset:2px;border-radius:6px}
.pnl-plegable .pnl-form{border-top:0;padding-top:10px}
.pnl-barra{display:flex;justify-content:flex-end;margin-bottom:12px}
.pnl-barra .primary{padding:8px 14px;font-size:12.5px}
.pnl-barra .primary .ico{width:16px;height:16px}
.pnl-datos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pnl-datos li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--flot-borde)}
.pnl-datos li:last-child{border-bottom:0}
.pnl-dato-ico{flex:none;display:grid;place-items:start center;width:20px;padding-top:1px;color:var(--muted)}
.pnl-dato-ico .ico{width:17px;height:17px}
.pnl-datos strong{display:block;font-size:12.5px;font-weight:600}
.pnl-datos small{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:var(--muted)}
.pnl-zona{margin-top:14px;padding-top:14px;border-top:1px solid var(--flot-borde)}
.pnl-zona .secondary{width:100%;justify-content:flex-start}

.flot-confirmar{width:min(380px,calc(100vw - 32px));padding:0;overflow:visible;color:var(--text);background:var(--flot-fondo);border:1px solid var(--flot-borde);border-radius:16px;box-shadow:var(--flot-sombra)}
.flot-confirmar[open]{animation:flot-dialogo .14s cubic-bezier(.2,.8,.3,1)}
.flot-confirmar::backdrop{background:var(--flot-velo);-webkit-backdrop-filter:none;backdrop-filter:none}
.flot-confirmar-caja{padding:20px 20px 16px}
.flot-confirmar h2{font-size:16px;font-weight:650;letter-spacing:-.2px;line-height:1.35}
.flot-confirmar p{margin-top:8px;font-size:13px;line-height:1.55;color:var(--muted)}
.flot-confirmar .flot-error{margin:12px 0 0;color:var(--danger)}
.flot-botones{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.flot-botones button{min-height:38px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:600}

.toast{top:auto;right:auto;margin:0}

.mm-capa{background:var(--flot-velo-suave)}
.mm-reacciones,.mm-acciones,.menu-herr{background:var(--flot-fondo);box-shadow:var(--flot-sombra),0 0 0 1px var(--flot-borde)}
.mm-acciones{min-width:232px;padding:4px;border-radius:var(--flot-radio)}
.mm-acciones::before{display:none}
.mm-accion{min-height:40px;padding:8px 11px;gap:12px;border-radius:10px}
.mm-accion:hover,.mm-accion:focus-visible{background:var(--flot-hover)}
.mm-accion:focus-visible{box-shadow:inset 0 0 0 1.5px var(--flot-oro)}
.mm-accion.peligro:hover,.mm-accion.peligro:focus-visible{background:color-mix(in srgb,var(--danger) 9%,transparent)}
.menu-herr{width:248px;padding:4px;border-radius:var(--flot-radio)}
.mh-item{min-height:40px;padding:6px 10px;border-radius:10px}
.mh-item:hover,.mh-item:focus-visible{background:var(--flot-hover)}
.mh-item:focus-visible{box-shadow:inset 0 0 0 1.5px var(--flot-oro)}
.mh-ico{width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--mh,var(--primary)) 12%,transparent);color:color-mix(in srgb,var(--mh,var(--primary)) 80%,var(--text))}
.stc-capa{background:#140808b8;-webkit-backdrop-filter:none;backdrop-filter:none}

@media(max-width:720px){
 .flot-menu.hoja{left:0;right:0;top:auto;bottom:var(--vv-abajo,0);width:100%;max-width:none;max-height:min(80dvh,calc(var(--vv-alto,100dvh) - 48px));padding:6px 8px calc(10px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:18px 18px 0 0;animation-name:flot-hoja}
 .flot-menu.hoja::before{content:"";display:block;width:36px;height:4px;margin:2px auto 6px;border-radius:2px;background:var(--flot-borde)}
 .flot-menu.hoja .flot-fila{min-height:52px}
 .flot-velo.visible{display:block;position:fixed;inset:0;z-index:74;background:var(--flot-velo);animation:mm-aparece .16s ease-out}
 #modal,#modal[data-tipo]{position:fixed;inset:auto 0 var(--vv-abajo,0) 0;margin:0;width:100%;max-width:100%;max-height:min(90dvh,calc(var(--vv-alto,100dvh) - 24px));border-width:1px 0 0;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom);animation-name:flot-hoja}
 #modal[data-tipo]::backdrop{background:var(--flot-velo)}
 #modal .modal-head{position:relative;padding-top:18px}
 #modal .modal-head::before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--flot-borde)}
 #modal .modal-body{padding:14px 16px 18px}
 #modal .form-actions .primary,#modal .form-actions .secondary,#modal .form-actions .flot-peligro{min-height:44px}
 .flot-confirmar{width:calc(100vw - 24px);margin:auto auto calc(12px + env(safe-area-inset-bottom) + var(--vv-abajo,0px))}
 .flot-botones button{flex:1;min-height:44px}
 .mm-accion,.mh-item{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.flot-menu,#modal[open],.flot-confirmar[open],.flot-velo.visible{animation:none}.flot-fila,.flot-switch,.flot-switch::after{transition:none}}

/* Temas de pantalla (temas.js). Con data-tema, las variables del tema sustituyen a las de Día/Noche; sin él, todo queda como antes. */
:root[data-tema]{
  --bg:var(--bg-primary);--surface:var(--bg-secondary);--surface2:var(--bg-tertiary);--surface3:var(--bg-hover);
  --line:var(--border);--text:var(--text-primary);--muted:var(--text-secondary);
  --acento-texto:var(--accent-text);--primary:var(--accent);--purple:var(--accent);--cyan:var(--focus);
  --coral:var(--accent-alt);--soft-coral:var(--accent-soft);--sobre-acento:var(--accent-contrast);
  --nav:var(--bg-sidebar);--nav-text:var(--sidebar-text);--nav-active:var(--sidebar-active);
  --nav-tenue:var(--sidebar-muted);--nav-fuerte:var(--sidebar-strong);--nav-borde:var(--sidebar-border);--nav-tarjeta:var(--sidebar-card);--nav-acento:var(--sidebar-accent);--nav-insignia-texto:var(--bg-sidebar);
  --outgoing:var(--bubble-sent);--incoming:var(--bubble-received);--borde-enviada:var(--bubble-sent-border);--input:var(--input-bg);--fondo-chat:var(--bg-chat);
  --flot-fondo:var(--modal-bg);--flot-borde:var(--border);--flot-hover:var(--bg-hover);--flot-activo:var(--accent-soft);--flot-oro:var(--accent-alt);--flot-radio:var(--radius-card);--flot-sombra:var(--shadow);
  font-family:"TILUM Banderas",var(--font-primary);
}
:root[data-tema] :is(h1,h2,h3,.flot-titulos strong,.brand-texto){font-family:var(--font-display)}
:root[data-tema] :is(h1,h2,h3) :is(.count,.badge,small){font-family:var(--font-primary)}
:root[data-tema] :is(.secondary,.chip,.download-link){font-weight:500}
:root[data-tema] :is(dialog,#modal){background:var(--modal-bg)}
:root[data-tema] #modal .modal-head{background:none}
:root[data-tema] .composer-wrap{background:transparent}
:root[data-tema] .messages{scrollbar-color:var(--border) transparent}
:root[data-tema] :is(.primary,.send-button):hover:not(:disabled){background-color:var(--accent-hover);border-color:var(--accent-hover)}
:root[data-tema] :is(.send-button,.chip.active,.conversation .unread){box-shadow:var(--brillo,none)}
:root[data-tema] .dot.en-linea{background:var(--online)}
:root[data-tema] #messages .message-row.seleccionado{background:var(--selection);box-shadow:0 0 0 6px var(--selection)}
:root[data-tema] #messages .message-bubble.presionando{box-shadow:0 0 0 3px var(--selection)}
:root[data-tema] .tep:before,:root[data-tema] .tep-cat.activa:after{background:linear-gradient(90deg,var(--accent),var(--accent-alt))}
:root[data-tema] .preferences-hero{background:var(--bg-sidebar);color:var(--sidebar-strong);border-color:var(--sidebar-border)}:root[data-tema] :is(.file-card,.media-open,.media-thumb,.library-card,.media-viewer,#modal .modal-item,.poll-option){border-radius:var(--radius-card)}
/* El logotipo en imagen trae su propio fondo oscuro y choca con la barra de cada tema: la cabecera usa el isotipo con el nombre en texto. */
.brand{gap:9px;padding:0 10px 0 15px}
.brand .brand-logo{display:none}
.brand-icon{width:46px;height:46px;margin:0 -2px;filter:drop-shadow(0 2px 6px #00000040)}
.brand-texto{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display,inherit);font-weight:700;font-size:18px;letter-spacing:-.3px;line-height:1;white-space:nowrap;color:var(--nav-fuerte,var(--marfil))}
.brand-texto b{font-weight:inherit;color:var(--nav-acento,var(--oro-claro))}
@media(max-width:1040px) and (min-width:721px){
 .brand{width:auto;padding:0 0 0 14px;justify-content:flex-start}
 .brand-icon{width:50px;height:50px}
 .brand-texto{font-size:19px}
}
@media(max-width:720px){
 .brand{gap:7px;padding:0}
 .brand-icon{width:38px;height:38px;margin:0 -3px}
 .brand-texto{font-size:17px}
}
@media(max-width:359px){.brand-texto{display:none}}

/* Degradados del tema: solo si el tema los define y la persona no los desactivó. */
:root[data-tema][data-degradados=si] .chat-area{background-image:var(--degradado-chat,none)}
:root[data-tema][data-degradados=si] :is(.primary,.send-button,.chip.active,.conversation .unread):not(:disabled){background-image:var(--degradado-acento,none)}
:root[data-tema][data-degradados=si] .mine .message-bubble:not(.burbuja-sticker){background-image:var(--degradado-enviada,none)}
:root[data-degradados=no] .tep:before,:root[data-degradados=no] .tep-cat.activa:after{background:var(--primary)}
:root[data-degradados=no] :is(.mm-tiempo:hover,.mm-tiempo:focus-visible,.stc-primario,.cam-usar,.cam-disparador span){background:var(--primary)}
:root[data-degradados=no] .acceso-card .primary{background:var(--rubi)}
/* Transparencias: sin ellas, nada se desenfoca y las superficies del tema quedan opacas. */
:root[data-tema][data-transparencias=si][data-degradados=si] :is(.chat-header,.composer-box){background:color-mix(in srgb,var(--bg-secondary) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
:root[data-transparencias=no] *,:root[data-transparencias=no] ::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
:root[data-transparencias=no] .acceso-card{background:#140e0d}
/* Animaciones: duración cero (no "none") para que los avisos de fin de animación sigan llegando. El movimiento de los emojis es contenido del mensaje y se respeta. */
:root[data-animaciones=no] :not(.emoji-mov.animar),:root[data-animaciones=no] ::before,:root[data-animaciones=no] ::after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}

/* Tamaño de letra del chat (mensajes, lista y caja de escritura). El resto de la interfaz conserva su escala. */
:root[data-letra=pequena]{--escala-texto:.9}
:root[data-letra=grande]{--escala-texto:1.12}
:root[data-letra=extra]{--escala-texto:1.25}
:root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) .message-bubble{font-size:calc(12px*var(--escala-texto))}
:root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) :is(.quote,.conversation .preview){font-size:calc(11px*var(--escala-texto))}
:root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) :is(.conversation .name,.composer-box textarea){font-size:calc(12px*var(--escala-texto))}
:root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) :is(.message-meta,.conversation .time){font-size:calc(8px*var(--escala-texto))}
:root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) .author{font-size:calc(10px*var(--escala-texto))}
@media(max-width:720px){
 :root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) :is(.conversation .name,.composer-box textarea){font-size:calc(13px*var(--escala-texto))}
 :root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) .conversation .preview{font-size:calc(12px*var(--escala-texto))}
}
/* Forma de las burbujas. "Suave" es la forma de siempre. */
:root[data-burbujas=redondeada]{--radius-message:22px;--radius-message-cola:8px}
:root[data-burbujas=cuadrada]{--radius-message:6px;--radius-message-cola:2px}
/* Densidad: separación entre mensajes y filas de la lista. */
:root[data-densidad=compacta] .message-row{margin-bottom:9px}
:root[data-densidad=compacta] .message-bubble:not(.burbuja-sticker){padding:8px 12px}
:root[data-densidad=compacta] .conversation{padding-top:10px;padding-bottom:10px;margin-bottom:3px}
:root[data-densidad=comoda] .message-row{margin-bottom:27px}
:root[data-densidad=comoda] .message-bubble:not(.burbuja-sticker){padding:15px 18px}
:root[data-densidad=comoda] .conversation{padding-top:19px;padding-bottom:19px;margin-bottom:8px}

/* Configuración > Apariencia. */
.apariencia{display:flex;flex-direction:column;gap:22px}
.apa-volver{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin:-4px 0 -10px -4px;padding:6px 8px 6px 4px;border-radius:9px;font-size:12.5px;color:var(--muted)}
.apa-volver:hover{background:var(--surface3);color:var(--text)}
.apa-volver .ico{width:16px;height:16px}
.apa-seccion{display:flex;flex-direction:column;gap:12px;min-width:0}
.apa-seccion>h3{font-size:14px}
.apa-seccion>p,.apa-aviso{font-size:12px;line-height:1.55;color:var(--muted)}
.apa-aviso{padding:10px 12px;border-radius:12px;background:var(--surface2);border:1px solid var(--line)}
.apa-temas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.apa-clasicos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tema-tarjeta{position:relative;display:flex;flex-direction:column;gap:8px;padding:7px 7px 9px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);cursor:pointer;min-width:0;transition:border-color .15s,box-shadow .15s}
.tema-tarjeta:hover{border-color:color-mix(in srgb,var(--flot-oro) 55%,var(--line))}
.tema-tarjeta:has(input:checked){border-color:var(--flot-oro);box-shadow:0 0 0 1px var(--flot-oro)}
.tema-tarjeta:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:2px}
.tema-mini{display:flex;height:88px;border-radius:9px;overflow:hidden;background:var(--m-fondo);border:1px solid var(--m-borde)}
.tm-barra{width:15px;flex:none;background:var(--m-barra);display:flex;flex-direction:column;align-items:center;gap:5px;padding-top:9px}
.tm-barra i{width:5px;height:5px;border-radius:50%;background:var(--m-barra-texto);opacity:.55}
.tm-barra i:first-child{background:var(--m-acento);opacity:1}
.tm-chat{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:7px 8px;font-family:var(--m-fuente);font-size:10px;line-height:1.3;color:var(--m-texto)}
.tm-burbuja{max-width:84%;padding:4px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-recibida{align-self:flex-start;background:var(--m-recibida);border-radius:2px 8px 8px 8px}
.tm-enviada{align-self:flex-end;background:var(--m-enviada);border-radius:8px 2px 8px 8px}
.tm-boton{align-self:flex-end;width:28px;height:11px;border-radius:6px;background:var(--m-acento)}
.tema-pie{display:flex;align-items:baseline;gap:6px;min-width:0;padding:0 3px}
.tema-pie strong{font-family:var(--m-titulos);font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tema-pie small{margin-left:auto;font-family:var(--m-fuente);font-size:10.5px;color:var(--muted);white-space:nowrap}
.tema-en-uso{position:absolute;top:73px;left:28px;font-size:9.5px;font-weight:600;letter-spacing:.2px;padding:2px 7px;border-radius:99px;background:var(--flot-fondo);color:var(--text);border:1px solid var(--line)}
.tema-check{position:absolute;top:11px;right:11px;width:20px;height:20px;border-radius:50%;display:none;align-items:center;justify-content:center;background:var(--flot-oro);color:var(--sobre-acento)}
.tema-check .ico{width:13px;height:13px;stroke-width:2.4}
.tema-tarjeta:has(input:checked) .tema-check{display:flex}
.apa-grupo{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:7px}
.apa-grupo legend{padding:0;margin-bottom:7px;font-size:12px;font-weight:600}
.apa-grupo:disabled{opacity:.55}
.apa-segmentos{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;padding:3px;border-radius:12px;background:var(--surface2);border:1px solid var(--line)}
.apa-segmentos label{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;padding:4px 6px;border-radius:9px;font-size:12.5px;line-height:1.2;color:var(--muted);cursor:pointer}
.apa-segmentos input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.apa-segmentos label:has(input:checked){background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000024}
.apa-segmentos label:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:1px}
.apa-interruptor{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);cursor:pointer}
.apa-interruptor span{flex:1;min-width:0}
.apa-interruptor strong{display:block;font-size:13px;font-weight:600}
.apa-interruptor small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}
.apa-interruptor input{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:40px;height:24px;margin:0;padding:0;border-radius:12px;border:1px solid var(--line);background:var(--surface3);cursor:pointer;transition:background .15s,border-color .15s}
.apa-interruptor input::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000003d;transition:transform .15s}
.apa-interruptor input:checked{background:var(--flot-oro);border-color:var(--flot-oro)}
.apa-interruptor input:checked::after{transform:translateX(16px)}
.apa-interruptor input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.apa-interruptor:has(input:disabled){opacity:.55;cursor:default}
.apa-acciones{position:sticky;bottom:-18px;margin:0 -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--flot-fondo);border-top:1px solid var(--line);flex-wrap:wrap}
#modal .preferences-hero{gap:12px;padding:10px 14px;margin-bottom:12px;border-radius:14px}
#modal .preferences-hero strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar.con-foto{overflow:hidden;background:var(--surface2)}
.avatar.con-foto img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.pref-foto{position:relative;flex:none;padding:0;border-radius:50%}
.pref-foto .avatar.large{width:56px;height:56px;font-size:18px;border:2px solid var(--sidebar-accent,var(--oro,#d4a64a));box-shadow:0 3px 10px #00000035}
.pref-foto:hover .avatar,.pref-foto:focus-visible .avatar{filter:brightness(.9)}
.pref-foto-cam{position:absolute;right:-4px;bottom:-2px;display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:var(--primary);color:var(--sobre-acento);box-shadow:0 2px 6px #00000050}
.pref-foto-cam .ico{width:13px;height:13px}
.pref-quien{min-width:0}
.pref-foto-texto{margin-top:3px;padding:0;font-size:12px;font-weight:600;color:var(--sidebar-accent,var(--acento-texto));text-decoration:underline;text-underline-offset:3px}
.fp{display:flex;flex-direction:column;gap:14px}
#fp-vista{display:flex;flex-direction:column;gap:14px}
.fp-actual{display:flex;justify-content:center;padding-top:4px}
.fp-actual .avatar{width:136px;height:136px;font-size:42px;border:0;box-shadow:0 8px 24px #00000030}
.fp-nota{margin:0;font-size:12px;line-height:1.6;color:var(--muted);text-align:center}
.fp-acciones{justify-content:center}
.fp-recorte{display:flex;flex-direction:column;gap:11px}
.fp-marco{position:relative;width:min(100%,300px,calc(100dvh - 410px));min-width:200px;aspect-ratio:1;margin:0 auto;border-radius:16px;overflow:hidden;background:#000}
.fp-marco::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 400px #000000a6;outline:2px solid #ffffffd9;pointer-events:none}
.fp-marco:has(canvas:focus-visible){outline:3px solid var(--primary);outline-offset:2px}
.fp-marco canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:0}
.fp-marco canvas.arrastrando{cursor:grabbing}
.fp-ayuda{margin:0;font-size:11.5px;color:var(--muted);text-align:center}
.fp-zoom{display:flex;align-items:center;gap:10px;width:min(100%,300px);margin:-2px auto;font-size:17px;color:var(--muted)}
.fp-zoom input{flex:1;accent-color:var(--primary)}
.fp-herramientas{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.fp-herramientas button{padding:7px 12px;font-size:12px}
.fp-herramientas .ico{width:15px;height:15px}
.pending-files:has(.pend-medio){align-items:flex-end;padding:7px 7px 2px 0}
.pend-medio{position:relative;flex:none;width:68px;height:68px}
.pend-vista{display:block;width:100%;height:100%;padding:0;border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,#d4a64a 55%,var(--line));background:#000;cursor:pointer}
.pend-vista:hover,.pend-vista:focus-visible{border-color:#d4a64a;box-shadow:0 0 0 2px #d4a64a66}
.pend-vista img,.pend-vista video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.pend-tipo{position:absolute;inset:0;display:grid;place-items:center;color:#fff;pointer-events:none}
.pend-tipo .ico{width:22px;height:22px;filter:drop-shadow(0 1px 3px #000c)}
.pend-lapiz{position:absolute;left:4px;bottom:4px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#1d1206d9;color:#f3cd6c;pointer-events:none}
.pend-lapiz .ico{width:13px;height:13px}
.pend-quitar{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:22px;height:22px;padding:0;border-radius:50%;border:2px solid var(--surface);background:#1d1206;color:#fff;font-size:14px;line-height:1;cursor:pointer}
.adj-ed{display:flex;flex-direction:column;gap:12px}
.adj-marco{position:relative;width:min(100%,560px,calc((100dvh - 390px) * var(--p)));min-width:180px;aspect-ratio:var(--p);margin:0 auto;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 0 0 2px #d4a64a99}
.adj-marco::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(33.33% - .5px),#ffffff59 calc(33.33% - .5px) calc(33.33% + .5px),transparent calc(33.33% + .5px) calc(66.66% - .5px),#ffffff59 calc(66.66% - .5px) calc(66.66% + .5px),transparent calc(66.66% + .5px)),linear-gradient(transparent calc(33.33% - .5px),#ffffff59 calc(33.33% - .5px) calc(33.33% + .5px),transparent calc(33.33% + .5px) calc(66.66% - .5px),#ffffff59 calc(66.66% - .5px) calc(66.66% + .5px),transparent calc(66.66% + .5px))}
.adj-marco:has(canvas:focus-visible){outline:3px solid var(--primary);outline-offset:2px}
.adj-marco canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:0}
.adj-marco canvas.arrastrando{cursor:grabbing}
.adj-formatos{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.adj-formatos button{padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:inherit;font-weight:600;font-size:12px;cursor:pointer}
.adj-formatos button[aria-checked=true]{background:linear-gradient(135deg,#f3cd6c,#c48b2c);border-color:#c48b2c;color:#1d1206}
.adj-video{position:relative;width:min(100%,560px);margin:0 auto;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 0 0 2px #d4a64a99}
.adj-video video{display:block;width:100%;height:min(calc(100dvh - 420px),420px);min-height:170px;object-fit:contain}
.adj-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:54px;height:54px;padding:0;border-radius:50%;border:1px solid #d4a64a99;background:#1d1206b3;color:#f3cd6c;transform:translate(-50%,-50%);cursor:pointer;opacity:.9}
.adj-play .ico{width:24px;height:24px}
.adj-tramo{display:flex;flex-direction:column;gap:7px;width:min(100%,560px);margin:0 auto}
.adj-pista{position:relative;height:42px;border-radius:10px;border:1px solid var(--line);background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 10%,transparent) 0 6px,transparent 6px 11px)}
.adj-sel{position:absolute;top:-1px;bottom:-1px;left:var(--a,0%);right:calc(100% - var(--b,100%));border:3px solid #d4a64a;border-radius:10px;background:#d4a64a2e;pointer-events:none}
.adj-cabezal{position:absolute;top:5px;bottom:5px;left:var(--t,0%);width:2px;border-radius:1px;background:#c8102e;pointer-events:none}
.adj-pista input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.adj-pista input::-webkit-slider-runnable-track{height:100%;background:none}
.adj-pista input::-webkit-slider-thumb{width:16px;height:42px;border-radius:6px;background:linear-gradient(#f3cd6c,#c48b2c);box-shadow:0 0 0 1px #1d120666;cursor:ew-resize;pointer-events:auto;-webkit-appearance:none;appearance:none}
.adj-pista input::-moz-range-thumb{width:16px;height:42px;border:0;border-radius:6px;background:linear-gradient(#f3cd6c,#c48b2c);cursor:ew-resize;pointer-events:auto}
.adj-pista input::-moz-range-track{background:none}
.adj-pista input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--primary);outline-offset:1px}
.adj-info{margin:0;text-align:center;font-size:12px;opacity:.8}
.adj-sonido{justify-content:center}
.adj-proceso{display:flex;flex-direction:column;gap:6px;font-size:12px;text-align:center}
.adj-proceso[hidden]{display:none}
.adj-proceso progress{width:100%;height:8px;accent-color:#c48b2c}
.adj-ed .form-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.adj-ed .form-actions .ico{width:16px;height:16px}
.fp .form-actions .ico{width:16px;height:16px}
.audio-pista{position:relative;flex:1;min-width:0;display:flex;align-items:center}
.audio-pista .wave{flex:1}
.audio-player .wave i{opacity:.4;transition:opacity .2s}
.audio-player .wave i.hecho{opacity:1;background:var(--primary)}
.audio-barra{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;opacity:0;cursor:pointer}
.audio-barra:disabled{cursor:default}
.audio-pista:has(.audio-barra:focus-visible){outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}
.audio-controles{display:flex;align-items:center;gap:6px;margin:-2px 0 3px}
.audio-controles .audio-time{flex:1;text-align:center;font-variant-numeric:tabular-nums}
.audio-salto{padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px;font-weight:600;line-height:1.6}
.audio-salto:hover{color:var(--text);border-color:var(--primary)}
:root:not([data-transparencias=no]) #messages .message-bubble:not(.burbuja-sticker){background-color:color-mix(in srgb,var(--incoming) 55%,transparent);border-color:color-mix(in srgb,var(--line) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
:root:not([data-transparencias=no]) #messages .mine .message-bubble:not(.burbuja-sticker){background-color:color-mix(in srgb,var(--outgoing) 55%,transparent);border-color:var(--borde-enviada,#b89b6025)}
#messages .message-bubble.burbuja-medio{padding:4px;width:fit-content;max-width:100%}
.burbuja-medio>:is(.media-grid,.video-adjunto,.file-card){margin:0}
.burbuja-medio .media-thumb,.burbuja-medio .media-open,.burbuja-medio .video-adjunto video{border-radius:calc(var(--radius-message,16px) - 4px)}
.media-grid.single{width:fit-content;max-width:410px}
.media-grid.single .media-open{width:fit-content;max-width:410px}
.media-grid.single .media-thumb{width:auto;max-width:100%;height:auto;min-height:0;max-height:min(460px,62dvh);object-fit:contain}
.burbuja-medio .video-adjunto figcaption{padding:0 4px}
.burbuja-medio>.audio-player{padding:2px 6px 0 2px}
.burbuja-medio>.audio-controles,.burbuja-medio>.audio-label{padding:0 6px}
.burbuja-medio .message-meta{margin-top:3px;padding:0 6px 2px}
.video-adjunto{margin:7px 0 0;width:320px;max-width:100%;display:flex;flex-direction:column;gap:5px}
.video-adjunto video{display:block;width:100%;max-height:min(420px,60dvh);border-radius:12px;background:#000;object-fit:contain}
.video-adjunto figcaption{display:flex;align-items:center;gap:4px;min-width:0;font-size:10px;color:var(--muted)}
.video-adjunto figcaption>span{flex:1;min-width:0}
.video-accion{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:inherit;background:transparent}
.video-accion:hover{background:var(--flot-hover);color:var(--text)}
.video-accion .ico{width:15px;height:15px}
video.media-viewer{display:block;width:100%;max-height:70dvh;background:#000}
.audio-label{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%}
.audio-label>.ico{flex:none;width:12px;height:12px}
.audio-label>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.audio-label strong{font-weight:650;color:var(--text)}
.mine .audio-label strong{color:inherit}
.fg{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--flot-borde)}
.fg .fp-actual .avatar{width:104px;height:104px;font-size:32px}
.amg-cabeza{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.amg-cabeza strong{font-size:13px;font-weight:600}
.amg-cabeza .tlf-enlace{display:inline-flex;align-items:center;gap:5px;color:var(--flot-oro);font-weight:600;text-decoration:none}
.amg-cabeza .tlf-enlace .ico{width:15px;height:15px}
.amg-cabeza .tlf-enlace:hover{text-decoration:underline}
.amg-cuerpo{display:flex;flex-direction:column;gap:10px}
.amg-buscar{margin:0}
.amg-lista{list-style:none;margin:0;padding:0;max-height:min(280px,40dvh);overflow:auto;display:flex;flex-direction:column;gap:2px}
.amg-fila{position:relative;display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer}
.amg-fila:hover{background:var(--flot-hover)}
.amg-fila input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.amg-fila:has(input:focus-visible){box-shadow:inset 0 0 0 1.5px var(--flot-oro)}
.amg-fila:has(input:checked){background:var(--flot-activo)}
.amg-nombre{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amg-marca{flex:none;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;border:1.5px solid var(--line);color:transparent;transition:background .15s,border-color .15s}
.amg-marca .ico{width:13px;height:13px;stroke-width:2.6}
.amg-fila:has(input:checked) .amg-marca{background:var(--flot-oro);border-color:var(--flot-oro);color:#fff}
.amg-ayuda{font-size:11.5px;color:var(--muted)}
.pnl-form.enl{border-top:0;padding-top:0}
.enl-opciones{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.enl-nuevo{display:flex;flex-direction:column;gap:9px;margin-top:14px;padding:12px;border:1px solid var(--flot-borde);border-radius:12px;background:var(--flot-hover)}
.enl-nuevo small{font-size:11.5px;color:var(--muted)}
#enl-url{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.enl-nuevo .form-actions .ico{width:16px;height:16px}
.enl-aviso{display:flex;gap:8px;margin:0;padding:9px 10px;border-radius:10px;border:1px solid var(--flot-borde);background:var(--surface);font-size:12px;line-height:1.5;color:var(--muted)}
.enl-aviso .ico{flex:none;width:16px;height:16px;margin-top:1px;color:var(--flot-oro)}
.enl-aviso code{font-size:11.5px;color:var(--text)}
.enl-activos{margin-top:18px}
.enl-lista{list-style:none;margin:0 0 10px;padding:0}
.enl-lista li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--flot-borde)}
.enl-dato{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.enl-dato strong{font-size:13px;font-weight:550}
.enl-dato small{font-size:11px;color:var(--muted)}
.enl-lista button{flex:none;padding:6px 12px;font-size:12px}
.inv-vista{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.inv-foto .avatar{width:96px;height:96px;font-size:30px;border:0;box-shadow:0 8px 24px #00000030}
.inv-vista h3{margin:4px 0 0;font-size:18px;overflow-wrap:anywhere}
.inv-desc{margin:0;font-size:13px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.inv-vista .form-actions{justify-content:center;margin-top:8px}
.acceso-invitacion{margin:0 0 16px;padding:9px 12px;border-radius:12px;border:1px solid #d4a64a59;background:#d4a64a14;color:var(--oro-claro,#ffd982);font-size:13px;line-height:1.45}
.acceso-verificado{display:flex;align-items:center;gap:8px;margin:16px 0 0;padding:9px 12px;border-radius:12px;border:1px solid #d4a64a59;background:#d4a64a14;color:#ecdfcf;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.acceso-verificado .ico{width:18px;height:18px;color:#d4a64a}
.acceso-correo{margin:16px 0 14px;padding:12px 14px;border-radius:14px;border:1px solid #d4a64a59;background:#d4a64a14;color:#ecdfcf;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.acceso-correo>strong{display:block;color:var(--oro-claro,#ffd982);font-size:15px;margin-bottom:4px}
.acceso-correo p{margin:0}
@media (max-width:420px){.enl-opciones{grid-template-columns:1fr}}
#modal .pref-telefono{margin-bottom:12px;padding:10px 14px;border-radius:12px}
#modal .pref-telefono-fila>button{flex:none;white-space:nowrap;padding:9px 14px}
#modal #form-preferencias{gap:11px}
.pref-tecnico{border-top:1px solid var(--line);padding-top:9px}
.pref-tecnico summary{cursor:pointer;font-size:11.5px;color:var(--muted);width:max-content}
.pref-tecnico summary:hover{color:var(--text)}
.pref-tecnico p{margin-top:8px;font-size:11px;line-height:1.6}
.pref-tecnico .audit-code{font-size:10.5px;overflow-wrap:anywhere}
.pref-fila{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);text-align:left}
.pref-fila>span{flex:1;min-width:0}
.pref-fila strong{display:block;font-size:13px;font-weight:600}
.pref-fila small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}
.pref-fila>.ico:last-child{width:16px;height:16px;color:var(--muted);transform:rotate(180deg)}
@media(max-width:720px){
 .apa-temas,.apa-clasicos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .tema-mini{height:78px}
 .tema-en-uso{top:63px}
 .apa-volver{min-height:44px}
 .apa-segmentos label{min-height:44px;font-size:12px}
 .apa-acciones{bottom:-18px;margin:0 -16px -18px;padding-left:16px;padding-right:16px}
 .apa-acciones button{flex:1;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.tema-tarjeta,.apa-interruptor input,.apa-interruptor input::after{transition:none}}

/* Marca en la barra lateral: sin barra superior en escritorio y tableta */
.rail-marca,.rail-conexion{display:none}
@media(min-width:721px){
 .topbar{display:none}
 .layout{height:100dvh}
 .rail{padding-top:18px}
 .rail-marca{position:relative;display:flex;justify-content:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--nav-borde,#d4a64a26)}
 .rail-logo{display:block;width:clamp(100px,calc(100dvh - 650px),150px);max-width:100%;height:auto;border-radius:16px;box-shadow:0 0 0 1px #d4a64a3d,0 8px 20px -10px #000000c7}
 .rail-conexion{display:flex;position:absolute;top:-4px;right:-4px;padding:3px;border-radius:50%;background:var(--nav,#080707)}
 .rail-conexion .dot{display:block;width:9px;height:9px}
 .rail-conexion>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(max-width:1040px) and (min-width:721px){
 .rail-marca{margin-bottom:16px;padding-bottom:14px}
 .rail-logo{width:54px;border-radius:12px}
 .rail-conexion{top:-5px;right:-5px}
}

/* Fondos de la lista de mensajes y del chat (Preferencias · Fondos) */
:root{
 --fondo-velo-lista:color-mix(in srgb,var(--surface) 80%,transparent);
 --fondo-velo-chat:color-mix(in srgb,var(--fondo-chat) 78%,transparent);
 --fondo-velo-foto-lista:color-mix(in srgb,var(--surface) 55%,transparent);
 --fondo-velo-foto-chat:color-mix(in srgb,var(--fondo-chat) 45%,transparent);
 --fondo-resplandor:radial-gradient(ellipse at 12% 0,color-mix(in srgb,var(--primary) 30%,transparent),transparent 58%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--acento-texto) 22%,transparent),transparent 60%);
 --fondo-puntos:radial-gradient(color-mix(in srgb,var(--text) 16%,transparent) 1.1px,transparent 1.6px) 0 0/18px 18px;
 --fondo-lineas:repeating-linear-gradient(135deg,color-mix(in srgb,var(--text) 7%,transparent) 0 1px,transparent 1px 13px);
 --fondo-castillo-chat:url(/assets/imperio/fondos/castillo-horizontal.webp);
}
@media(max-width:720px){:root{--fondo-castillo-chat:url(/assets/imperio/fondos/castillo-vertical.webp)}}
:root[data-fondo-lista=castillo] #inbox,.fondo-muestra[data-zona=lista][data-fondo=castillo]{background:linear-gradient(var(--fondo-velo-lista),var(--fondo-velo-lista)),url(/assets/imperio/fondos/castillo-vertical.webp) center/cover no-repeat,var(--surface)}
:root[data-fondo-lista=resplandor] #inbox,.fondo-muestra[data-zona=lista][data-fondo=resplandor]{background:var(--fondo-resplandor),var(--surface)}
:root[data-fondo-lista=puntos] #inbox,.fondo-muestra[data-zona=lista][data-fondo=puntos]{background:var(--fondo-puntos),var(--surface)}
:root[data-fondo-lista=lineas] #inbox,.fondo-muestra[data-zona=lista][data-fondo=lineas]{background:var(--fondo-lineas),var(--surface)}
:root[data-fondo-lista=foto] #inbox{background:linear-gradient(var(--fondo-velo-foto-lista),var(--fondo-velo-foto-lista)),var(--fondo-foto-lista) center/cover no-repeat,var(--surface)}
.fondo-muestra[data-zona=lista][data-fondo=foto]{background:linear-gradient(var(--fondo-velo-foto-lista),var(--fondo-velo-foto-lista)),var(--muestra-foto,none) center/cover no-repeat,var(--surface)}
:root[data-fondo-chat=castillo] #chat-area,.fondo-muestra[data-zona=chat][data-fondo=castillo]{background:linear-gradient(var(--fondo-velo-chat),var(--fondo-velo-chat)),var(--fondo-castillo-chat) center/cover no-repeat,var(--fondo-chat)}
:root[data-fondo-chat=resplandor] #chat-area,.fondo-muestra[data-zona=chat][data-fondo=resplandor]{background:var(--fondo-resplandor),var(--fondo-chat)}
:root[data-fondo-chat=puntos] #chat-area,.fondo-muestra[data-zona=chat][data-fondo=puntos]{background:var(--fondo-puntos),var(--fondo-chat)}
:root[data-fondo-chat=lineas] #chat-area,.fondo-muestra[data-zona=chat][data-fondo=lineas]{background:var(--fondo-lineas),var(--fondo-chat)}
:root[data-fondo-chat=foto] #chat-area{background:linear-gradient(var(--fondo-velo-foto-chat),var(--fondo-velo-foto-chat)),var(--fondo-foto-chat) center/cover no-repeat,var(--fondo-chat)}
.fondo-muestra[data-zona=chat][data-fondo=foto]{background:linear-gradient(var(--fondo-velo-foto-chat),var(--fondo-velo-foto-chat)),var(--muestra-foto,none) center/cover no-repeat,var(--fondo-chat)}
:root[data-fondo-chat] #chat-area .composer-wrap{background:transparent}
:root[data-fondo-chat] #chat-area .chat-header{background:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fondo-opciones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fondo-tarjeta{display:flex;flex-direction:column;gap:7px;min-width:0;cursor:pointer}
.fondo-muestra{display:flex;flex-direction:column;justify-content:center;gap:6px;height:86px;padding:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);transition:outline-color .15s}
.fondo-muestra[data-zona=chat]{background:var(--fondo-chat)}
.fondo-muestra i{display:block;height:8px;border-radius:5px;background:color-mix(in srgb,var(--text) 22%,transparent)}
.fondo-muestra[data-zona=lista] i:nth-child(2){width:78%}.fondo-muestra[data-zona=lista] i:nth-child(3){width:60%}
.fondo-muestra[data-zona=chat] i{height:13px;width:58%;border-radius:7px;background:var(--incoming);border:1px solid var(--line)}
.fondo-muestra[data-zona=chat] i:last-child{align-self:flex-end;background:var(--outgoing)}
.fondo-muestra>.ico{align-self:center;width:24px;height:24px;color:var(--muted)}
.fondo-nombre{font-size:11px;font-weight:550;text-align:center;color:var(--muted)}
.fondo-tarjeta input:checked+.fondo-muestra{outline:2px solid var(--acento-texto);outline-offset:2px}
.fondo-tarjeta input:checked~.fondo-nombre{color:var(--text)}
.fondo-tarjeta input:focus-visible+.fondo-muestra{outline:2px solid var(--acento-texto);outline-offset:3px}
.fondo-foto-acciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fondo-foto-acciones .secondary{display:inline-flex;align-items:center;gap:6px;font-size:11px}
.fondo-foto-acciones .ico{width:14px;height:14px}
.fondo-nota{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.6;color:var(--muted);margin:4px 0 0}
.fondo-nota .ico{flex:none;width:14px;height:14px;margin-top:2px}
@media(prefers-reduced-motion:reduce){.fondo-muestra{transition:none}}

/* Botón de Preferencias de la barra lateral: engranaje imperial con rubí */
.rail-ajustes{gap:11px;margin:2px 0 4px;padding:7px 10px;border:1px solid var(--nav-borde,#d4a64a2e);background:linear-gradient(120deg,color-mix(in srgb,var(--nav-acento,#d4a64a) 13%,transparent),transparent 72%);transition:border-color .25s,background-color .25s}
.ajustes-medallon{position:relative;display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;font-style:normal;background:radial-gradient(circle at 35% 28%,#2c1f15 0,#0e0a08 72%);box-shadow:inset 0 0 0 1px #d4a64a80,0 0 0 3px #d4a64a14,0 4px 10px #00000052;transition:box-shadow .3s}
.rail-ajustes .ico-imperial{width:26px;height:26px;stroke:none;fill:none;overflow:visible}
.ico-imperial .ii-engranaje{fill:url(#ii-oro);stroke:#4a2c06;stroke-width:.45;stroke-linejoin:round;transform-box:view-box;transform-origin:12px 12px;transition:transform .7s cubic-bezier(.2,.8,.3,1)}
.ico-imperial .ii-hueco{fill:#140d0b;stroke:#ffd98299;stroke-width:.45}
.ico-imperial .ii-rubi{fill:url(#ii-rubi);stroke:#3a0610;stroke-width:.35;transition:filter .3s}
.ico-imperial .ii-brillo{fill:#fff;opacity:.6}
.ajustes-texto{display:flex;flex-direction:column;min-width:0;text-align:left;line-height:1.25}
.ajustes-texto strong{font-size:12px;font-weight:600;color:var(--nav-fuerte,#fff5e7)}
.ajustes-texto small{margin-top:3px;font-size:9px;color:var(--nav-tenue,#a8968a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-ajustes:hover,.rail-ajustes:focus-visible{border-color:color-mix(in srgb,var(--nav-acento,#d4a64a) 55%,transparent)}
.rail-ajustes:hover .ajustes-medallon,.rail-ajustes:focus-visible .ajustes-medallon{box-shadow:inset 0 0 0 1px #ffd982c7,0 0 0 3px #d4a64a2e,0 0 16px #d4a64a47}
.rail-ajustes:hover .ii-engranaje,.rail-ajustes:focus-visible .ii-engranaje{transform:rotate(45deg)}
.rail-ajustes:hover .ii-rubi,.rail-ajustes:focus-visible .ii-rubi{filter:drop-shadow(0 0 1.6px #ff4d6a)}
.rail-ajustes:active .ajustes-medallon{transform:scale(.94)}
:root[data-animaciones=no] .rail-ajustes,:root[data-animaciones=no] .ajustes-medallon,:root[data-animaciones=no] .ico-imperial *{transition:none}
@media(prefers-reduced-motion:reduce){.rail-ajustes,.ajustes-medallon,.ico-imperial *{transition:none}.rail-ajustes:hover .ii-engranaje{transform:none}}
@media(max-width:1040px) and (min-width:721px){
 .rail-ajustes{width:53px;padding:5px 0;justify-content:center;border-color:transparent;background:none}
 .ajustes-medallon{width:42px;height:42px}
 .rail-ajustes .ico-imperial{width:30px;height:30px}
}

/* Tarjeta de la barra lateral en forma de burbuja */
.rail-card{--rc-acento:var(--nav-acento,#d4a64a);position:relative;isolation:isolate;margin:0 10px 26px;padding:10px 10px 9px;border:1px solid color-mix(in srgb,var(--rc-acento) 32%,transparent);border-radius:18px 18px 18px 7px;background:linear-gradient(135deg,color-mix(in srgb,var(--rc-acento) 22%,transparent),color-mix(in srgb,var(--rc-acento) 4%,transparent) 48%,color-mix(in srgb,var(--rc-acento) 16%,transparent));background-size:220% 220%;box-shadow:0 12px 26px -14px #000000b3,inset 0 1px 0 #ffffff17;animation:rc-flota 6s ease-in-out infinite,rc-brillo 10s ease-in-out infinite;transition:box-shadow .3s,border-color .3s}
.rail-card::before,.rail-card::after{content:"";position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--rc-acento) 32%,transparent);background:color-mix(in srgb,var(--rc-acento) 14%,var(--nav,#080707));animation:rc-cola 3.2s ease-in-out infinite}
.rail-card::before{left:8px;bottom:-12px;width:9px;height:9px}
.rail-card::after{left:1px;bottom:-21px;width:5px;height:5px;animation-delay:.35s}
.rail-card .tiny-orbits{padding:0 0 7px 3px}
.rail-card .tiny-orbits i{width:15px;height:15px;border-width:1.5px;margin-left:-3px}
.rail-card strong{font-size:11px;line-height:1.4}
.rail-card p{font-size:9px;line-height:1.5;margin:4px 0 0}
.rail-card:hover{border-color:color-mix(in srgb,var(--rc-acento) 60%,transparent);box-shadow:0 14px 30px -12px #000000c7,0 0 22px -6px color-mix(in srgb,var(--rc-acento) 55%,transparent),inset 0 1px 0 #ffffff1f}
.rc-burbujas{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.rc-burbujas i{position:absolute;bottom:-14px;left:var(--x);width:var(--t);height:var(--t);border-radius:50%;border:1px solid color-mix(in srgb,var(--rc-acento) 45%,transparent);background:radial-gradient(circle at 32% 30%,#ffffff40,transparent 60%);opacity:0;animation:rc-sube var(--d) linear infinite;animation-delay:var(--r)}
.rc-burbujas i:nth-child(1){--x:12%;--t:7px;--d:7s;--r:0s}
.rc-burbujas i:nth-child(2){--x:38%;--t:11px;--d:9s;--r:2.2s}
.rc-burbujas i:nth-child(3){--x:63%;--t:6px;--d:6.5s;--r:3.6s}
.rc-burbujas i:nth-child(4){--x:82%;--t:13px;--d:10s;--r:1.1s}
.rc-burbujas i:nth-child(5){--x:52%;--t:5px;--d:5.5s;--r:4.8s}
.rail-card .tiny-orbits i{animation:rc-salta 2.6s ease-in-out infinite;box-shadow:0 3px 8px -3px #00000080}
.rail-card .tiny-orbits i:nth-child(2){animation-delay:.18s}
.rail-card .tiny-orbits i:nth-child(3){animation-delay:.36s}
.rail-card button{margin-top:8px;padding:3px 3px 3px 10px;font-size:9.5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--rc-acento) 35%,transparent);background:color-mix(in srgb,var(--rc-acento) 15%,transparent);font-weight:600;transition:background-color .25s,border-color .25s}
.rail-card button .ico{width:17px;height:17px;padding:3px;border-radius:50%;background:var(--rc-acento);color:var(--nav,#080707);stroke-width:2.4;transition:transform .35s cubic-bezier(.2,.8,.3,1)}
.rail-card button:hover,.rail-card button:focus-visible{background:color-mix(in srgb,var(--rc-acento) 28%,transparent);border-color:color-mix(in srgb,var(--rc-acento) 60%,transparent)}
.rail-card button:hover .ico,.rail-card button:focus-visible .ico{transform:rotate(90deg)}
@keyframes rc-flota{50%{translate:0 -3px}}
@keyframes rc-brillo{0%,100%{background-position:0 0}50%{background-position:100% 100%}}
@keyframes rc-cola{50%{scale:1.18}}
@keyframes rc-salta{0%,60%,100%{translate:0 0}30%{translate:0 -4px}}
@keyframes rc-sube{0%{translate:0 0;opacity:0}15%{opacity:.9}85%{opacity:.5}100%{translate:0 -150px;opacity:0}}
:root[data-animaciones=no] .rail-card,:root[data-animaciones=no] .rail-card *,:root[data-animaciones=no] .rail-card::before,:root[data-animaciones=no] .rail-card::after{animation:none}
:root[data-animaciones=no] .rc-burbujas{display:none}
@media(prefers-reduced-motion:reduce){.rail-card,.rail-card *,.rail-card::before,.rail-card::after{animation:none}.rc-burbujas{display:none}}

/* Plegar o desplegar la barra lateral en pantallas anchas; la elección se recuerda en este navegador */
.rail-plegar{display:none}
@media(min-width:1041px){
 .rail-plegar{position:absolute;right:-2px;bottom:-12px;z-index:1;display:grid;place-items:center;width:24px;height:24px;padding:0;border-radius:50%;border:1px solid var(--nav-borde,#d4a64a40);background:var(--nav,#080707);color:var(--nav-acento,#d4a64a);box-shadow:0 2px 8px #00000066;transition:border-color .2s,background-color .2s}
 .rail-plegar .ico{width:13px;height:13px;stroke-width:2.2;transition:transform .25s}
 .rail-plegar:hover,.rail-plegar:focus-visible{border-color:var(--nav-acento,#d4a64a);background:color-mix(in srgb,var(--nav-acento,#d4a64a) 18%,var(--nav,#080707))}
 :root[data-rail=compacta] .rail-plegar{right:50%;translate:50% 0}
 :root[data-rail=compacta] .rail-plegar .ico{transform:rotate(180deg)}
 :root[data-rail=compacta] .layout{grid-template-columns:76px minmax(0,1fr)}
 :root[data-rail=compacta] .rail{padding-left:10px;padding-right:10px}
 :root[data-rail=compacta] :is(.rail-heading,.rail-card,.rail-profile span,.rail-profile>.ico,.nav-link span,.nav-link b){display:none}
 :root[data-rail=compacta] .rail-links{gap:9px}
 :root[data-rail=compacta] .nav-link{padding:14px;justify-content:center;width:53px}
 :root[data-rail=compacta] .secondary-links{margin-top:25px}
 :root[data-rail=compacta] .rail-bottom{padding-top:20px}
 :root[data-rail=compacta] .rail-profile{padding:16px 0 0;justify-content:center}
 :root[data-rail=compacta] .nav-link.active:before{left:0}
 :root[data-rail=compacta] .rail-marca{margin-bottom:16px;padding-bottom:14px}
 :root[data-rail=compacta] .rail-logo{width:54px;border-radius:12px}
 :root[data-rail=compacta] .rail-conexion{top:-5px;right:-5px}
 :root[data-rail=compacta] .rail-ajustes{width:53px;padding:5px 0;justify-content:center;border-color:transparent;background:none}
 :root[data-rail=compacta] .ajustes-medallon{width:42px;height:42px}
 :root[data-rail=compacta] .rail-ajustes .ico-imperial{width:30px;height:30px}
}
@media(prefers-reduced-motion:reduce){.rail-plegar .ico{transition:none}}
@media(max-height:850px) and (min-width:1041px){.rail-links .nav-link{min-height:41px;padding-top:11px;padding-bottom:11px}}
.filterbar{flex-wrap:wrap;row-gap:6px}.chip.chip-icono{display:inline-flex;align-items:center;justify-content:center;padding-left:9px;padding-right:9px}.chip.chip-icono .ico{width:14px;height:14px}
.inbox-heading h1{font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;font-weight:700;letter-spacing:.4px;line-height:1.1;position:relative;width:max-content;max-width:100%;padding-bottom:9px;background:linear-gradient(180deg,#fff3cf 0%,#f3cd6c 38%,#c48b2c 68%,#f7da86 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #00000080)}
.inbox-heading h1::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:2px;border-radius:2px;background:linear-gradient(90deg,#f3cd6c,#c48b2c 70%,transparent)}
:root[data-theme=light] .inbox-heading h1{background-image:linear-gradient(180deg,#9a6a14 0%,#7a4f0c 55%,#a8782a 100%);filter:none}
:root[data-theme=light] .inbox-heading h1::after{background:linear-gradient(90deg,#a8782a,#7a4f0c 70%,transparent)}
.filterbar .chip{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:600;font-size:11px;letter-spacing:.35px;border-color:#d4a64a2e;border-radius:999px;padding-left:12px;padding-right:12px;transition:border-color .2s,color .2s}
.filterbar .chip:hover:not(.active){border-color:#d4a64a80;color:var(--text)}
.filterbar .chip.active{border-color:#e8bf62;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 0 1px #d4a64a40}
.filterbar .chip.chip-icono{padding-left:9px;padding-right:9px}
.conv-item{position:relative;margin-bottom:6px}
.conversation-list .conv-item>.conversation{margin-bottom:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
:root[data-densidad=compacta] .conv-item{margin-bottom:3px}
:root[data-densidad=comoda] .conv-item{margin-bottom:8px}
@media(max-width:720px){.conv-item{margin-bottom:5px}}
.conv-flecha{position:absolute;right:10px;bottom:7px;z-index:1;width:22px;height:22px;padding:0;border-radius:50%;display:grid;place-items:center;color:#f0cb72;background:radial-gradient(circle at 35% 30%,#3d2b13,#120b05);box-shadow:0 0 0 1px #d4a64a73,0 3px 8px -3px #000000b0;opacity:0;transform:translateY(3px) scale(.9);transition:opacity .18s,transform .18s,box-shadow .18s}
.conv-flecha .ico{width:13px;height:13px;stroke-width:2.2;transition:transform .2s}
.conv-item:hover .conv-flecha,.conv-item.activa .conv-flecha,.conv-flecha:focus-visible,.conv-flecha[aria-expanded=true]{opacity:1;transform:none}
.conv-flecha:hover,.conv-flecha[aria-expanded=true]{box-shadow:0 0 0 1px #f0cb72,0 0 12px -2px #d4a64a99}
.conv-flecha[aria-expanded=true] .ico{transform:rotate(180deg)}
@media(hover:none){.conv-flecha{display:none}}
:root[data-animaciones=no] .conv-flecha,:root[data-animaciones=no] .conv-flecha .ico{transition:none}
@media(prefers-reduced-motion:reduce){.conv-flecha,.conv-flecha .ico{transition:none}}
.estilo-letra-imperial{font-family:"Playfair Display",Georgia,serif!important;font-weight:600}
.estilo-letra-clasica{font-family:Georgia,"Times New Roman",Times,serif!important}
.estilo-letra-elegante{font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif!important;font-style:italic}
.estilo-letra-moderna{font-family:"Montserrat","Segoe UI",sans-serif!important;font-weight:500}
.estilo-letra-redonda{font-family:"Quicksand","Nunito Sans",sans-serif!important;font-weight:600}
.estilo-letra-geometrica{font-family:"Space Grotesk","Segoe UI",sans-serif!important}
.estilo-letra-amable{font-family:"Nunito Sans","Segoe UI",sans-serif!important}
.estilo-letra-firme{font-family:"Rubik","Segoe UI",sans-serif!important;font-weight:600}
.estilo-letra-manuscrita{font-family:"Segoe Script","Segoe Print","Bradley Hand","Comic Sans MS",cursive!important;font-weight:600}
.estilo-letra-maquina{font-family:ui-monospace,"Cascadia Mono",Consolas,"Courier New",monospace!important}
.estilo-color-oro{color:#d9a21b!important}.estilo-color-rubi{color:#e3245f!important}.estilo-color-esmeralda{color:#12b981!important}.estilo-color-zafiro{color:#3d86f5!important}.estilo-color-amatista{color:#a95cf2!important}
.estilo-color-coral{color:#ff7a59!important}.estilo-color-turquesa{color:#14b8a6!important}.estilo-color-ambar{color:#f59e0b!important}.estilo-color-rosa{color:#ec4899!important}.estilo-color-plata{color:#9aa6b8!important}
.body-text[class*=estilo-color-]{text-shadow:0 1px 0 #00000026}
.letras-panel{display:grid;gap:16px}
.letras-panel fieldset{border:0;margin:0;padding:0;min-width:0}
.letras-panel legend{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.letras-vista{display:flex;justify-content:flex-end;padding:16px;border-radius:16px;background:var(--fondo-chat,var(--surface2));border:1px solid var(--line)}
.letras-burbuja{max-width:80%;padding:10px 14px;border-radius:16px 16px 4px 16px;background:var(--outgoing);border:1px solid var(--borde-enviada,#b89b6025);color:var(--text);font-size:14px;line-height:1.6;box-shadow:0 4px 14px -8px #000a}
.letras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.letra-op{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px 8px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.letra-op input{position:absolute;opacity:0;pointer-events:none}
.letra-op:hover{border-color:#d4a64a80}
.letra-op:has(input:checked){border-color:#e8bf62;box-shadow:0 0 0 1px #e8bf62,0 0 14px -6px #d4a64a}
.letra-op:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}
.letra-muestra{font-size:22px;line-height:1.1;color:var(--text)}
.letra-nombre{font-size:11px;color:var(--muted);text-align:center}
.letra-op:has(input:checked) .letra-nombre{color:var(--text);font-weight:600}
.colores .letra-muestra{width:26px;height:26px;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 2px #ffffff40,0 0 0 1px #00000026}
.colores .letra-muestra.color-normal{color:var(--text);background:linear-gradient(135deg,var(--surface) 0 50%,var(--text) 50%)}
.mh-letras{--mh:#b8860b}
:root{--letra-imperial:"Playfair Display",Georgia,"Times New Roman",serif;--oro-texto:linear-gradient(180deg,#fff3cf 0%,#f3cd6c 38%,#c48b2c 68%,#f7da86 100%);--oro-etiqueta:#d4a64a}
:root[data-theme=light]{--oro-texto:linear-gradient(180deg,#9a6a14 0%,#7a4f0c 55%,#a8782a 100%);--oro-etiqueta:#8a5d12}
:is(.est-panel-cabeza h2,#modal .modal-head h2,.flot-confirmar h2,.flot-titulos strong,.admin-header h1,.preferences-hero strong){font-family:var(--letra-imperial)!important;font-weight:700;letter-spacing:.3px;background:var(--oro-texto);-webkit-background-clip:text;background-clip:text;color:transparent}
.enc-panel .enc-titulos h2{font-family:var(--letra-imperial)!important;font-weight:700;letter-spacing:.3px;background:linear-gradient(180deg,#9a6a14 0%,#7a4f0c 55%,#a8782a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.est-panel .est-panel-cabeza h2{font-size:24px;letter-spacing:.2px}
:is(.est-sobre,.est-seccion,.pnl-titulo,.tep-titulo,.eyebrow,.letras-panel legend,#modal legend){font-family:var(--letra-imperial);font-weight:700;letter-spacing:1.4px;color:var(--oro-etiqueta)}
:is(.est-quien strong,.est-crear button,.est-vacio strong,.est-ed-titulo,.flot-etiqueta,.mm-accion,.mm-tiempo,.mh-item,.context-row,#modal .modal-item h3,.pnl-quien strong,.pnl-datos strong,.pref-fila strong,.pref-telefono-fila strong,.pnl-plegable summary,#modal .field,#modal :is(.primary,.secondary),.flot-botones button,.tep-info strong,.enc-panel legend){font-family:var(--letra-imperial);font-weight:600;letter-spacing:.2px}
:is(#modal,.est-panel,.flot-menu,.flot-confirmar,.enc-panel) :is(input,textarea,select){font-family:"TILUM Banderas",var(--font-primary,"Segoe UI",system-ui,sans-serif);letter-spacing:normal}
.estilo-negrita{font-weight:800!important}
.estilo-cursiva{font-style:italic!important}
.estilo-tachado{text-decoration:line-through!important;text-decoration-thickness:from-font}
.marcas .letra-muestra{font-family:Georgia,"Times New Roman",serif}
@media(max-width:720px){
 #topbar.topbar{display:none}
 .layout{height:calc(100dvh - 66px - env(safe-area-inset-bottom))}
}

.rail-card{zoom:.8;width:144px;margin-inline:auto}

/* Ubicación compartida */
.mh-ubicacion{--mh:#15803d}
.message-bubble:has(>.ubic-tarjeta){padding:4px}
.message-bubble>.ubic-tarjeta{width:240px;max-width:100%;gap:6px;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.message-bubble>a.ubic-tarjeta:hover{box-shadow:none}
.message-bubble>a.ubic-tarjeta:hover .ubic-mapa{filter:brightness(1.06)}
.message-bubble>.ubic-tarjeta .ubic-mapa{border-radius:calc(var(--radius-message) - 4px)}
.message-bubble>.ubic-tarjeta .ubic-datos{padding:0 8px}
.message-bubble>.ubic-tarjeta .ubic-abrir{padding:6px 10px}
.message-bubble:has(>.ubic-tarjeta)>.author{padding:3px 8px 0}
.message-bubble:has(>.ubic-tarjeta) .message-meta{margin-top:5px;padding:0 8px 3px}
.ubic-tarjeta{--ub:#d4a64a;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:min(280px,100%);margin:2px 0;padding:6px;border-radius:14px;border:1px solid color-mix(in srgb,var(--ub) 38%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--ub) 16%,transparent),color-mix(in srgb,var(--ub) 4%,transparent));color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}
a.ubic-tarjeta:hover{border-color:color-mix(in srgb,var(--ub) 70%,transparent);box-shadow:0 0 18px -8px var(--ub)}
a.ubic-tarjeta:focus-visible{outline:2px solid var(--ub);outline-offset:2px}
.ubic-mapa{position:relative;display:block;width:100%;aspect-ratio:2/1;border-radius:10px;overflow:hidden;isolation:isolate;background:repeating-linear-gradient(0deg,transparent 0 13px,color-mix(in srgb,var(--ub) 22%,transparent) 13px 14px),repeating-linear-gradient(90deg,transparent 0 13px,color-mix(in srgb,var(--ub) 22%,transparent) 13px 14px),linear-gradient(160deg,#1f3a2c,#13221c);box-shadow:inset 0 0 0 1px #ffffff14}
.ubic-capa{position:absolute;left:50%;top:50%;width:0;height:0}
.ubic-capa img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none;user-select:none}
.ubic-foto{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;background:#1f3a2c}
.ubic-onda{position:absolute;z-index:2;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:radial-gradient(#e04848a6,transparent 70%);animation:ubic-onda 2.2s ease-out infinite}
.ubic-pin{position:absolute;z-index:3;left:50%;top:50%;display:grid;transform:translate(-50%,-92%);filter:drop-shadow(0 3px 3px #00000073)}
.ubic-pin .ico{width:32px;height:32px;fill:#e53935;stroke:#fff;stroke-width:1.3}
.ubic-credito{position:absolute;z-index:3;right:0;bottom:0;padding:1px 6px;border-top-left-radius:6px;background:#ffffffd9;color:#333;font:500 9px/1.5 system-ui,sans-serif}
.ubic-mapa:has(.ubic-foto) :is(.ubic-pin,.ubic-onda,.ubic-credito){display:none}
.ubic-datos{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 4px}
.ubic-datos strong{font-family:var(--letra-imperial,serif);font-weight:700;font-size:14px;line-height:1.3;background:var(--oro-texto,linear-gradient(#f3cd6c,#c48b2c));-webkit-background-clip:text;background-clip:text;color:transparent}
.ubic-direccion{font-size:11.5px;line-height:1.4;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ubic-direccion[hidden]{display:none}
.ubic-coord{font-size:10.5px;font-variant-numeric:tabular-nums;opacity:.6;overflow-wrap:anywhere}
.ubic-abrir{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:10px;background:linear-gradient(135deg,#f3cd6c,#c48b2c);color:#1d1206;font-family:var(--letra-imperial,serif);font-weight:700;font-size:12.5px}
.ubic-abrir .ico{width:15px;height:15px}
@keyframes ubic-onda{from{transform:scale(.4);opacity:1}to{transform:scale(2.4);opacity:0}}
.ubic-modal{display:flex;flex-direction:column;gap:14px}
.ubic-modal .ubic-tarjeta{width:100%}
.ubic-buscando{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:22px 0;font-family:var(--letra-imperial,serif);font-weight:600}
.ubic-buscando .ico{width:24px;height:24px;color:#d4a64a;animation:ubic-salta 1.1s ease-in-out infinite}
@keyframes ubic-salta{50%{transform:translateY(-5px)}}
.ubic-error{margin:0;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.5;color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent);border:1px solid color-mix(in srgb,var(--danger) 26%,transparent)}
.ubic-nota{margin:0;font-size:12.5px;line-height:1.5;opacity:.75}
.ubic-modal .form-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ubic-modal .form-actions .ico{width:16px;height:16px}
.ubic-sello{position:absolute;z-index:4;left:6px;top:6px;display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 7px;border-radius:999px;background:#1d1206d9;color:#e9d3a0;border:1px solid #d4a64a66;font:700 9.5px/1.6 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.ubic-sello.activa{color:#ffd9d9;border-color:#e5393599}
.ubic-sello i{width:7px;height:7px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 0 0 #ff4d4d99;animation:ubic-latido 1.6s ease-out infinite}
@keyframes ubic-latido{70%{box-shadow:0 0 0 6px #ff4d4d00}100%{box-shadow:0 0 0 0 #ff4d4d00}}
.ubic-mapa-btn{display:block;width:100%;padding:0;border:0;border-radius:10px;background:none;cursor:pointer}
.ubic-mapa-btn:focus-visible{outline:2px solid var(--ub);outline-offset:2px}
.ubic-vivo:not(.activa) .ubic-mapa{filter:saturate(.35) brightness(.85)}
.ubic-vivo:not(.activa) :is(.ubic-onda,.ubic-pin){opacity:.7}
.ubic-vivo.activa{border-color:color-mix(in srgb,var(--ub) 60%,transparent);box-shadow:0 0 22px -12px var(--ub)}
.ubic-botones{display:flex;gap:6px}
.ubic-botones .ubic-abrir{flex:1;border:0;cursor:pointer;text-decoration:none}
.ubic-detener{padding:7px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);font-family:var(--letra-imperial,serif);font-weight:700;font-size:12.5px;cursor:pointer}
.ubic-detener:hover{background:color-mix(in srgb,var(--danger) 18%,transparent)}
.ubic-vivo-opciones{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.ubic-vivo-opciones h3{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--letra-imperial,serif);font-size:15px}
.ubic-vivo-opciones .ubic-sello{position:static}
.ubic-duraciones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ubic-duraciones button{font-family:var(--letra-imperial,serif);font-weight:700}
.visor-ubic{--ub:#d4a64a;display:flex;flex-direction:column;gap:12px}
.visor-mapa{position:relative;height:min(46dvh,480px);min-height:220px;border-radius:14px;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#1f3a2c,#13221c);box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 1px color-mix(in srgb,var(--ub) 40%,transparent)}
.visor-marca{position:absolute;z-index:3;display:grid;place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;transition:left .8s ease,top .8s ease}
.visor-marca b{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2b1a0a;color:#f3cd6c;border:2px solid #fff;box-shadow:0 3px 8px #0008;font:800 11px/1 system-ui,sans-serif}
.visor-marca.principal{z-index:4;width:44px;height:44px;margin:-22px 0 0 -22px}
.visor-marca.principal b{width:40px;height:40px;font-size:13px;background:linear-gradient(135deg,#f3cd6c,#c48b2c);color:#1d1206}
.visor-marca.quieta b{filter:grayscale(.7)}
.visor-onda{position:absolute;inset:0;border-radius:50%;background:radial-gradient(#e04848a6,transparent 70%);animation:ubic-onda 2.2s ease-out infinite}
.visor-marca.quieta .visor-onda{display:none}
.visor-zoom{position:absolute;z-index:5;right:10px;top:10px;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px #0006}
.visor-zoom button{width:36px;height:36px;border:0;background:#1d1206e6;color:#f3cd6c;font:700 20px/1 system-ui,sans-serif;cursor:pointer}
.visor-zoom button+button{border-top:1px solid #d4a64a40}
.visor-zoom button:disabled{opacity:.4;cursor:default}
.visor-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.visor-quien{display:flex;flex-direction:column;gap:3px;min-width:0}
.visor-quien .ubic-sitio{font-family:var(--letra-imperial,serif);font-weight:700;font-size:17px;background:var(--oro-texto,linear-gradient(#f3cd6c,#c48b2c));-webkit-background-clip:text;background-clip:text;color:transparent}
.visor-estado{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;opacity:.8}
.visor-estado .ubic-sello{position:static}
.visor-acciones{display:flex;gap:8px}
.visor-acciones a,.visor-acciones button{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.visor-acciones .ico{width:16px;height:16px}
.visor-personas{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.visor-persona{display:inline-flex;align-items:center;gap:7px;flex:none;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:inherit;cursor:pointer}
.visor-persona b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2b1a0a;color:#f3cd6c;font:800 10px/1 system-ui,sans-serif}
.visor-persona.activa{border-color:#d4a64a;box-shadow:0 0 0 1px #d4a64a}
.aviso-vivo{position:fixed;z-index:65;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 20px);padding:6px 6px 6px 14px;border-radius:999px;background:linear-gradient(135deg,#2b1a0a,#140b04);color:#f1dfb4;border:1px solid #d4a64a99;box-shadow:0 10px 26px #0007;font-family:var(--letra-imperial,serif);font-weight:600;font-size:13px;animation:flot-entra .2s cubic-bezier(.2,.8,.3,1) both}
.mapa-apps{display:flex;flex-direction:column;gap:6px}
.mapa-app{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 12px 8px 8px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:inherit;text-align:left;text-decoration:none;font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.mapa-app:hover,.mapa-app:focus-visible{border-color:#d4a64a;background:color-mix(in srgb,#d4a64a 8%,var(--surface))}
.mapa-app>b{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#2b1a0a;color:#f3cd6c;border:1px solid #d4a64a80;font:700 16px/1 var(--letra-imperial,serif)}
.mapa-app.propia>b{background:linear-gradient(135deg,#f3cd6c,#c48b2c);color:#1d1206}
.mapa-app.propia>b .ico{width:20px;height:20px}
.mapa-app>span{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.mapa-app strong{font-family:var(--letra-imperial,serif);font-weight:700;font-size:14.5px}
.mapa-app small{font-size:11.5px;opacity:.7;overflow-wrap:anywhere}
.mapa-app>.ico{flex:none;width:16px;height:16px;opacity:.5}
.aviso-vivo-texto{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aviso-vivo-punto{flex:none;width:9px;height:9px;border-radius:50%;background:#ff4d4d;animation:ubic-latido 1.6s ease-out infinite}
.aviso-vivo button{flex:none;padding:5px 12px;border-radius:999px;border:0;background:linear-gradient(135deg,#f3cd6c,#c48b2c);color:#1d1206;font:inherit;font-weight:700;cursor:pointer}
:root[data-animaciones=no] :is(.ubic-onda,.ubic-buscando .ico,.ubic-sello i,.visor-onda,.aviso-vivo-punto){animation:none}
@media(prefers-reduced-motion:reduce){:is(.ubic-onda,.ubic-buscando .ico,.ubic-sello i,.visor-onda,.aviso-vivo-punto){animation:none}.visor-marca{transition:none}}

/* Mensajes recibidos: foto y nombre de quien escribe, con el color de su avatar */
.author{font-size:12px;font-weight:700;letter-spacing:.1px;margin:0 0 4px 4px;color:color-mix(in srgb,var(--autor,var(--oro)) 72%,var(--text))}
.author.violeta{--autor:#8b5cf6}.author.cyan{--autor:#0891b2}.author.rosa{--autor:#be123c}.author.naranja{--autor:#b7791f}
:root:is([data-letra=pequena],[data-letra=grande],[data-letra=extra]) .author{font-size:calc(12px*var(--escala-texto))}
.message-row>.avatar.mini{width:32px;height:32px;margin-top:0;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--oro) 80%,transparent)}
@media(max-width:720px){.message-row>.avatar{display:flex}.message-row{gap:8px}}

/* Menús «Tu espacio» y «Empieza una conversación»: cada icono en un medallón rubí con filo dorado */
.flot-marca .flot-ico{width:34px;height:34px;border-radius:50%;color:var(--oro-claro);background:radial-gradient(circle at 32% 26%,#7a1422,var(--rubi-oscuro) 58%,#2a070d);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--oro) 90%,transparent),inset 0 1px 0 #ffd98259,0 3px 8px -3px #65081799}
.flot-marca .flot-ico .ico{width:17px;height:17px;stroke-width:1.9;filter:drop-shadow(0 1px 0 #00000059)}
.flot-marca .flot-fila{gap:13px}
.flot-marca .flot-fila:hover:not(:disabled) .flot-ico,.flot-marca .flot-fila:focus-visible .flot-ico{box-shadow:inset 0 0 0 1.5px var(--oro-claro),inset 0 1px 0 #ffd98259,0 0 0 3px color-mix(in srgb,var(--oro) 24%,transparent)}
/* Caja de contactos: agenda del teléfono o de Gmail comparada con las cuentas existentes */
.contactos{display:grid;gap:14px}
.contactos-intro{color:var(--muted);line-height:1.45}
.contactos-origenes{display:grid;gap:10px}
.contactos-origen{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;text-align:left;border-radius:16px;background:var(--surface2);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.contactos-origen:hover:not(:disabled),.contactos-origen:focus-visible{border-color:color-mix(in srgb,var(--oro) 70%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--oro) 18%,transparent)}
.contactos-origen[aria-busy=true]{border-color:var(--oro)}
.contactos-ico{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--oro-claro);background:radial-gradient(circle at 32% 26%,#7a1422,var(--rubi-oscuro) 58%,#2a070d);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--oro) 90%,transparent),0 3px 8px -3px #65081799}
.contactos-ico .ico{width:19px;height:19px;stroke-width:1.9}
.contactos-ico-google{background:#fff;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--oro) 90%,transparent)}
.contactos-ico-google .google-logo{width:20px;height:20px}
.contactos-txt{display:grid;gap:2px;min-width:0}
.contactos-txt small,.contactos-nota{color:var(--muted)}
.contactos-cargando{color:var(--muted);padding:6px 2px}
.contactos-error{color:var(--danger);padding:6px 2px;line-height:1.4}
.contactos-resultado{display:grid;gap:12px}
.contactos-resultado:empty{display:none}
.contactos-grupo h3{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.3px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.contactos-grupo h3 span{min-width:22px;padding:1px 7px;border-radius:999px;font-size:11px;text-align:center;color:var(--oro-claro);background:var(--rubi-oscuro)}
.contactos-invitar summary{cursor:pointer;list-style:none}
.contactos-invitar summary::-webkit-details-marker{display:none}
.contactos-invitar summary h3::after{content:"";width:7px;height:7px;margin-left:auto;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.contactos-invitar[open] summary h3::after{transform:rotate(225deg)}
.contactos-lista{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:46vh;overflow:auto}
.contacto-fila{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:12px}
.contacto-fila:hover{background:var(--surface2)}
.contacto-fila>.avatar.mini{width:36px;height:36px;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--oro) 80%,transparent)}
.contacto-nombre{display:grid;gap:1px;min-width:0;flex:1}
.contacto-nombre strong,.contacto-nombre small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contacto-nombre small{color:var(--muted)}
.contacto-accion{flex:none;padding:7px 14px;border-radius:999px;font-size:13px}

/* Ventana emergente de mensaje entrante */
#aviso-entrante{position:fixed;inset:calc(env(safe-area-inset-top,0px) + 10px) 0 auto;z-index:2147483000;width:min(430px,calc(100% - 20px));height:auto;margin:0 auto;padding:0;overflow:visible;display:flex;align-items:stretch;border:1px solid color-mix(in srgb,var(--oro) 55%,var(--line));border-radius:18px;color:var(--text);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 34px -12px #00000073,inset 4px 0 0 var(--rubi,#8f1426);opacity:0;transform:translateY(-130%);transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s}
#aviso-entrante.visible{opacity:1;transform:none}
.aviso-cuerpo{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:11px 4px 11px 14px;text-align:left;background:none;border:0;border-radius:18px 0 0 18px;color:inherit}
.aviso-cuerpo>.avatar.aviso-cara{width:46px;height:46px;flex:none;font-size:15px;box-shadow:0 0 0 2px color-mix(in srgb,var(--oro) 85%,transparent)}
.aviso-txt{display:grid;gap:2px;min-width:0}
.aviso-txt strong{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:14px}
.aviso-autor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aviso-txt strong small{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;color:var(--oro)}
.aviso-mensaje{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.aviso-txt em{font-size:11px;font-style:normal;color:var(--oro)}
.aviso-cerrar{flex:none;align-self:flex-start;display:grid;place-items:center;width:34px;height:34px;margin:6px 6px 0 0;border-radius:50%;background:none;border:0;color:var(--muted)}
.aviso-cerrar:hover,.aviso-cerrar:focus-visible{background:var(--surface2);color:var(--text)}
.aviso-cerrar .ico{width:15px;height:15px}
@media(prefers-reduced-motion:reduce){#aviso-entrante{transition:opacity .2s;transform:none}}
.sn-avisos .apa-interruptor:first-of-type{border-top:0;padding-top:0}

/* Sonido de notificaciones (Tu espacio) */
.sonidos{display:grid;gap:14px}
.sonidos .sn-activo{border-top:0;padding-top:0}
.sonidos.apagado .sn-grupo,.sonidos.apagado .sn-volumen{opacity:.55}
.sn-grupo h3{font-size:12px;letter-spacing:.3px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.sn-lista{display:grid;gap:6px}
.sn-tono{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px 8px 8px;text-align:left;border-radius:14px;background:var(--surface2);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.sn-tono:hover,.sn-tono:focus-visible{border-color:color-mix(in srgb,var(--oro) 60%,var(--line))}
.sn-tono[aria-checked=true]{border-color:var(--oro);box-shadow:0 0 0 3px color-mix(in srgb,var(--oro) 16%,transparent)}
.sn-tono .contactos-txt{flex:1}
.sn-tono .contactos-txt strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn-ico{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--oro-claro);background:radial-gradient(circle at 32% 26%,#7a1422,var(--rubi-oscuro) 58%,#2a070d);box-shadow:inset 0 0 0 1.2px color-mix(in srgb,var(--oro) 85%,transparent)}
.sn-ico .ico{width:16px;height:16px;stroke-width:1.9}
.sn-marca{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);color:transparent}
.sn-marca .ico{width:13px;height:13px;stroke-width:2.6}
.sn-tono[aria-checked=true] .sn-marca{background:var(--oro);border-color:var(--oro);color:var(--rubi-oscuro)}
.sn-quitar{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12.5px}
.sn-quitar .ico{width:14px;height:14px}
.sn-volumen{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.sn-volumen .ico{width:18px;height:18px;color:var(--oro)}
.sn-volumen input{flex:1;accent-color:var(--oro)}

/* Chat con mensajes temporales activos: aviso junto al subtítulo del encabezado */
.chat-header .meta-temporal{display:inline-flex;align-items:center;gap:3px;margin-left:7px;padding:0 7px 0 5px;border-radius:999px;font-size:10.5px;font-weight:700;line-height:17px;color:var(--oro-claro);background:var(--rubi-oscuro);vertical-align:1px}
.chat-header .meta-temporal .ico{width:11px;height:11px;stroke-width:2.2}

/* Archivos para enviar: una columna en el teléfono, rejilla en tablet y escritorio (según el ancho del propio chat) */
#mf-bandeja{container-type:inline-size;min-width:0}
.mf{margin-bottom:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;box-shadow:0 3px 16px #263b4708}
.mf-cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px 8px 14px;border-bottom:1px solid var(--line);font-size:12px}
.mf-cab strong{font-weight:650}
.mf-total{color:var(--muted);font-size:11px;flex:1;min-width:0;overflow-wrap:anywhere}
.mf-lista{list-style:none;margin:0;padding:8px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-height:min(44dvh,420px);overflow:auto;overscroll-behavior:contain}
@media (max-height:700px){.mf-lista{max-height:34dvh}}
@container (min-width:520px){.mf-lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (min-width:1000px){.mf-lista{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mf-item{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"vista datos" "acciones acciones";gap:6px 10px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface2,var(--surface));min-width:0}
.mf-item[data-estado=error]{border-color:color-mix(in srgb,var(--danger,#c0392b) 55%,var(--line))}
.mf-item[data-estado=listo] .mf-estado{color:color-mix(in srgb,var(--oro,#d4a64a) 70%,var(--text))}
.mf-item[data-estado=error] .mf-estado,.mf-item[data-estado=cancelado] .mf-estado{color:var(--danger,#c0392b)}
.mf-vista{grid-area:vista;position:relative;width:64px;height:64px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.mf-vista img{width:100%;height:100%;object-fit:cover;display:block}
.mf-vista[data-action]:hover,.mf-vista[data-action]:focus-visible{border-color:var(--oro,#d4a64a);box-shadow:0 0 0 2px color-mix(in srgb,var(--oro,#d4a64a) 40%,transparent)}
.mf-icono .ico{width:26px;height:26px}
.mf-play,.mf-lapiz{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#000a;color:#fff}
.mf-play{inset:auto auto 4px 4px;width:20px;height:20px}.mf-play .ico{width:10px;height:10px;fill:currentColor}
.mf-lapiz{inset:4px 4px auto auto;width:20px;height:20px}.mf-lapiz .ico{width:11px;height:11px}
.mf-datos{grid-area:datos;min-width:0;display:flex;flex-direction:column;gap:2px;justify-content:center}
.mf-nombre{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.mf-meta,.mf-estado{font-size:11px;line-height:1.45;margin:0;color:var(--muted);overflow-wrap:anywhere}
.mf-barra{height:5px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:4px}
.mf-barra i{display:block;height:100%;width:calc(var(--p,0)*100%);background:linear-gradient(90deg,var(--oro,#d4a64a),var(--oro-claro,#ffd982));border-radius:inherit;transition:width .25s linear}
.mf-barra.indeterminada i{width:30%;animation:mf-ir 1.1s ease-in-out infinite}
@keyframes mf-ir{from{transform:translateX(-100%)}to{transform:translateX(340%)}}
.mf-acciones{grid-area:acciones;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.mf-calidad{flex:1 1 150px;min-width:0}
.mf-calidad select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:12px;padding:0 8px}
.mf-btn{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:12px;white-space:nowrap}
.mf-btn .ico{width:14px;height:14px}
.mf-btn:hover:not(:disabled),.mf-btn:focus-visible{border-color:color-mix(in srgb,var(--oro,#d4a64a) 70%,var(--line))}
.mf-peligro{color:var(--danger,#c0392b)}
.mf-quitar{margin-left:auto;width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);padding:0}
.mf-quitar .ico{width:15px;height:15px}
.mf-quitar:hover,.mf-quitar:focus-visible{color:var(--danger,#c0392b);border-color:currentColor}
/* Dedo en pantalla: objetivos de al menos 44 px */
@media (pointer:coarse){.mf-calidad select,.mf-btn{min-height:44px}.mf-quitar{width:44px;height:44px}.mf-vista{width:64px;height:64px}}
@media (prefers-reduced-motion:reduce){.mf-barra i{transition:none}.mf-barra.indeterminada i{animation:none;width:100%;opacity:.45}}
@media (forced-colors:active){.mf-barra i{background:Highlight}.mf-item{border-color:CanvasText}}
.media-viewer[style*=background]{background-color:transparent}
