
/* НаСвязи 2.2 - bottom navigation, call setup and scanner */
:root{--bottom-nav-height:70px}
.app{height:calc(100dvh - var(--bottom-nav-height));margin-bottom:var(--bottom-nav-height)}
.bottom-tabs{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dce8ee;display:flex;justify-content:space-around;align-items:center;z-index:100}
.bottom-tabs button{background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:21px;color:#6c8293;min-width:80px;min-height:56px;border-radius:13px}
.bottom-tabs button span{font-size:12px;font-weight:700}
.bottom-tabs button.active{color:#008d8a;background:#edf8f6}
.chat-home{overflow-y:auto;flex:1;padding:14px;background:#f5f8fb}
.chat-home-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 14px}
.chat-home-title h2{margin:0;font-size:27px}
.chat-home-title button{border:0;border-radius:11px;background:#0c9b9d;color:white;padding:10px 14px;font-weight:700}
#chatHomeFilter,#messageSearch{width:100%;padding:14px 15px;font-size:16px;border:1px solid #d2e0e8;border-radius:14px;background:white;color:#243b51}
.chat-home-list{display:flex;flex-direction:column;gap:7px;margin-top:15px}
.chat-home-contact{display:flex;align-items:center;width:100%;text-align:left;gap:13px;padding:13px 9px;border:0;background:white;border-radius:15px;min-height:75px;box-shadow:0 3px 10px #223b5408}
.chat-home-contact .avatar{width:51px;height:51px;border-radius:50%;background:#d3eeeb;display:grid;place-items:center;font-size:24px;color:#096d70;flex-shrink:0}
.chat-home-contact .names{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.chat-home-contact strong{font-size:16px;color:#253f51;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-home-contact small{font-size:12px;color:#8495a7}
.message-search-bar{padding:8px 11px;display:flex;gap:8px;background:#e8f3f8}
.message-search-bar input{flex:1;min-width:0}
.message-search-bar button{border:0;background:white;border-radius:12px;width:40px;font-size:24px}
.day-separator{align-self:center;border-radius:16px;background:#dce7efed;color:#536d7e;font-size:11px;font-weight:700;padding:6px 12px;margin:10px 0 6px}
.call-green{background:#0aaf64!important;border:0!important;color:#fff!important;border-radius:12px!important;padding:15px 23px!important;font-weight:800!important;font-size:19px!important;width:100%}
.pre-call-info{font-size:13px;line-height:1.5;background:#e9f8f4;color:#286c66;padding:12px;border-radius:13px;margin:13px 0}
.call-modal{max-height:91dvh;overflow-y:auto}
.call-modal .call-actions{display:flex;flex-wrap:wrap}
.call-modal .call-actions .call-green{order:-1}
.scan-screen{position:fixed;inset:0;z-index:90;background:#101b2a;color:white;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.scan-head{display:flex;align-items:center;gap:12px;background:#1a2e45;padding:13px;min-height:59px}
.scan-head strong{flex:1;font-size:17px}
.scan-head button{width:40px;height:39px;border:1px solid #ffffff55;background:#ffffff1c;color:white;border-radius:12px;font-size:26px}
.scan-modes{display:flex;justify-content:center;gap:10px;padding:14px}
.scan-modes button{border:1px solid #627889;background:#263b51;color:#d7e7ed;padding:12px 25px;border-radius:16px;font-weight:800}
.scan-modes button.active{background:#0eaca5;color:white;border-color:#0eaca5}
.scan-camera{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;background:#07111b;overflow:hidden}
.scan-camera video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.scan-camera canvas{max-width:100%;max-height:100%;object-fit:contain}
#scanHint{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;border-radius:10px;background:#0008;padding:9px;font-size:13px}
.scan-buttons{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 11px;min-height:88px}
.scan-buttons button:not(.scan-shutter){border-radius:12px;padding:13px 15px;font-weight:700;border:0}
.scan-shutter{width:74px;height:74px;border-radius:50%;background:white;border:7px solid #83e0d7;color:#0b8f87;font-size:43px}
.scan-note{font-size:11px;color:#b4c9d5;margin:0;padding:7px 20px 12px;text-align:center}
.cloud-quick-settings{margin:12px 0;background:#eff8f6;border:1px solid #d4ebe9;padding:10px;border-radius:12px;font-size:13px}
.cloud-quick-settings .buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.cloud-quick-settings button{border-radius:9px;border:1px solid #bbdcd8;background:white;color:#0a7c78;font-size:13px;padding:9px}
.cloud-quick-pin{font-size:24px!important;letter-spacing:10px!important;text-align:center;width:100%;min-height:55px!important}
#cloudStatusMessage{font-size:12px;text-align:center;color:#627b8a}
#speechToText{font-size:20px}
@media(min-width:900px){.bottom-tabs{max-width:780px;left:50%;transform:translateX(-50%)}.app{height:calc(100dvh - var(--bottom-nav-height) - 24px)}}
@media(max-width:385px){.topbar{gap:3px}.topbar .icon-control{min-width:31px;height:34px;font-size:18px}#speechToText{min-width:33px}}

/* Keep cloud and scanner controls above the persistent bottom tabs */
.cloud-screen,.scan-screen{bottom:var(--bottom-nav-height)!important;}
