/* Scoped to chat and the attachment viewer; CRM navigation/calendar are unchanged. */
#staffChat .team-chat-card{max-width:1040px;padding:0;overflow:hidden;border:1px solid #dce6ed;border-radius:18px;background:#fff;box-shadow:0 6px 24px #18394b08}
#staffChat .presence-roster{padding:14px 20px;margin:0;border-bottom:1px solid #e7edf2}
#staffChat #teamClearHost{padding:0 20px;text-align:right}
#staffChat #teamOlder{margin:12px 20px 0}
#staffChat .team-messages{padding:24px;box-sizing:border-box;background:#f3f6f8;height:clamp(300px,52vh,650px)}
#staffChat .team-message{padding:12px 16px;margin-bottom:16px;border:1px solid #e2e8ed;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 2px 4px #18394b03;max-width:min(78%,620px)}
#staffChat .team-message.mine{background:#e7f3f6;border-color:#d2e8ed;border-radius:16px 16px 4px 16px}
#staffChat .team-author{font-size:12px;font-weight:600;color:#456477}
#staffChat .team-text{font-size:15px;line-height:1.55;margin-top:7px}
#staffChat .team-text:empty{display:none}
#staffChat .team-time{font-size:11px;color:#6d8593;text-align:right}
#staffChat .team-compose{position:relative;margin:0;padding:16px 20px;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;border-top:1px solid #dfe8ee;align-items:center;background:#fff}
#staffChat .team-input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#staffChat #teamAttach{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:42px;height:44px;min-height:44px;padding:9px;border:0;border-radius:10px;background:transparent;color:#426577}
#staffChat #teamAttach:hover{background:#edf3f6}
#staffChat #teamText{grid-column:2;grid-row:1;min-height:48px;height:48px;max-height:160px;resize:vertical;padding:12px 14px;background:#f7f9fa;border:1px solid #dce6ec;border-radius:12px;font-size:15px}
#staffChat #teamSend{grid-column:3;grid-row:1;min-height:44px;border-radius:11px;padding:10px 18px;background:#078ded;border-color:#078ded;color:white}
#staffChat #teamSend:hover:not(:disabled){background:#087bd0;border-color:#087bd0;filter:none}
#staffChat #teamSend:focus-visible{outline:2px solid #078ded;outline-offset:2px}
#staffChat #teamError{padding:0 20px 12px;margin:0}
#staffChat .chat-file-preview{grid-column:2/-1}
#staffChat .chat-read-status{font-size:11px!important}
.chat-attachment.chat-photo{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;width:256px;max-width:100%;border-radius:12px;overflow:hidden;color:#315970;background:#edf2f5;border:1px solid #d7e3e9}
.chat-photo .chat-photo-frame{position:relative;display:block;width:100%;height:180px;max-width:none;overflow:hidden;white-space:normal;background:linear-gradient(135deg,#e6edf1,#f5f8fa)}
.chat-photo .chat-photo-frame::after{content:'Фото · открыть';position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#67808e}
.chat-photo img{width:100%;height:100%;object-fit:cover;display:none}
.chat-photo.photo-ready img{display:block}
.chat-photo.photo-ready .chat-photo-frame::after{display:none}
.chat-photo.photo-unavailable .chat-photo-frame::after{content:'Открыть фотографию'}
.chat-photo .chat-photo-name{display:block;padding:9px 11px;width:100%;max-width:none;box-sizing:border-box;background:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.chat-attachment:focus-visible,.chat-media-action:focus-visible,#teamAttach:focus-visible{outline:3px solid #36a5cb;outline-offset:3px}
.chat-media-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1200px,96vw);height:min(880px,94dvh);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #34444e;border-radius:16px;background:#17232d;color:#fff;overflow:hidden}
.chat-media-dialog::backdrop{background:#0c1727d9;backdrop-filter:blur(4px)}
.chat-media-dialog[open]{display:flex;flex-direction:column}
.chat-media-dialog header,.chat-media-dialog footer{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-shrink:0;background:#1e2e3a}
.chat-media-dialog footer{justify-content:center}
.chat-media-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.chat-media-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;padding:9px;border:1px solid transparent;background:transparent;border-radius:10px;color:#eaf2f5;cursor:pointer}
.chat-media-action:hover{background:#ffffff17}
.chat-media-action:disabled{opacity:.35;cursor:default}
.chat-media-dialog footer span{min-width:70px;text-align:center;font-size:13px;color:#c2d3de}
.chat-media-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px;box-sizing:border-box}
.chat-media-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;flex-shrink:0;cursor:zoom-in}
.chat-media-stage img[hidden]{display:none}
.chat-media-stage.zoomed{display:block}
.chat-media-stage.zoomed img{cursor:zoom-out}
.chat-media-status{position:absolute;inset:0;margin:auto;height:fit-content;max-width:75%;text-align:center;line-height:1.6;color:#d5e1e9}
@media(max-width:600px){#staffChat .team-message{max-width:94%;padding:10px 12px}#staffChat .team-messages{padding:16px 12px}#staffChat .team-compose{padding:12px;gap:6px;grid-template-columns:38px minmax(0,1fr) auto}#staffChat #teamSend{width:auto;padding:10px;font-size:13px}#staffChat #teamAttach{width:38px}#staffChat .chat-photo{width:236px}.chat-media-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0}.chat-media-stage{padding:8px}.chat-media-dialog header,.chat-media-dialog footer{padding:8px}}
