.ec-topbar {
display: flex;
height: 3.5rem;
flex-shrink: 0;
align-items: center;
padding: 0 1rem;
border-bottom: 1px solid var(--primary-color-6);
background: var(--primary-color);
gap: 0.75rem;
}
.ec-topbar .ec-title {
margin: 0;
color: var(--secondary-color-1);
font-size: 0.9375rem;
font-weight: 600;
}
.ec-topbar input {
min-width: 12rem;
max-width: 480px;
flex: 1;
margin-left: auto;
}
.ec-list-toolbar .ec-filter-trigger {
min-height: 2rem;
padding: 0.375rem 0.5rem;
border-radius: 0.375rem;
gap: 0.375rem;
}
.ec-list-toolbar .dx-select-expand-icon {
display: none;
}
.ec-filter-count {
display: inline-flex;
min-width: 1rem;
height: 1rem;
align-items: center;
justify-content: center;
border-radius: 999px;
background: var(--secondary-color-1);
color: var(--primary-color);
font-size: 0.6875rem;
font-weight: 600;
line-height: 1;
}
.ec-filter-list {
right: 0;
left: auto;
width: 12rem;
}
.ec-muted {
color: var(--secondary-color-5);
font-weight: 400;
}
.ec-compose[data-sidebar="menu-button"] {
background: var(--secondary-color-1);
color: var(--primary-color);
font-weight: 600;
}
.ec-compose[data-sidebar="menu-button"]:hover {
background: var(--secondary-color-2);
color: var(--primary-color);
}
.ec-main {
display: flex;
min-height: 0;
flex: 1 1 auto;
background: var(--primary-color);
}
.ec-list-pane {
display: flex;
min-width: 0;
flex: 1 1 auto;
flex-direction: column;
border-right: 0;
background: var(--primary-color);
}
.ec-reading .ec-list-pane {
width: 400px;
flex: 0 0 400px;
border-right: 1px solid var(--primary-color-6);
}
.ec-list-toolbar {
display: flex;
flex-shrink: 0;
align-items: center;
padding: 0.5rem 0.75rem;
border-bottom: 1px solid var(--primary-color-6);
gap: 0.5rem;
}
.ec-list-toolbar > .ec-mail-tabs {
width: auto;
min-width: 0;
}
.ec-list-pane .ec-mail-tabs-list {
padding: 0.25rem;
border-radius: 0.5rem;
background: var(--primary-color-5);
}
.ec-list-pane .ec-mail-tab {
border-radius: 0.375rem;
font-size: 0.875rem;
}
.ec-list-scroll {
position: relative;
min-height: 0;
flex: 1;
contain: layout paint;
overflow-y: auto;
}
.ec-day {
padding: 0.875rem 1rem 0.375rem;
color: var(--secondary-color-5);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.ec-row {
position: relative;
display: grid;
width: calc(100% - 1rem);
box-sizing: border-box;
align-items: flex-start;
padding: 0.875rem !important;
border: 1px solid transparent;
border-radius: 0.5rem;
margin: 0.125rem 0.5rem;
background: transparent;
color: inherit;
cursor: pointer;
font: inherit;
gap: 0 0.75rem;
grid-template-columns: 2rem minmax(0, 1fr) max-content;
text-align: left;
}
.ec-row > [data-slot="item-media"] {
position: static;
grid-column: 1;
grid-row: 1;
transform: none;
}
.ec-row:has([data-slot="item-description"]) > [data-slot="item-media"] {
align-self: flex-start;
transform: none;
}
.ec-row > [data-slot="item-content"] {
width: 100%;
min-width: 0;
grid-column: 2;
}
.ec-row [data-slot="item-content"] > [data-slot="item-title"] {
min-width: 0;
min-height: 1.5rem;
}
.ec-row:hover:not([data-selected="true"]) {
border-color: var(--primary-color-6);
background: var(--primary-color-3);
}
.ec-row[data-selected="true"] {
border-color: var(--primary-color-6);
background: var(--primary-color-3);
box-shadow: 0 1px 2px rgb(0 0 0 / 6%);
}
.ec-row [data-slot="item-title"] {
display: flex;
width: 100%;
min-width: 0;
align-items: baseline;
color: var(--secondary-color-1);
font-size: 0.9375rem;
font-weight: 600;
gap: 0.5rem;
line-height: 1.35;
}
.ec-row-subject {
display: block;
overflow: hidden;
min-width: 0;
flex: 1 1 auto;
text-overflow: ellipsis;
white-space: nowrap;
}
.ec-row-sender {
margin-top: 0.125rem;
color: var(--secondary-color-5);
font-size: 0.75rem;
font-weight: 400;
line-height: 1.3;
}
.ec-row-from {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ec-row [data-slot="item-description"] {
margin-top: 0.25rem;
color: var(--secondary-color-5);
font-size: 0.8125rem;
line-height: 1.4;
}
.ec-unread [data-slot="item-title"] {
font-weight: 700;
}
.ec-row-time {
font-size: 0.75rem;
font-variant-numeric: tabular-nums;
}
.ec-row-tags {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-top: 0.125rem;
font-size: 0.75rem;
gap: 0.5rem;
}
.ec-row [data-slot="item-actions"] {
position: static;
display: flex;
min-width: 3.75rem;
flex-direction: column;
flex-shrink: 0;
align-items: flex-end;
gap: 0.25rem;
grid-column: 3;
grid-row: 1 / span 2;
}
.ec-row-action-group {
display: flex;
align-items: center;
gap: 0.125rem;
}
.ec-row .ec-row-action {
display: inline-flex;
width: 1.75rem;
min-width: 1.75rem;
height: 1.75rem;
min-height: 1.75rem;
align-items: center;
justify-content: center;
padding: 0;
border: none;
border-radius: 0.375rem;
background: transparent;
color: var(--secondary-color-4);
cursor: pointer;
font-size: 0;
opacity: 0.72;
}
.ec-row:hover .ec-row-action,
.ec-row:focus-within .ec-row-action,
.ec-row .ec-row-action:focus-visible,
.ec-row .ec-row-action[data-active="true"] {
opacity: 1;
}
.ec-row .ec-row-action[data-style="ghost"]:hover {
background: var(--primary-color-4);
color: var(--secondary-color-1);
}
.ec-row .ec-row-action[data-active="true"] {
color: var(--secondary-color-1);
}
.ec-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--secondary-color-1);
}
.ec-read-pane {
display: none;
min-width: 0;
min-height: 0;
flex: 1;
flex-direction: column;
background: var(--primary-color-3);
container-type: inline-size;
}
.ec-reading .ec-read-pane {
display: flex;
}
.ec-read-pane > .ec-read-toolbar {
flex-shrink: 0;
flex-wrap: nowrap;
padding: 0.5rem 1rem;
border-radius: 0;
border-bottom: 1px solid var(--primary-color-6);
background: var(--primary-color);
box-shadow: none;
overflow-x: auto;
scrollbar-width: none;
}
.ec-read-pane > .ec-read-toolbar::-webkit-scrollbar {
display: none;
}
.ec-read-pane .ec-read-toolbar button,
.ec-topbar button {
border-radius: 0.375rem;
font-size: 0.875rem;
}
.ec-toolbar-end {
display: flex;
flex: 1;
align-items: center;
justify-content: flex-end;
font-size: 0.75rem;
gap: 0.5rem;
}
@container (max-width: 640px) {
.ec-read-pane .ec-read-toolbar button {
width: 2rem;
height: 2rem;
flex: 0 0 2rem;
padding: 0;
font-size: 0;
gap: 0;
white-space: nowrap;
}
.ec-read-pane .ec-read-toolbar button svg {
flex: 0 0 auto;
}
.ec-read-pane .ec-read-toolbar-separator {
display: none;
}
.ec-toolbar-end .ec-muted {
display: none;
}
}
.ec-read-body {
display: flex;
width: 100%;
max-width: 920px;
box-sizing: border-box;
flex: 1;
flex-direction: column;
align-self: center;
padding: 1.75rem clamp(1rem, 4vw, 3rem) 2.5rem;
gap: 0;
overflow-y: auto;
}
.ec-thread-hero,
.ec-thread-msg,
.ec-thread-compose {
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.ec-thread-hero {
padding: 0 0 1.5rem;
border-bottom: 1px solid var(--primary-color-6);
margin-bottom: 1.5rem;
gap: 0;
}
.ec-thread-hero-main {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1.5rem;
}
.ec-thread-hero [data-slot="card-title"] {
max-width: 52rem;
color: var(--secondary-color-1);
font-size: 1.5rem;
font-weight: 600;
}
.ec-thread-hero [data-slot="card-description"] {
margin-top: 0.75rem;
font-size: 0.875rem;
}
.ec-thread-hero-meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
}
.ec-thread-hero-meta .ec-tag-remove {
display: inline-flex;
padding: 0;
border-radius: 999px;
margin: 0;
background: transparent;
color: inherit;
}
.ec-thread-hero-meta .ec-tag-remove[data-style="ghost"]:hover,
.ec-thread-hero-meta .ec-tag-remove[data-style="ghost"]:focus-visible {
background: transparent;
}
.ec-thread-hero-meta .ec-tag-remove:hover > span,
.ec-thread-hero-meta .ec-tag-remove:focus-visible > span {
background: color-mix(in oklab, var(--primary-color-6) 65%, transparent);
}
.ec-thread-hero-meta .ec-tag-edit-trigger {
padding: 0.125rem 0.625rem;
border: 1px dashed var(--primary-color-6);
border-radius: 999px;
background: transparent;
color: var(--secondary-color-3);
cursor: pointer;
font-size: 0.75rem;
}
.ec-thread-hero-meta .ec-tag-edit-trigger:hover,
.ec-thread-hero-meta .ec-tag-edit-trigger:focus-visible {
border-color: var(--secondary-color-1);
color: var(--secondary-color-1);
}
.ec-row .ec-row-tags svg {
flex-shrink: 0;
}
.ec-thread-msg {
position: relative;
padding: 1.5rem;
border: 1px solid var(--primary-color-6);
border-radius: 0.75rem;
margin: 0 0 0.75rem;
background: var(--primary-color);
box-shadow: 0 1px 2px rgb(0 0 0 / 4%);
}
.ec-thread-msg-content {
display: flex;
flex-direction: column;
gap: 0.625rem;
}
.ec-thread-msg-head {
display: flex;
align-items: flex-start;
gap: 0.75rem;
}
.ec-thread-msg-meta {
display: flex;
min-width: 0;
flex: 1;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
}
.ec-thread-msg-sender {
display: flex;
min-width: 0;
flex-wrap: wrap;
align-items: baseline;
gap: 0.375rem;
}
.ec-thread-msg-name {
color: var(--secondary-color-1);
font-size: 0.875rem;
font-weight: 600;
}
.ec-thread-msg-addr {
overflow: hidden;
min-width: 0;
color: var(--secondary-color-5);
font-size: 0.8125rem;
text-overflow: ellipsis;
white-space: nowrap;
}
.ec-thread-msg-time {
flex-shrink: 0;
color: var(--secondary-color-5);
font-size: 0.75rem;
font-variant-numeric: tabular-nums;
}
.ec-thread-msg-body {
max-width: 44rem;
padding-left: 2.75rem;
color: var(--secondary-color-3);
font-size: 0.9375rem;
line-height: 1.65;
white-space: pre-wrap;
}
.ec-thread-msg-body p {
margin: 0 0 1em;
}
.ec-thread-msg-body p:last-child {
margin: 0;
}
.ec-thread-compose {
padding: 1rem;
border: 1px solid var(--primary-color-6);
border-radius: 0.75rem;
margin-top: 0;
background: var(--primary-color);
box-shadow: 0 1px 2px rgb(0 0 0 / 4%);
}
.ec-thread-compose-content {
display: block;
}
.ec-thread-compose-row {
display: flex;
align-items: stretch;
gap: 0.75rem;
}
.ec-thread-compose-row > :first-child {
align-self: flex-start;
}
.ec-thread-compose-row [data-slot="textarea"] {
min-height: 5.75rem;
flex: 1;
border-radius: 0.625rem;
background: var(--primary-color-3);
box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--primary-color-6) 88%, transparent);
font-size: 0.9375rem;
resize: vertical;
}
.ec-thread-compose-actions {
display: flex;
flex-direction: column;
align-self: flex-end;
gap: 0.5rem;
}
.ec-thread-compose-actions button {
display: inline-flex;
min-height: 2rem;
align-items: center;
padding: 0.375rem 0.625rem;
border-radius: 0.375rem;
font-size: 0.875rem;
gap: 0.375rem;
}
@media (width <= 900px) {
.ec-reading .ec-list-pane {
width: 340px;
flex-basis: 340px;
}
.ec-read-body {
padding: 1.25rem 1rem 2rem;
}
}
@media (width <= 720px) {
.ec-main {
flex-direction: column;
background: var(--primary-color-3);
}
.ec-list-pane {
width: 100%;
min-height: 0;
flex: 1 1 auto;
border-right: 0;
background: var(--primary-color-3);
}
.ec-list-scroll {
background: var(--primary-color-3);
}
.ec-reading .ec-list-pane {
display: none;
}
.ec-reading .ec-read-pane {
display: flex;
}
.ec-topbar {
height: 3rem;
min-height: 3rem;
flex-wrap: nowrap;
padding: 0 0.75rem;
gap: 0.625rem;
}
.ec-topbar button {
width: 2rem;
min-width: 2rem;
height: 2rem;
padding: 0;
}
.ec-read-pane > .ec-read-toolbar {
height: 2.75rem;
min-height: 2.75rem;
flex-wrap: nowrap;
align-content: center;
padding: 0.25rem 0.5rem;
gap: 0.25rem;
overflow-x: auto;
scrollbar-width: none;
}
.ec-read-pane > .ec-read-toolbar::-webkit-scrollbar {
display: none;
}
.ec-read-pane .ec-read-toolbar button {
display: inline-flex;
width: 2rem;
min-width: 2rem;
height: 2rem;
flex: 0 0 2rem;
align-items: center;
justify-content: center;
padding: 0;
font-size: 0;
line-height: 1;
white-space: nowrap;
}
.ec-read-pane .ec-read-toolbar button svg {
flex: 0 0 auto;
}
.ec-read-pane .ec-read-toolbar-separator {
display: none;
}
.ec-toolbar-end {
flex: 0 0 auto;
gap: 0.25rem;
}
.ec-toolbar-end .ec-muted {
font-size: 0.75rem;
}
.ec-thread [data-slot="card-header"],
.ec-thread [data-slot="card-content"] {
padding: 0;
}
.ec-thread-hero-main {
flex-direction: column;
gap: 1rem;
}
.ec-thread-msg-meta {
flex-direction: column;
gap: 0.25rem;
}
.ec-thread-msg-body {
padding-left: 0;
}
}
.dx-sidebar-info-block {
display: grid;
min-width: 0;
flex: 1;
font-size: 0.875rem;
line-height: 1.25;
text-align: left;
}
.dx-sidebar-info-title,
.dx-sidebar-info-subtitle {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dx-sidebar-info-title {
font-weight: 600;
}
.dx-sidebar-info-subtitle {
font-size: 0.75rem;
opacity: 0.7;
}
.ec-compose-dialog {
max-width: 36rem;
padding: 1.25rem 1.25rem 1rem;
gap: 0.875rem;
text-align: left;
}
.ec-compose-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
}
.ec-compose-head-text {
display: flex;
min-width: 0;
flex-direction: column;
gap: 0.25rem;
}
.ec-compose-dialog .ec-compose-title {
font-size: 1rem;
font-weight: 600;
}
.ec-compose-dialog .ec-compose-desc {
color: var(--secondary-color-5);
font-size: 0.8125rem;
}
.ec-compose-dialog .ec-compose-close {
width: 1.75rem;
min-width: 0;
height: 1.75rem;
padding: 0;
border-radius: 0.375rem;
color: var(--secondary-color-5);
font-size: 1.1rem;
line-height: 1;
}
.ec-compose-dialog .ec-compose-sep {
margin: 0;
background: var(--primary-color-6);
}
.ec-compose-field {
display: flex;
flex-direction: column;
gap: 0.375rem;
}
.ec-compose-field label {
color: var(--secondary-color-5);
font-size: 0.75rem;
font-weight: 500;
}
.ec-compose-field input:user-invalid {
box-shadow: inset 0 0 0 1px var(--primary-error-color);
}
.ec-compose-error {
display: none;
color: var(--primary-error-color);
font-size: 0.75rem;
}
.ec-compose-field:has(input:user-invalid) .ec-compose-error {
display: block;
}
.ec-compose-foot {
display: flex;
align-items: center;
justify-content: flex-end;
padding-top: 0.25rem;
gap: 0.5rem;
}
.ec-compose-foot button {
display: inline-flex;
align-items: center;
gap: 0.375rem;
}