/* Florentini Chats v12 — adaptive viewport, profiles, themes, receipts and stickers. */
.main[data-screen-label="v5-chats"]{position:relative;height:100%;min-height:0;overflow:hidden;margin:0!important;padding:0!important}
.main[data-screen-label="v5-chats"]>.chat-page-v11{position:absolute;inset:0;height:100%;min-height:0;display:flex;flex-direction:column;padding:0!important}
.main[data-screen-label="v5-chats"] .chat-page-head-v11{display:none}
.chat-page-v11 .chat-shell-v11{flex:1 1 auto;width:100%!important;height:100%!important;min-height:0;max-height:none;margin:0!important;border-radius:0;border:0;box-shadow:none}
.chat-quick-settings-v18{font-size:15px!important;line-height:1!important}

/* The conditional modal sections must not reserve invisible grid rows. */
.chat-modal-layer-v11{place-items:stretch;padding:0}
.chat-compose-modal-v11{width:100%;height:100dvh;max-width:none;max-height:none;display:flex;flex-direction:column;padding-inline:max(18px,calc((100vw - 1080px)/2));border:0;border-radius:0;box-shadow:none}
.chat-compose-modal-v11>header,.chat-compose-modal-v11>nav,.chat-group-title-v11,.chat-people-search-v11,.chat-selected-strip-v11,.chat-compose-modal-v11>footer{flex:0 0 auto}
.chat-people-list-v11{flex:1 1 auto;min-height:0;overscroll-behavior:contain}
.chat-compose-modal-v11>footer{background:rgba(251,252,248,.97)}

/* Real people photos, with presence kept readable at every size. */
.chat-avatar-v11.has-photo{overflow:visible;background:#dfe7db;color:transparent}
.chat-avatar-v11.has-photo:before{z-index:1;pointer-events:none}
.chat-avatar-v11>img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;background:#e6ece1}
.chat-avatar-v11>i{z-index:2}.chat-avatar-v11>i.offline{background:#a7afa3}.chat-avatar-v11>i.online{background:#7fac5f}
.chat-thread-identity-v11 small.typing{color:#5f8652;font-weight:600}.chat-thread-identity-v11 small.typing:after{content:"";display:inline-block;width:12px;height:4px;margin-left:5px;background:radial-gradient(circle,currentColor 1.5px,transparent 2px) 0 0/4px 4px;animation:chatTypingV12 .8s steps(3) infinite}
@keyframes chatTypingV12{50%{opacity:.35;transform:translateX(2px)}}

/* Theme tokens keep the established Florentini identity while allowing personal choice. */
.chat-shell-v11{--chat-panel:#f8faf4;--chat-panel-strong:#fff;--chat-feed:#eef1e9;--chat-in:#fffffd;--chat-out:#e2ebda;--chat-copy:#30352e;--chat-muted:#7d867a;--chat-accent:#66845b}
.chat-shell-v11.chat-theme-telegram{--chat-panel:#f7fbfe;--chat-panel-strong:#fff;--chat-feed:#dceaf2;--chat-in:#fff;--chat-out:#d9fdd3;--chat-copy:#202b33;--chat-muted:#72808a;--chat-accent:#3390ec;--chat-line:rgba(53,107,141,.15)}
.chat-shell-v11.chat-theme-paper{--chat-panel:#f8f3e8;--chat-panel-strong:#fffdf7;--chat-feed:#eee6d6;--chat-in:#fffdf7;--chat-out:#e8ddbd;--chat-copy:#3b342b;--chat-muted:#84796b;--chat-accent:#8a6c3e;--chat-line:rgba(104,83,55,.16)}
.chat-shell-v11.chat-theme-night{--chat-panel:#202822;--chat-panel-strong:#273129;--chat-feed:#17201a;--chat-in:#2b362e;--chat-out:#3b543f;--chat-copy:#eef4ed;--chat-muted:#a8b4a8;--chat-accent:#94bc7b;--chat-line:rgba(220,239,215,.11);background:#202822}
.chat-shell-v11 .chat-list-v11{background:var(--chat-panel)}.chat-shell-v11 .chat-thread-v11,.chat-shell-v11 .chat-thread-empty-v11{background:var(--chat-feed)}
.chat-shell-v11 .chat-thread-head-v11,.chat-shell-v11 .chat-composer-v11{background:color-mix(in srgb,var(--chat-panel-strong) 94%,transparent)}
.chat-shell-v11 .chat-feed-v11{background-color:var(--chat-feed)}
.chat-shell-v11 .chat-bubble-v11{background:var(--chat-in);color:var(--chat-copy)}.chat-shell-v11 .chat-message-v11.own .chat-bubble-v11{background:var(--chat-out)}
.chat-shell-v11 .chat-row-copy-v11>b,.chat-shell-v11 .chat-thread-identity-v11 b{color:var(--chat-copy)}.chat-shell-v11 .chat-row-copy-v11>small,.chat-shell-v11 .chat-thread-identity-v11 small{color:var(--chat-muted)}
.chat-shell-v11.chat-theme-night .chat-list-search-v11,.chat-shell-v11.chat-theme-night .chat-textarea-wrap-v11,.chat-shell-v11.chat-theme-night .chat-reaction-menu-v11,.chat-shell-v11.chat-theme-night .chat-more-menu-v11{background:#313c33;border-color:rgba(255,255,255,.1)}
.chat-shell-v11.chat-theme-night input,.chat-shell-v11.chat-theme-night textarea,.chat-shell-v11.chat-theme-night .chat-more-menu-v11 button{color:#eef4ed}.chat-shell-v11.chat-theme-night .chat-filter-v11 button.active{background:#334038;color:#b9d8a8}.chat-shell-v11.chat-theme-night .chat-row-v11.active{background:#334638}

/* Compact Telegram-like rhythm. */
.chat-shell-v11.chat-density-compact .chat-row-v11{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:7px 8px;border-radius:13px}
.chat-shell-v11.chat-density-compact .chat-row-v11>.chat-avatar-v11{width:42px;height:42px}
.chat-shell-v11.chat-density-compact .chat-message-v11{margin-top:7px}.chat-shell-v11.chat-density-compact .chat-message-v11.grouped{margin-top:2px}
.chat-shell-v11.chat-density-compact .chat-feed-v11{padding-top:12px;padding-bottom:14px}.chat-shell-v11.chat-density-comfortable .chat-message-v11{margin-top:14px}.chat-shell-v11.chat-density-comfortable .chat-feed-v11{padding-block:24px 32px}
.chat-shell-v11.messages-motion .chat-message-v11{animation:chatMessageInV12 .22s var(--ease-soft) both}.chat-shell-v11.messages-static .chat-message-v11{animation:none}
@keyframes chatMessageInV12{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Stickers and the expanded picker. */
.chat-picker-v12{position:absolute;z-index:24;right:0;bottom:48px;width:min(340px,calc(100vw - 44px));overflow:hidden;border:1px solid rgba(75,92,68,.16);border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(31,42,29,.23)}
.chat-picker-v12>nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px;background:#eef3ea}.chat-picker-v12>nav button{position:static;width:auto;height:32px;border:0;border-radius:10px;background:transparent;color:#768172;font:600 9px var(--font-sans)}.chat-picker-v12>nav button.active{background:#fff;color:var(--florentini-green-deep);box-shadow:0 3px 9px rgba(54,69,50,.1)}
.chat-emoji-grid-v12{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;max-height:220px;overflow:auto;padding:9px}.chat-emoji-grid-v12 button{position:static;width:44px;height:40px;border:0;border-radius:11px;background:transparent;font-size:20px;cursor:pointer}.chat-emoji-grid-v12 button:hover{background:#edf2e9;transform:scale(1.08)}
.chat-sticker-grid-v12{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:280px;overflow:auto;padding:9px}.chat-sticker-grid-v12 button{position:static;width:auto;height:84px;display:grid;place-items:center;align-content:center;gap:2px;border:0;border-radius:14px;background:#f3f6ef;cursor:pointer}.chat-sticker-grid-v12 button:hover{background:#e8f0e3}.chat-sticker-grid-v12 button span{font-size:36px}.chat-sticker-grid-v12 button small{color:#778174;font:7px var(--font-sans)}
.chat-bubble-v11:has(.chat-sticker-v12){border:0!important;background:transparent!important;box-shadow:none!important;padding:2px 4px 0}.chat-sticker-v12{width:118px;display:grid;justify-items:center;gap:2px}.chat-sticker-v12>span{display:block;font-size:76px;line-height:1.05;filter:drop-shadow(0 8px 8px rgba(39,53,35,.15));transform-origin:50% 85%}.chat-sticker-v12>small{padding:3px 7px;border-radius:9px;background:rgba(255,255,255,.7);color:#697466;font:7px var(--font-sans)}
.chat-shell-v11.stickers-motion .chat-sticker-v12>span{animation:chatStickerV12 2.8s ease-in-out infinite}.chat-shell-v11.stickers-static .chat-sticker-v12>span{animation:none}
@keyframes chatStickerV12{0%,70%,100%{transform:rotate(0) scale(1)}78%{transform:rotate(-8deg) scale(1.08)}86%{transform:rotate(7deg) scale(1.08)}93%{transform:rotate(-3deg)}}

/* Honest delivery/read state. */
.chat-receipt-v12{padding:0;border:0;background:transparent;color:#6f7b6b;font:8px var(--font-mono);cursor:pointer}.chat-receipt-v12.read,.chat-row-meta-v11>em.read{color:#4e91c8}.chat-receipt-v12.sent,.chat-row-meta-v11>em.sent{color:#7c8778}
.chat-readers-popover-v12{position:absolute;z-index:18;right:0;bottom:calc(100% + 9px);width:245px;max-height:260px;overflow:auto;padding:8px;border:1px solid rgba(70,88,64,.16);border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(34,46,31,.22)}
.chat-readers-popover-v12>header{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 7px}.chat-readers-popover-v12>header b{color:#3d493a;font:600 10px var(--font-sans)}.chat-readers-popover-v12>header button{width:24px;height:24px;border:0;border-radius:50%;background:#eef2e9;color:#788274;cursor:pointer}.chat-readers-popover-v12>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px;border-radius:10px}.chat-readers-popover-v12>div:hover{background:#f0f4ed}.chat-readers-popover-v12>div>span{display:grid;gap:2px}.chat-readers-popover-v12>div b{color:#3f4a3c;font:600 9px var(--font-sans)}.chat-readers-popover-v12>div small{color:#8a9187;font:7px var(--font-mono)}.chat-readers-popover-v12>div>i{color:#4e91c8;font:8px var(--font-mono);font-style:normal}.chat-readers-popover-v12>p{margin:0;padding:8px;color:#81897e;font:9px/1.5 var(--font-sans)}

/* Personal chat settings live inside the main settings studio. */
.settings-studio-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.chat-settings-studio-v12{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.chat-settings-studio-v12>.settings-panel{padding:20px}.chat-settings-studio-v12 h3{margin:5px 0 16px;color:var(--charcoal);font:400 24px var(--font-serif)}
.chat-settings-person-v12{display:grid;grid-template-columns:78px minmax(0,1fr);gap:16px;align-items:center;margin-top:14px}.chat-settings-person-v12>div{min-width:0}.chat-settings-person-v12 h3{margin:0;color:var(--charcoal);font:600 16px var(--font-sans)}.chat-settings-person-v12 p{margin:4px 0 10px;color:var(--gray);font:9px var(--font-sans)}.chat-settings-person-v12>div>div{display:flex;flex-wrap:wrap;gap:6px}
.chat-setting-field-v12{display:grid;gap:6px;margin-top:18px}.chat-setting-field-v12 span,.chat-density-picker-v12>span,.chat-volume-v12>span{color:#7a8376;font:8px var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.chat-setting-field-v12 input{height:42px;padding:0 12px;border:1px solid rgba(76,94,69,.16);border-radius:12px;outline:0;background:#fff;color:var(--charcoal);font:10px var(--font-sans)}.chat-setting-field-v12 input:focus{border-color:#78966d;box-shadow:0 0 0 3px rgba(110,143,97,.1)}.chat-settings-note-v12{margin:9px 0 0;color:#939990;font:8px/1.5 var(--font-sans)}
.chat-theme-grid-v12{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.chat-theme-grid-v12 button{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:10px;border:1px solid rgba(77,94,70,.13);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.chat-theme-grid-v12 button.active{border-color:#719064;box-shadow:0 0 0 3px rgba(105,137,93,.1)}.chat-theme-grid-v12 i{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,#edf1e9 50%,#dfead9 50%)}.chat-theme-grid-v12 .theme-telegram i{background:linear-gradient(135deg,#dceaf2 50%,#d9fdd3 50%)}.chat-theme-grid-v12 .theme-paper i{background:linear-gradient(135deg,#eee6d6 50%,#e8ddbd 50%)}.chat-theme-grid-v12 .theme-night i{background:linear-gradient(135deg,#17201a 50%,#3b543f 50%)}.chat-theme-grid-v12 b{color:#3e493b;font:600 9px var(--font-sans)}.chat-theme-grid-v12 small{color:#8b9288;font:7px var(--font-sans)}
.chat-density-picker-v12{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.chat-density-picker-v12>div{display:flex;padding:3px;border-radius:10px;background:#edf1e9}.chat-density-picker-v12 button{padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#758071;font:8px var(--font-sans);cursor:pointer}.chat-density-picker-v12 button.active{background:#fff;color:#4f6747;box-shadow:0 3px 9px rgba(55,70,50,.1)}
.chat-settings-preview-v12{display:grid;gap:6px;margin-top:14px;padding:16px;border-radius:15px;background:#eef1e9}.chat-settings-preview-v12 span{width:max-content;max-width:80%;padding:8px 10px;border-radius:5px 13px 13px 13px;background:#fff;color:#343a32;font:9px var(--font-sans)}.chat-settings-preview-v12 span.own{justify-self:end;border-radius:13px 5px 13px 13px;background:#e2ebda}.chat-settings-preview-v12 i{margin-left:7px;color:#879083;font:6px var(--font-mono);font-style:normal}.chat-settings-preview-v12.chat-theme-telegram{background:#dceaf2}.chat-settings-preview-v12.chat-theme-telegram .own{background:#d9fdd3}.chat-settings-preview-v12.chat-theme-paper{background:#eee6d6}.chat-settings-preview-v12.chat-theme-paper .own{background:#e8ddbd}.chat-settings-preview-v12.chat-theme-night{background:#17201a}.chat-settings-preview-v12.chat-theme-night span{background:#2b362e;color:#eef4ed}.chat-settings-preview-v12.chat-theme-night .own{background:#3b543f}
.chat-volume-v12{display:grid;gap:10px}.chat-volume-v12>span{display:flex;justify-content:space-between}.chat-volume-v12 input{width:100%;accent-color:var(--florentini-green)}.chat-sound-preview-v12{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.chat-sound-preview-v12 button{padding:8px 10px;border:1px solid rgba(77,94,70,.14);border-radius:10px;background:#f5f7f2;color:#5c6d56;font:8px var(--font-sans);cursor:pointer}.chat-sound-preview-v12 button:hover{background:#e8efe3}
.chat-settings-switches-v12{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chat-settings-switches-v12 .settings-switch{align-items:start}.chat-settings-switches-v12 .settings-switch b{display:grid;gap:3px}.chat-settings-switches-v12 .settings-switch small{color:#929990;font:7px/1.45 var(--font-sans);font-weight:400}.chat-settings-reset-v12{margin-top:14px}

@media(max-height:760px){.chat-list-v11>header{padding-block:10px 6px}.chat-list-mark-v11{width:34px;height:34px}.chat-list-search-v11{height:36px;margin-bottom:6px}.chat-filter-v11{margin-bottom:5px}.chat-thread-head-v11{min-height:56px;padding-block:6px}.chat-thread-head-v11>.chat-avatar-v11{width:40px;height:40px}.chat-compose-row-v11{padding-block:7px 3px}.chat-compose-hint-v11{display:none}.chat-details-v11>header{height:56px}}
@media(max-height:560px){.chat-list-v11>header{padding-block:6px 4px}.chat-filter-v11{display:none}.chat-list-section-v11>span{padding-block:7px 4px}.chat-row-v11{padding-block:5px!important}.chat-thread-head-v11{min-height:50px}.chat-compose-row-v11{grid-template-columns:38px minmax(0,1fr) 40px}.chat-attach-v11,.chat-send-v11{width:38px;height:38px}.chat-textarea-wrap-v11 textarea{min-height:36px;padding-block:9px 7px}}
@media(max-width:1100px){.settings-studio-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.chat-settings-studio-v12{grid-template-columns:1fr}}
@media(max-width:620px){.main[data-screen-label="v5-chats"]{margin:0!important}.chat-page-v11 .chat-shell-v11{border-radius:0}.settings-studio-tabs{grid-template-columns:1fr 1fr}.chat-modal-layer-v11{padding:0}.chat-compose-modal-v11{width:100%;height:100dvh;border:0;border-radius:0}.chat-compose-modal-v11>header{padding:14px 16px 10px}.chat-compose-modal-v11>nav,.chat-group-title-v11,.chat-people-search-v11,.chat-selected-strip-v11{margin-inline:14px}.chat-settings-switches-v12{grid-template-columns:1fr}.chat-theme-grid-v12{grid-template-columns:1fr}.chat-readers-popover-v12{position:fixed;right:12px;bottom:82px;width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.chat-sticker-v12>span,.chat-message-v11,.chat-thread-identity-v11 small.typing:after{animation:none!important}}
