/* Component geometry and colours retained from the accepted frozen Messenger. */
#messenger-panel{min-width:0;min-height:0;flex:1;display:grid;grid-template-columns:280px minmax(0,1fr);background:#fafbfc;color:#17191b}
#messenger-panel button,#messenger-panel input,#messenger-panel textarea{font:inherit;letter-spacing:0}
.messenger-directory{min-width:0;min-height:0;border-right:1px solid #e4e8eb;background:#fff;display:flex;flex-direction:column}
.directory-title{padding:8px 12px;display:flex;align-items:center;gap:6px}.directory-title h2{font-size:16px;margin:0 auto 0 0}
#messenger-search{margin:4px 12px 10px;min-width:0;border:1px solid #e4e8eb;border-radius:6px;background:#f5f7f8;padding:10px}
#workspace #messenger-search{width:calc(100% - 24px);box-sizing:border-box}
#workspace #messenger-panel .chat-row{width:100%;min-width:0}
#workspace .day-title{width:100%}
#workspace #messenger-panel .icon-button{width:36px;min-width:36px;height:36px}
#workspace #messenger-panel .send{width:44px;min-width:44px;height:44px}
#workspace #messenger-composer .send{background:#0d7049;color:#fff;padding:0}
#workspace .day-title{padding:0;background:none;border:0;min-height:48px}
#workspace .day-counters .badge{padding:0 5px;min-height:20px;height:20px;font-size:11px}
#workspace .badge.green{background:#0d7049;color:#fff}
#workspace .badge.yellow{background:#f4cf54;color:#5e4700}
#workspace .event-indicator{padding:0;background:none;border:0}
#workspace .task-action.primary{background:#0d7049;color:#fff}
#workspace .day-choice{padding:6px 10px}
#workspace .staff-calendar__toolbar>.icon-button,#workspace #week-label{border:0;background:none}
#workspace .staff-calendar__toolbar>.icon-button{width:34px;min-width:34px;height:40px;padding:0}
#workspace #week-label{font-size:14px;padding:0 7px}
#workspace .day-cell.selected{background:#edf3f8;box-shadow:inset 0 -2px #255c85}
.calendar-list-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;height:30px}
#workspace .calendar-list-header .icon-button{width:28px;height:28px;padding:0;border:0;background:none}
.calendar-task-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto 28px;gap:8px;align-items:center;min-height:28px;border-top:1px solid #edf0f2;font-size:12px}
.calendar-task-row>.icon{width:14px;height:14px;color:#63717b}
#workspace .calendar-task-title{border:0;background:none;text-align:left;padding:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}
#workspace .calendar-task-row.expanded .calendar-task-title{white-space:normal;overflow-wrap:anywhere}
.calendar-task-time{font-size:11px;color:#63717b}.calendar-task-state{font-size:11px;color:#255c85;white-space:nowrap}.calendar-task-state.overdue{color:#a13434}.calendar-task-state.waiting{color:#5e4700;background:#fff6da;padding:1px 5px}
#workspace .calendar-task-row .icon-button{width:28px;min-width:28px;height:28px;border:0;padding:0;background:none}
@media(max-width:700px){.calendar-task-row{grid-template-columns:14px minmax(0,1fr) auto 28px;grid-template-rows:auto 14px;row-gap:0}.calendar-task-row>.icon{grid-row:1/3}.calendar-task-title{grid-column:2;grid-row:1}.calendar-task-time{grid-column:2;grid-row:2}.calendar-task-state{grid-column:3;grid-row:1/3}.calendar-task-row .icon-button{grid-column:4;grid-row:1/3}}
#workspace #admin-week{height:80px;min-height:80px}
#workspace .staff-calendar__toolbar{height:auto;min-height:40px}
#messenger-chat-list{min-height:0;overflow:auto}.chat-row{min-height:72px;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #edf0f2;background:#fff}
.chat-row.selected{background:#eaf5ef}.chat-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.chat-name,.chat-preview{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-preview{color:#63717b;font-size:12px}.row-badges{display:flex;gap:4px}
.badge{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-size:11px;line-height:20px;border-radius:10px}.badge.green{background:#0d7049;color:#fff}.badge.yellow{background:#f4cf54;color:#5e4700}
.messenger-conversation{min-width:0;min-height:0;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:8px;min-height:64px;background:#fff;border-bottom:1px solid #e4e8eb;padding:8px 14px}.chat-header h2{font-size:16px;overflow-wrap:anywhere;margin:0;flex:1}
.messages{min-height:0;flex:1;overflow:auto;padding:16px 24px;display:flex;flex-direction:column;gap:12px}.message{max-width:100%;display:flex;align-items:flex-start}.message.outgoing{align-self:flex-end}.message-body{min-width:0;max-width:600px}.message-author{font-size:12px;color:#3d454b;margin:0 0 4px}.bubble{margin:0;padding:10px 14px;background:#fff;border:1px solid #e4e8eb;border-radius:6px;overflow-wrap:anywhere;white-space:pre-wrap}.outgoing .bubble{background:#eaf5ef;border-color:#dae8df}.system-event{font-size:11px;text-align:center;color:#63717b;overflow-wrap:anywhere}
.task-message{width:520px;max-width:100%;border:1px solid #e4e8eb;border-radius:6px;background:#fff;padding:12px 14px;overflow-wrap:anywhere}.task-title{font-size:14px;line-height:21px;margin:8px 0}.task-state{font-size:11px;color:#255c85;background:#eaf2fa;padding:3px 7px;border-radius:4px}.task-deadline,.assignee{font-size:12px;margin:5px 0;color:#63717b}.assignee{color:#255c85}.task-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.task-action{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid #e4e8eb;border-radius:4px;background:#fff;padding:4px 9px;font-size:12px}.task-action.primary{background:#0d7049;color:#fff}.overdue-marker{color:#b2463e;font-size:12px}
.composer{position:relative;display:flex;align-items:center;gap:10px;padding:14px;border-top:1px solid #e4e8eb;background:#fff}.composer textarea{min-width:0;flex:1;resize:none;height:46px;padding:10px 12px;border:1px solid #e4e8eb;border-radius:6px;background:#f5f7f8}.send{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:6px;background:#0d7049;color:white;flex-shrink:0}
#messenger-attachment-menu{position:absolute;bottom:72px;left:14px;z-index:4;border:1px solid #e4e8eb;background:#fff;border-radius:8px;padding:6px;display:flex;flex-direction:column}#messenger-attachment-menu button{padding:8px;text-align:left;border:0;background:none}
#messenger-mode{display:flex;align-items:center;justify-content:space-between;padding:4px 14px;border-top:1px solid #e4e8eb;background:#eaf5ef;font-size:12px}
.composer.task-composer{flex-wrap:wrap}.task-composer-fields{flex-basis:100%;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-left:46px;font-size:12px}.task-composer-fields .field{display:flex;align-items:center;gap:4px;margin:0;font-size:11px;min-width:0}.task-composer-fields select{max-width:180px;min-width:0}.task-composer-fields input{min-width:0;width:125px}.task-composer-fields input[type=time]{width:92px}.task-mode-label{color:#255c85}.task-assignees{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.task-assignee{display:flex;gap:3px;align-items:center;border:0;background:#eaf2fa;color:#255c85;border-radius:4px;max-width:180px;font-size:11px;padding:3px}.task-assignee span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assignee .icon{width:12px;height:12px;flex-shrink:0}
@media(max-width:700px){.task-composer-fields{padding-left:0}.task-composer-fields select{max-width:140px}.task-composer-fields .field{font-size:10px}.task-assignee{max-width:140px}}
#messenger-notice{margin:0;padding:0 14px;color:#b2463e;font-size:12px}#week-label{font-weight:600;border:0;background:none;padding:6px;font-size:14px}#messenger-date-picker{padding:8px 16px}#messenger-calendar-status{font-size:12px;margin:0 16px;color:#63717b}
.day-cell{position:relative;min-width:0}.day-title{width:100%;min-height:48px;display:flex;flex-direction:column;align-items:center;border:0;background:none;font-size:12px}.day-cell.selected{background:#eaf5ef}.day-cell.today .day-title strong{text-decoration:underline}.day-counters{height:28px;display:flex;justify-content:center;gap:5px;align-items:center}.day-counters .icon{width:14px;height:14px}.day-counters .badge{gap:2px;border:0}.event-indicator{border:0;background:none;color:#63717b;padding:0}.empty-day{color:#8d979d;font-size:12px}
#messenger-day-choices{display:flex;gap:10px;padding:8px 16px;border-top:1px solid #e4e8eb}.day-choice{border:1px solid #e4e8eb;background:#fff;border-radius:4px;display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px}#messenger-day-details{max-height:230px;overflow:auto;border-top:1px solid #e4e8eb;padding:8px 16px}#messenger-day-details .task-message{width:auto;margin-bottom:8px}
#messenger-dialog{width:520px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:18px;border:1px solid #e4e8eb;border-radius:8px}#messenger-dialog fieldset{display:flex;flex-direction:column;gap:8px;border:1px solid #e4e8eb;max-height:220px;overflow:auto}#messenger-dialog input,#messenger-dialog select{max-width:100%;min-width:0}#messenger-dialog-error{color:#b2463e;font-size:12px}.crm-v1-work{min-height:0}#admin-main[hidden]{display:none!important}
@media(max-width:700px){#messenger-panel{grid-template-columns:minmax(0,1fr)}.messenger-conversation{display:none}#messenger-panel.chat-open .messenger-directory{display:none}#messenger-panel.chat-open .messenger-conversation{display:flex;min-height:0}.messages{padding:12px}.composer{padding:10px;gap:6px}.task-message{width:auto}.staff-calendar__toolbar{gap:3px;flex-wrap:wrap}#week-label{font-size:12px;padding:4px}#messenger-toggle{font-size:12px;padding:4px}#messenger-bell{display:none}#messenger-day-details{max-height:190px}.chat-header h2{font-size:14px}}
