/* Mail and calendar are workspaces, not landing pages. Keep content at the top. */
.shell main#main.communication-main{padding:0!important;margin:0;max-width:none;width:100%;height:calc(100dvh - 52px);min-height:0;overflow:hidden;background:#fff}
#main.communication-main :is(.m365,.admin-calendar){height:100%;min-height:0;display:flex;flex-direction:column;background:#fff;color:#223047}
#main.communication-main :is(button,.subtle,input,select,textarea){border-radius:7px;box-shadow:none}
#main.communication-main button{font-size:13px;min-height:32px;padding:6px 11px}
#main.communication-main button.primary,.comm-event-dialog .primary,.comm-review .primary{background:#1479cf;color:white;border:0;border-radius:7px;box-shadow:none;min-height:36px}
#main.communication-main button:focus-visible,.comm-event-dialog :focus-visible,.comm-review :focus-visible{outline:2px solid #268bd7;outline-offset:2px}
#main.communication-main .m365 .m365-connection{border:0;border-bottom:1px solid #e6e9ed;border-radius:0;margin:0;padding:5px 16px;min-height:34px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;background:#f7f8fa;flex:none;position:relative;z-index:3}
#main.communication-main .m365 .m365-connection h2{font-size:18px}
#main.communication-main .m365-state{font-size:11px}
.m365-connection>details>summary{font-size:11px;cursor:pointer;color:#627184;padding:5px}
.mail-connection-popover{position:absolute;right:12px;top:33px;padding:16px;width:250px;border:1px solid #dde2e8;border-radius:10px;background:#fff;box-shadow:0 10px 32px #20324b25}
.mail-connection-popover button{display:block;width:100%;text-align:left;margin:5px 0}
#main.communication-main .m365-content{display:flex;flex-direction:column;flex:1;min-height:0}
#main.communication-main .m365-toolbar{padding:8px 16px;gap:12px;margin:0;border-bottom:1px solid #e0e4e9;flex:none;background:#fafbfc;min-height:48px}
#main.communication-main .m365-tabs{border:0;gap:3px}
#main.communication-main .m365-tabs button{border:0;border-radius:7px;font-size:12px}
#main.communication-main .m365-tabs button[aria-pressed=true]{background:#e7eff8;color:#1766a8}
#main.communication-main .m365 .m365-workspace.is-mail{display:grid;grid-template-columns:170px minmax(260px,330px) minmax(0,1fr);gap:0;border:0;border-radius:0;box-shadow:none;min-height:0;flex:1;background:#fff;overflow:hidden}
#main.communication-main .m365 .m365-workspace.is-drive{display:block;flex:1;min-height:0;overflow:auto;border:0;border-radius:0}
#main.communication-main .m365-folder-rail{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:16px 8px;background:#f3f5f7;border-right:1px solid #e0e4e9;overflow:auto}
#main.communication-main .m365-folder-rail p{padding:0 10px;margin-bottom:10px}
#main.communication-main .m365-folder-rail button{display:flex;justify-content:flex-start;text-align:left;gap:8px;width:100%;border-radius:7px;min-height:35px;padding:8px 10px;font-size:12px;color:#526073}
#main.communication-main .m365-folder-rail button[aria-pressed=true]{background:#dfeaf7;color:#075a9d}
#main.communication-main .m365 .m365-list{display:flex;flex-direction:column;border:0;border-right:1px solid #e0e4e9;border-radius:0;min-height:0;overflow:hidden;background:#fff}
#main.communication-main .m365-list-head{padding:8px 12px;border:0;min-height:45px;flex:none}
#main.communication-main .m365-folder{font-size:0}
#main.communication-main .m365-folder select{font-size:13px;font-weight:650;padding:5px 4px;min-height:30px;background:transparent;border:0;max-width:185px}
#main.communication-main .m365-mail-search{display:block;padding:0 12px 8px;font-size:0;margin:0}
#main.communication-main .m365-mail-search input{font-size:12px;min-height:32px;border:0;background:#f0f2f5;padding:7px 10px;border-radius:7px}
#main.communication-main .m365-list-state{padding:3px 14px 8px;font-size:10px;line-height:1.4;flex:none}
#main.communication-main .m365 .m365-rows{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
#main.communication-main .m365 .m365-mail-row{padding:12px 14px 12px 18px;min-height:98px;border:0;border-bottom:1px solid #ebedf0;border-radius:0;gap:4px;background:#fff;position:relative}
#main.communication-main .m365 .m365-mail-row.is-unread:before{content:'';position:absolute;left:6px;top:20px;width:6px;height:6px;border-radius:50%;background:#1684db}
#main.communication-main .m365 .m365-mail-row.selected{background:#e3effb}
#main.communication-main .m365 .m365-mail-row.is-unread:not(.selected){background:#fff}
#main.communication-main .m365 .m365-mail-row:hover{background:#f1f6fc}
#main.communication-main .m365 .m365-row-top{flex-direction:row;flex-wrap:nowrap;gap:8px;align-items:center}
#main.communication-main .m365-row-top strong{font-size:12px;min-width:0;white-space:nowrap;font-weight:650}
#main.communication-main .m365-row-top time{font-size:9px}
#main.communication-main .m365-subject{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
#main.communication-main .m365-preview{font-size:11px;line-height:1.5;color:#7d8795}
#main.communication-main .m365-detail{display:block;padding:24px;overflow:auto;min-height:0;background:#fff;border:0;border-radius:0}
#main.communication-main .m365-detail h2{font-size:22px;letter-spacing:-.4px;margin:16px 0}
#main.communication-main .m365-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:30px;margin:auto;text-align:center;color:#8a95a4}
#main.communication-main .m365-placeholder h2{font-size:17px;color:#627184}
#main.communication-main .m365-placeholder>span{font-size:30px;margin:0}
#main.communication-main .m365-placeholder p{font-size:12px}
#main.communication-main .m365-message-meta{background:none;border-top:0;border-radius:0;padding:4px 0 20px;margin:10px 0 20px}
#main.communication-main .m365-message-body{font-size:14px;line-height:1.7}
#main.communication-main .m365-footnote{display:none}
#main.communication-main .mail-reading-tools{display:flex;gap:4px;border-bottom:1px solid #e8ebef;padding-bottom:12px}
#main.communication-main .m365-back{display:none}
#main.communication-main .m365 .m365-detail.is-composing{padding:0}
.comm-compose{height:100%;display:flex;flex-direction:column;min-width:0;margin:0}
.compose-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e3e7ed;flex:none}
.compose-state{font-size:10px;color:#7a8797;margin-left:auto}
.compose-field{display:flex!important;align-items:center;gap:12px;padding:8px 20px;margin:0!important;border-bottom:1px solid #ebedf0;font-size:12px;color:#697788}
.compose-field>span{min-width:42px}
.compose-field>strong{font-weight:450;font-size:12px;overflow-wrap:anywhere}
#main.communication-main .compose-field input{flex:1;min-width:0;border:0;background:none;padding:5px 0;min-height:30px;border-radius:0;font-size:13px}
.compose-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 15px;border-bottom:1px solid #e5e9ee;flex:none}
.compose-tools label{display:flex;align-items:center;gap:4px;margin:0;font-size:11px}
#main.communication-main .compose-tools select{font-size:11px;width:auto;padding:4px;min-height:28px;border:0;background:#f3f5f8}
.compose-attach{cursor:pointer;padding:8px;border-radius:5px;background:#f1f4f7}
.compose-scroll{overflow:auto;flex:1;min-height:100px;padding:18px 22px}
.comm-rich-editor{min-height:170px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7;outline:none}
.comm-rich-editor:empty:before{content:attr(data-placeholder);color:#99a2af}
.comm-signature{display:grid;grid-template-columns:44px 1fr;gap:16px;max-width:550px;margin-top:32px;padding-top:22px;border-top:1px solid #e2e7ed}
.comm-signature>div{display:flex;flex-direction:column;gap:6px;font-size:12px}
.comm-signature strong{font-size:20px;font-weight:650}
.comm-signature span{color:#748195}
.comm-signature p{grid-column:1/-1;font-size:10px;color:#8a94a2;border-top:1px solid #edf0f3;padding-top:12px;line-height:1.7}
.compose-attachments{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.compose-attachments button{background:#edf3fa;color:#41607e}
.compose-error{color:#b02d3c;font-size:12px;margin:0;padding:0 20px}
.compose-hint{font-size:10px;color:#8a94a2;padding:6px 20px;margin:0}
.comm-sent{padding:24px}
.comm-review,.comm-event-dialog{border:1px solid #d7e0e9;border-radius:14px;padding:0;color:#26354a;box-shadow:0 24px 100px #15324b30;width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 40px)}
.comm-review::backdrop,.comm-event-dialog::backdrop{background:#1b304652;backdrop-filter:blur(3px)}
.comm-review{width:min(660px,calc(100vw - 24px))}
.comm-review header,.event-editor>header{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border-bottom:1px solid #dfe6ed;background:#f6f9fc}
.comm-review h2,.event-editor h2{font-size:19px;margin:0;letter-spacing:-.4px}
.event-editor header small{display:block;font-size:11px;color:#738497;margin-bottom:4px}
.comm-review form>div{padding:20px 24px}
.comm-review pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:30dvh;overflow:auto;font:13px/1.6 inherit;padding:15px;background:#f6f8fb}
.comm-review footer,.event-editor footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 24px;margin:0;border-top:1px solid #e2e7ed}
.comm-check{display:flex!important;align-items:center;gap:9px;font-size:12px;margin:10px 0!important}
.comm-check input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;flex:none;accent-color:#167ccf}
.comm-muted{font-size:11px;color:#7a8797;line-height:1.6;margin:6px 0}
.event-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;min-height:0}
.event-fields{padding:20px 24px;min-width:0}
.event-fields label{font-size:12px;margin:0 0 16px;line-height:1.5}
.event-fields :is(input,select,textarea){font:inherit;font-size:14px;width:100%;padding:9px 10px;border:1px solid #dce3eb;border-radius:6px;min-height:38px;box-sizing:border-box;color:#253950;background:#fff}
.event-fields textarea{resize:vertical}
.event-pair{display:flex;gap:15px;flex-wrap:wrap}.event-pair>label{flex:1;min-width:150px}
.event-title input{font-size:21px;border:0;border-bottom:1px solid #dce3eb;border-radius:0;padding:8px 0}
.event-title>span{position:absolute;width:1px;height:1px;overflow:hidden}
.event-options{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.event-preview{padding:22px 18px;border-left:1px solid #e2e8ef;background:#f5f8fc}
.event-preview h3{font-size:16px;line-height:1.5;margin:14px 0}
.event-preview [data-preview-time]{font-size:22px;color:#1769a9;letter-spacing:-.6px;padding:16px 0;border-block:1px solid #dbe6f0;font-variant-numeric:tabular-nums}
.event-preview [data-preview-title]{border-left:3px solid #2088d5;padding:12px;background:#e6f1fc;border-radius:4px;font-size:12px;overflow-wrap:anywhere;margin:18px 0}
[data-error]{color:#b22e3b;font-size:12px;line-height:1.6}
#main.communication-main .calendar-toolbar{display:flex;gap:8px;padding:12px 18px;align-items:center;flex-wrap:wrap;background:#f6f8fa;border-bottom:1px solid #dfe4eb;border-radius:0;flex:none}
#main.communication-main .calendar-toolbar h2{font-size:16px;letter-spacing:-.3px;margin:0 auto 0 6px;flex:1;min-width:180px}
#main.communication-main .calendar-modes{display:flex;gap:2px;background:#e9edf2;padding:3px;border-radius:7px;margin:0}
#main.communication-main .calendar-modes button{font-size:12px;min-height:28px;border-radius:5px;padding:5px 10px}
#main.communication-main .calendar-modes button[aria-pressed=true]{background:#fff;color:#1479c7;box-shadow:0 1px 3px #18293910}
#main.communication-main .calendar-shell{display:grid;grid-template-columns:220px minmax(0,1fr);border:0;border-radius:0;box-shadow:none;flex:1;min-height:0;overflow:hidden}
.calendar-sidebar{background:#f6f8fa;padding:18px 14px;border-right:1px solid #e0e5ec;overflow:auto}
.calendar-sidebar h3{font-size:11px;color:#7b899b;margin:26px 8px 10px;font-weight:550}
.calendar-sidebar p{font-size:10px;padding:10px 8px;color:#8390a0;overflow-wrap:anywhere}
.calendar-sidebar>a{font-size:11px;display:block;padding:13px 8px;color:#53708e}
#main.communication-main .calendar-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center;margin-top:12px}
#main.communication-main .calendar-mini>span{font-size:10px;padding:5px 0;color:#7c8795}
#main.communication-main .calendar-mini button{padding:0;min-width:0;min-height:26px;height:26px;font-size:11px;border-radius:50%}
#main.communication-main .calendar-mini button[aria-pressed=true]{background:#197fcb;color:#fff}
#main.communication-main .calendar-mini .outside{opacity:.4}
#main.communication-main .calendar-mini-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:3px}
#main.communication-main .calendar-mini-head button{padding:0 5px;min-width:22px}
#main.communication-main .calendar-source-button{width:100%;display:flex;align-items:center;gap:7px;text-align:left;font-size:11px;padding:9px 7px;margin:4px 0}
.calendar-source-button i{width:9px;height:9px;border-radius:3px;background:#4d99d4;flex:none}
.calendar-source-button[data-source=team] i{background:#779b61}
#main.communication-main .calendar-source-button[aria-pressed=true]{background:#e2edf9;color:#21699d}
#main.communication-main .calendar-main{min-width:0;min-height:0;display:flex;flex-direction:column;background:white}
#main.communication-main .calendar-canvas{flex:1;min-height:0;overflow:auto}
#main.communication-main .calendar-timed{display:flex;flex-direction:column;height:100%;min-width:620px}
#main.communication-main .calendar-timed.single-day{min-width:0}
#main.communication-main .calendar-days,#main.communication-main .calendar-allday{display:grid;grid-template-columns:55px repeat(7,minmax(0,1fr));flex:none}
#main.communication-main .single-day .calendar-days,#main.communication-main .single-day .calendar-allday{grid-template-columns:55px 1fr}
#main.communication-main .calendar-day-heading{height:63px;padding:10px 9px;border-left:1px solid #e8ecf0;font-size:11px;text-align:left}
#main.communication-main .calendar-day-heading strong{font-size:23px;display:block;margin-top:3px;font-weight:550}
#main.communication-main .calendar-day-heading.today{color:#147cc6;background:#f6faff}
#main.communication-main .calendar-zone{font-size:9px;padding:15px 5px;color:#8793a1}
#main.communication-main .calendar-scroll{display:grid;grid-template-columns:55px repeat(7,minmax(0,1fr));overflow:auto;flex:1;min-height:0;height:auto;position:relative;overscroll-behavior:contain}
#main.communication-main .single-day .calendar-scroll{grid-template-columns:55px 1fr}
#main.communication-main .calendar-hours{display:flex;flex-direction:column;height:1344px}
#main.communication-main .calendar-hours span{height:56px;flex:none;font-size:10px;padding:0 7px;color:#8a95a2;text-align:right}
#main.communication-main .calendar-day-track{position:relative;height:1344px;border-left:1px solid #e7ebf0;display:block}
#main.communication-main .calendar-slot{display:block;width:100%;height:28px;min-height:28px;padding:0;border:0;border-top:1px dashed #edf0f4;border-radius:0;background:transparent}
#main.communication-main .calendar-slot:nth-child(odd){border-top-style:solid;border-top-color:#e1e6ec}
#main.communication-main .calendar-slot:hover{background:#eef6fe}
#main.communication-main .calendar-event{position:relative;background:#e2f0fb;border:0;border-left:3px solid #378dce;border-radius:4px;color:#21547a;font-size:11px;padding:5px 7px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;text-align:left;min-height:24px;z-index:1}
#main.communication-main .calendar-day-track>.calendar-event{position:absolute}
#main.communication-main .calendar-event span{font-size:9px;line-height:1.2}
#main.communication-main .calendar-event strong{font-size:11px;line-height:1.4;font-weight:600}
#main.communication-main .calendar-event small{font-size:9px}
.calendar-now{position:absolute;left:0;right:0;height:1px;background:#1a8bda;z-index:2;pointer-events:none}
.calendar-now:before{content:'';width:5px;height:5px;border-radius:50%;background:#1a8bda;position:absolute;left:-3px;top:-2px}
#main.communication-main .calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:100%;min-height:540px}
#main.communication-main .calendar-month-day{padding:6px;border-top:1px solid #e5e9ee;border-left:1px solid #e5e9ee;min-width:0;overflow:hidden}
#main.communication-main .calendar-month-day .calendar-event{width:100%;margin:3px 0;min-height:25px}
#main.communication-main .calendar-month-day.outside{background:#f7f9fb}
#main.communication-main .calendar-weekday{font-size:11px;font-weight:500;padding:10px;color:#8591a0}
#main.communication-main .calendar-status{font-size:10px;color:#8b97a6;border-top:1px solid #e3e8ef;padding:7px 14px;margin:0;flex:none}
.calendar-mobile-source{display:none}.calendar-notes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}
.comm-event-dialog [hidden],.comm-review [hidden],#main.communication-main [hidden]{display:none!important}
@media(max-width:1200px){#main.communication-main .m365 .m365-workspace.is-mail{grid-template-columns:minmax(255px,320px) minmax(0,1fr)}#main.communication-main .m365-folder-rail{display:none}#main.communication-main .calendar-shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:900px){#main.communication-main .m365 .m365-workspace.is-mail{display:block}#main.communication-main .m365 .m365-list{height:100%;border-right:0}#main.communication-main .m365 .m365-detail{display:none;height:100%}#main.communication-main .m365 .reading-message .m365-list{display:none}#main.communication-main .m365 .reading-message .m365-detail{display:block}#main.communication-main .m365-back{display:inline-flex}#main.communication-main .calendar-sidebar{display:none}#main.communication-main .calendar-shell{display:flex}#main.communication-main .calendar-main{width:100%}.calendar-mobile-source{display:block;padding:6px 12px;border-bottom:1px solid #e5e9ee}.calendar-mobile-source label{display:flex;align-items:center;gap:8px;font-size:11px;margin:0}#main.communication-main .calendar-mobile-source select{width:auto;font-size:12px;padding:4px 7px;min-height:28px}.event-editor-layout{grid-template-columns:1fr}.event-preview{display:none}}
@media(max-width:760px){.shell main#main.communication-main{height:calc(100dvh - 60px)}#main.communication-main .m365-toolbar{padding:7px 12px}#main.communication-main .m365 .m365-connection{padding:3px 12px;min-height:30px}#main.communication-main .calendar-toolbar{padding:9px 10px;gap:5px}#main.communication-main .calendar-toolbar h2{order:2;flex-basis:100%;font-size:14px;padding:5px 0;margin:0}#main.communication-main .calendar-modes{margin-left:auto}#main.communication-main .calendar-toolbar button{min-height:34px;font-size:11px;padding:7px 8px}.compose-bar{padding:8px 12px}.compose-field{padding:7px 12px}.compose-tools{padding:7px 10px;gap:3px}.compose-scroll{padding:14px}.compose-tools label{font-size:10px}.compose-state{font-size:9px}.comm-event-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.event-fields{padding:18px 16px}.event-editor>header,.event-editor footer{padding:14px 16px}.event-pair{gap:9px}.event-fields :is(input,select,textarea){font-size:16px}.comm-review form>div{padding:16px}.comm-review header,.comm-review footer{padding:14px 16px}}
.calendar-source-button span{min-width:0;overflow-wrap:anywhere}
.calendar-source-button small{display:block;font-size:10px;color:#6a7888;margin-top:3px}
.mail-body-container{min-height:380px;flex:1;display:flex;margin:12px -18px -18px}
.mail-html-frame{border:0;width:100%;min-height:520px;background:white}
.mail-images-button{font-size:11px!important;padding:5px 10px!important;margin-top:10px;color:#687785}

[data-signature-preview] .mail-html-frame{height:310px;min-height:310px;width:100%;border:0;display:block}.event-editor button:disabled{opacity:.55}.m365-message-meta{font-size:12px;margin:12px 0}.m365-detail>h2{font-size:22px;margin:16px 0 8px}.mail-body-container{min-width:0;flex:1;display:flex}.mail-html-frame{width:100%;border:0;min-height:420px;background:white}.mail-reading-tools{display:flex;gap:8px}.mail-images-button{font-size:12px;align-self:flex-start;margin-bottom:10px}

.comm-event-dialog .event-preview{position:static;inset:auto;width:auto;min-width:0;height:auto;display:block;transform:none;border-radius:0;box-shadow:none;color:#26354a}.comm-event-dialog{margin:auto;inset:0;overflow:auto}.event-editor>header{height:auto;min-height:66px}.event-editor footer{position:sticky;bottom:0;background:#fff;z-index:2}.event-editor-layout{align-items:stretch}@media(max-width:900px){.comm-event-dialog .event-preview{display:none}}
#main.communication-main :is(.calendar-sidebar,.m365-folder-rail){position:static;inset:auto;width:auto;height:auto;transform:none;border-radius:0;box-shadow:none;min-width:0;z-index:auto}
/* Message and event actions remain usable when all controls are shown on mobile. */
#main.communication-main .mail-reading-tools{flex-wrap:wrap;gap:6px}
#main.communication-main .mail-reading-tools button{flex:0 0 auto;white-space:nowrap;min-height:38px;padding:8px 10px}
.event-editor footer{flex-wrap:wrap}
.event-editor footer button{white-space:nowrap}
.event-editor [data-cancel-event]{color:#a33434;margin-right:auto}
@media(max-width:760px){#main.communication-main .mail-reading-tools button{min-height:44px;font-size:12px}.event-editor footer button{min-height:44px}.event-editor [data-open-series]{white-space:normal}}
@media(max-width:540px){.event-editor .event-pair{grid-template-columns:minmax(0,1fr)}}
[data-meeting-link]{display:grid;gap:8px;margin-top:14px;overflow-wrap:anywhere}
[data-meeting-link]:empty{display:none}
[data-meeting-link] a{display:block;padding:10px 12px;border-radius:8px;text-align:center;text-decoration:none}
@media(max-width:540px){.comm-event-dialog .event-fields .event-pair{display:grid;grid-template-columns:minmax(0,1fr)}}

.calendar-event[draggable=true]{cursor:grab}.calendar-event[draggable=true]:active{cursor:grabbing}.calendar-drop-target{background:#d4e9f5!important;outline:2px solid #4481a1;outline-offset:-2px}
