@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400&display=swap");
/* ============================================================
shibui (KGVA) für SnappyMail
Basis: SnappyMail-Theme "NextcloudV25+" (Nextcloud-Nachbildung,
liest die --color-* Variablen). Darunter folgt das Original-
Nextcloud-shibui-CSS von KGVA, das genau diese --color-* setzt.
============================================================ */
/* ===== BASIS: NextcloudV25+ ===== */
/**
* Nextcloud - SnappyMail mail plugin
*
* @author Rene Hampölz (@hampoelz), SnappyMail, Nextcloud Team
*/
/*
* Default Nextcloud (v25+) theme variables and colors
* based on https://github.com/nextcloud/server/blob/master/core/css/variables.scss
*/
/* #region theme */
:root {
--border-color: var(--nc-color-border);
--dialog-border-clr: var(--nc-color-border);
}
:not([data-themes~="dark"]) {
--nc-color-main-background: var(--color-main-background, #ffffff);
--nc-color-main-background-rgb: var(--color-main-background-rgb, 255, 255, 255);
--nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8));
--nc-filter-background-blur: var(--filter-background-blur, blur(25px));
--nc-color-background-hover: var(--color-background-hover, #f5f5f5);
--nc-color-background-dark: var(--color-background-dark, #ededed);
--nc-color-background-darker: var(--color-background-darker, #dbdbdb);
--nc-color-placeholder-light: var(--color-placeholder-light, #e6e6e6);
--nc-color-placeholder-dark: var(--color-placeholder-dark, #cccccc);
--nc-color-main-text: var(--color-main-text, #222222);
--nc-color-text-light: var(--color-text-light, #222222);
--nc-color-text-lighter: var(--color-text-lighter, #767676);
--nc-color-text-maxcontrast: var(--color-text-maxcontrast, #767676);
--nc-color-scrollbar: var(--color-scrollbar, rgba(34, 34, 34, .15));
--nc-color-error: var(--color-error, #e9322d);
--nc-color-error-rgb: var(--color-error-rgb, 233, 50, 45);
--nc-color-error-hover: var(--color-error-hover, #ed5a56);
--nc-color-warning: var(--color-warning, #eca700);
--nc-color-warning-rgb: var(--color-warning-rgb, 236, 167, 0);
--nc-color-warning-hover: var(--color-warning-hover, #efb832);
--nc-color-success: var(--color-success, #46ba61);
--nc-color-success-rgb: var(--color-success-rgb, 70, 186, 97);
--nc-color-success-hover: var(--color-success-hover, #6ac780);
--nc-color-loading-light: var(--color-loading-light, #cccccc);
--nc-color-loading-dark: var(--color-loading-dark, #444444);
--nc-color-box-shadow-rgb: var(--color-box-shadow-rgb, 77, 77, 77);
--nc-color-box-shadow: var(--color-box-shadow, rgba(var(--nc-color-box-shadow-rgb), 0.5));
--nc-color-border: var(--color-border, #ededed);
--nc-color-border-dark: var(--color-border-dark, #dbdbdb);
--nc-color-border-maxcontrast: var(--color-border-maxcontrast, #949494);
--nc-font-face: var(--font-face, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol');
--nc-default-font-size: var(--default-font-size, 15px);
--nc-default-line-height: var(--default-line-height, 24px);
--nc-animation-quick: var(--animation-quick, 100ms);
--nc-animation-slow: var(--animation-slow, 300ms);
--nc-border-radius: var(--border-radius, 3px);
--nc-border-radius-large: var(--border-radius-large, 8px);
--nc-border-radius-pill: var(--border-radius-pill, 100px);
--nc-default-grid-baseline: var(--default-grid-baseline, 4px);
--nc-navigation-width: var(--navigation-width, 300px);
--nc-sidebar-min-width: var(--sidebar-min-width, 300px);
--nc-sidebar-max-width: var(--sidebar-max-width, 500px);
--nc-list-min-width: var(--list-min-width, 200px);
--nc-list-max-width: var(--list-max-width, 300px);
--nc-breakpoint-mobile: var(--breakpoint-mobile, 1024px);
--nc-color-primary: var(--color-primary, #00639a);
--nc-color-primary-default: var(--color-primary-default, #0082c9);
--nc-color-primary-text: var(--color-primary-text, #ffffff);
--nc-color-primary-hover: var(--color-primary-hover, #3282ae);
--nc-color-primary-light: var(--color-primary-light, #e5eff4);
--nc-color-primary-light-text: var(--color-primary-light-text, #00273d);
--nc-color-primary-light-hover: var(--color-primary-light-hover, #dbe4e9);
--nc-color-primary-text-dark: var(--color-primary-text-dark, #ededed);
--nc-color-primary-element: var(--color-primary-element, #00639a);
--nc-color-primary-element-text: var(--color-primary-element-text, #ffffff);
--nc-color-primary-element-hover: var(--color-primary-element-hover, #3282ae);
--nc-color-primary-element-light: var(--color-primary-element-light, #e5eff4);
--nc-color-primary-element-light-text: var(--color-primary-element-light-text, #00273d);
--nc-color-primary-element-light-hover: var(--color-primary-element-light-hover, #dbe4e9);
--nc-color-primary-element-text-dark: var(--color-primary-element-text-dark, #ededed);
}
@media (prefers-color-scheme: dark) {
:not([data-themes~="light"]) {
--nc-color-main-background: var(--color-main-background, #171717);
--nc-color-main-background-rgb: var(--color-main-background-rgb, 23, 23, 23);
--nc-color-main-background-blur: var(--color-main-background-blur, rgba(var(--nc-color-main-background-rgb), .8));
--nc-filter-background-blur: var(--filter-background-blur, blur(25px));
--nc-color-background-hover: var(--color-background-hover, #212121);
--nc-color-background-dark: var(--color-background-dark, #292929);
--nc-color-background-darker: var(--color-background-darker, #3b3b3b);
--nc-color-placeholder-light: var(--color-placeholder-light, #313131);
--nc-color-placeholder-dark: var(--color-placeholder-dark, #4a4a4a);
--nc-color-main-text: var(--color-main-text, #D8D8D8);
--nc-color-text-light: var(--color-text-light, #bfbfbf);
--nc-color-text-lighter: var(--color-text-lighter, #a5a5a5);
--nc-color-text-maxcontrast: var(--color-text-maxcontrast, #8c8c8c);
--nc-color-scrollbar: var(--color-scrollbar, #3d3d3d);
--nc-color-error: var(--color-error, #e9322d);
--nc-color-error-rgb: var(--color-error-rgb, 233, 50, 45);
--nc-color-error-hover: var(--color-error-hover, #ed5a56);
--nc-color-warning: var(--color-warning, #eca700);
--nc-color-warning-rgb: var(--color-warning-rgb, 236, 167, 0);
--nc-color-warning-hover: var(--color-warning-hover, #efb832);
--nc-color-success: var(--color-success, #46ba61);
--nc-color-success-rgb: var(--color-success-rgb, 70, 186, 97);
--nc-color-success-hover: var(--color-success-hover, #6ac780);
--nc-color-loading-light: var(--color-loading-light, #777);
--nc-color-loading-dark: var(--color-loading-dark, #CCC);
--nc-color-box-shadow-rgb: var(--color-box-shadow-rgb, 0, 0, 0);
--nc-color-box-shadow: var(--color-box-shadow, #000000);
--nc-color-border: var(--color-border, #292929);
--nc-color-border-dark: var(--color-border-dark, #3b3b3b);
--nc-color-border-maxcontrast: var(--color-border-maxcontrast, #646464);
--nc-font-face: var(--font-face, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol');
--nc-default-font-size: var(--default-font-size, 15px);
--nc-default-line-height: var(--default-line-height, 24px);
--nc-animation-quick: var(--animation-quick, 100ms);
--nc-animation-slow: var(--animation-slow, 300ms);
--nc-border-radius: var(--border-radius, 3px);
--nc-border-radius-large: var(--border-radius-large, 8px);
--nc-border-radius-pill: var(--border-radius-pill, 100px);
--nc-default-grid-baseline: var(--default-grid-baseline, 4px);
--nc-navigation-width: var(--navigation-width, 300px);
--nc-sidebar-min-width: var(--sidebar-min-width, 300px);
--nc-sidebar-max-width: var(--sidebar-max-width, 500px);
--nc-list-min-width: var(--list-min-width, 200px);
--nc-list-max-width: var(--list-max-width, 300px);
--nc-breakpoint-mobile: var(--breakpoint-mobile, 1024px);
--nc-color-primary: var(--color-primary, #00639a);
--nc-color-primary-default: var(--color-primary-default, #0082c9);
--nc-color-primary-text: var(--color-primary-text, #ffffff);
--nc-color-primary-hover: var(--color-primary-hover, #04537f);
--nc-color-primary-light: var(--color-primary-light, #141e24);
--nc-color-primary-light-text: var(--color-primary-light-text, #99c0d6);
--nc-color-primary-light-hover: var(--color-primary-light-hover, #1d272d);
--nc-color-primary-text-dark: var(--color-primary-text-dark, #ededed);
--nc-color-primary-element: var(--color-primary-element, #00639a);
--nc-color-primary-element-text: var(--color-primary-element-text, #ffffff);
--nc-color-primary-element-hover: var(--color-primary-element-hover, #04537f);
--nc-color-primary-element-light: var(--color-primary-element-light, #141e24);
--nc-color-primary-element-light-text: var(--color-primary-element-light-text, #99c0d6);
--nc-color-primary-element-light-hover: var(--color-primary-element-light-hover, #1d272d);
--nc-color-primary-element-text-dark: var(--color-primary-element-text-dark, #ededed);
}
}
/* #endregion */
/*
* Icons
*/
/* #region icons */
#rl-app .iconcolor-green {
color: var(--nc-color-success) !important;
}
#rl-app .iconcolor-red {
color: var(--nc-color-error) !important;
}
#rl-app i.fontastic {
line-height: unset;
}
#rl-app [data-icon]::before {
vertical-align: -10%;
}
#rl-app .drag-handle {
color: var(--nc-color-text-lighter);
}
/* #endregion */
/*
* Elements
*/
/* #region elements */
/* #region link */
:root {
--link-color: var(--nc-color-primary-element-light-text);
}
#rl-app a[target="_blank"] {
color: var(--nc-color-primary-element-light-text);
}
#rl-app a[target="_blank"]:visited,
#rl-app a[target="_blank"]:active {
color: var(--nc-color-primary-element);
}
/* #endregion */
/* #region scrollbar */
::-webkit-scrollbar {
width: 12px;
height: 12px;
}
::-webkit-scrollbar-thumb {
background: var(--nc-color-scrollbar);
border-radius: var(--nc-border-radius-large);
border: 2px solid transparent;
background-clip: content-box;
}
::-webkit-scrollbar-corner,
::-webkit-scrollbar-track-piece {
background-color: transparent;
}
/* #endregion */
/* #region resizer */
#rl-app .resizer {
opacity: 1;
background-color: unset;
border-right: solid 1px var(--nc-color-border);
}
::-webkit-resizer {
border: 10px solid transparent;
border-radius: var(--nc-border-radius);
border-bottom-color: var(--nc-color-border-dark);
}
::-webkit-resizer {
border-right-color: var(--nc-color-border-dark);
}
[dir="rtl"] ::-webkit-resizer {
border-right-color: transparent;
border-left-color: var(--nc-color-border-dark);
}
/* #endregion */
/* #region meter */
#rl-app meter::-webkit-meter-bar {
background-color: var(--nc-color-border-dark);
border-color: var(--nc-color-border-dark);
border-width: 2px;
height: 10px;
}
/* #endregion */
/* #region horizontal rule */
:root {
--hr-color: var(--nc-color-border-dark);
}
#rl-app hr {
border-color: var(--nc-color-border-dark);
}
/* #endregion */
/* #region tooltip */
#rl-app [data-rainloopErrorTip]::before,
#rl-app .help-block span {
border: 1px solid var(--nc-color-border);
border-radius: var(--nc-border-radius);
box-shadow: 0 0 2px var(--nc-color-box-shadow);
background-color: var(--nc-color-background-dark);
font-size: 13px;
color: unset;
left: 10px;
right: unset;
padding: 5px;
margin: 7px;
}
#rl-app [data-rainloopErrorTip]::before {
color: var(--nc-color-error);
font-weight: 700;
}
/* #endregion */
/* #region alert */
#rl-app .alert {
text-shadow: unset;
border: unset;
color: var(--nc-color-main-text);
background-color: rgba(var(--nc-color-warning-rgb), 0.1);
border-inline-start: 4px solid var(--nc-color-warning);
border-radius: var(--nc-border-radius);
margin: 1rem;
padding: 1rem;
}
#rl-app .alert h4 {
font-weight: bold;
font-size: 20px;
margin-top: unset;
margin-bottom: 12px;
line-height: 30px;
color: var(--nc-color-text-light);
}
#rl-app .alert.alert-info {
background-color: var(--nc-color-background-dark);
border-color: var(--nc-color-background-darker);
}
#rl-app .alert.alert-warning {
background-color: rgba(var(--nc-color-warning-rgb), 0.1);
border-color: var(--nc-color-warning);
}
#rl-app .alert.alert-success {
background-color: rgba(var(--nc-color-success-rgb), 0.1);
border-color: var(--nc-color-success);
}
#rl-app .alert.alert-error {
background-color: rgba(var(--nc-color-error-rgb), 0.1);
border-color: var(--nc-color-error);
}
#rl-app .alert .close {
top: -0.6rem;
right: unset;
}
#rl-app .alert br {
display: none;
}
/* #endregion */
/* #region button */
#rl-app .btn,
#rl-app button,
#rl-app button.btn:not(.button-vue) {
min-height: 36px;
height: 36px;
box-sizing: border-box;
padding: 8px 14px;
line-height: 20px;
color: var(--nc-color-main-text);
background-color: var(--nc-color-background-dark);
border: 1px solid var(--nc-color-border-dark) !important;
border-radius: var(--nc-border-radius-large);
font-size: var(--nc-default-font-size);
text-shadow: none;
box-shadow: none;
}
#rl-app .btn:hover,
#rl-app .btn:focus,
#rl-app .btn:active,
#rl-app .btn.active,
#rl-app button:hover,
#rl-app button:focus,
#rl-app button:active,
#rl-app button.active,
#rl-app span.fontastic:hover,
#rl-app span.fontastic:focus,
#rl-app span.fontastic:active {
outline: none;
opacity: unset;
}
#rl-app .btn.fontastic,
#rl-app button.fontastic {
border-radius: var(--nc-border-radius-large);
}
#rl-app .btn.btn-thin,
#rl-app button.btn-thin {
padding-right: 9px;
padding-left: 9px;
}
#rl-app .btn.btn-transparent,
#rl-app button.btn-transparent {
background: unset !important;
border: unset !important;
opacity: 0.6;
}
#rl-app .btn.btn-warning,
#rl-app button.btn-warning {
color: var(--nc-color-primary-element-text);
background-color: var(--nc-color-warning);
border-color: var(--nc-color-warning) !important;
}
#rl-app .btn.btn-warning:hover,
#rl-app .btn.btn-warning:focus,
#rl-app button.btn-warning:hover,
#rl-app button.btn-warning:focus {
color: var(--nc-color-primary-element-text);
background-color: var(--nc-color-warning-hover);
border-color: var(--nc-color-warning-hover) !important;
}
#rl-app .btn.btn-danger,
#rl-app button.btn-danger {
color: var(--nc-color-primary-element-text);
background-color: var(--nc-color-error);
border-color: var(--nc-color-error) !important;
}
#rl-app .btn.btn-danger:hover,
#rl-app .btn.btn-danger:focus,
#rl-app button.btn-danger:hover,
#rl-app button.btn-danger:focus {
color: var(--nc-color-primary-element-text);
background-color: var(--nc-color-error-hover);
border-color: var(--nc-color-error-hover) !important;
}
#rl-app .btn.btn-success,
#rl-app button.btn-success,
#rl-app button.btn.buttonLogin {
color: var(--nc-color-primary-element-text);
background-color: var(--nc-color-primary-element);
border-color: var(--nc-color-primary-element) !important;
}
#rl-app .btn.btn-success:hover,
#rl-app .btn.btn-success:focus,
#rl-app button.btn-success:hover,
#rl-app button.btn-success:focus,
#rl-app button.btn.buttonLogin:hover,
#rl-app button.btn.buttonLogin:focus {
color: var(--nc-color-primary-element-text);
background-color: var(--nc-color-primary-element-hover);
border-color: var(--nc-color-primary-element-hover) !important;
}
#rl-app span.fontastic {
padding: 6px;
height: fit-content;
border-radius: var(--nc-border-radius);
}
#rl-app span.fontastic:hover {
background-color: var(--nc-color-background-hover);
}
#rl-app span.fontastic:active {
background-color: var(--nc-color-primary-light);
}
#rl-app .btn.disabled, .btn[disabled],
#rl-app .btn.disabled:hover, .btn[disabled]:hover,
#rl-app .btn.disabled:focus, .btn[disabled]:focus,
#rl-app .btn.disabled:active, .btn[disabled]:active,
#rl-app button.disabled, button[disabled],
#rl-app button.disabled:hover, button[disabled]:hover,
#rl-app button.disabled:focus, button[disabled]:focus,
#rl-app button.disabled:active, button[disabled]:active,
#rl-app span.fontastic.disabled, span.fontastic[disabled],
#rl-app span.fontastic.disabled:hover, span.fontastic[disabled]:hover,
#rl-app span.fontastic.disabled:focus, span.fontastic[disabled]:focus,
#rl-app span.fontastic.disabled:active, span.fontastic[disabled]:active {
opacity: .5;
filter: saturate(0.7);
}
#rl-app .btn:not(.disabled, [disabled]):hover,
#rl-app .btn:not(.disabled, [disabled]):focus,
#rl-app button:not(.disabled, [disabled]):hover,
#rl-app button:not(.disabled, [disabled]):focus,
#rl-app span.fontastic:not(.disabled, [disabled]):hover,
#rl-app span.fontastic:not(.disabled, [disabled]):focus {
border-color: var(--nc-color-primary-element) !important;
}
#rl-app .btn:not(.disabled, [disabled]):active,
#rl-app .btn:not(.disabled, [disabled]).active,
#rl-app button:not(.disabled, [disabled]):active,
#rl-app button:not(.disabled, [disabled]).active,
#rl-app span.fontastic:not(.disabled, [disabled]):active,
#rl-app span.fontastic:not(.disabled, [disabled]).active {
background-color: var(--nc-color-main-background);
color: var(--nc-color-text-light);
}
/* #endregion */
/* #region button group */
#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) {
margin-right: 0.5px;
}
/* fallback */
#rl-app .btn-group .btn:first-of-type {
margin-right: 0.5px;
}
#rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) {
margin-left: 0.5px;
}
/* fallback */
#rl-app .btn-group .btn:last-of-type {
margin-left: 0.5px;
}
#rl-app .btn-group .btn:nth-child(n+2 of :not([style*="display: none;"])):nth-last-child(n+2 of :not([style*="display: none;"])) {
border-radius: 0 !important;
margin-right: 0.5px;
margin-left: 0.5px;
}
/* fallback */
#rl-app .btn-group .btn:not(:first-of-type):not(:last-of-type) {
border-radius: 0;
margin: 0 0.5px;
}
#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])) {
border-radius: 0 !important;
border-top-left-radius: var(--nc-border-radius-large) !important;
border-bottom-left-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .btn-group .btn:first-of-type,
[dir="rtl"] #rl-app .btn-group .btn:last-of-type {
border-radius: 0;
border-top-left-radius: var(--nc-border-radius-large);
border-bottom-left-radius: var(--nc-border-radius-large);
}
#rl-app .btn-group .btn:nth-last-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])) {
border-radius: 0 !important;
border-top-right-radius: var(--nc-border-radius-large) !important;
border-bottom-right-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .btn-group .btn:last-of-type,
[dir="rtl"] #rl-app .btn-group .btn:first-of-type {
border-radius: 0;
border-top-right-radius: var(--nc-border-radius-large);
border-bottom-right-radius: var(--nc-border-radius-large);
}
#rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) {
border-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .btn-group .btn:first-of-type:last-of-type,
[dir="rtl"] #rl-app .btn-group .btn:first-of-type:last-of-type {
border-radius: var(--nc-border-radius-large) !important;
}
#rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])) {
border-radius: 0 !important;
border-top-left-radius: var(--nc-border-radius-large) !important;
border-bottom-left-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .btn-group .btn.fontastic:first-of-type,
[dir="rtl"] #rl-app .btn-group .btn.fontastic:last-of-type {
border-radius: 0;
border-top-left-radius: var(--nc-border-radius-large);
border-bottom-left-radius: var(--nc-border-radius-large);
}
#rl-app .btn-group .btn.fontastic:nth-last-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])) {
border-radius: 0 !important;
border-top-right-radius: var(--nc-border-radius-large) !important;
border-bottom-right-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .btn-group .btn.fontastic:last-of-type,
[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type {
border-radius: 0;
border-top-right-radius: var(--nc-border-radius-large);
border-bottom-right-radius: var(--nc-border-radius-large);
}
#rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) {
border-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .btn-group .btn.fontastic:first-of-type:last-of-type,
[dir="rtl"] #rl-app .btn-group .btn.fontastic:first-of-type:last-of-type {
border-radius: var(--nc-border-radius-large) !important;
}
/* #endregion */
/* #region input & select */
#rl-app select,
#rl-app .select,
#rl-app .emailaddresses,
#rl-app input:not([type="checkbox"]) {
padding: 0 12px;
font-size: var(--nc-default-font-size);
color: var(--nc-color-main-text);
background-color: unset;
height: 36px;
border: 2px solid var(--nc-color-border-maxcontrast);
border-radius: var(--nc-border-radius-large);
line-height: 32px;
outline: none;
}
#rl-app select:hover,
#rl-app select:active,
#rl-app select:focus,
#rl-app .select:hover,
#rl-app .select:active,
#rl-app .select:focus,
#rl-app .emailaddresses:hover,
#rl-app .emailaddresses:active,
#rl-app .emailaddresses:focus,
#rl-app input:hover,
#rl-app input:active,
#rl-app input:focus,
#rl-app input:not([type="checkbox"]):hover,
#rl-app input:not([type="checkbox"]):active,
#rl-app input:not([type="checkbox"]):focus {
border-color: var(--nc-color-primary-element);
}
/* #endregion */
/* #region input */
#rl-app input {
box-shadow: none;
}
#rl-app input[type="search"]::-webkit-search-decoration,
#rl-app input[type="search"]::-webkit-search-cancel-button,
#rl-app input[type="search"]::-webkit-search-results-button,
#rl-app input[type="search"]::-webkit-search-results-decoration {
-webkit-appearance: none;
}
#rl-app input::-webkit-outer-spin-button,
#rl-app input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
#rl-app input[type=number] {
appearance: textfield;
margin: 0;
/* ? margin: 0 5px 0 0; */
}
#rl-app .search-input-wrp a {
position: absolute;
top: 2px;
right: 1px;
min-width: unset;
min-height: unset;
height: 32px;
font-size: 20px;
line-height: 30px;
}
/* #endregion */
/* #region checkbox */
#rl-app .e-checkbox.material-design {
width: fit-content !important;
width: -moz-fit-content !important;
display: flex;
position: relative;
align-items: center;
user-select: none;
height: 44px;
border-radius: 44px;
padding: 0 14px;
margin: 0;
}
#rl-app .e-checkbox.material-design:hover,
#rl-app .e-checkbox.material-design:focus-within {
background-color: var(--nc-color-primary-light);
outline: none;
}
#rl-app .e-checkbox input[type="checkbox"] {
display: none;
}
#rl-app .e-checkbox:focus {
outline: none;
}
input[type="checkbox"] {
background-color: transparent;
-webkit-appearance: none;
appearance: none;
}
#rl-app .e-checkbox.material-design>div {
position: relative;
width: 18px;
top: 2px;
}
#rl-app input[type="checkbox"],
#rl-app .e-checkbox.material-design input+div {
position: unset;
height: 18px !important;
width: 18px !important;
min-width: 18px !important;
flex-shrink: 0 !important;
border: 2px solid var(--nc-color-primary-element);
border-radius: 2px;
box-sizing: border-box;
animation: none;
transform: unset;
}
#rl-app input[type="checkbox"]:checked,
#rl-app .e-checkbox.material-design input:checked+div {
--nc-svg-checked: url("data:image/svg+xml,");
-webkit-mask-image: var(--nc-svg-checked);
mask-image: var(--nc-svg-checked);
background: var(--nc-color-primary-element);
border-width: 0;
animation: none;
transform: unset;
}
/* #endregion */
/* #region select */
#rl-app select option,
#rl-app select::-webkit-scrollbar-corner,
#rl-app select::-webkit-scrollbar-track-piece {
background-color: var(--nc-color-main-background);
color: var(--nc-color-main-text);
}
/* #endregion */
/* #region select email address */
#rl-app .emailaddresses {
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 0 0 4px;
width: 100%;
height: auto;
min-height: 44px;
max-height: calc(44px*2);
line-height: var(--nc-default-line-height);
background-color: var(--nc-color-main-background);
white-space: normal;
}
#rl-app .emailaddresses.emailaddresses-focused {
border: 2px solid var(--nc-color-primary-element);
}
#rl-app .emailaddresses li {
margin: 4px 2px 0;
}
#rl-app .emailaddresses li.emailaddresses-input>input[type="text"],
#rl-app .emailaddresses li.emailaddresses-input>input[type="text"]:focus,
#rl-app .emailaddresses li.emailaddresses-input>input[type="text"]:hover {
padding: 0 7px;
height: 36px;
max-width: 390px;
color: var(--nc-color-main-text);
font-size: var(--nc-default-font-size);
line-height: var(--nc-default-line-height);
}
#rl-app .emailaddresses li[draggable] {
display: flex;
align-items: center;
padding: 0 0.5em;
min-height: 36px;
line-height: var(--nc-default-line-height);
color: var(--nc-color-main-text);
border: 0;
border-radius: var(--nc-border-radius-large);
background-color: var(--nc-color-background-dark);
box-shadow: none;
}
#rl-app .emailaddresses li[draggable]>span {
max-width: calc(100vw - 140px);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#rl-app .emailaddresses li[draggable]>a.ficon {
position: unset;
color: transparent;
text-shadow: 0 0 0 var(--nc-color-text-maxcontrast);
background: none;
border: 0;
cursor: pointer;
display: inline-flex;
margin-left: 4px;
padding: 0;
}
@media screen and (max-width: 480px) {
#rl-app .emailaddresses li.emailaddresses-input>input[type="text"] {
max-width: calc(100vw - 116px) !important;
}
}
/* #endregion */
/* #region textarea */
#rl-app .squire-toolbar {
height: 50px;
padding: 5px;
box-sizing: content-box;
border: none;
}
#rl-app textarea,
#rl-app div[contenteditable],
#rl-app .squire-wysiwyg,
#rl-app .squire-plain {
padding: 8px 12px;
margin: unset;
font-size: var(--nc-default-font-size);
color: var(--nc-color-main-text);
background-color: unset;
outline: none;
border: 2px solid var(--nc-color-border-dark);
border-radius: var(--nc-border-radius-large);
}
#rl-app textarea:hover,
#rl-app textarea:active,
#rl-app textarea:focus,
#rl-app div[contenteditable=true]:hover,
#rl-app div[contenteditable=true]:active,
#rl-app div[contenteditable=true]:focus,
#rl-app .squire-wysiwyg:hover,
#rl-app .squire-wysiwyg:active,
#rl-app .squire-wysiwyg:focus,
#rl-app .squire-plain:hover,
#rl-app .squire-plain:active,
#rl-app .squire-plain:focus {
border-color: var(--nc-color-primary-element);
}
/* #endregion */
/* #region dropdown */
#rl-app .dropdown.show {
box-shadow: none;
}
#rl-app .dropdown-menu {
background-color: var(--nc-color-main-background);
filter: drop-shadow(0 1px 5px var(--nc-color-box-shadow));
border-radius: var(--nc-border-radius-large);
color: var(--nc-color-main-text);
padding: 4px;
}
#rl-app .dropdown-menu a {
background-color: unset;
color: unset;
height: 22px;
line-height: 22px;
border-radius: 3px;
margin: 2px;
box-sizing: content-box;
text-align: start;
}
#rl-app .dropdown-menu li.disabled>a,
#rl-app .dropdown-menu li.disabled>a:hover,
#rl-app .dropdown-menu li.disabled>a:focus,
#rl-app .dropdown-menu li.disabled>a:active {
opacity: .5;
filter: saturate(0.7);
}
#rl-app .dropdown-menu li:not(.disabled)>a:hover,
#rl-app .dropdown-menu li:not(.disabled)>a:focus {
background-color: var(--nc-color-background-hover);
color: unset;
opacity: unset;
}
#rl-app .dropdown-menu li:not(.disabled)>a:active {
background-color: var(--nc-color-primary-element-light);
}
#rl-app .dropdown-menu *+.dividerbar {
border-color: var(--nc-color-border);
}
#rl-app .dropdown-menu::-webkit-scrollbar-track-piece {
background-color: inherit;
border-top-right-radius: inherit;
border-bottom-right-radius: inherit;
}
.rl-left-panel-disabled #rl-app .dropdown-menu:not(.right-edge) {
position: fixed;
top: auto;
left: 5px;
right: auto;
}
/* #endregion */
/* #region dropdown account */
#rl-app #V-SystemDropDown {
margin: 2px 5px 0 5px;
}
#rl-app #V-SystemDropDown .btn-toolbar {
border: solid 1px var(--nc-color-border-dark);
border-radius: var(--nc-border-radius-large);
height: 36px;
padding: 2px;
display: flex;
flex-direction: row;
align-items: center;
box-sizing: content-box;
}
#rl-app #V-SystemDropDown .accountPlace {
background: unset;
color: unset;
text-shadow: none;
border-color: var(--nc-color-border);
}
#rl-app #V-SystemDropDown #top-system-dropdown-id {
background-color: unset;
border: unset !important;
border-radius: var(--nc-border-radius-large) !important;
height: 20px;
}
#rl-app #V-SystemDropDown #top-system-dropdown-id:hover,
#rl-app #V-SystemDropDown #top-system-dropdown-id:focus {
background-color: var(--nc-color-background-hover);
}
#rl-app #V-SystemDropDown #top-system-dropdown-id:active {
background-color: var(--nc-color-background-dark);
}
/* #endregion */
/* #region tab */
#rl-app .tabs>[id^=tab]:checked+label {
background-color: var(--nc-color-main-background);
border-color: var(--nc-color-primary-element);
border-bottom-color: transparent;
}
#rl-app .tabs>label {
margin: 0 2px -1px 2px;
border-radius: 0;
border-top-left-radius: var(--nc-border-radius);
border-top-right-radius: var(--nc-border-radius);
overflow-wrap: anywhere;
}
#rl-app .tabs>label:first-of-type {
margin-left: 0px;
}
#rl-app .tabs>label:last-of-type {
margin-right: 0px;
}
#rl-app .tabs>label:hover {
border-color: transparent;
border-bottom-color: var(--nc-color-primary-element);
background-color: var(--nc-color-background-hover)
}
#rl-app .tabs .tab-content {
border-top: solid 1px;
border-radius: 4px;
border-color: var(--nc-color-primary-element);
}
@media screen and (max-width: 480px) {
#rl-app .tabs>label>i,
#rl-app .tabs>label::before {
display: none;
}
}
/* #endregion */
/* #region table */
#rl-app .table td,
#rl-app .table th,
#rl-app .table-bordered {
border-color: var(--nc-color-border-dark);
}
#rl-app .table-hover tbody tr:hover td,
#rl-app .table-hover tbody tr:hover th {
background-color: var(--nc-color-background-hover);
}
#rl-app .table-striped tbody tr:nth-child(odd) td,
#rl-app .table-striped tbody tr:nth-child(odd) th {
background-color: var(--nc-color-background-dark);
}
/* #endregion */
/* #region attachment */
#rl-app .attachmentItem {
background-color: var(--nc-color-background-dark);
border-radius: var(--nc-border-radius);
box-shadow: none;
padding: 2px;
}
#rl-app .attachmentListSimple {
flex-wrap: wrap;
display: flex;
}
#rl-app .attachmentListSimple .attachmentItem {
display: flex;
width: min-content;
max-width: unset;
}
#rl-app .attachmentListSimple .attachmentName {
max-width: 200px;
margin: 5px;
}
#rl-app .attachmentListSimple .checkboxAttachment {
position: initial;
margin: 5px;
margin-left: 0;
}
#rl-app .attachmentItem:hover,
#rl-app .attachmentItem:active {
background-color: var(--nc-color-background-darker);
}
#rl-app .attachmentItem:focus {
outline: none;
}
#rl-app .attachmentItem .iconProgress {
background-color: var(--nc-color-background-darker);
}
#rl-app .attachmentItem .iconBG {
font-weight: 700;
line-height: 48px;
font-size: unset;
text-shadow: unset;
}
#rl-app .attachmentItem .attachmentNameParent {
border-color: var(--nc-color-border-dark);
}
#rl-app .attachmentItem .iconMain,
#rl-app .attachmentItem .iconPreview {
color: var(--nc-color-text-light);
}
/* #endregion */
/* #endregion */
/*
* Views
*/
/* #region views */
/* #region app */
#rl-app {
color: var(--nc-color-main-text);
background-color: transparent;
font-family: var(--nc-font-face);
font-size: var(--nc-default-font-size);
}
#rl-app #rl-left {
background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background));
-webkit-backdrop-filter: var(--nc-filter-background-blur, none);
backdrop-filter: var(--nc-filter-background-blur, none);
border-color: var(--nc-color-border);
width: 300px;
}
html:not(.rl-left-panel-disabled) #rl-left {
max-width: var(--nc-sidebar-max-width);
}
html.rl-left-panel-disabled #rl-app #rl-left {
width: 65px !important;
}
html.rl-mobile.rl-left-panel-disabled #rl-app #rl-left {
width: 0px !important;
}
#rl-app #rl-right {
background-color: var(--nc-color-main-background);
}
#rl-app::selection {
background-color: var(--nc-color-primary);
color: var(--nc-color-primary-text);
}
#rl-app .control-group {
margin-bottom: 0.5em;
}
#rl-app .form-horizontal .control-group {
display: flex;
align-items: center;
margin-left: 0;
}
#rl-app .form-horizontal .control-group {
margin-bottom: 1em;
}
@media screen and (max-width: 799px) {
#rl-app .form-horizontal .control-group>label {
text-align: right;
}
}
/* #endregion */
/* #region login & loading */
#rl-app #V-Login,
#rl-app #rl-loading,
#rl-app #rl-loading-error {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
top: unset;
position: unset;
min-width: unset;
max-width: unset;
transform: unset;
text-shadow: none;
transition: none;
background-color: var(--nc-color-main-background-blur, var(--nc-color-main-background));
-webkit-backdrop-filter: var(--nc-filter-background-blur, none);
backdrop-filter: var(--nc-filter-background-blur, none);
color: var(--nc-color-main-text);
width: 100%;
height: 100%;
}
#rl-app .LoginView .descWrapper {
color: var(--nc-color-main-text);
}
#rl-app .LoginView .alert {
position: unset;
}
#rl-app .LoginView form {
min-width: 250px;
max-width: 500px;
width: 90%;
background-color: var(--nc-color-main-background);
border: unset;
border-radius: var(--nc-border-radius-large);
box-shadow: 0 0 10px var(--nc-color-box-shadow);
color: var(--nc-color-main-text);
}
#rl-app .LoginView .controls>.fontastic:first-child {
padding: unset;
left: 10px;
}
#rl-app .LoginView .controls span.fontastic {
user-select: none;
}
#rl-app .LoginView .controls span.fontastic:active,
#rl-app .LoginView .controls span.fontastic:hover {
background: unset;
}
#rl-app .LoginView .controls input:not([type="checkbox"]) {
padding-left: 30px;
}
#rl-app #rl-loading[hidden],
#rl-app #rl-loading-error[hidden],
#rl-app .LoginView .alert[hidden] {
display: none;
}
/* #endregion */
/* #region side panel */
html.rl-left-panel-disabled #rl-app #rl-left:has(#V-SettingsMenu:not([hidden])) {
width: 250px !important;
}
#rl-app #V-AdminPane>.b-toolbar,
#rl-app #V-SettingsMenu>.b-toolbar {
top: 0;
left: 0;
height: auto !important;
padding-top: calc(var(--nc-default-grid-baseline) * 2) !important;
padding-bottom: calc(var(--nc-default-grid-baseline) * 2) !important;
font-weight: bold;
}
#rl-app .b-folders .b-toolbar {
height: unset;
display: flex;
flex-direction: row;
padding: 8px;
}
html.rl-left-panel-disabled #rl-app .b-folders .b-toolbar {
flex-direction: column;
}
#rl-app .b-folders .b-toolbar .btn.buttonCompose,
#rl-app .b-folders .b-toolbar .btn.buttonContacts,
#rl-app .b-footer .btn {
box-sizing: border-box;
padding: 4px 14px;
line-height: 36px;
height: 44px;
min-width: fit-content;
width: stretch;
width: -moz-available;
width: -webkit-fill-available;
margin: 3px !important;
font-size: var(--nc-default-font-size);
}
#rl-app .b-folders .b-toolbar .btn.buttonCompose {
min-width: 16px;
max-width: 100%;
font-weight: bold;
box-sizing: content-box !important;
}
#rl-app .b-folders .b-toolbar .btn.buttonContacts {
width: 44px;
min-width: 44px;
}
#rl-app #V-AdminMenu nav,
#rl-app #V-SettingsMenu nav,
#rl-app .b-folders .b-content {
padding: calc(var(--nc-default-grid-baseline) * 2);
}
#rl-app .b-folders .b-content {
top: 60px;
bottom: 162px;
color: unset;
}
#rl-app .b-folders .b-content.show-on-panel-disabled {
bottom: 56px;
}
#rl-app #V-AdminMenu nav a,
#rl-app #V-AdminPane>.b-toolbar,
#rl-app #V-SettingsMenu nav a,
#rl-app #V-SettingsMenu>.b-toolbar,
#rl-app .b-folders li a.selectable {
margin: 2px;
padding: 0 2em 0 15px;
height: 38px;
line-height: 38px !important;
border-radius: var(--nc-border-radius-large);
color: unset;
border: none;
}
#rl-app #V-AdminMenu nav a,
#rl-app #V-AdminPane>.b-toolbar,
#rl-app #V-SettingsMenu nav a,
#rl-app #V-SettingsMenu>.b-toolbar {
height: 44px;
min-height: 44px;
line-height: 44px !important;
}
#rl-app #V-AdminMenu nav a.selected,
#rl-app #V-SettingsMenu nav a.selected,
#rl-app .b-folders li a.selectable.selected {
color: unset;
background-color: var(--nc-color-primary-light);
}
#rl-app #V-AdminMenu nav a:not(.selected):hover,
#rl-app #V-AdminMenu nav a:not(.selected):focus,
#rl-app #V-SettingsMenu nav a:not(.selected):hover,
#rl-app #V-SettingsMenu nav a:not(.selected):focus,
#rl-app .b-folders li a.selectable:not(.selected):hover,
#rl-app .b-folders li a.selectable:not(.selected):focus {
color: unset;
background-color: var(--nc-color-background-hover);
}
#rl-app .b-folders .b-folders-system a[data-unread]::after,
#rl-app .b-folders .b-folders-user a[data-unread]::after {
display: block;
margin: 0;
padding: 2px 6px;
top: 50%;
transform: translateY(-50%);
color: var(--nc-color-primary-element);
background-color: var(--nc-color-primary-element-light);
font-size: 12px;
text-shadow: none;
}
html.rl-left-panel-disabled #rl-app .b-folders .b-folders-system a.selectable {
text-overflow: clip;
}
#rl-app .b-folders hr {
border-top: solid var(--nc-color-main-text);
border-radius: var(--nc-border-radius-large);
opacity: .1;
}
#rl-app .b-folders .search-input-wrp {
width: calc(100% - 20px);
margin: 5px 10px;
opacity: .7;
}
#rl-app .b-folders .search-input-wrp input {
width: 100%;
}
#rl-app .b-footer.btn-toolbar.hide-mobile,
#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled {
display: flex;
flex-direction: column;
align-content: stretch;
justify-content: flex-start;
height: unset;
box-sizing: border-box;
}
#rl-app .b-footer.btn-toolbar.hide-mobile,
#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled {
margin: 0;
padding: 0;
bottom: 0;
}
#rl-app .b-footer.btn-toolbar {
overflow: unset;
padding: 3px;
}
#rl-app .b-footer.btn-toolbar .btn {
background: transparent;
border: unset !important;
}
#rl-app .b-footer.btn-toolbar .btn {
text-align: left;
font-size: 22px;
user-select: none;
}
#rl-app .b-footer.btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])),
#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])),
[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic:nth-child(1 of :not([style*="display: none;"])):nth-last-child(1 of :not([style*="display: none;"])) {
border-radius: var(--nc-border-radius-large) !important;
}
/* fallback */
#rl-app .b-footer.btn-toolbar .btn-group .btn,
#rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic,
[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn,
[dir="rtl"] #rl-app .b-footer.btn-toolbar .btn-group .btn.fontastic {
border-radius: var(--nc-border-radius-large) !important;
}
#rl-app .b-footer.btn-toolbar .btn:hover,
#rl-app .b-footer.btn-toolbar .btn.fontastic:hover {
background-color: var(--nc-color-background-hover);
}
#rl-app .b-footer.btn-toolbar .btn:active,
#rl-app .b-footer.btn-toolbar .btn.fontastic:active {
background-color: var(--nc-color-primary-light);
}
#rl-app .b-footer.btn-toolbar .btn:focus,
#rl-app .b-footer.btn-toolbar .btn.fontastic:focus {
outline: none;
}
#rl-app .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn {
width: -webkit-fill-available;
width: -moz-available;
width: fill-available;
overflow: hidden;
}
#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic {
background-color: var(--nc-color-main-background);
}
#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after,
[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before {
font-family: var(--nc-font-face);
font-size: var(--nc-default-font-size);
margin-left: 15px;
}
#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after {
position: absolute;
}
[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn:after {
position: unset;
}
#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after,
[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:before {
content: attr(title);
width: inherit;
overflow: hidden;
text-overflow: ellipsis;
}
[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group.hide-on-panel-disabled .btn.fontastic:after {
content: unset;
}
#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:before {
line-height: unset;
}
#rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after {
content: attr(title);
width: inherit;
overflow: hidden;
text-overflow: ellipsis;
}
html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.fontastic:after,
html.rl-left-panel-disabled #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.icon-folder-add:after,
html.rl-left-panel-disabled[dir="rtl"] #rl-app #V-MailFolderList .b-footer.btn-toolbar .btn-group .btn.fontastic:before {
content: '';
}
#rl-app #V-MailFolderList .b-footer .btn[data-bind*="toggleLeftPanel"] {
width: unset !important;
}
/* #endregion */
/* #region message list & view */
#rl-app .messageList,
#rl-app .messageView {
height: calc(100% - 65px);
margin: 0 5px;
border: 0;
border-top: 1px solid transparent;
box-shadow: none !important;
background: var(--nc-color-main-background);
}
#rl-app #V-MailMessageList .btn-toolbar,
#rl-app #V-MailMessageView .btn-toolbar {
padding: 10px;
margin-top: 5px;
}
/* fallback */
#rl-app #V-MailMessageList .btn-toolbar .btn-group .btn,
#rl-app #V-MailMessageView .btn-toolbar .btn-group .btn {
border-radius: var(--nc-border-radius-large);
}
/* #endregion */
/* #region message list */
#rl-app #V-MailMessageList {
overflow: unset;
}
#rl-app #V-MailMessageList .btn-toolbar {
background: var(--nc-color-primary-light);
border-radius: var(--nc-border-radius-large);
margin: 5px 5px 0 5px;
text-align: start;
}
html.sm-msgView-side #V-MailMessageList .btn-toolbar {
text-align: center !important;
}
#rl-app #V-MailMessageList .btn-toolbar .btn:not(.btn-success) {
background: var(--nc-color-main-background);
}
#rl-app #V-MailMessageList .messageList {
min-width: 370px;
}
html.sm-msgView-bottom #rl-app .messageList {
height: 35vh;
}
#rl-app .messageList .second-toolbar,
#rl-app .messageList .b-footer {
border-color: var(--nc-color-border);
background: unset !important;
}
#rl-app .messageList .second-toolbar {
align-items: center;
}
#rl-app .messageList .b-footer {
padding-bottom: 10px;
}
#rl-app .messageList .inputSearch {
max-width: unset;
}
#rl-app .messageList .checkboxCheckAll {
margin: 0 12px;
}
#rl-app .messageList .checkboxCheckAll:hover,
#rl-app .messageList .checkboxCheckAll:focus {
color: var(--nc-color-primary-element);
}
#rl-app .messageList .checkboxCheckAll:active {
color: var(--nc-color-primary-element-hover);
}
html:not(rl-mobile) #rl-app .hideMessageListCheckbox .checkboxCheckAll {
display: none;
}
#rl-app .messageList .btn.buttonMoreSearch {
background: unset;
border-radius: var(--nc-border-radius-large);
margin: 0 0 0 8px;
line-height: 20px !important;
}
#rl-app .messageList .checkboxCheckAll,
#rl-app .messageList .btn.buttonMoreSearch {
font-size: var(--nc-default-font-size);
height: 28px;
line-height: 28px;
}
#rl-app .messageList .b-content .listThreadUidDesc {
margin: 8px;
color: var(--nc-color-main-text);
background: unset;
border: solid 1px;
border-radius: var(--nc-border-radius-large);
border-color: var(--nc-color-border-dark);
}
#rl-app .messageList .b-content .listThreadUidDesc:hover,
#rl-app .messageList .b-content .listThreadUidDesc:focus {
background: var(--nc-color-background-hover);
}
#rl-app .messageList .b-content .listThreadUidDesc:active {
background-color: var(--nc-color-primary-element-light);
}
#rl-app .messageList .b-content .listSearchDesc {
border-color: var(--nc-color-border);
}
#rl-app .messageList .b-content .listError {
color: var(--nc-color-error);
}
#rl-app .messageList .b-content .listDragOver.dragOverEnter {
background-color: var(--nc-color-background-dark);
border-radius: var(--nc-border-radius);
margin: 5px;
}
#rl-app .messageList .b-content .listDragOver,
#rl-app .messageList .b-content .listEmptyMessage,
#rl-app .messageList .b-content .listError,
#rl-app .messageList .b-content .listLoading {
color: var(--nc-color-text-lighter);
}
#rl-app .messageList .groupLabel {
background-color: var(--nc-color-background-dark);
border-radius: var(--nc-border-radius);
margin: 2px 0;
}
/* #endregion */
/* #region message list item */
#rl-app .messageListItem .checkboxMessage {
border-color: var(--nc-color-text-lighter);
color: var(--nc-color-text-lighter);
}
#rl-app .messageListItem .checkboxMessage:hover,
#rl-app .messageListItem .checkboxMessage:focus {
background-color: var(--nc-color-background-darker);
}
#rl-app .messageListItem .checkboxMessage:active {
background-color: var(--nc-color-primary-light-hover);
}
#rl-app .messageListItem .threads-len {
color: var(--nc-color-text-light);
border-color: var(--nc-color-text-light);
padding: 0 4px;
margin-right: 5px;
}
#rl-app .messageListItem .threads-len:hover,
#rl-app .messageListItem .threads-len:focus {
background-color: var(--nc-color-background-darker);
border-color: unset;
}
#rl-app .messageListItem .threads-len:active {
background-color: var(--nc-color-primary-element-light-hover);
}
#rl-app .messageListItem {
padding: 8px;
margin: 2px 0;
border-bottom: unset;
border-radius: var(--nc-border-radius);
}
#rl-app .messageListItem,
#rl-app .messageListItem.focused {
background-color: var(--nc-color-background);
border-color: var(--nc-color-border);
}
#rl-app .messageListItem:hover,
#rl-app .messageListItem.focused:hover {
background-color: var(--nc-color-background-hover);
border-color: var(--nc-color-primary-light-hover);
}
#rl-app .messageListItem.selected,
#rl-app .messageListItem.selected:hover {
background-color: var(--nc-color-primary-light) !important;
border-color: var(--nc-color-primary-light-text) !important;
}
#rl-app .messageListItem.unseen {
background-color: unset;
border-color: var(--nc-color-primary);
}
#rl-app .messageListItem.unseen.focused,
#rl-app .messageListItem.unseen.focused:hover {
background-color: var(--nc-color-primary-light);
border-color: var(--nc-color-primary);
}
#rl-app .messageListItem.unseen:hover {
background-color: var(--nc-color-background-hover);
border-color: var(--nc-color-primary-hover);
}
#rl-app .messageListItem [data-unseen] {
border-color: var(--nc-color-primary-element);
background-color: var(--nc-color-primary-element-light);
border-width: 2px;
font-weight: 700;
}
#rl-app .messageListItem [data-unseen]:hover {
border-color: var(--nc-color-primary-element-hover);
background-color: var(--nc-color-primary-element-light-hover);
}
#rl-app .messageListItem.checked {
background-color: unset;
border-color: var(--nc-color-primary-light-text);
}
#rl-app .messageListItem.checked.focused {
background-color: inherit;
border-color: var(--nc-color-primary-light-text);
}
#rl-app .messageListItem.checked:hover,
#rl-app .messageListItem.checked.focused:hover {
background-color: var(--nc-color-background-hover);
border-color: inherit;
}
#rl-app #messagesDragImage {
padding: 5px 5px 5px 10px;
color: var(--nc-color-text-lighter);
background-color: var(--nc-color-background-darker);
border-radius: var(--nc-border-radius);
box-shadow: 0 0 4px var(--nc-color-box-shadow);
height: unset;
min-width: unset;
}
/* #endregion */
/* #region message view */
#rl-app #V-MailMessageView {
bottom: 0;
}
html.sm-msgView-bottom #rl-app .messageView {
height: 100%;
}
#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit {
padding: 4px 8px;
min-height: 28px;
height: 28px;
opacity: 0.8;
}
#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:hover,
#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:focus,
#rl-app .messageView .b-message .message-fixed-button-toolbar .btn.buttonEdit:active {
opacity: unset;
}
#rl-app .messageView .b-message-view-desc,
#rl-app .messageView .b-message-view-checked-helper {
color: var(--nc-color-text-lighter);
}
#rl-app .messageView .b-message-view-desc.error {
color: var(--nc-color-error);
}
#rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-optimum-value {
background-color: var(--nc-color-success);
border-radius: var(--nc-border-radius-large);
}
#rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-suboptimum-value {
background-color: var(--nc-color-warning);
border-radius: var(--nc-border-radius-large);
}
#rl-app .messageView .messageItemHeader .informationShort meter::-webkit-meter-even-less-good-value {
background-color: var(--nc-color-error);
border-radius: var(--nc-border-radius-large);
}
#rl-app .messageView .messageItemHeader .hasVirus {
background: unset;
border: solid 2px var(--nc-color-error);
border-radius: var(--nc-border-radius);
margin: 5px;
}
#rl-app .messageView .messageItemHeader .subject {
line-height: 30px;
height: 30px;
}
#rl-app .messageView .crypto-control.encrypted,
#rl-app .messageView .crypto-control.signed {
border-radius: var(--nc-border-radius);
}
#rl-app #V-MailMessageView .b-message-view-backdrop {
background-color: var(--nc-color-main-background-blur);
-webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px);
}
#rl-app #V-MailMessageView .b-message-view-backdrop .backdrop-message {
background-color: var(--nc-color-main-background);
border: solid 1px var(--nc-color-primary);
border-radius: var(--nc-border-radius-large);
text-shadow: none;
margin: 10px;
color: unset;
}
#rl-app .messageView .messageAssignedTags {
margin: 0 5px;
}
#rl-app .messageView .messageAssignedTags span {
border-radius: var(--nc-border-radius-large);
background: unset;
padding: 2px 5px;
}
#rl-app #messageItem .bodySubHeader {
background-color: unset;
}
#rl-app #messageItem .bodySubHeader>* {
border-color: var(--nc-color-border);
}
.rl-left-panel-disabled #rl-app #messageItem .dropdown-menu {
position: absolute;
}
#rl-app #messageItem .readReceipt,
#rl-app #messageItem .showImages {
margin: 8px;
padding: 10px;
color: var(--nc-color-main-text);
border: solid 1px var(--nc-color-primary);
background-color: var(--nc-color-primary-light);
border-radius: var(--nc-border-radius-large);
}
#rl-app #messageItem .showImages>.btn,
#rl-app #messageItem .showImages>.btn-group {
margin: 2px;
}
#rl-app #messageItem .readReceipt:hover {
background-color: var(--nc-color-primary-light-hover);
}
#rl-app .messageView .messageItemHeader,
#rl-app #messageItem .attachmentsPlace {
background-color: unset;
border-color: var(--nc-color-border);
color: var(--nc-color-main-text);
}
#rl-app #messageItem .attachmentsPlace {
border-top: 1px solid var(--nc-color-border);
top: -1px;
}
#rl-app #messageItem .attachmentsPlace .controls-handle {
-webkit-user-select: none;
user-select: none;
}
#rl-app #messageItem .attachmentsControls {
background-color: unset;
border-color: var(--nc-color-border);
-webkit-user-select: none;
user-select: none;
}
#rl-app #messageItem .attachmentsControls .icon-file-archive,
#rl-app #messageItem .attachmentsControls .fontastic {
color: var(--nc-color-main-text);
}
/* #endregion */
/* #region settings */
#rl-app #V-SettingsPane {
margin: 62px 0 8px 0;
height: calc(100% - 62px - 8px);
background-color: unset;
box-shadow: none;
border: none;
}
#rl-app #V-SettingsPane .btn-toolbar {
padding: 8px;
}
#rl-app .row {
margin-left: unset;
}
#rl-app .legend,
#rl-app #V-AdminPane hr,
#rl-app #V-SettingsPane hr {
color: unset;
border-color: var(--nc-color-border);
}
#rl-app #V-Settings-Themes figure,
#rl-app #V-Settings-Themes img {
border-radius: var(--nc-border-radius-large);
}
#rl-app #V-Settings-Themes figure:not(.selected):hover {
background-color: var(--nc-color-background-hover);
border-color: transparent;
}
#rl-app #V-Settings-Themes figure:not(.selected):active {
background-color: var(--nc-color-primary-element-light);
}
#rl-app #V-Settings-Themes figure:not(.selected):focus {
outline: none;
}
#rl-app #V-Settings-Themes figure.selected {
background-color: var(--nc-color-primary-element);
border-color: transparent;
color: var(--nc-color-primary-element-text);
}
/* hide additional theme settings, as these are made via Nextcloud theming */
/* fonts */
#rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal:nth-of-type(3) {
display: none !important;
}
/* background */
#content.app-snappymail #rl-app #V-SettingsPane #V-Settings-Themes .form-horizontal:nth-of-type(4) {
display: none !important;
}
/* #endregion */
/* #region settings admin */
#rl-app #V-AdminPane {
margin: 8px 0px;
height: calc(100% - 2*8px);
background-color: unset;
box-shadow: none;
border: none;
}
#rl-app #V-AdminPane>.b-toolbar {
width: 300px;
text-shadow: none;
}
html.rl-mobile #rl-app #V-AdminPane {
margin: 60px 0px 8px 0px;
height: calc(100% - 60px - 8px);
}
html.rl-mobile #rl-app #V-AdminPane>.b-toolbar {
width: unset;
}
#rl-app #V-Settings-Config th {
background-color: var(--nc-color-background-dark);
}
#rl-app #V-Settings-Config em {
word-break: break-word;
}
#rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"] {
align-self: self-start;
}
#rl-app #V-Settings-General label[data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"]~div .alert.alert-info {
margin-left: -130px;
}
#rl-app #V-Settings-Domains .btn[data-i18n="GLOBAL/TEST"] {
margin-left: 1rem;
}
@media screen and (max-width: 1024px) {
#rl-app #V-AdminPane table {
width: 100%;
}
#rl-app #V-AdminPane [class*="span"] {
width: unset;
}
}
@media screen and (max-width: 480px) {
#rl-app #V-Settings-Config .table {
border-collapse: collapse;
}
#rl-app #V-Settings-Config .table tr {
border-top: 10px solid transparent;
}
#rl-app #V-Settings-Config .table td,
#rl-app #V-Settings-Config .table th {
display: block;
border-style: solid;
border-width: 1px 0px;
}
}
/* #endregion */
/* #region popup */
#rl-app dialog {
background: var(--nc-color-main-background);
color: var(--nc-color-main-text);
border-radius: var(--nc-border-radius-large);
filter: drop-shadow(0 1px 5px var(--nc-color-box-shadow));
box-shadow: none;
border-color: var(--nc-color-border);
}
#rl-app dialog>header,
#rl-app dialog>footer {
border-color: var(--nc-color-border);
}
#rl-app dialog>footer .btn+.btn,
#rl-app dialog>footer button+button {
margin: 0 0 0 5px;
}
#rl-app #V-PopupsPlugin .help-block {
margin-left: 5px;
}
#rl-app #V-PopupsIdentity .e-signature-place {
border: none;
}
#rl-app #V-PopupsLanguages label {
background-color: var(--nc-color-background-dark) !important;
border-color: var(--nc-color-border);
border-radius: var(--nc-border-radius);
padding: 8px 15px;
}
#rl-app #V-PopupsLanguages label:hover {
border-color: var(--nc-color-primary-element);
background-color: unset;
}
#rl-app #V-PopupsLanguages label.user {
background-color: var(--nc-color-main-background) !important;
color: var(--nc-color-text-light);
}
#rl-app #V-PopupsLanguages label.selected {
background-color: var(--nc-color-primary-element-light) !important;
border-color: var(--nc-color-primary-element);
}
@media screen and (max-width: 480px) {
#rl-app #V-PopupsAdvancedSearch .e-component.e-checkbox {
margin-left: -100%;
}
#rl-app #V-PopupsLanguages label {
margin-left: 0;
margin-right: 0;
}
#rl-app #V-PopupsKeyboardShortcutsHelp .modal-body,
#rl-app #V-PopupsDomain .modal-body {
padding-left: 0;
padding-right: 0;
overflow-x: hidden;
}
}
#rl-app #V-PopupsOpenPgpImport textarea {
width: 100%;
}
/* #endregion */
/* #region popup contacts */
#rl-app #V-PopupsContacts .right,
#rl-app #V-PopupsContacts .b-list-toolbar,
#rl-app #V-PopupsContacts .b-list-footer-toolbar,
#rl-app #V-PopupsContacts .b-view-content-toolbar {
border-color: var(--nc-color-border);
}
#rl-app #V-PopupsContacts .b-list-toolbar {
height: 55px;
}
#rl-app #V-PopupsContacts .b-list-toolbar .e-search {
margin: 9px 5px;
width: calc(100% - 2*5px);
}
#rl-app #V-PopupsContacts .b-view-content {
margin-top: 20px;
height: calc(100% - 72px);
overflow: hidden;
}
#rl-app #V-PopupsContacts .b-list-content {
height: calc(100% - 35px - 72px);
}
#rl-app #V-PopupsContacts .b-list-content .listClear {
box-shadow: none;
}
#rl-app #V-PopupsContacts .tabs {
height: 100%;
}
#rl-app #V-PopupsContacts .tab-content {
overflow: auto;
}
#rl-app #V-PopupsContacts .e-contact-item {
padding: 4px;
margin: 2px 4px;
max-height: unset;
border-bottom: 0 !important;
border-radius: var(--nc-border-radius);
}
#rl-app #V-PopupsContacts .e-contact-item,
#rl-app #V-PopupsContacts .e-contact-item.focused {
background-color: var(--nc-color-background);
border-color: var(--nc-color-border);
}
#rl-app #V-PopupsContacts .e-contact-item:hover,
#rl-app #V-PopupsContacts .e-contact-item.focused:hover {
background-color: var(--nc-color-background-hover);
border-color: var(--nc-color-primary-light-hover);
}
#rl-app #V-PopupsContacts .e-contact-item.selected,
#rl-app #V-PopupsContacts .e-contact-item.selected:hover {
background-color: var(--nc-color-primary-light);
border-color: var(--nc-color-primary-light-text);
}
#rl-app #V-PopupsContacts .e-contact-item.checked {
background-color: unset;
border-color: var(--nc-color-primary-light-text);
}
#rl-app #V-PopupsContacts .e-contact-item.checked.focused {
background-color: inherit;
border-color: var(--nc-color-primary-light-text);
}
#rl-app #V-PopupsContacts .e-contact-item.checked:hover,
#rl-app #V-PopupsContacts .e-contact-item.checked.focused:hover {
background-color: var(--nc-color-background-hover);
border-color: inherit;
}
@media screen and (max-width: 799px) {
#rl-app #V-PopupsContacts .modal-body {
flex-direction: column;
}
#rl-app #V-PopupsContacts .left {
max-width: unset;
height: 40%;
}
#rl-app #V-PopupsContacts .b-list-footer-toolbar {
display: none;
}
#rl-app #V-PopupsContacts .b-list-content {
height: calc(100% - 55px);
border-bottom: 1px solid var(--nc-color-border);
}
#rl-app #V-PopupsContacts .right {
height: 60%;
border-left: unset;
}
#rl-app #V-PopupsContacts .control-group {
margin-right: 1em;
}
}
/* #endregion */
/* #region popup compose */
#rl-app #V-PopupsCompose header {
background-color: unset;
color: unset;
}
#rl-app #V-PopupsCompose header .close,
#rl-app #V-PopupsCompose header .minimize-custom {
border-color: unset;
}
#rl-app #V-PopupsCompose .b-header {
background: unset;
}
#rl-app #V-PopupsCompose .b-header .error-to {
color: var(--nc-color-error);
}
#rl-app #V-PopupsCompose .pull-right>.btn,
#rl-app #V-PopupsCompose .pull-right>.btn-group {
margin-left: 3px;
}
#rl-app #V-PopupsCompose .no-attachments-desc {
text-shadow: unset;
}
#rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:hover,
#rl-app #V-PopupsCompose .attachmentAreaParent .attachmentItem:active {
background-color: var(--nc-color-background-dark);
}
#rl-app #V-PopupsCompose .b-attachment-place {
border-color: var(--nc-color-border);
background-color: var(--nc-color-background-dark);
}
#rl-app #V-PopupsCompose .b-attachment-place.dragAndDropOver {
border-color: var(--nc-color-border);
}
#rl-app #V-PopupsCompose .tabs label[for="tab-attachments"] b {
padding: 2px 6px;
border-radius: 1em;
color: var(--nc-color-primary-element);
background-color: var(--nc-color-primary-element-light);
font-size: 12px;
}
/* #endregion */
/* #region popup nextcloud files */
#rl-app #V-PopupsCompose .btn[data-bind*="nextcloudAttach"] {
font-size: 0;
}
#rl-app #V-PopupsCompose .btn[data-bind*="nextcloudAttach"]::before {
display: block;
content: "";
height: 100%;
width: 30px;
--nc-logo: url("data:image/svg+xml,");
-webkit-mask-image: var(--nc-logo);
mask-image: var(--nc-logo);
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 30px;
mask-size: 30px;
background-color: var(--nc-color-main-text);
}
#rl-app #V-PopupsNextcloudFiles {
user-select: none;
}
#rl-app #V-PopupsNextcloudFiles li {
line-height: unset;
}
#rl-app #V-PopupsNextcloudFiles li[data-icon],
#rl-app #V-PopupsNextcloudFiles li:has(>button[name="create"]),
#rl-app #V-PopupsNextcloudFiles li details summary {
padding: 5px 10px;
display: flex;
align-items: center !important;
overflow-wrap: anywhere;
}
/* fallback (Firefox ignores complete selector list if :has is used) */
#rl-app #V-PopupsNextcloudFiles li[data-icon],
#rl-app #V-PopupsNextcloudFiles li details summary {
padding: 5px 10px;
display: flex;
align-items: center !important;
overflow-wrap: anywhere;
}
#rl-app #V-PopupsNextcloudFiles li button,
#rl-app #V-PopupsNextcloudFiles li input {
margin-left: auto !important;
align-self: center;
}
#rl-app #V-PopupsNextcloudFiles li input {
min-width: 100px;
flex-shrink: 1;
}
#rl-app #V-PopupsNextcloudFiles li button {
flex-shrink: 0;
}
#rl-app #V-PopupsNextcloudFiles li button[name="create"] {
margin-left: 10px !important;
}
#rl-app #V-PopupsNextcloudFiles li:not(:last-child),
#rl-app #V-PopupsNextcloudFiles li details[open]>summary {
border-bottom: 1px solid var(--nc-color-border);
}
#rl-app #V-PopupsNextcloudFiles li details[open]>summary {
background-color: var(--nc-color-primary-element-light);
border-bottom-color: var(--nc-color-primary-element-hover);
}
#rl-app #V-PopupsNextcloudFiles li:hover {
background-color: unset;
}
#rl-app #V-PopupsNextcloudFiles li[data-icon]:hover,
#rl-app #V-PopupsNextcloudFiles li details:not([open]):hover,
#rl-app #V-PopupsNextcloudFiles li details[open]>summary:hover {
background-color: var(--nc-color-background-hover);
}
#rl-app #V-PopupsNextcloudFiles li details summary[data-icon] {
list-style-type: none;
}
#rl-app #V-PopupsNextcloudFiles li details summary[data-icon]::before {
color: var(--nc-color-primary);
font-size: 20px;
}
#rl-app #V-PopupsNextcloudFiles li[data-icon]::before,
#rl-app #V-PopupsNextcloudFiles li details summary[data-icon]::before {
margin: 5px 10px 5px 0;
}
/* #endregion */
/* #region popup nextcloud calendars */
#rl-app #V-PopupsNextcloudCalendars li {
padding: 5px;
display: flex;
align-items: center !important;
border-bottom: solid 1px var(--nc-color-border);
}
#rl-app #V-PopupsNextcloudCalendars li button {
border: 0px !important;
margin-left: 8px !important;
color: var(--nc-color-primary-element-light-text) !important;
}
/* #endregion */
/* #region popup openpgp generate */
#rl-app #openpgp-generate.form-horizontal .control-group:has(.e-checkbox) {
flex-direction: column;
align-items: flex-start;
}
#rl-app #openpgp-generate.form-horizontal .control-group:has(.e-checkbox) br {
display: none;
}
/* #endregion */
/* #endregion */
/*
* Extensions
*/
/* #region extensions */
/* #region avatars */
#rl-app .messageCheckbox .fromPic {
margin: -5px 0 -9px 8px;
height: 32px;
width: 32px;
}
/* #endregion */
/* #endregion */
/*
* Message Flags
*/
/* #region message flags */
:root {
--msgflag-\$label1-color: #ae2c35;
--msgflag-\$label1-color-hover: #e13a45;
--msgflag-\$label2-color: #cc9827;
--msgflag-\$label2-color-hover: #ffbf31;
--msgflag-\$label3-color: #005235;
--msgflag-\$label3-color-hover: #008557;
--msgflag-\$label4-color: #005cc4;
--msgflag-\$label4-color-hover: #0074f8;
--msgflag-\$label5-color: #5631c0;
--msgflag-\$label5-color-hover: #6d3ff3;
--msgflag-\\flagged-color: #ffca32;
}
#rl-app .msgflag-\$label5:not(.focused) { border-color: var(--msgflag-\$label5-color); }
#rl-app .msgflag-\$label4:not(.focused) { border-color: var(--msgflag-\$label4-color); }
#rl-app .msgflag-\$label3:not(.focused) { border-color: var(--msgflag-\$label3-color); }
#rl-app .msgflag-\$label2:not(.focused) { border-color: var(--msgflag-\$label2-color); }
#rl-app .msgflag-\$label1:not(.focused) { border-color: var(--msgflag-\$label1-color); }
#rl-app .msgflag-\$label5.focused:not(.selected) { border-color: var(--msgflag-\$label5-color) !important; }
#rl-app .msgflag-\$label4.focused:not(.selected) { border-color: var(--msgflag-\$label4-color) !important; }
#rl-app .msgflag-\$label3.focused:not(.selected) { border-color: var(--msgflag-\$label3-color) !important; }
#rl-app .msgflag-\$label2.focused:not(.selected) { border-color: var(--msgflag-\$label2-color) !important; }
#rl-app .msgflag-\$label1.focused:not(.selected) { border-color: var(--msgflag-\$label1-color) !important; }
#rl-app .msgflag-\$label5:not(.focused):hover { border-color: var(--msgflag-\$label5-color-hover); }
#rl-app .msgflag-\$label4:not(.focused):hover { border-color: var(--msgflag-\$label4-color-hover); }
#rl-app .msgflag-\$label3:not(.focused):hover { border-color: var(--msgflag-\$label3-color-hover); }
#rl-app .msgflag-\$label2:not(.focused):hover { border-color: var(--msgflag-\$label2-color-hover); }
#rl-app .msgflag-\$label1:not(.focused):hover { border-color: var(--msgflag-\$label1-color-hover); }
#rl-app .msgflag-\$label1:not(.focused), #rl-app .msgflag-\$label1 .checkboxMessage,
#rl-app .msgflag-\$label2:not(.focused), #rl-app .msgflag-\$label2 .checkboxMessage,
#rl-app .msgflag-\$label3:not(.focused), #rl-app .msgflag-\$label3 .checkboxMessage,
#rl-app .msgflag-\$label4:not(.focused), #rl-app .msgflag-\$label4 .checkboxMessage,
#rl-app .msgflag-\$label5:not(.focused), #rl-app .msgflag-\$label5 .checkboxMessage {
background-color: unset;
color: unset;
}
#rl-app .messageListItem.msgflag-\$label1:hover,
#rl-app .messageListItem.msgflag-\$label2:hover,
#rl-app .messageListItem.msgflag-\$label3:hover,
#rl-app .messageListItem.msgflag-\$label4:hover,
#rl-app .messageListItem.msgflag-\$label5:hover {
background-color: var(--nc-color-background-hover);
}
#rl-app a.msgflag-\$label1,
#rl-app a.msgflag-\$label2,
#rl-app a.msgflag-\$label3,
#rl-app a.msgflag-\$label4,
#rl-app a.msgflag-\$label5 {
border-left: solid 5px;
}
#rl-app .btn-group.show .dropdown-menu div li a[class^='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5),
#rl-app .btn-group.show .dropdown-menu div li a[class*='msgflag-']:not(.msgflag-\$label1, .msgflag-\$label2, .msgflag-\$label3, .msgflag-\$label4, .msgflag-\$label5) {
border-left: solid 5px gray;
}
#rl-app .b-folders .is-flagged .flag-icon::after,
#rl-app .messageListItem.hasFlaggedSubMessage .flagParent::after,
#rl-app .messageListItem.msgflag-\\flagged .flagParent::after {
color: var(--msgflag-\\flagged-color);
}
#rl-app #messageItem .b-text-part.swapColors {
background-color: var(--nc-color-primary);
color: var(--nc-color-primary-text);
}
/* #endregion */
/* #endregion */
/*
* Tablet Layout
*/
/* #region tablet layout */
@media screen and (min-width: 800px) and (max-width: 1024px) {
#rl-app #rl-left {
width: 250px;
}
html:not(.rl-left-panel-disabled) #rl-left {
max-width: calc(var(--nc-sidebar-max-width) / 2);
}
#rl-app #V-SystemDropDown .accountPlace {
display: none;
}
}
/* #endregion */
/*
* Keyframes
*/
/* #region keyframes */
@keyframes highlight-folder-row {
0% {
transform: scale(1)
}
50% {
transform: scale(.95)
}
100% {
transform: scale(1)
}
}
/* ===== OVERLAY: KGVA shibui (Original-Nextcloud-CSS, setzt --color-*) ===== */
/* ============================================================
shibui — a Nextcloud theme
渋い · restrained · unobtrusive · quietly refined
============================================================ */
/* Nextcloud sets its theme variables on body[data-theme-*], which beats :root.
We must match that specificity or our overrides only apply for one frame. */
:root,
body,
body[data-theme-default],
body[data-theme-light],
body[data-theme-light-highcontrast],
body[data-theme-dark],
body[data-theme-dark-highcontrast] {
/* ---------- palette ----------
neutral paper (no green tint in the ground), petrol sits as the
only color note. dossier-style soft sage-teal as the accent. */
--shibui-washi: #F0F0F0; /* neutral light, no undertone */
--shibui-washi-soft: #E8E8E8; /* recessed surfaces */
--shibui-washi-warm: #DCDCDC; /* hover wash — clearly distinct */
--shibui-border: #C2C2C2; /* hairline */
--shibui-border-soft: #D6D6D6;
--shibui-sumi: #1A1A1A; /* near-black neutral ink */
--shibui-sumi-soft: #3D3D3D; /* secondary text */
--shibui-sumi-mute: #666666; /* tertiary — readable against washi */
--shibui-petrol: #7BA89B; /* sage-petrol, the only color note */
--shibui-petrol-deep: #557A6D; /* hover / accent text */
--shibui-petrol-light: #D4E4DE; /* light variant for soft fills */
--shibui-kakishibu: #A85A3C; /* persimmon, signal */
--shibui-matcha: #5A7050; /* moss green, success */
--shibui-bengara: #8C3A2E; /* iron red, error */
/* ---------- nextcloud variable overrides ----------
!important on each: Nextcloud's Theming app declares its own
variable values with !important on body[data-theme-*]. Without
!important here we tie on specificity and lose on source order. */
--color-main-background: var(--shibui-washi) !important;
--color-main-background-rgb: 240, 240, 240 !important;
--color-main-background-translucent: rgba(240, 240, 240, 0.92) !important;
--color-main-background-blur: rgba(240, 240, 240, 0.78) !important;
--color-main-text: var(--shibui-sumi) !important;
--color-background-plain: var(--shibui-washi) !important;
--color-background-hover: var(--shibui-washi-warm) !important;
--color-background-dark: var(--shibui-washi-soft) !important;
--color-background-darker: var(--shibui-border-soft) !important;
--color-background-translucent: rgba(240, 240, 240, 0.85) !important;
--color-placeholder-light: var(--shibui-border-soft) !important;
--color-placeholder-dark: var(--shibui-border) !important;
--color-text-light: var(--shibui-sumi-soft) !important;
--color-text-lighter: var(--shibui-sumi-mute) !important;
--color-text-maxcontrast: var(--shibui-sumi-soft) !important;
--color-text-maxcontrast-default: var(--shibui-sumi-soft) !important;
--color-text-maxcontrast-background-blur: var(--shibui-sumi) !important;
--color-primary: var(--shibui-petrol) !important;
--color-primary-default: var(--shibui-petrol) !important;
--color-primary-text: var(--shibui-sumi) !important;
--color-primary-hover: var(--shibui-petrol-deep) !important;
--color-primary-light: var(--shibui-petrol-light) !important;
--color-primary-light-text: var(--shibui-petrol-deep) !important;
--color-primary-light-hover: #C2D7CF !important;
--color-primary-element: var(--shibui-petrol) !important;
--color-primary-element-default: var(--shibui-petrol) !important;
--color-primary-element-text: var(--shibui-sumi) !important;
--color-primary-element-hover: var(--shibui-petrol-deep) !important;
--color-primary-element-light: var(--shibui-petrol-light) !important;
--color-primary-element-light-text: var(--shibui-petrol-deep) !important;
--color-primary-element-light-hover: #C2D7CF !important;
--color-border: var(--shibui-border) !important;
--color-border-dark: var(--shibui-border) !important;
--color-border-maxcontrast: var(--shibui-sumi-mute) !important;
--color-loading-light: var(--shibui-washi-soft) !important;
--color-loading-dark: var(--shibui-border) !important;
--color-box-shadow: rgba(0, 0, 0, 0.10) !important;
--color-success: var(--shibui-matcha) !important;
--color-warning: var(--shibui-kakishibu) !important;
--color-error: var(--shibui-bengara) !important;
--color-favorite: var(--shibui-kakishibu) !important;
/* ---------- typography ----------
Inter for UI, Instrument Serif for quiet accents (login title,
headings on empty states), JetBrains Mono for code. */
--font-face:
"Inter",
system-ui,
-apple-system,
"Segoe UI",
Roboto,
sans-serif !important;
--font-face-serif:
"Instrument Serif",
"Iowan Old Style",
"Hoefler Text",
Georgia,
serif !important;
--font-face-monospace:
"JetBrains Mono",
ui-monospace,
SFMono-Regular,
Menlo,
monospace !important;
/* ---------- geometry ----------
softer corners; shibui prefers gentle curves over hard edges,
but never decorative roundness. */
--border-radius: 4px;
--border-radius-large: 8px;
--border-radius-rounded: 12px;
--border-radius-pill: 999px;
/* header sits flat on the page like a horizon line */
--header-height: 50px;
--color-header: var(--shibui-washi) !important;
--color-header-text: var(--shibui-sumi) !important;
--color-header-contrast: var(--shibui-sumi) !important;
--color-header-primary: var(--shibui-washi) !important;
/* Nextcloud's auto-invert system: tell it our header is bright,
so SVG masks that would otherwise be white get inverted to dark. */
--background-invert-if-bright: invert(100%) !important;
--background-invert-if-dark: no-invert !important;
--background-image-invert-if-bright: invert(100%) !important;
--primary-invert-if-bright: invert(100%) !important;
--primary-invert-if-dark: no-invert !important;
}
/* ============================================================
base
============================================================ */
body,
input,
textarea,
select,
button,
.body-login-container {
font-family: var(--font-face);
font-weight: 400;
letter-spacing: 0.005em;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
background-color: var(--shibui-washi);
color: var(--shibui-sumi);
}
/* ---------- serif: every title is a held breath ---------- */
h1, h2, h3,
.app-navigation-caption,
.section-title,
.empty-content h2,
.empty-content__title {
font-family: var(--font-face-serif) !important;
font-weight: 400 !important;
letter-spacing: 0;
font-feature-settings: "ss01", "liga";
}
h1,
.empty-content__title {
font-size: 1.75rem;
line-height: 1.15;
}
/* ============================================================
scrollbars — almost invisible
============================================================ */
* {
scrollbar-width: thin;
scrollbar-color: var(--shibui-border) transparent;
}
*::-webkit-scrollbar {
width: 10px;
height: 10px;
}
*::-webkit-scrollbar-track {
background: transparent;
}
*::-webkit-scrollbar-thumb {
background-color: var(--shibui-border);
border-radius: var(--border-radius-pill);
border: 2px solid var(--shibui-washi);
}
*::-webkit-scrollbar-thumb:hover {
background-color: var(--shibui-sumi-mute);
}
/* ============================================================
selection
============================================================ */
::selection {
background-color: rgba(123, 168, 155, 0.35);
color: var(--shibui-sumi);
}
/* ============================================================
dark mode — sumi night (only if explicitly opted in)
============================================================ */
body[data-theme-dark],
body[data-theme-dark-highcontrast] {
--shibui-washi: #0F0F0F;
--shibui-washi-soft: #161616;
--shibui-washi-warm: #1F1F1F;
--shibui-border: #2E2E2E;
--shibui-border-soft: #1F1F1F;
--shibui-sumi: #EAEAEA;
--shibui-sumi-soft: #B5B5B5;
--shibui-sumi-mute: #888888;
--shibui-petrol: #7BA89B;
--shibui-petrol-deep: #9BC4B7;
--shibui-petrol-light: #1F3331;
--shibui-kakishibu: #C97A5C;
--shibui-matcha: #8AA078;
--shibui-bengara: #C26A5C;
--color-main-background-rgb: 15, 15, 15 !important;
--color-main-background-translucent: rgba(15, 15, 15, 0.92) !important;
--color-main-background-blur: rgba(15, 15, 15, 0.78) !important;
--color-box-shadow: rgba(0, 0, 0, 0.50) !important;
--color-primary-text: var(--shibui-sumi) !important;
--color-primary-element-text: var(--shibui-sumi) !important;
}
/* ============================================================
KGVA-Feinschliff: SnappyMail-Chrome -> echte Nextcloud-Optik
(nackte Toolbar-Icons, kein sage-Strip, Such-Pille)
============================================================ */
/* Toolbar-Container: kein getönter Hintergrund, keine Linie */
#rl-app .b-toolbar,
#rl-app .btn-toolbar,
#rl-app .b-folders .b-toolbar,
#rl-app .messageList .b-toolbar,
#rl-app .messageList .second-toolbar,
#rl-app .b-footer.btn-toolbar {
background: transparent !important;
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
}
/* Toolbar-Buttons = NACKTE Icons (ohne Box/Rand), außer Compose/Contacts.
Dezenter runder Hover statt geschlossener/halb-offener Kästchen. */
#rl-app .b-toolbar .btn:not(.buttonCompose):not(.buttonContacts),
#rl-app .btn-toolbar .btn:not(.buttonCompose):not(.buttonContacts),
#rl-app .messageList .second-toolbar .btn,
#rl-app .b-footer.btn-toolbar .btn,
#rl-app .b-toolbar .btn-group > .btn:not(.buttonCompose):not(.buttonContacts) {
background: transparent !important;
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
border-radius: var(--border-radius-pill, 999px) !important;
}
#rl-app .b-toolbar .btn:not(.buttonCompose):not(.buttonContacts):hover,
#rl-app .btn-toolbar .btn:not(.buttonCompose):not(.buttonContacts):hover,
#rl-app .messageList .second-toolbar .btn:hover,
#rl-app .b-footer.btn-toolbar .btn:hover {
background-color: var(--shibui-washi-warm) !important;
}
/* Such-Zeile als rundes Pill mit zarter Linie (wie Nextcloud-Suche) */
#rl-app .messageList .inputSearch,
#rl-app .messageList .inputSearch input,
#rl-app .inputSearch input {
border-radius: var(--border-radius-pill, 999px) !important;
background-color: var(--shibui-washi-soft) !important;
border: 1px solid var(--shibui-border-soft) !important;
box-shadow: none !important;
padding-left: 14px !important;
}
#rl-app .inputSearch input:focus {
background-color: var(--shibui-washi) !important;
border-color: var(--shibui-petrol) !important;
box-shadow: 0 0 0 3px rgba(123, 168, 155, 0.28) !important;
outline: none !important;
}
/* ----- Feinschliff 2: gerade Linie statt geschwungen + Nav-Pills ----- */
/* Listen-/Lese-Panel: gerade Kanten (durchgezogene Linie statt Rundung),
kein Box-Shadow im Fokus -> keine geschwungene Linie mehr */
#rl-app .messageList,
#rl-app .messageView,
#rl-app .messageListPlace,
#rl-app #V-MailMessageList.focused .messageList,
#rl-app #V-MailMessageView.focused .messageView {
border-radius: 0 !important;
box-shadow: none !important;
}
/* Folder-Nav: Einträge & Auswahl als Pills (wie Nextcloud-Sidebar) */
#rl-app .b-folders li a.selectable {
border-radius: var(--border-radius-pill, 999px) !important;
}
/* "New message" / Compose: volle Pill-Form (konsistent mit Nav-Pills) */
#rl-app .b-folders .b-toolbar .btn.buttonCompose,
#rl-app .b-folders .b-toolbar .btn.buttonContacts,
#rl-app .buttonCompose {
border-radius: var(--border-radius-pill, 999px) !important;
}