:root{font-family:Segoe UI,Arial,sans-serif;color:#21332f;background:#edf1ef;font-synthesis:none;--green:#087f6b;--muted:#7b8883;--border:#e8eeeb;--pale:#e7f3ed}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:default}
button:focus-visible,a:focus-visible{outline:0.1875rem solid #55ad98;outline-offset:0.1875rem}
button{border:0;background:none;color:inherit}
input,textarea{min-width:0;outline:none}
input:focus,textarea:focus{border-color:#80b9a7}
svg{width:1.3125rem;height:1.3125rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}
[hidden]{display:none!important}
.app{height:100dvh;display:grid;grid-template-columns:4.25rem 21.875rem minmax(0,1fr);width:100%;margin:0;overflow:hidden;background:white}
.rail{background:#eff4f1;border-right:0.0625rem solid #e2e9e5;display:flex;flex-direction:column;align-items:center;padding:1.4375rem 0 1.125rem;gap:1rem}
.brand{color:var(--green);margin-bottom:1.3125rem}
.brand svg{width:2.125rem;height:2.125rem;stroke-width:2}
.rail-button{width:2.75rem;height:2.75rem;border-radius:0.875rem;color:#6a7c73;display:grid;place-items:center}
.rail-button:hover,.rail-button.selected{background:#d7e9df;color:#157159}
.rail-spacer{flex:1}
.sidebar{border-right:0.0625rem solid var(--border);display:flex;flex-direction:column;min-height:0;min-width:0}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5625rem 1.4375rem 1.3125rem}
.sidebar-header h1{font-size:1.5625rem;letter-spacing:-0.05rem;margin:0 0 0.1875rem;font-weight:650}
.local-label{font-size:0.75rem;color:var(--muted)}
.icon-button{width:2.25rem;height:2.25rem;display:inline-grid;place-items:center;border-radius:0.5625rem;flex-shrink:0;color:#76837d}
.icon-button:hover{background:#edf3ef;color:var(--green)}
.mode-switch{margin:0 1.375rem 0.9375rem;padding:0.25rem;border-radius:0.5625rem;background:#f1f4f2;display:flex}
.mode-switch button{flex:1;font-size:0.8125rem;padding:0.4375rem 0.625rem;border-radius:0.375rem;color:#7d8883}
.mode-switch button.active{background:white;color:#254a3d;box-shadow:0 0.0625rem 0.25rem #102c1810;font-weight:600}
.search{height:2.5625rem;margin:0 1.375rem 1.0625rem;background:#f5f7f6;border:0.0625rem solid transparent;border-radius:0.5rem;display:flex;align-items:center;gap:0.5625rem;padding:0 0.625rem;color:#91a198}
.search:focus-within{border-color:#a9cabe}
.search svg{width:1.0625rem;height:1.0625rem}
.search input{border:0;background:transparent;width:100%;font-size:0.8125rem;color:#334b3e}
.search input::placeholder{color:#8e9993}
.filters{display:flex;flex-wrap:wrap;gap:0.375rem;padding:0 1.375rem 1rem;border-bottom:0.0625rem solid var(--border)}
.chip{font-size:0.75rem;border-radius:0.375rem;background:#f4f6f5;padding:0.4375rem 0.625rem;color:#7c8981;white-space:nowrap}
.chip.active{background:#ddede5;color:#28745d;font-weight:600}
.chat-list{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#dce4df transparent}
.chat-row{width:100%;padding:1.0625rem 1.1875rem;display:flex;align-items:center;gap:0.75rem;text-align:left;border-bottom:0.0625rem solid #f0f3f1;position:relative}
.chat-row:hover{background:#f6f9f7}
.chat-row.active{background:#eaf4ee}
.chat-row.active:before{content:'';position:absolute;left:0;top:0;bottom:0;width:0.1875rem;background:#238f71}
.avatar{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:50%;background:#e2e8f3;color:#597195;display:grid;place-items:center;font-weight:550;font-size:1rem;position:relative}
.avatar.tone-1{background:#f5e8dc;color:#a77850}
.avatar.tone-2{background:#e9e3f3;color:#8b73a6}
.avatar.tone-3{background:#dcebe3;color:#55866c}
.avatar.tone-4{background:#e1edf1;color:#588394}
.provider-badge{position:absolute;bottom:-0.0625rem;right:-0.1875rem;border:0.125rem solid white;border-radius:50%;width:1.125rem;height:1.125rem;background:#2da1da;color:white;display:grid;place-items:center}
.provider-badge.max{background:#7557d9}
.phone-chats{padding:.5rem .75rem 1rem;border-top:1px solid var(--border)}
.phone-chats h4{margin:.25rem 0 .5rem;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.phone-chat-row{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem;border:1px dashed var(--border);border-radius:.625rem;background:#fff;text-align:left;cursor:pointer;opacity:.85}
.phone-chat-row+.phone-chat-row{margin-top:.375rem}
.phone-chat-row:hover:not(:disabled){opacity:1;border-style:solid;background:var(--pale)}
.phone-chat-row:disabled{cursor:default;opacity:.55}
.phone-chat-row.is-foreign{border-style:solid}
.phone-chat-row .provider-badge{position:static;flex:none;width:1.75rem;height:1.75rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.phone-chat-row .provider-badge svg{width:1rem;height:1rem}
.phone-chat-info{display:grid;gap:.125rem;min-width:0}
.phone-chat-info b{font-weight:600;font-size:.875rem}
.phone-chat-info small{color:var(--muted)}
.phone-chats-note{margin:.25rem 0;font-size:.8125rem;color:var(--muted)}
.phone-chats-refresh{margin-top:.5rem;padding:0;border:0;background:none;color:var(--green);font-size:.8125rem;cursor:pointer}
.phone-chats-refresh:disabled{color:var(--muted);cursor:default}
.bot-list{display:grid;gap:.5rem;margin:0 0 1rem}
.bot-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:.625rem}
.account-list{display:grid;gap:.375rem;margin:.25rem 0 .5rem;min-width:0}
.account-row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.625rem;row-gap:.25rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:.625rem;min-width:0;background:rgba(255,255,255,.6)}
.account-name{font-size:.875rem;line-height:1.4;color:var(--ink,#21332f);overflow-wrap:anywhere;min-width:0}
.account-state{font-size:.75rem;line-height:1.4;padding:0 .4375rem;border-radius:999px;background:#f1f3f5;color:var(--muted);white-space:nowrap}
.account-state.connected{background:#e8f6ef;color:#087f6b}
.account-state.failed{background:#fbecec;color:#a64e4e}
.account-actions{display:inline-flex;align-items:baseline;gap:.875rem;margin-left:auto}
.account-action{padding:0;font-size:.8125rem;line-height:1.4;color:var(--accent,var(--green))}
.account-action.danger{color:#a64e4e}
.account-action.muted{color:var(--muted)}
.account-hint{flex-basis:100%;font-size:.75rem;line-height:1.4;color:var(--muted)}
.account-rename input{flex:1 1 9rem;min-width:0;padding:.375rem .5rem;border:1px solid #dce6de;border-radius:.375rem;font-size:.875rem;background:#fff;color:inherit}
.account-card.has-accounts{align-items:flex-start}
.account-card.has-accounts>button{align-self:flex-start}
.account-info>p+.account-list,.account-info h3+.account-list{margin-top:0}
.row-account{flex:none;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.4;padding:0 .375rem;border-radius:999px;background:#f1f3f5;color:var(--muted)}
@media(max-width:700px){.account-card.has-accounts{flex-wrap:wrap}
.account-card.has-accounts .account-info{flex:1 1 calc(100% - 3.5rem)}
.account-card.has-accounts>button{margin-left:3.25rem}
.account-actions{margin-left:0}
.row-account{font-size:.75rem}}
.bot-info{display:grid;gap:.125rem;min-width:0}
.bot-info b{font-weight:600;overflow-wrap:anywhere}
.bot-info small{color:var(--muted)}
.bot-info small.connection-live{color:var(--green)}
.provider-badge svg{width:0.625rem;height:0.625rem;stroke-width:2}
.row-text{flex:1;min-width:0}
.row-top{display:flex;gap:0.5rem;align-items:center;margin-bottom:0.4375rem}
.row-title{font-size:0.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.row-time{font-size:0.6875rem;color:#87958b}
.row-bottom{display:flex;gap:0.625rem;align-items:center}
.row-preview{font-size:0.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#89968e;flex:1;line-height:1.4}
.unread-count{min-width:1.125rem;height:1.125rem;padding:0.0625rem 0.3125rem;background:#239875;color:white;border-radius:1.25rem;font-size:0.6875rem;text-align:center}
.pin-small svg{width:0.8125rem;height:0.8125rem;color:#97a69d}
.connections-footer{border-top:0.0625rem solid var(--border);padding:1.1875rem 1.4375rem;display:flex;align-items:center;gap:0.6875rem;font-size:0.8125rem;color:#667e70}
.connections-footer span:nth-child(2){flex:1;text-align:left}
.connections-footer svg{width:1.0625rem;height:1.0625rem}
.conversation{min-width:0;background:#f8faf8;position:relative}
#chat-panel{height:100%;display:flex;flex-direction:column}
.conversation-header{height:5.1875rem;flex-shrink:0;background:white;display:flex;align-items:center;padding:0 1.875rem;gap:0.875rem;border-bottom:0.0625rem solid var(--border)}
.conversation-header .avatar{width:2.625rem;height:2.625rem}
.chat-heading{flex:1;min-width:0}
.chat-heading h2{font-size:0.9375rem;margin:0 0 0.3125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-heading p{font-size:0.75rem;color:#8b9890;margin:0}
.demo-banner{padding:0.625rem 1.25rem;text-align:center;font-size:0.75rem;color:#8b8e71;background:#f5f5e9;border-bottom:0.0625rem solid #eeefdf}
.messages{flex:1;overflow:auto;padding:2rem clamp(1.375rem,5vw,5.625rem);scrollbar-width:thin;scrollbar-color:#dce4df transparent;background-image:radial-gradient(#dce5de 0.040625rem,transparent 0.040625rem);background-size:0.9375rem 0.9375rem}
.day-label{text-align:center;margin:0 0 1.625rem;font-size:0.6875rem;color:#8c9c91}
.day-label span{background:#ebf0eb;padding:0.375rem 0.8125rem;border-radius:0.375rem}
.message-row{display:flex;margin:0 0 1.0625rem}
.message-row.out{justify-content:flex-end}
.bubble{max-width:min(76%,36.875rem);min-width:5.625rem;padding:0.8125rem 1rem 0.5625rem;border-radius:0 0.625rem 0.625rem 0.625rem;background:white;box-shadow:0 0.0625rem 0.125rem #2036290b;border:0.0625rem solid #e8ede8}
.out .bubble{background:#dff0e4;border-color:#dcecdf;border-radius:0.625rem 0 0.625rem 0.625rem}
.bubble p{margin:0;font-size:0.875rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.bubble-meta{display:flex;gap:0.3125rem;align-items:center;justify-content:flex-end;margin-top:0.3125rem;color:#93a292;font-size:0.625rem}
.bubble-meta svg{width:0.875rem;height:0.875rem;color:#6c9c87}
.message-status{font-size:0.625rem}
.message-status.failed{color:#b24646}
.bubble mark{background:#ffe496;color:inherit;border-radius:0.125rem}
.composer{background:white;border-top:0.0625rem solid var(--border);padding:1.125rem 1.75rem 0.6875rem}
.compose-row{display:flex;align-items:flex-end;gap:0.8125rem}
.composer textarea{resize:none;flex:1;max-height:10rem;min-height:2.6875rem;border:0.0625rem solid #edf1ed;background:#f7f9f7;border-radius:0.5625rem;padding:0.6875rem 0.8125rem;line-height:1.5;font-size:0.875rem;color:#35493e}
.send-button{height:2.6875rem;width:2.8125rem;background:var(--green);color:white;display:grid;place-items:center;border-radius:0.625rem;flex-shrink:0}
.send-button:hover{background:#096b5d}
.send-button[aria-busy="true"]{opacity:.65;cursor:progress}
.composer-help{display:flex;justify-content:space-between;color:#a5ada7;font-size:0.625rem;padding:0.625rem 0 0 3rem;gap:0.75rem}
.composer-context{color:#7b9587}
.empty-chat{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1.75rem}
.empty-logo{width:5.5rem;height:5.5rem;border-radius:1.625rem;background:#e0eee5;color:#6d9b82;display:grid;place-items:center;margin-bottom:0.75rem}
.empty-logo svg{width:2.6875rem;height:2.6875rem}
.empty-chat h2{font-size:1.375rem;font-weight:550;margin:0.9375rem 0 0;letter-spacing:-0.025rem}
.empty-chat p{font-size:0.875rem;color:#8d9a91;line-height:1.7;margin:0.75rem 0 1.5625rem;max-width:17.5rem}
.empty-chat small{color:#a2aea5;font-size:0.6875rem;margin-top:3.125rem}
.primary{background:var(--green);color:white;padding:0.6875rem 1.0625rem;border-radius:0.5rem;font-weight:550;font-size:0.875rem}
.secondary{border:0.0625rem solid #dbe4de;padding:0.5625rem 0.875rem;border-radius:0.4375rem;font-size:0.8125rem}
.secondary:hover{background:#f3f7f4}
.text-button{color:var(--green);font-size:0.8125rem;padding:0.5rem 0.75rem;display:block;margin:0 auto 0.9375rem}
.list-empty{padding:2.625rem 1.5625rem;text-align:center;color:#8a9b90;font-size:0.875rem;line-height:1.7}
.list-empty h3{font-size:0.9375rem;color:#405b4b}
.list-empty .primary{margin-top:0.75rem}
.mobile-back{display:none}
dialog{border:0.0625rem solid #e2e9e3;border-radius:1.125rem;box-shadow:0 1.5625rem 6.25rem #18352830;width:min(35rem,calc(100vw - 2rem));padding:1.8125rem 2rem;color:#2c4135;max-height:90dvh;overflow-y:auto}
dialog::backdrop{background:#162d2466;backdrop-filter:blur(0.1875rem)}
.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:0.9375rem}
.dialog-header h2{font-size:1.4375rem;letter-spacing:-0.03125rem;margin:0.3125rem 0;font-weight:600}
.eyebrow{font-size:0.625rem;letter-spacing:0.125rem;color:#99aa9c}
.dialog-intro{font-size:0.875rem;line-height:1.7;color:#829185;margin:0.9375rem 0 1.625rem}
.account-card{display:flex;align-items:center;gap:0.875rem;border:0.0625rem solid #e5ebe6;border-radius:0.75rem;padding:1.125rem;margin:0.75rem 0}
.channel-icon{width:2.625rem;height:2.625rem;border-radius:0.75rem;background:#e6f2fa;color:#3b9dca;display:grid;place-items:center;flex-shrink:0}
.channel-icon.max{background:#eee9fc;color:#805bd5}
.channel-icon svg{width:1.4375rem;height:1.4375rem}
.account-info{flex:1;min-width:0}
.account-info h3{font-size:0.9375rem;margin:0 0 0.375rem}
.account-info p{font-size:0.75rem;margin:0;color:#91a091;line-height:1.5;overflow-wrap:anywhere}
.future-channels{display:flex;gap:0.5rem;flex-wrap:wrap;margin:1.4375rem 0;font-size:0.75rem;color:#929e94;align-items:center}
.future-channels span:not(:first-child){border:0.0625rem solid #e6ebe6;padding:0.3125rem 0.5rem;border-radius:0.3125rem}
.future-channels span:first-child{margin-right:0.3125rem}
.storage-note{display:flex;gap:0.75rem;border-top:0.0625rem solid var(--border);padding-top:1.125rem;color:#91a193}
.storage-note svg{width:1rem;height:1rem;margin-top:0.25rem}
.storage-note p{font-size:0.75rem;line-height:1.6;margin:0}
.auth-form label{display:block;font-size:0.8125rem;margin:1.0625rem 0 0.4375rem}
.auth-form input{display:block;width:100%;padding:0.75rem;border:0.0625rem solid #dce6de;border-radius:0.5rem}
.auth-form p,.auth-text{font-size:0.875rem;line-height:1.7;color:#7b8e7f}
.auth-form a{color:var(--green)}
.auth-form .primary{margin-top:1.25rem;width:100%}
.qr{display:block;width:13.75rem;height:13.75rem;margin:1.125rem auto}
.auth-status{text-align:center;font-size:0.875rem;color:#7b8c7f;line-height:1.6}
.auth-note{padding:0.75rem;border-radius:0.5rem;background:#fbf4e5;font-size:0.8125rem;line-height:1.6;color:#957b49}
.chat-search-bar{display:flex;align-items:center;padding:0.5625rem 1.875rem;background:white;border-bottom:0.0625rem solid var(--border);gap:0.625rem}
.chat-search-bar input{flex:1;padding:0.4375rem 0.625rem;border:0.0625rem solid #e4ebe6;border-radius:0.375rem;font-size:0.8125rem}
.chat-search-bar span{font-size:0.75rem;color:#829687}
#toast{position:fixed;bottom:1.75rem;left:50%;transform:translateX(-50%);background:#274636;color:white;padding:0.8125rem 1.25rem;border-radius:0.625rem;z-index:20;font-size:0.875rem;box-shadow:0 0.375rem 1.875rem #0002;max-width:90vw}
#server-error{position:fixed;top:0;left:0;right:0;background:#b24c3f;color:white;padding:0.625rem;text-align:center;font-size:0.875rem;z-index:30}
.attachment{display:flex;gap:0.625rem;align-items:center;padding:0.625rem;background:#ffffff88;border-radius:0.375rem;text-decoration:none;color:#4e6c59;font-size:0.8125rem;margin-bottom:0.25rem;max-width:100%;overflow-wrap:anywhere}
.attachment svg{flex-shrink:0}
.attachment-preview{padding:0.4375rem 3rem 0.9375rem;font-size:0.8125rem;color:#597c65;display:flex;align-items:center;gap:0.625rem}
.bubble .image-attachment{display:block;max-width:100%;max-height:17.5rem;border-radius:0.3125rem;margin-bottom:0.5rem}
.sending{opacity:.7}
.retry{font-size:0.6875rem;color:#a84841;text-decoration:underline}
.connection-live{color:#087f6b!important}
.danger{color:#a64e4e}
.test-incoming{margin:0.9375rem auto 0;display:block;font-size:0.6875rem;color:#93a294;text-decoration:underline}
.loading{padding:1.875rem;color:#85998b;text-align:center;font-size:0.8125rem}
@media(min-width:1500px){.app{grid-template-columns:4.75rem 23.75rem minmax(0,1fr)}
.messages{padding-left:8%;padding-right:8%}}
@media(max-width:1000px){.app{grid-template-columns:3.625rem 19.375rem minmax(0,1fr)}
.sidebar-header{padding:1.375rem 1.125rem}
.mode-switch,.search{margin-left:1.0625rem;margin-right:1.0625rem}
.filters{padding-left:1.0625rem;padding-right:1.0625rem}
.chat-row{padding:1rem 0.9375rem}
.conversation-header{padding:0 1.25rem}
.composer{padding:1rem}
.bubble{max-width:87%}
.composer-help span:last-child{display:none}
.composer-help{padding-left:3rem}
.messages{padding:1.5625rem}}
@media(max-width:700px){.app{grid-template-columns:3.375rem minmax(0,1fr)}
.conversation{display:none}
.app.chat-open{grid-template-columns:minmax(0,1fr)}
.app.chat-open .rail,.app.chat-open .sidebar{display:none}
.app.chat-open .conversation{display:block}
.mobile-back{display:inline-grid}
.conversation-header{height:4.5rem;padding:0 0.75rem;gap:0.625rem}
.conversation-header .avatar{width:2.25rem;height:2.25rem;font-size:0.875rem}
.conversation-header>.icon-button{width:1.875rem}
.messages{padding:1.375rem 0.9375rem}
.bubble{max-width:88%;padding:0.6875rem 0.8125rem 0.5rem}
.composer{padding:0.75rem}
.compose-row{gap:0.4375rem}
.composer textarea{font-size:1rem}
.composer-help{font-size:0.625rem}
.demo-banner{font-size:0.6875rem;padding:0.5rem 0.75rem}
.rail{padding-top:1.375rem}
.brand svg{width:1.8125rem;height:1.8125rem}
.sidebar-header{padding-top:1.4375rem}
.chat-row{padding:1.0625rem}
.row-title{font-size:0.9375rem}
.row-preview{font-size:0.8125rem}
.row-time{font-size:0.75rem}
.chip{font-size:0.8125rem}
.local-label{font-size:0.75rem}
dialog{padding:1.4375rem}
.account-card{padding:0.8125rem;gap:0.625rem}
.account-card button{font-size:0.75rem;padding:0.5rem}
.account-info h3{font-size:0.875rem}
.search input{font-size:0.875rem}}
.sidebar-header{padding-top:1.25rem;padding-bottom:1.125rem}
.bubble p{font-size:1rem}
.row-preview{font-size:0.8125rem;color:#64796c}
.row-time,.bubble-meta,.message-status,.day-label,.composer-help,.test-incoming{font-size:0.75rem}
.bubble-meta{color:#607b68}
.local-label,.chat-heading p{color:#687e70}
.chip,.mode-switch button,.search input,.connections-footer,.account-info p,.future-channels{font-size:0.875rem}
.filters{gap:0.3125rem}
.chip{padding:0.375rem 0.4375rem}
.search{margin-bottom:0.8125rem}
.storage-note p{font-size:0.8125rem}
.composer-help{color:#738979}
.empty-chat p{font-size:1rem}
.dialog-intro{color:#627b69}
.demo-banner{color:#717349}
.auth-form p,.auth-text{color:#607969}
.empty-chat small{font-size:0.75rem}
.message-audit{font-size:0.6875rem;color:#777e78;padding:0 0 0.5rem;line-height:1.5}
.message-versions{font-size:0.75rem;margin-top:0.625rem;border-top:0.0625rem solid #bdcebd;padding-top:0.5rem;color:#607468}
.message-versions summary{cursor:pointer}
.old-version{padding:0.625rem 0;border-bottom:0.0625rem solid #ccd9ce}
.old-version small{font-size:0.625rem;color:#829285}
.old-version p{color:#6f7d74}
.media-image{display:block;max-width:100%;max-height:20rem;border-radius:0.4375rem;object-fit:contain;margin-bottom:0.5rem}
.bubble audio,.bubble video{display:block;max-width:100%;width:18.75rem;margin:0.5rem 0}
.bubble video{max-height:21.875rem}
.history-settings{border-top:0.0625rem solid var(--border);padding-top:0.625rem;margin-top:1.375rem}
.history-settings h3{font-size:1rem}
.history-settings>p{font-size:0.75rem;line-height:1.7;color:#7b8e7f}
.history-job{display:flex;align-items:center;gap:0.625rem;margin:0.75rem 0}
.history-job>div{flex:1;min-width:0}
.history-job b{font-size:0.8125rem}
.history-job small{display:block;font-size:0.6875rem;color:#839286;line-height:1.5;margin-top:0.25rem}
.history-job button{white-space:nowrap;font-size:0.75rem}
.button-row{display:flex;gap:0.5rem;flex-wrap:wrap}
.auth-form .check-row{display:flex;align-items:flex-start;gap:0.5625rem;line-height:1.5}
.auth-form .check-row input{display:inline-block;width:auto;flex-shrink:0;margin-top:0.25rem}
.auth-form select{padding:0.5625rem;border:0.0625rem solid #dce6de;border-radius:0.375rem;width:100%;background:white}
.app{grid-template-rows:minmax(0,1fr)}
.conversation{min-height:0;overflow:hidden}
#chat-panel{min-height:0}
.messages{min-height:0}
.conversation-header,.demo-banner,.composer{flex-shrink:0}
.chat-heading p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root{font-size:16px}
@media(min-width:701px){:root{font-size:13.5px}}
.chip{display:inline-flex;align-items:center;justify-content:center;gap:.3rem}
.sidebar-resizer{display:none}
@media(min-width:701px){.app{grid-template-columns:var(--rail-size,4.25rem) var(--sidebar-width,var(--sidebar-default,21.875rem)) minmax(0,1fr)}
.sidebar{position:relative;container-type:inline-size}
.conversation{container-type:inline-size}
.sidebar-resizer{display:block;position:absolute;right:-5px;top:0;bottom:0;width:10px;z-index:5;cursor:col-resize;touch-action:none;outline-offset:-3px}
.sidebar-resizer::after{content:'';position:absolute;left:4px;top:calc(50% - 22px);width:2px;height:44px;border-radius:2px;background:#aabeb4}
.sidebar-resizer:hover,.sidebar-resizer:focus-visible,.resizing-sidebar .sidebar-resizer{background:#087f6b18}
.sidebar-resizer:hover::after,.sidebar-resizer:focus-visible::after,.resizing-sidebar .sidebar-resizer::after{background:var(--green)}
.resizing-sidebar{cursor:col-resize;user-select:none}
.row-title{font-size:clamp(11.5px,calc(8px + 1.2cqw),15px)}
.row-preview{font-size:clamp(11px,calc(7px + 1.2cqw),14px)}
.bubble p,.composer textarea{font-size:clamp(12px,calc(8px + .7cqw),16px)}}
@media(min-width:701px) and (max-width:1000px){.app{--rail-size:3.625rem;--sidebar-default:19.375rem}}
@media(min-width:1500px){.app{--rail-size:4.75rem;--sidebar-default:23.75rem}}
.messages{scrollbar-gutter:stable;overflow-anchor:none}
.chat-completion{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border);font-size:.85rem;color:#718376}
.chat-completion .secondary{font-size:.9rem;padding:.45rem .7rem;flex-shrink:0}
.chat-completion .needs-attention{color:#087f6b}
@media(max-width:700px){.chat-completion{flex-wrap:wrap;font-size:.75rem}
.chat-completion .secondary{font-size:.8rem}}
.avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#eef2ef}
.provider-badge{z-index:1}
.avatar-settings{border-top:1px solid var(--border);padding-top:.8rem;margin-top:1.2rem}
.avatar-settings h3{font-size:1rem}
.avatar-settings p{font-size:.85rem;color:#718376;line-height:1.6}
.manual-name-mark{display:inline-flex;vertical-align:-.12em;width:.85em;height:.85em;margin-left:.4em;color:#74877e;flex-shrink:0}
.manual-name-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.provider-badge.whatsapp{background:#25d366;color:#fff}
.channel-icon.whatsapp{background:#e5f8eb;color:#128c48}
.chip[data-filter="whatsapp"] svg{width:1em;height:1em;margin-right:.25em;color:#128c48}
.login-page{display:grid;place-items:center;min-height:100dvh;height:auto;padding:28px;background:#edf4f1;overflow:auto}
.login-card{width:min(100%,430px);padding:32px;background:white;border:1px solid #dce6e0;border-radius:18px;box-shadow:0 12px 40px #163e2510}
.login-card h1{font-size:25px;line-height:1.25;margin:12px 0}
.login-card p{line-height:1.55;color:#64736b}
.login-card .eyebrow{margin:14px 0 0;color:#28735b}
.login-card .auth-form{padding:0;margin-top:24px}
.login-card label{display:block;margin-bottom:6px}
.login-card input{width:100%;min-height:42px}
.login-card #confirm-row{margin-top:4px}
.login-card .login-error{color:#b02932;min-height:22px}
.login-footer{font-size:12px;margin-bottom:0}
.read-only .composer,.read-only #chat-pin,.read-only #chat-archive{display:none!important}
.file-drop-overlay{position:absolute;inset:12px;z-index:20;pointer-events:none;border:2px dashed #16876d;border-radius:16px;background:#effaf5f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:#126b55}
.file-drop-overlay svg{width:44px;height:44px}
.file-drop-overlay strong{font-size:clamp(17px,2vw,23px)}
.file-drop-overlay span{font-size:13px;color:#52766a}
.group-visibility{display:flex;align-items:center;gap:8px;padding:10px 1.375rem;font-size:12px;color:#526c60;border-bottom:1px solid var(--border);cursor:pointer;user-select:none}
.group-visibility input{accent-color:var(--green);width:15px;height:15px;margin:0}
.message-author{font-size:12px;font-weight:600;color:#286b59;margin:0 0 6px;line-height:1.4;overflow-wrap:anywhere}
.message-author.author-unknown{color:#75857d;font-weight:400}
.rail-button.notification-enabled{color:#0a9278}
.notification-group-option{display:flex;align-items:flex-start;gap:0.75rem;margin:1.25rem 0;cursor:pointer}
.notification-group-option input{accent-color:var(--green);width:1rem;height:1rem;flex:none;margin:0.15rem 0 0}
.notification-group-option span{display:grid;gap:0.3rem}
.notification-group-option strong{font-size:0.875rem}
.notification-group-option small{font-size:0.75rem;color:#73877b;line-height:1.5}
.delivery-checks{display:inline-flex;align-items:center;min-width:1.9rem;height:1rem;color:#7b9387;white-space:nowrap}
.delivery-checks svg{width:1rem;height:1rem;stroke-width:2.2;color:inherit;stroke:currentColor}
.delivery-checks svg+svg{margin-left:-.55rem}
.delivery-checks.read{color:#1686cf}
.delivery-checks.delivered{color:#658f8a}
.composer{position:relative;padding:8px 16px 10px}
.composer-resizer{position:absolute;top:0;left:12%;width:76%;height:9px;cursor:ns-resize;touch-action:none;z-index:1}
.composer-resizer:after{content:'';display:block;width:44px;height:3px;background:#b8c9bd;border-radius:8px;margin:2px auto}
.composer-resizer:focus-visible{outline:2px solid var(--green)}
.composer-tools{display:flex;align-items:center;gap:4px;margin-bottom:5px}
.composer-tools .tool-spacer{flex:1}
.composer-tools #mark-chat-read{padding:5px 9px;font-size:12px}
.compose-row{gap:7px}
.composer textarea{resize:none;max-height:min(45dvh,420px);min-height:43px;height:55px;overflow:auto}
.attachment-preview{padding:4px 0 7px;gap:8px}
.attachment-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.draft-image{width:48px;height:48px;object-fit:cover;border-radius:5px}
.reply-preview{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;margin-bottom:5px;border-left:3px solid var(--green);background:#f2f8f4;border-radius:5px}
.reply-preview>div{min-width:0;display:flex;flex-direction:column;font-size:12px}
.reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#607b68}
.message-actions-popover{position:fixed;min-width:170px;max-width:min(260px,calc(100vw - 16px));z-index:15;background:white;border:1px solid #dce8df;border-radius:9px;padding:5px;box-shadow:0 8px 28px #1b38252b}
.message-actions-popover button{display:block;width:100%;padding:8px 10px;text-align:left;border-radius:5px;font-size:13px}
.message-actions-popover button:hover,.message-actions-popover button:focus-visible{background:#edf5ef}
.message-actions-popover p{padding:4px 8px;margin:0;color:#718276;font-size:12px}
.message-quote{display:flex;flex-direction:column;text-align:left;max-width:100%;width:100%;border-left:3px solid #7eab91;background:#f0f7f2;border-radius:4px;padding:5px 8px;margin:0 0 7px}
.message-quote strong,.message-quote span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-quote span{color:#60776a}
.message-highlight .bubble{outline:3px solid #e5be53;outline-offset:3px}
.advanced-history{margin:16px 0;color:#617668;font-size:13px}
.advanced-history summary{cursor:pointer}
.advanced-history #history-jobs{margin-top:10px}
@media(max-width:700px){.composer{padding:6px 8px 8px}
.composer-tools .icon-button{width:32px;height:32px}
.composer-tools #mark-chat-read{font-size:11px}}
.chat-heading .typing-label{color:#087f6b;font-weight:600}
@media(max-width:700px){.conversation-header{position:relative;z-index:4}
.chat-heading #chat-subtitle.is-typing{position:absolute;left:64px;top:calc(100% + 3px);max-width:calc(100vw - 76px);overflow:visible;background:#e6f5ee;border:1px solid #acd6bf;border-radius:6px;padding:3px 6px;line-height:1.2;box-shadow:0 2px 8px #153b321c}}
.messages{min-height:0;overflow-anchor:none}
.message-attachment .attachment{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:8px 0;background:#edf5f1;border:1px solid #c4dcd0;border-radius:9px;color:#175343;text-decoration:none;box-shadow:0 1px 2px #183e2110;min-width:180px;max-width:100%;overflow-wrap:anywhere}
.message-attachment .attachment:hover{background:#e2f0e8;border-color:#89b7a1}
.message-attachment .attachment>svg{width:32px;height:32px;padding:5px;border-radius:7px;background:#d5e8dd;color:#217456}
.message-attachment .attachment>span{min-width:0;font-weight:600;line-height:1.4}
.message-attachment .attachment small{display:inline-block;margin-top:3px;font-size:11px;font-weight:400;color:#597264}
.image-attachment-wrap{position:relative;display:inline-block;min-width:40px;max-width:100%}
.image-attachment-wrap .image-preview{display:block}
.image-download{position:absolute;right:6px;top:6px;width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#153b32df;color:white;border:1px solid #ffffffa0;z-index:1}
.image-download:hover,.image-download:focus-visible{background:#087f6b}
.image-download svg{width:17px;height:17px}
.out .message-attachment .attachment{background:#f4faf5;border-color:#acd0b8}
.image-preview{display:block;padding:0;max-width:100%;border-radius:7px;cursor:zoom-in;overflow:hidden}
.image-preview .media-image{display:block;margin:0;max-width:100%}
dialog.image-viewer{width:min(1200px,calc(100vw - 32px));height:min(850px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid #52605a;border-radius:12px;background:#15221d;color:#f1f6f3}
dialog.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer::backdrop{background:#0d1713d9;backdrop-filter:blur(3px)}
.image-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#21342c;flex-shrink:0}
.image-viewer-toolbar h2{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;min-width:0}
.image-viewer-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.image-viewer-controls button{height:36px;min-width:36px;padding:0 8px;border:1px solid #567265;border-radius:6px;color:#f2f7f4;background:#2d483b;font-size:20px}
.image-viewer-controls button:hover{background:#3e5c4d}
.image-viewer-controls #image-zoom-reset{font-size:12px;min-width:60px}
.image-viewer-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;outline-offset:-4px}
.image-viewer-stage img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;user-select:none;pointer-events:none;transform-origin:center;will-change:transform}
.image-viewer-stage.can-pan{cursor:grab}
.image-viewer-stage.panning{cursor:grabbing}
.image-viewer-stage p{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:24px;font-size:14px;color:#d2e0d7}
.image-viewer-help{flex-shrink:0;margin:0;padding:9px 14px;font-size:11px;color:#bbcdc1;background:#21342c;text-align:center}
@media(max-width:700px){dialog.image-viewer{width:100vw;height:100dvh;margin:0;border-radius:0;border:0}
.image-viewer-toolbar{padding:10px;gap:6px}
.image-viewer-toolbar h2{font-size:12px}
.image-viewer-controls{gap:4px}
.image-viewer-controls button{min-width:32px;height:36px}
.image-viewer-controls #image-zoom-reset{min-width:50px}
.image-viewer-help{font-size:10px;padding:8px}
.message-attachment .attachment{padding:10px;gap:8px;min-width:min(180px,100%)}}
.row-time{white-space:nowrap;flex-shrink:0}
#mark-chat-read{background:#eef0f8;border-color:#dce0ef;color:#58638b}
#mark-chat-read:hover{background:#e6e9f4}
.emoji-anchor{position:relative}
.emoji-picker{position:absolute;bottom:calc(100% + .625rem);right:0;z-index:20;display:grid;grid-template-columns:repeat(6,2.25rem);gap:.25rem;padding:.625rem;border:1px solid #dfe7e1;border-radius:.75rem;background:white;box-shadow:0 .5rem 2rem #18352825;max-height:40dvh;overflow:auto}
.emoji-option{width:2.25rem;height:2.25rem;padding:0;border-radius:.4375rem;font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:1.4375rem;line-height:1}
.emoji-option:hover{background:#edf3ef}
@media(max-width:420px){.emoji-picker{right:-3.5rem}}
.row-time{display:inline-flex;align-items:center;gap:.2rem}
.chat-list-receipt{min-width:0;width:auto}
.chat-list-receipt svg{width:.85rem;height:.85rem}
.message-pins{flex:none;min-width:0;padding:6px 16px;background:var(--panel,#fff);border-bottom:1px solid var(--border,#dce3ea)}
.message-pins-heading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted,#667085)}
.message-pins-local{margin-right:auto;font-size:11px}
.message-pins-heading button{border:0;background:transparent;color:inherit;padding:2px 8px;font-size:18px;cursor:pointer}
.message-pins-heading button:disabled{opacity:.35;cursor:default}
.message-pin-link{display:block;width:100%;border:0;background:transparent;text-align:left;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;font-size:13px;color:var(--text,#243041);cursor:pointer}
.message-pin-link:disabled{color:var(--muted,#667085);cursor:default}
@media(max-width:600px){.message-pins{padding:5px 10px}
.message-pins-heading{gap:4px}
.message-pins-local{font-size:10px}}
.draft-file{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.draft-file>span{flex:1}
.multi-attachment-preview{display:flex;flex-direction:column;align-items:stretch;max-height:35dvh;overflow:auto}
.multi-attachment-preview .draft-file{flex-shrink:0}
.batch-notice{white-space:normal;color:#607b68}
.batch-progress small{display:block}
.batch-progress p{font-size:12px;white-space:normal}
.batch-progress{font-size:12px}
.chat-load-state{flex-shrink:0;padding:10px 16px;font-size:0.8125rem;color:var(--muted,#7b8883)}
.chat-load-state[hidden]{display:none}
.conversation{display:flex;flex-direction:column}
#chat-panel{height:auto;flex:1;min-height:0}
.composer.actions-only .compose-row,.composer.actions-only .composer-resizer{display:none}
.composer.actions-only .composer-tools{margin-bottom:0;min-height:30px}
.inline-error{color:#a52e2e;white-space:pre-wrap}
@media(max-width:700px){.conversation{display:none}
.app.chat-open .conversation{display:flex}}
.floating-day{position:absolute;left:0;right:0;z-index:6;display:flex;justify-content:center;pointer-events:none;opacity:0;transition:opacity .18s ease}
.floating-day[hidden]{display:none}
.floating-day.visible{opacity:1}
.floating-day span{padding:0.375rem 0.8125rem;border-radius:999px;background:#ebf0eb;color:#6f8076;font-size:0.75rem;box-shadow:0 0.0625rem 0.375rem rgba(40,60,48,.18)}
.row-bottom{gap:.5rem}
.row-marks{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;margin:-2px 0 -2px auto}
.row-marks>*{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:18px;min-width:18px;margin:0;padding:0;border-radius:9px;line-height:1}
.row-marks .unread-count{padding:0 5px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
:root{--green:#6d5df5;--muted:#6b7280;--border:rgba(31,41,55,.09);--pale:rgba(109,93,245,.12);--accent:#6d5df5;--panel:rgba(255,255,255,.74);--glass-line:rgba(255,255,255,.9);--ink:#1f2937;
  --card-radius:22px;--card-shadow:0 8px 32px rgba(31,41,55,.08);font-family:Manrope,Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);
  background:linear-gradient(135deg,#eef2ff 0%,#fdf2f8 50%,#ecfeff 100%) fixed}
body{background:transparent}
.app{background:transparent;gap:14px;padding:14px}
.rail,.sidebar,.conversation{border-radius:var(--card-radius);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-line);box-shadow:var(--card-shadow)}
.rail{border-right:1px solid var(--glass-line)}
.sidebar{border-right:1px solid var(--glass-line);overflow:hidden}
.conversation{overflow:hidden}
.brand{color:var(--accent)}
.rail-button{border-radius:14px;color:#6b7280}
.rail-button:hover{background:rgba(255,255,255,.7)}
.rail-button.selected{background:var(--pale);color:var(--accent)}
.sidebar-header h1{font-weight:700;letter-spacing:-.01em}
.search{background:rgba(255,255,255,.75);border:1px solid var(--glass-line);border-radius:14px;color:#8b93a1}
.filters{border-bottom:1px solid var(--border)}
.chip{border-radius:999px;background:rgba(255,255,255,.75);color:#4b5563;border:1px solid var(--glass-line)}
.chip:hover{background:#fff}
.chip.active{background:var(--accent);color:#fff;border-color:transparent;font-weight:600}
.group-visibility{border-bottom:1px solid var(--border);color:#4b5563}
.chat-list{padding:.375rem .5rem}
.chat-row{border-bottom:0;border-radius:16px}
.chat-row:hover{background:rgba(255,255,255,.8)}
.chat-row.active{background:var(--pale)}
.avatar{border-radius:14px;background:linear-gradient(135deg,#c7d2fe,#a5b4fc);color:#3730a3;font-weight:650}
.avatar-photo{border-radius:14px}
.unread-count{background:var(--accent)}
.row-time{color:#8b93a1}
.row-preview{color:#6b7280}
.sidebar-resizer::after{background:#c7cbd6}
.conversation{background:var(--panel)}
.conversation-header{background:transparent;border-bottom:1px solid var(--border)}
.messages{background-image:none}
.day-label{display:inline-block;margin-left:50%;transform:translateX(-50%);padding:.25rem .75rem;border-radius:999px;background:var(--pale);color:#4c4699}
.bubble{border:0;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(31,41,55,.06)}
.out .bubble{background:var(--accent);border-color:transparent;border-radius:18px 18px 6px 18px;color:#fff}
.out .bubble p,.out .bubble-meta,.out .bubble .message-status,.out .bubble a{color:#fff}
.out .bubble-meta{opacity:.78}
.composer{background:transparent;border-top:1px solid var(--border)}
.composer textarea{background:rgba(255,255,255,.88);border:1px solid var(--glass-line);border-radius:14px}
.primary{background:var(--accent);border-radius:12px}
.secondary{border-radius:12px;background:rgba(255,255,255,.75)}
.icon-button:hover{background:rgba(255,255,255,.8)}
.empty-chat h2{color:var(--ink)}
dialog{border-radius:var(--card-radius);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-line)}
dialog::backdrop{background:rgba(31,41,55,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.account-card{border-radius:16px;background:rgba(255,255,255,.7)}
.phone-chats{border-top:1px solid var(--border)}
.phone-chat-row{border-radius:14px;background:rgba(255,255,255,.7)}
@media(max-width:700px){.app{gap:8px;padding:8px}
.rail,.sidebar,.conversation{border-radius:18px}
.app.chat-open{padding:0;gap:0}
.app.chat-open .conversation{border-radius:0;border:0;box-shadow:none}}
.chat-row.active:before{display:none}
#toast{background:#1f2937;border-radius:14px}
.chat-heading .typing-label{color:var(--accent)}
.image-download:hover,.image-download:focus-visible{background:var(--accent)}
.app{gap:6px;padding:6px}
.rail,.sidebar,.conversation{border-radius:16px}
.chat-list{padding:.25rem .25rem}
.chat-row{border-radius:12px}
.filters{padding:0 .75rem .625rem;align-items:center;position:relative;padding-right:2.5rem}
.search{margin:0 .75rem .75rem}
.sidebar-header{padding:1.125rem .875rem .75rem}
.group-visibility{padding:.5rem .875rem}
.filters-toggle{position:absolute;right:.5rem;top:-.125rem;width:1.75rem;height:1.75rem;border-radius:50%;display:inline-grid;place-items:center;background:rgba(255,255,255,.8);border:1px solid var(--glass-line);color:#6b7280;cursor:pointer}
.filters-toggle svg{width:14px;height:14px;transform:rotate(90deg);transition:transform .15s}
.filters.collapsed .filters-toggle svg{transform:rotate(-90deg)}
.filters.collapsed .chip:not(.active){display:none}
.rail-toggle{margin-top:auto;width:2rem;height:2rem;border-radius:10px;display:inline-grid;place-items:center;color:#6b7280;background:transparent;border:0;cursor:pointer}
.rail-toggle:hover{background:rgba(255,255,255,.8)}
.rail-toggle svg{width:16px;height:16px}
.rail-open{position:fixed;left:8px;bottom:8px;z-index:30;width:2.25rem;height:2.25rem;border-radius:12px;display:inline-grid;place-items:center;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-line);box-shadow:var(--card-shadow);color:var(--accent);cursor:pointer}
.rail-open[hidden]{display:none}
.rail-open svg{width:16px;height:16px}
@media(min-width:701px){.app.rail-collapsed{grid-template-columns:var(--sidebar-width,var(--sidebar-default,21.875rem)) minmax(0,1fr)}
.app.rail-collapsed .rail{display:none}}
@media(max-width:700px){.app{gap:4px;padding:4px}
.rail-toggle,.rail-open{display:none}
.app.rail-collapsed:not(.chat-open) .rail{display:flex}}
.out .message-author,.out .message-author.author-unknown{color:#fff;opacity:.95}
.out .bubble-meta{opacity:1;color:#ece9ff}
.out .delivery-checks{color:#ece9ff}
.out .delivery-checks.read{color:#7cf5c8}
.out .message-status.failed{color:#ffd0d0;font-weight:600}
.out .message-quote{background:rgba(255,255,255,.16);border-left-color:rgba(255,255,255,.75)}
.out .message-quote,.out .message-quote span{color:#f3f1ff}
.out .attachment{background:rgba(255,255,255,.18);color:#fff}
.out [data-message-actions]{color:#ece9ff;opacity:1}
.out [data-message-actions]:hover{background:rgba(255,255,255,.18)}
.out .message-attachment .attachment,.out .attachment{background:#fff;border:1px solid rgba(255,255,255,.7);color:#1f2937}
.out .message-attachment .attachment:hover{background:#f5f3ff;border-color:#fff}
.out .message-attachment .attachment>svg{background:var(--pale);color:var(--accent)}
.out .message-attachment .attachment small{color:#6b7280}
.message-text a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;font-weight:500;overflow-wrap:anywhere}
.in .message-text a{color:#2563eb;font-weight:600}
.in .message-text a:hover{background:none;color:#3730a3}
.out .bubble .message-text a{color:#ffe066;font-weight:700;text-decoration-color:#ffe066;text-decoration-thickness:2px;background:none;padding:0}
.out .bubble .message-text a:hover{color:#fff3b0;background:none;text-decoration-color:#fff3b0}
.message-attachment.video-only{display:grid;gap:4px;justify-items:start}
.message-attachment.video-only video{display:block;max-width:100%;width:20rem;border-radius:10px;margin:0.25rem 0 0;background:#000}
.video-download{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--accent,#6d5df5);text-decoration:none;padding:2px 0}
.video-download svg{width:15px;height:15px;fill:currentColor}
.out .bubble .video-download{color:#ffe066}
.video-card .attachment{align-items:flex-start}
.video-card .attachment>span{display:grid;gap:3px}
.video-name{font-weight:500;overflow-wrap:anywhere}
.video-fetch{justify-self:start;margin-top:4px;padding:6px 12px;border:0;border-radius:8px;background:var(--accent,#6d5df5);color:#fff;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.video-fetch:hover{filter:brightness(1.08)}
.video-loading{color:var(--accent,#6d5df5);font-weight:500}
.video-error{color:#b42318}
.message-attachment.audio-only audio{margin:0.25rem 0}
.audio-note{display:block;font-size:11px;opacity:.8}
.bubble.deleted-message .deleted-label{display:flex;align-items:center;gap:6px;color:#d92d20;font-size:13.5px;font-weight:600;line-height:1.35}
.out .bubble.deleted-message .deleted-label{display:inline-flex;padding:3px 9px 3px 7px;border-radius:8px;background:#fff;color:#d92d20}
.out .bubble.deleted-message .deleted-label small{color:#8f1d16}
.bubble.deleted-message .deleted-label small{font-weight:400;font-size:11.5px;opacity:.75}
.bubble.deleted-message .deleted-label::before,.bubble.deleted-message .audio-note::before{content:"";flex-shrink:0;width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E") center/contain no-repeat}
.bubble.deleted-message .deleted-content{margin-top:4px}
.bubble.deleted-message .deleted-content>summary{display:inline-flex;align-items:center;gap:4px;list-style:none;cursor:pointer;font-size:12px;color:#6b7280;user-select:none}
.out .bubble.deleted-message .deleted-content>summary{color:rgba(255,255,255,.8)}
.bubble.deleted-message .deleted-content>summary::-webkit-details-marker{display:none}
.bubble.deleted-message .deleted-content>summary::before{content:"";width:13px;height:13px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s}
.bubble.deleted-message .deleted-content[open]>summary::before{transform:rotate(180deg)}
.bubble.deleted-message .deleted-content>summary .when-open,.bubble.deleted-message .deleted-content[open]>summary .when-closed{display:none}
.bubble.deleted-message .deleted-content[open]>summary .when-open{display:inline}
.bubble.deleted-message .deleted-content[open]>summary{margin-bottom:6px}
.bubble.deleted-message .deleted-content>:not(summary){opacity:.8}
.bubble.deleted-message .deleted-empty{display:block;margin-top:3px;font-size:12px;color:#6b7280}
.out .bubble.deleted-message .deleted-empty{color:rgba(255,255,255,.8)}
.bubble.deleted-message .message-attachment .attachment>svg{color:transparent;background:#fddcda url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c81e1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E") center/20px no-repeat}
.bubble.deleted-message .message-attachment .attachment>span{text-decoration:line-through 1.5px #e5484d}
.bubble.deleted-message .message-attachment .attachment small{color:#c81e1e;font-weight:700}
.bubble.deleted-message .image-attachment-wrap{margin-bottom:.5rem;border-radius:8px;box-shadow:0 0 0 3px #e5484d}
.bubble.deleted-message .image-attachment-wrap .media-image{margin-bottom:0}
.bubble.deleted-message .image-attachment-wrap::before{content:"";position:absolute;inset:0;z-index:1;border-radius:7px;background:rgba(217,45,32,.16);pointer-events:none}
.bubble.deleted-message .image-attachment-wrap::after,.bubble.deleted-message .message-attachment.video-only::before{content:"\423\434\430\43b\435\43d\43e";position:absolute;z-index:1;left:8px;bottom:8px;padding:3px 10px 3px 25px;border-radius:999px;background:#d92d20 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E") 8px center/13px no-repeat;color:#fff;font-size:11.5px;font-weight:700;line-height:1.4;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none}
.bubble.deleted-message .message-attachment.video-only{position:relative}
.bubble.deleted-message .message-attachment.video-only::before{top:14px;bottom:auto}
.bubble.deleted-message .message-attachment.video-only video{margin-top:.375rem;box-shadow:0 0 0 3px #e5484d}
.bubble.deleted-message .message-attachment.audio-only{margin:4px 0;padding:6px 8px 8px;border:1.5px solid #e5484d;border-radius:14px;background:#fff1f1}
.bubble.deleted-message .audio-note{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:2px 9px 2px 7px;border:1px solid #f3b4b1;border-radius:10px;background:#fff;color:#c81e1e;font-size:11.5px;font-weight:700;line-height:1.4;opacity:1}
.bubble.deleted-message .audio-note::before{width:13px;height:13px}
.message-attachment.image-only{display:grid;gap:2px;justify-items:start;max-width:100%}
.message-attachment.image-only .image-meta{display:block;max-width:100%;margin:0 0 2px;font-size:11px;line-height:14px;color:var(--muted);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-row.out .message-audit{color:#fff;opacity:1}
.message-row.out .message-versions{color:#fff;border-top-color:rgba(255,255,255,.4)}
.message-row.out .old-version{border-bottom-color:rgba(255,255,255,.28)}
.message-row.out .old-version small{color:rgba(255,255,255,.8)}
.message-row.out .old-version p{color:rgba(255,255,255,.9)}
.composer-tools #hide-chat-mine{padding:5px 9px;font-size:12px;font-weight:400;background:#f3f5f4;border-color:#e0e6e2;color:#66756c}
.composer-tools #hide-chat-mine:hover{background:#eaefec}
@media(max-width:700px){.composer-tools #hide-chat-mine{font-size:11px;padding:5px 7px}}
.message-attachment.file-card{display:grid;justify-items:start;gap:2px;max-width:100%}
.message-attachment.file-card .attachment,.out .message-attachment.file-card .attachment{align-items:flex-start;gap:10px;width:min(300px,100%);min-width:0;margin:6px 0 2px;padding:9px 12px 9px 9px;background:#f3f4f6;border:1px solid #e3e6ea;border-radius:9px;box-shadow:none;color:#1f2937}
.message-attachment.file-card .attachment:hover,.out .message-attachment.file-card .attachment:hover{background:#f3f4f6;border-color:#e3e6ea}
.message-attachment.file-card .attachment>svg,.out .message-attachment.file-card .attachment>svg{width:30px;height:30px;padding:6px;border-radius:7px;background:#e5e7eb;color:#6b7280;stroke-width:1.8}
.message-attachment.file-card .attachment>span.file-card-text{display:grid;gap:1px;min-width:0;font-weight:400;line-height:1.35}
.file-card-name{min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-attachment.file-card .attachment small,.out .message-attachment.file-card .attachment small{display:block;margin:0;font-size:11.5px;font-weight:400;line-height:1.35;color:#6b7280}
.message-attachment.file-card .file-fetch,.file-fetch-all .file-fetch{justify-self:start;margin:3px 0 0;padding:0;border:0;border-radius:0;background:none;color:var(--accent,#6d5df5);font:inherit;font-size:12.5px;font-weight:500;line-height:1.35;cursor:pointer;filter:none}
.message-attachment.file-card .file-fetch:hover,.file-fetch-all .file-fetch:hover{text-decoration:underline;filter:none}
.message-attachment.file-card .attachment small.file-loading{margin-top:3px;font-size:12.5px;color:var(--accent,#6d5df5)}
.file-card-note,.file-card-error{display:block;max-width:min(300px,100%);margin:0 0 4px;font-size:11.5px;line-height:1.35;color:#6b7280;overflow-wrap:anywhere}
.file-card-error{color:#b42318}
.out .bubble .file-card-note{color:rgba(255,255,255,.85)}
.out .bubble .file-card-error{color:#ffe1dd}
.file-fetch-all{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 0 4px}
.file-fetch-all .file-fetch{margin:0}
.file-fetch-all .file-card-note,.file-fetch-all .file-card-error{margin:0}
.out .bubble .file-fetch-all .file-fetch{color:#fff;text-decoration:underline}
.wa-qr{margin:.5rem 0 .25rem;padding-top:.25rem;border-top:1px solid var(--border)}
.wa-qr .qr{margin:.75rem auto .5rem;max-width:100%;height:auto;aspect-ratio:1}
.wa-qr .auth-status{margin:0 0 .5rem}
.wa-wait{margin:.75rem 0}
.wa-done{margin:.25rem 0 .5rem;font-size:.8125rem;line-height:1.4;color:#087f6b}
.wa-add{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .875rem;margin:.75rem 0 0}
.wa-add .secondary{font-weight:400}
.wa-add small{flex:1 1 12rem;min-width:0;font-size:.75rem;line-height:1.4;color:var(--muted)}
.wa-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-top:1rem}
.wa-actions .primary{margin-top:0}
#auth-content .auth-note[role=alert]{margin:.5rem 0 0}
.tg-password{margin:.5rem 0 .25rem;padding-top:.25rem;border-top:1px solid var(--border)}
.tg-password p{margin:.5rem 0 0}
.account-actions{flex-wrap:wrap;row-gap:.25rem;max-width:100%}
.phone-chat-group{display:grid;gap:.375rem}
.phone-chat-row+.phone-chat-group,.phone-chat-group+.phone-chat-row,.phone-chat-group+.phone-chat-group{margin-top:.375rem}
.phone-chat-accounts{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding-left:2.875rem;font-size:.75rem;color:var(--muted)}
.phone-chat-account{min-height:1.75rem;max-width:100%;padding:.1875rem .625rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:#4f6158;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phone-chat-account:hover:not(:disabled){border-color:#a9cabe}
.phone-chat-account.is-selected{border-color:var(--green);background:var(--pale);color:#21332f}
@media(max-width:700px){.phone-chat-account{min-height:2.25rem;font-size:.8125rem}}
@media(max-width:700px){.conversation-header{gap:.5rem}}
