/* ESNO Mail: compact brand chrome, stable work surfaces and accessible actions. */
.app-shell.module-mail .topbar {min-height:80px;padding-top:10px;padding-bottom:10px;box-shadow:none}
.app-shell.module-mail .topbar .esno-brand-lockup img {width:150px}
.app-shell #view-email .email-rail {padding:18px 14px;background:var(--esno-quiet);overflow:auto}
.app-shell #view-email .email-rail .email-folder {border:0;border-radius:5px;min-height:42px;margin:2px 0;padding:10px 12px;background:transparent}
.app-shell #view-email .email-rail .email-folder.active {background:var(--esno-page);box-shadow:inset 3px 0 var(--esno-brand)}
.app-shell #view-email .email-rail .email-folder:hover {background:var(--esno-tint)}
.app-shell #view-email .email-account {background:transparent;border:0;border-top:1px solid var(--esno-line);border-radius:0}
.app-shell #view-email .email-account-actions [data-email-account-delete] {display:none}
.app-shell #view-email .email-toolbar {position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px;background:var(--esno-page);border-bottom:1px solid var(--esno-line)}
.app-shell #view-email .email-toolbar-left,.app-shell #view-email .email-toolbar-right {display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.app-shell #view-email .email-toolbar-right {flex:1 1 580px}
.app-shell #view-email #emailSearch {flex:1 1 200px;width:auto;min-width:120px}
.app-shell #view-email #emailLoadMoreBtn {order:10;flex:0 0 auto;min-height:32px;font-size:12px}
.app-shell #view-email #emailSyncStatus {font-size:12px;color:var(--esno-sub);flex:1 1 220px}
.app-shell #view-email .email-row {grid-template-columns:24px 18px minmax(130px,180px) minmax(160px,1fr) minmax(0,110px) 22px 22px 88px;min-height:58px;padding:8px 18px;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--esno-line) 55%,transparent);background:var(--esno-page);cursor:pointer}
.app-shell #view-email .email-row:hover,.app-shell #view-email .email-row:focus-visible {background:var(--esno-tint);outline:2px solid var(--esno-brand);outline-offset:-2px}
.app-shell #view-email .email-row .email-subject {display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0}
.app-shell #view-email .email-row .email-subject>strong,.app-shell #view-email .email-row .email-subject>span {width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-shell #view-email .email-row .email-subject>span {font-size:12px;color:var(--esno-sub)}
.app-shell #view-email .email-row:not(.unread) .email-sender,.app-shell #view-email .email-row:not(.unread) .email-subject>strong {font-weight:400}
.app-shell #view-email .email-row svg.app-icon {width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-shell #view-email .email-compose-view {height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.app-shell #view-email .email-compose-view.hidden {display:none}
.app-shell #view-email .email-compose-card {overflow:auto;min-height:0;padding:20px 24px 0;gap:16px;align-content:start}
.app-shell #view-email .email-detail-toolbar {display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--esno-line);background:var(--esno-page)}
.app-shell #view-email #emailDraftStatus {font-size:12px;color:var(--esno-sub);max-width:75%}
.app-shell #view-email .error {color:#b42318!important}
.app-shell #view-email .email-compose-actions {position:sticky;bottom:0;z-index:3;background:var(--esno-page);border-top:1px solid var(--esno-line);padding:14px 0;margin-top:8px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.app-shell #view-email .email-recovery {background:var(--esno-page);border-bottom:1px solid var(--esno-line)}
.app-shell #view-email .email-recovery:empty {display:none}
.app-shell #view-email .email-recovery summary {cursor:pointer;padding:12px 18px;font-size:13px;color:var(--esno-brand)}
.app-shell #view-email .email-recovery button {display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;border:0;border-top:1px solid var(--esno-line);padding:10px 18px;background:var(--esno-page)}
.app-shell #view-email #emailAccountFilter {width:180px;min-height:34px;font-size:12px}
@media(max-width:1100px){.app-shell #view-email .email-row{grid-template-columns:22px 16px 140px minmax(150px,1fr) 0 20px 20px 76px;gap:6px}.app-shell #view-email .email-linked-lead{overflow:hidden}}
@media(max-width:600px){.app-shell #view-email .email-row{grid-template-columns:22px minmax(0,1fr) 62px;gap:4px 8px;padding:12px}.app-shell #view-email .email-row .email-sender{grid-column:2;grid-row:1}.app-shell #view-email .email-row .email-subject{grid-column:2;grid-row:2}.app-shell #view-email .email-row time{grid-column:3;grid-row:1}.app-shell #view-email .email-tracking,.app-shell #view-email .email-privacy,.app-shell #view-email .email-attachment,.app-shell #view-email .email-linked-lead{display:none}.app-shell #view-email .email-compose-card{padding:14px 14px 0}.app-shell #view-email .email-compose-actions{padding-bottom:max(12px,env(safe-area-inset-bottom))}.app-shell #view-email .email-toolbar{padding:10px}.app-shell #view-email .email-compose-actions button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.app-shell #view-email *{scroll-behavior:auto!important}}

.app-shell :is(#view-email,#emailSettingsModal) .tiptap {outline:0;min-height:140px;padding:0;font:400 14px/1.55 Arial,sans-serif;overflow-wrap:anywhere}
.app-shell :is(#view-email,#emailSettingsModal) .tiptap p {margin:0 0 10px}
.app-shell :is(#view-email,#emailSettingsModal) .tiptap table {width:100%;border-collapse:collapse;table-layout:fixed}
.app-shell :is(#view-email,#emailSettingsModal) .tiptap td,.app-shell :is(#view-email,#emailSettingsModal) .tiptap th {border:1px solid var(--esno-line);padding:8px;min-width:40px}
.app-shell :is(#view-email,#emailSettingsModal) .tiptap .selectedCell {background:var(--esno-tint)}
.app-shell :is(#view-email,#emailSettingsModal) .rich-toolbar button.active {background:var(--esno-tint);border-color:var(--esno-brand)}
.mail-format-more {position:relative;font-size:12px;align-self:center}
.mail-format-more summary {cursor:pointer;padding:8px}
.mail-format-menu {position:absolute;right:0;top:100%;display:flex;flex-wrap:wrap;gap:4px;z-index:8;width:290px;padding:8px;background:var(--esno-page);border:1px solid var(--esno-line);box-shadow:0 8px 24px #18354916}
.app-shell .rich-editor .rich-toolbar .mail-format-menu button {width:auto;min-width:36px;padding:6px;font-size:12px}

@media(min-width:0px){
 .app-shell #view-email.mail-reading-pane .email-main {display:grid;grid-template-columns:350px minmax(0,1fr);gap:0;overflow:hidden}
 .app-shell #view-email.mail-reading-pane #emailListView {border-right:1px solid var(--esno-line);height:100%;min-height:0;overflow:auto}
 .app-shell #view-email.mail-reading-pane .email-row {grid-template-columns:20px minmax(0,1fr) 62px;padding:12px;gap:4px 8px}
 .app-shell #view-email.mail-reading-pane .email-row .email-sender {grid-column:2;grid-row:1}
 .app-shell #view-email.mail-reading-pane .email-row .email-subject {grid-column:2/-1;grid-row:2}
 .app-shell #view-email.mail-reading-pane .email-row time {grid-column:3;grid-row:1}
 .app-shell #view-email.mail-reading-pane :is(.email-tracking,.email-linked-lead,.email-privacy,.email-attachment) {display:none}
 .app-shell #view-email.mail-reading-pane #emailDetailView {height:100%;overflow:auto;min-width:0}
 .app-shell #view-email.mail-reading-pane .email-detail-grid {display:block}
 .app-shell #view-email.mail-reading-pane #emailSidePanel {display:none}
 .app-shell #view-email.mail-reading-pane.mail-context-open #emailSidePanel {display:block;border-top:1px solid var(--esno-line)}
 .app-shell #view-email.mail-reading-pane .email-detail-toolbar {position:sticky;top:0;z-index:3;justify-content:flex-start;flex-wrap:wrap;gap:6px}
 .app-shell #view-email.mail-reading-pane .email-toolbar {position:static}
}

.app-shell #view-email .email-row {height:72px;min-height:72px;max-height:72px;overflow:hidden}
.app-shell #view-email:not(.mail-context-open) .email-detail-grid {grid-template-columns:minmax(0,1fr)}
.app-shell #view-email #emailSidePanel {display:none}
.app-shell #view-email.mail-context-open #emailSidePanel {display:block}
.mail-search-details {position:relative;font-size:12px}
.mail-search-details summary {cursor:pointer;padding:8px;white-space:nowrap}
.mail-search-fields {position:absolute;right:0;top:100%;width:330px;z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:var(--esno-page);border:1px solid var(--esno-line)}
.app-shell #view-email .mail-search-fields label {font-size:12px}
.app-shell #view-email .mail-search-fields input {width:100%;min-width:0;height:36px;min-height:36px;font-size:13px}
@media(min-width:0px){.app-shell #view-email.mail-reading-pane .email-row{height:84px;min-height:84px;max-height:84px}}
@media(max-width:600px){.app-shell #view-email .email-row{height:84px;min-height:84px;max-height:84px}.mail-search-fields{right:-35px;width:min(320px,85vw)}}

.app-shell #view-email :is(.email-menu-button,.email-message-meta button,.email-thread-actions button,.email-detail-toolbar button) {display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.app-shell #view-email :is(.email-menu-button,.email-message-meta,.email-thread-actions,.email-detail-toolbar) svg.app-icon {width:17px;height:17px;min-width:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-shell #view-email .email-recovery .mail-draft-remove {justify-content:flex-start;min-height:30px;font-size:11px;color:var(--esno-sub);padding-top:3px;padding-bottom:8px;border-top:0}
.mail-sync-details {position:relative;font-size:12px;align-self:center}
.mail-sync-details summary {cursor:pointer;padding:8px;white-space:nowrap}
#emailSyncDetails {position:absolute;left:0;top:100%;z-index:12;width:min(360px,85vw);max-height:300px;overflow:auto;padding:8px 16px;background:var(--esno-page);border:1px solid var(--esno-line);box-shadow:0 8px 24px #18354916}
#emailSyncDetails p {font-size:13px;line-height:1.5;margin:10px 0}
.app-shell #view-email .email-compose-context {border-top:1px solid var(--esno-line);border-bottom:1px solid var(--esno-line);padding:10px 0;font-size:12px;color:var(--esno-sub)}
.app-shell #view-email .email-compose-context summary {cursor:pointer;font-weight:500;color:var(--esno-brand)}
.app-shell #view-email .email-compose-context .form-grid {padding:14px 0 4px;gap:12px}
.app-shell #view-email .email-compose-tools {display:flex;gap:8px;flex-wrap:wrap}
.app-shell #view-email .email-compose-card {gap:12px}
.app-shell #view-email [data-email-select-all] {display:inline-flex;align-items:center;gap:7px}
.app-shell #view-email [data-email-select-all] svg {display:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(min-width:0px){
 .app-shell #view-email.mail-reading-pane .email-toolbar {padding:10px;gap:7px}
 .app-shell #view-email.mail-reading-pane .email-toolbar-right {flex-basis:100%;gap:5px}
 .app-shell #view-email.mail-reading-pane .email-menu-button span,.app-shell #view-email.mail-reading-pane [data-email-select-all] span {display:none}
 .app-shell #view-email.mail-reading-pane [data-email-select-all] svg {display:block}
 .app-shell #view-email.mail-reading-pane #emailSearch {order:-1;flex-basis:100%;width:100%}
 .app-shell #view-email.mail-reading-pane .email-menu-button {padding:8px;min-width:38px}
 .app-shell #view-email.mail-reading-pane #emailSyncStatus {flex-basis:100%}
 .app-shell #view-email.mail-reading-pane #emailAccountFilter {width:190px}
}
.app-shell #view-email.mail-density-compact .email-row {height:60px;min-height:60px;max-height:60px}
@media(min-width:0px){.app-shell #view-email.mail-reading-pane.mail-density-compact .email-row{height:72px;min-height:72px;max-height:72px}}
@media(max-width:600px){.app-shell #view-email.mail-density-compact .email-row{height:72px;min-height:72px;max-height:72px}}
.app-shell #view-email .mail-search-fields .wide {grid-column:1/-1}
.app-shell #view-email .mail-search-fields select {width:100%;min-height:36px;font-size:13px}
.mail-search-fields,#emailSyncDetails,.mail-format-menu,.email-menu-popover {max-height:min(420px,calc(100vh - 24px));overflow:auto}
.mail-search-fields,#emailSyncDetails,.mail-format-menu {z-index:9999}
.app-shell #view-email .email-thread-head {padding:16px;gap:12px;align-items:flex-start}
.app-shell #view-email .email-thread-head h2 {font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.25px;margin:0;overflow-wrap:anywhere}
.app-shell #view-email .email-thread-status {font-size:11px;line-height:1.5;max-width:160px;gap:4px}
.app-shell #view-email .email-detail-toolbar [data-email-navigate] {min-width:34px;width:34px;padding:4px;font-size:20px}
.app-shell #view-email .email-thread-position {font-size:11px}
.mail-thread-menu {font-size:12px;position:relative}
.mail-thread-menu summary {cursor:pointer;padding:10px;white-space:nowrap}
.mail-thread-menu-items {position:absolute;right:0;top:100%;z-index:9999;display:grid;gap:3px;min-width:220px;padding:6px;background:var(--esno-page);border:1px solid var(--esno-line);box-shadow:0 8px 24px #18354916}
.app-shell #view-email .mail-thread-menu-items button {border:0;border-radius:3px;box-shadow:none;background:transparent;justify-content:flex-start;min-height:36px;text-align:left;padding:8px 10px}
.app-shell #view-email .mail-thread-menu-items button:hover {background:var(--esno-tint)}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar [data-email-back] {display:none}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar {padding:8px 12px;gap:6px}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar #emailContextToggle {font-size:11px;padding:8px;min-height:34px}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar > [data-email-reply] {order:1}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar > .mail-thread-menu {order:2}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar > #emailContextToggle {order:3}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar > .email-thread-position {order:4;margin-left:auto}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar > [data-email-navigate] {order:5;min-height:30px}
.app-shell #view-email .mail-thread-navigation {display:flex;align-items:center;gap:4px;white-space:nowrap;margin-left:auto}
.app-shell #view-email.mail-reading-pane .email-detail-toolbar > .mail-thread-navigation {order:4}
.app-shell #view-email .mail-content-frame {display:block;width:100%;height:140px;min-height:60px;border:0;background:#fff;color-scheme:light}
.app-shell.module-mail #status {position:fixed;right:20px;bottom:20px;z-index:10020;width:min(430px,calc(100vw - 40px));max-width:none;max-height:180px;overflow:auto;padding:14px 42px 14px 16px;border:1px solid var(--esno-line,var(--line));border-left:3px solid var(--esno-brand,var(--blue));border-radius:5px;background:var(--esno-page,var(--panel));box-shadow:0 8px 28px #142f4320;font-size:13px;line-height:1.5;color:var(--ink);white-space:normal}
.app-shell.module-mail #status:is(.err,.error) {border-left-color:#b42318}
.app-shell.module-mail #status [data-mail-dismiss-status] {position:absolute;right:8px;top:8px;width:26px;height:26px;min-width:26px;min-height:26px;border:0;border-radius:3px;background:transparent;box-shadow:none;padding:4px;display:grid;place-items:center;color:inherit}
.app-shell.module-mail #status [data-mail-dismiss-status] svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.app-shell #view-email .email-attachment-list {display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 0}
.app-shell #view-email .email-attachment-list>.email-attachment-chip {display:flex;align-items:center;gap:9px;max-width:100%;padding:9px 12px;border:1px solid var(--esno-line);border-radius:4px;text-decoration:none;color:var(--esno-text);background:var(--esno-page)}
.app-shell #view-email .email-attachment-chip>span {display:grid;gap:3px;min-width:0}
.app-shell #view-email .email-attachment-chip strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:13px;font-weight:500}
.app-shell #view-email .email-attachment-chip small {font-size:11px;color:var(--esno-sub)}
.app-shell #view-email .email-attachment-chip svg {width:20px;height:20px;min-width:20px;fill:none;stroke:var(--esno-brand);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-shell #view-email .email-attachment-chip.mail-attachment-blocked {border-color:#b42318}

.email-template-preview-panel{border-block:1px solid var(--line);padding:16px 0;margin:16px 0}.email-template-preview-panel summary{cursor:pointer;margin-bottom:12px}.email-template-preview-panel h4{overflow-wrap:anywhere}.email-template-preview-panel select{max-width:100%}

.email-template-preview-panel .mail-content-frame{display:block;width:100%;height:140px;min-height:60px;border:0;background:#fff;color-scheme:light;padding:12px;box-sizing:border-box}.email-template-preview-panel>label{display:block;margin-bottom:12px}.email-template-preview-panel #emailTemplatePreview{margin-top:16px}

#emailSavedAttachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.mail-saved-attachment{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--line);max-width:100%;overflow-wrap:anywhere}.mail-saved-attachment button{display:inline-flex;align-items:center;justify-content:center;min-width:30px!important;width:30px!important;min-height:30px!important;height:30px!important;padding:5px!important;border:0!important}
