/* =========================================================
   1. VARIABLES
   ========================================================= */

html {
    --font: #242424;
    --font2: #6F6A66;
    --font3: #F2F2F2;
    --background: #F7F0E8;
    /* --background1:#EFE6DD;  */
    /* --background1:#f8f3ef; */
    --background1: #f6f1ed;
    --background2: #F3EAE0;
    --background3: #EBDFD2;
    --background4: #D9C4AF;
    --backgroundhover: #E8DACB;
    --backgroundhover2: var(--t6);
    --backgroundhoverlight: #EFE3D6;
    --backgroundtree: #E6DACD;
    --backgroundbutton: #EFE4D9;
    --backgroundcompose: #ACB4B7;
    --backgroundcomposehover: #f7fafa;
    --bordercolor: #DCCFC1;
    --searchbg: #EFE4D9;
    --shadow-float: 0 8px 28px rgba(0, 0, 0, .25);

    /* Rampa guinda, de más claro a más oscuro */
    --t0: #fbe6ea52;
    --t1: #FBE6EA;
    --t2: #F4BDC9;
    --t3: #E88FA4;
    --t4: #DC5C7E;
    --t5: #D02A57;
    --t6: #B51A44;
    --t7: #7D102D;
    --t8: #5C0B20;
    --t9: #3B0613;
    --t10: #20030A;
    --t11: #100104;

    /* Alias semánticos: usar estos en CSS nuevo, nunca un hex */
    --brand: var(--t7);
    --brand-hover: var(--t8);
    --brand-bg: var(--t1);
    --link: var(--brand);
    --link-hover: var(--t5);
    --sel-bg: #F4D2DB;
    --sel-bar: var(--t6);
    --icon-accent: var(--t6);

    --editor-toolbar-bg: #F3EAE0;
    --editor-toolbar-icon: #242424;

    /* Barras del mini-compose */
    --mini-bar-bg: #F3EAE0;
    --mini-bar-hover: #E8DACB;
}

html.dark-mode {
    --font: #F2F2F2;
    --font2: #ADADAD;
    --font3: #242424;

    --background: #18181A;
    --background1: #3B3B3B;
    --background2: #1D1D20;
    --background3: #141416;
    --background4: #4B4B4B;
    --backgroundhover: #26262A;
    --backgroundhover2: var(--t9);
    --backgroundhoverlight: #222225;
    --backgroundtree: #262626;
    --backgroundbutton: #2E2E2E;
    --backgroundcompose: #262626;
    --backgroundcomposehover: #2E2E2E;
    --bordercolor: #34343A;
    --searchbg: #212124;
    --shadow-float: 0 8px 28px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .08);

    --t0: #411a244f;
    --brand: var(--t6);
    --brand-hover: var(--t5);
    --brand-bg: var(--t9);
    --link: var(--t4);
    --link-hover: var(--t3);
    --sel-bg: #5A1B31;
    --sel-bar: var(--t6);
    --icon-accent: var(--t5);

    --editor-toolbar-bg: #1D1D20;
    --editor-toolbar-icon: #F2F2F2;

    --mini-bar-bg: #1D1D20;
    --mini-bar-hover: #2E2E33;
}

/* Dentro del mini-compose las barras usan su propio color */
html.is-mini-reply,
html.iframe:has(body.action-compose) {
    --bar-bg: var(--mini-bar-bg);
}


/* =========================================================
   2. FUENTES E ICONOS
   ========================================================= */

* {
    font-family: "Montserrat", sans-serif !important;
}

#filtersetslist td.name:before,
#filterslist td.name:before,
#identities-table td.mail:before,
#message-header .header-links a:before,
#message-header>.subject a.extwin:before,
#responses-table td.name:before,
.attachmentslist li a.cancelupload:before,
.attachmentslist li a.delete:before,
.attachmentslist li:before,
.contactlist li a:before,
.contactlist td.contact:before,
.contactlist td.contactgroup:before,
.floating-action-buttons a.button:before,
.folderlist li a:before,
.googie_list li .googie_add_to_dict:before,
.googie_list li .googie_list_revert:before,
.html-editor .editor-toolbar .mce-i-html:before,
.input-group .icon:before,
.keylist li:before,
.listing td.action a:before,
.listing.iconized li a:before,
.listing.iconized li>i:before,
.listing.iconized tr td:before,
.listing.iconized.selectable li a:before,
.menu a:before,
.message-htmlpart blockquote span.blockquote-link:after,
.message-part blockquote span.blockquote-link:after,
.messagelist span.attachment span,
.messagelist span.flagged:before,
.messagelist td.subject span.msgicon.status.replied.forwarded:after,
.messagelist td.subject span.msgicon.status:before,
.messagelist tr.flaggedroot:not(:hover) span.unflagged:before,
.messagelist tr.thread td.threads div:before,
.multi-input a.icon.reset:before,
.pgpkeyimport div.key label.keyid+a:before,
.pgpkeyimport li.uid:before,
.popover .menu li a[aria-haspopup]:after,
.propform td.rowbuttons a:before,
.quota-widget:before,
.searchbar a:before,
.searchbar form:before,
.table-widget table.options-table td:not(:first-child) span:before,
.tagedit-list li.tagedit-listelement-old a:before,
.ui-datepicker .ui-datepicker-next:before,
.ui-datepicker .ui-datepicker-prev:before,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before,
.ui-dialog .ui-dialog-titlebar-close:before,
.ui.alert>i.icon:before,
a.button.icon:before,
body.status-flagged #message-header>.subject:before,
button.btn:before,
div.tox .tox-dialog__footer .tox-button:before,
div.tox .tox-dialog__header .tox-button:before,
fieldset.advanced>legend:after,
p.image-attachment .attachment-links a:before,
table.table th.checkbox-cell:before,
ul.treelist li div.treetoggle:before {
    font-size: 1.25em;
    display: block;
    float: left;
    margin: 0 .25rem 0 0;
    width: 1.18em;
    height: 1em;
    font-family: Icons;
    font-style: normal;
    font-weight: 900;
    text-decoration: inherit;
    text-align: center;
    speak: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased
}

@font-face {
    font-family: Icons;
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/fa-solid-900.woff2") format('woff2'), url("../fonts/fa-solid-900.woff") format('woff')
}

@font-face {
    font-family: Icons;
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/fa-regular-400.woff2") format('woff2'), url("../fonts/fa-regular-400.woff") format('woff')
}

/* Roboto solo se usa en los campos de TinyMCE (ver div.tox más abajo) */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 400;
    src: local('Roboto'), local('Roboto-Regular'), url('../fonts/roboto-v29-regular.woff2') format('woff2'), url('../fonts/roboto-v29-regular.woff') format('woff')
}

@font-face {
    font-family: Roboto;
    font-style: italic;
    font-weight: 400;
    src: local('Roboto Italic'), local('Roboto-Italic'), url('../fonts/roboto-v29-italic.woff2') format('woff2'), url('../fonts/roboto-v29-italic.woff') format('woff')
}

@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 700;
    src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto-v29-regular-700.woff2') format('woff2'), url('../fonts/roboto-v29-regular-700.woff') format('woff')
}

@font-face {
    font-family: Roboto;
    font-style: italic;
    font-weight: 700;
    src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url('../fonts/roboto-v29-italic-700.woff2') format('woff2'), url('../fonts/roboto-v29-italic-700.woff') format('woff')
}


/* =========================================================
   3. BASE Y LAYOUT
   ========================================================= */

button,
input,
select,
textarea {
    line-height: initial
}

input {
    vertical-align: middle
}

a {
    color: var(--link);
}

a:hover {
    color: var(--link-hover);
}

a.disabled {
    pointer-events: none
}

a.disabled:not(.btn) {
    opacity: .5
}

html:not(.touch) ::-webkit-scrollbar {
    width: 6px
}

html {
    height: 100%;
    font-size: 14px;
    scrollbar-color: var(--background3) var(--background2);
}

html,
body {
    margin: 0 !important;
    padding: 0 !important;
}

body {
    min-width: 240px;
    height: 100%;
    color: var(--font);
    overflow: hidden;
    background-color: var(--background2);
}

.ui-dialog .ui-dialog-buttonpane {
    background-color: var(--background);
}

html.iframe body {
    overflow: auto
}

#layout {
    overflow: hidden;
    display: flex;
    height: 100%;
    width: 100%
}

#layout>div>.scroller {
    flex: 1;
    position: relative;
    background-color: var(--background2);
}

#layout>div>.footer,
#layout>div>.header {
    font-size: 1rem;
    font-weight: 700;
    line-height: 58px;
    height: 58px;
    min-height: 58px;
    padding: 0 .25em;
    margin: 0;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    justify-content: center;
}

/* El fondo de header/footer lo define la sección 8 (var(--bar-bg)) */
#layout>div>.header {
    border-bottom: 1px solid var(--bordercolor);
    color: #fff;
}

#layout>div>.header .header-title {
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    text-align: center;
    margin: 0 -20rem
}

#layout>div>.header a.button {
    color: var(--icon-accent);
    font-size: 0.9rem;
}

#layout>div>.header a.toolbar-list-button,
#layout>div>.header a.toolbar-menu-button {
    order: 99
}

#layout>div>.footer {
    border-top: 1px solid var(--bordercolor);
    color: var(--font);
}

#layout>div>.footer a.button:hover,
#layout>div>.header a.button:hover,
#layout>div>.header a:hover {
    color: var(--font);
    background-color: var(--t8) !important;
}

#layout>div>.footer.small {
    height: 35px;
    min-height: 35px;
    line-height: 35px
}

#layout>div>.footer:empty {
    display: none
}

#layout-sidebar {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 2;
    max-width: 30%;
    min-width: 220px;
    border-right: 1px solid var(--bordercolor);
    background-color: var(--background);
}

#layout-sidebar.sidebar-right {
    order: 2;
    border-right: 0;
    border-left: 1px solid var(--bordercolor);
    flex: 3
}

#layout-list {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 3;
    max-width: 30%;
    min-width: 300px;
    border-right: 1px solid var(--bordercolor);
    background-color: var(--background);
}

#layout-content {
    display: flex;
    flex: 6;
    flex-direction: column;
    background-color: var(--background);
    width: 100%
}

html.iframe #layout-content {
    height: 100%
}

#layout-content>.content,
#layout-content>.formcontent {
    height: 100%;
    width: 100%;
    overflow: auto;
    flex: 1
}

#layout-content .iframe-wrapper {
    width: 100%;
    flex: 1
}

#layout-content .iframe-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0
}

#layout-content.only>.scroller {
    overflow: auto
}

#layout-menu.popover {
    left: 0 !important
}

#layout-menu .popover-header {
    height: 58px;
    line-height: 58px;
    border: 0;
    border-radius: 0;
    text-align: center
}

#layout-menu .popover-header img {
    max-height: 58px;
    max-width: 78px;
    padding: .25rem
}

@media screen and (min-width:481px) and (max-width:1024px) {
    #layout-menu .popover-header img {
        max-width: 35.1px
    }
}

@media screen and (min-width:481px) {
    #layout-menu .popover-header {
        padding: 0 !important;
    }

    #layout-menu .popover-header a {
        display: none !important
    }
}

html.layout-phone #layout-menu .popover-header {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 .5rem
}

html.layout-phone #layout-menu .popover-header img {
    max-width: 222px
}

html.layout-phone #layout-menu .popover-header a {
    width: auto;
    flex: 1
}

html.layout-phone #layout-menu .popover-header a:before {
    height: 58px;
    float: right
}

html.layout-phone #layout-menu .popover-header a .inner {
    display: none
}

.column-resizer {
    cursor: col-resize;
    z-index: 1;
    position: absolute;
    top: 0;
    right: -3px;
    width: 6px;
    height: 100%
}

.column-resizer.inverted {
    right: auto;
    left: -3px
}

.column-resizer.active {
    width: 10000px;
    right: -5000px
}

.column-resizer.active.inverted {
    right: auto;
    left: -5000px
}

@media screen and (max-width:1200px) {

    #layout-list,
    #layout-sidebar {
        min-width: 260px;
        flex: 3
    }

    #layout-list>.header>a.button {
        padding: 0 .25rem;
        margin: 0 .25rem
    }
}

@media screen and (max-width:1024px) {
    .column-resizer {
        display: none
    }

    #layout-list,
    #layout-sidebar {
        width: auto !important;
        flex: 3 !important
    }
}

@media screen and (max-width:768px) {

    #layout-list,
    #layout-sidebar {
        max-width: none;
        border: 0 !important
    }

    #layout>div>.header a.button {
        margin: 0 .3rem !important;
        padding: 0 !important
    }

    #layout>div>.header a.button:before {
        font-size: 1.75rem;
        height: 58px;
        margin: 0
    }

    #layout>div>.header a.button.filter:before {
        font-size: 1.6rem
    }

    #layout>div>.header a.button .inner {
        display: none
    }

    a.toolbar-list-button {
        display: none
    }
}

@media screen and (max-width:320px) {

    #layout-list,
    #layout-sidebar {
        min-width: 240px
    }
}

@media screen and (min-width:481px) {
    a.task-menu-button {
        display: none
    }

    #layout-menu {
        width: 42px
    }
}

@media screen and (min-width:769px) {

    #layout-content>.header>.header-title,
    #layout>div>.header>.buttons,
    .floating-action-buttons,
    a.toolbar-menu-button {
        display: none
    }
}

@media screen and (min-width:1025px) {
    #layout-menu {
        width: 84px;
    }
}

@media screen and (min-width:1201px) {

    #layout-list>.header>.header-title:not(.all-sizes),
    a.back-list-button,
    a.back-sidebar-button,
    a.toolbar-list-button {
        display: none
    }
}

html.layout-phone .hidden-phone {
    display: none !important
}

html.layout-phone .hidden-small,
html.layout-small .hidden-small {
    display: none !important
}

html.layout-small .hidden-lbs {
    display: none !important
}

html.layout-large .hidden-big,
html.layout-large .hidden-lbs,
html.layout-normal .hidden-big,
html.layout-normal .hidden-lbs {
    display: none !important
}

html.layout-large .hidden-large {
    display: none !important
}

.hidden,
.rcmaddcontact,
.voice {
    display: none !important
}

font.bold {
    font-weight: 700
}

#rcmdraglayer {
    min-width: 260px;
    width: 260px;
    background-color: var(--t9);
    color: #fff;
    box-shadow: 3px 3px 5px #9c0c54;
    border-radius: .3rem;
    z-index: 250;
    opacity: .92;
    padding: .5rem;
    white-space: nowrap
}

#rcmdraglayer div {
    line-height: 1.6em;
    overflow: hidden;
    text-overflow: ellipsis
}

.frame-content {
    padding: 1rem;
    background-color: var(--background2);
}

.frame-content h2 {
    font-weight: 700;
    font-size: 1.5em
}

.frame-content h3 {
    font-weight: 700;
    font-size: 1.25em
}

.listbox .scroller {
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto
}

.listbox .navlist {
    height: 0;
    flex: initial !important
}

.listbox .navlist .listing li:last-child,
.listbox .navlist .listing tr:last-child td {
    border-bottom: 0
}

.popup .listbox {
    height: 100%;
    display: flex;
    flex-direction: column
}

.popup .listbox .scroller {
    flex: 1
}

.popup .listbox .footer {
    border-top: 1px solid var(--bordercolor);
    background-color: var(--background2);
}

.contact-header {
    display: flex;
    margin-bottom: 1rem
}

.contact-header .contact-photo {
    min-width: 112px
}

.contact-header .contact-head {
    margin-left: 1rem;
    margin-top: 0 !important
}

.contact-header .contact-head legend {
    display: none
}

p.image-attachment {
    position: relative;
    border: 1px solid var(--bordercolor);
    border-radius: .3rem;
    background-color: var(--t0);
    float: left;
    margin: .5rem;
    min-width: 47%;
    min-height: 250px;
    overflow: hidden;
    display: flex;
    justify-content: center
}

@media screen and (max-width:480px) {
    p.image-attachment {
        float: none;
        margin: .5rem 0 .5rem 0
    }
}

p.image-attachment .image-link {
    align-self: center;
    text-align: center;
    margin: 1.6rem .5rem
}

p.image-attachment span {
    color: var(--font2);
    padding: 0 .5rem;
    font-size: 90%;
    white-space: nowrap;
    position: absolute;
    line-height: 1.5rem
}

p.image-attachment .image-filename {
    overflow: hidden;
    text-overflow: ellipsis;
    left: 0;
    top: 0;
    right: 0;
    padding-right: 4rem
}

p.image-attachment .image-filesize {
    right: 0;
    top: 0
}

p.image-attachment .attachment-links {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center
}

p.image-attachment .attachment-links a {
    text-decoration: none;
    display: inline-block;
    padding: 0 .5rem;
    line-height: 1.5rem
}

p.image-attachment .attachment-links a:before {
    display: inline-block
}

p.image-attachment .attachment-links a.open:before {
    content: "\f360"
}

p.image-attachment .attachment-links a.download:before {
    content: "\f019"
}

fieldset.image-attachment {
    margin-top: .5rem
}

fieldset.image-attachment legend {
    color: var(--font2);
    font-size: .9rem;
    border-top: 1px solid var(--bordercolor);
    margin: 0
}

fieldset.image-attachment img {
    max-width: 100%
}

#folder-selector {
    overflow-y: auto
}

.noselect {
    user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none
}

.iframe-loader {
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: var(--background);
    /* background-color: rgba(255, 255, 255, .95); */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3
}

.iframe-loader .spinner-border {
    width: 7rem;
    height: 7rem;
    color: var(--background2);
    border: 1rem solid;
    border-color: currentColor var(--font2) currentColor currentColor
}

.footer.toolbar+.iframe-loader {
    top: 58px;
    bottom: 58px
}

.ios-scroll {
    padding: 0;
    -webkit-overflow-scrolling: touch !important;
    overflow: scroll !important
}

.ios-scroll.iframe-wrapper {
    margin-top: 1px
}

.webkit-scroller::-webkit-scrollbar {
    -webkit-appearance: none
}

.webkit-scroller::-webkit-scrollbar:vertical {
    width: .5rem
}

.webkit-scroller::-webkit-scrollbar:horizontal {
    height: .5rem
}

.webkit-scroller::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .3);
    border-radius: .25rem;
    border: 2px solid #fff
}

.quota-widget {
    width: 100%;
    max-width: 15em;
    padding: .5rem 1rem;
    display: flex;
    align-items: center;
    color: var(--font2)
}

.quota-widget:before {
    content: "\f0a0";
    line-height: 1
}

.quota-widget .count {
    font-size: 80%;
    order: 2
}

.quota-widget .bar {
    flex: 1;
    height: .5rem;
    margin: 0 1rem;
    background-color: var(--background);
    border: 1px solid var(--bordercolor);
    border-radius: .25rem;
    overflow: hidden
}

.quota-widget .value {
    display: block;
    background-color: #a81a3e;
    height: 1rem;
    opacity: .75
}

.quota-widget .value.warning {
    background-color: #ff5552
}

.image-tools {
    position: absolute;
    top: 5rem;
    left: 0;
    height: 58px;
    overflow: hidden;
    transform: translateX(-87%);
    transition: transform .3s ease-in-out;
    background-color: var(--t6);
    border-radius: 0 .3rem .3rem 0
}

.image-tools .menu {
    float: left
}

.image-tools a.button.icon.tools {
    padding: 0 .25rem;
    display: inline-block;
    height: 58px
}

.image-tools a.button.icon.tools span.inner {
    display: none
}

.image-tools a.button.icon.tools:before {
    line-height: 58px;
    margin: 0
}

.image-tools.open {
    transform: translateX(0)
}

.image-tools.open a.button.icon.tools:before {
    content: "\f053"
}

.image-tools a {
    color: #fff !important
}

.image-tools a:focus,
.image-tools a:hover {
    background-color: var(--t6);
    outline: 0
}

.quota-info {
    width: 100%;
    display: table !important
}

.quota-info td,
.quota-info th {
    text-align: center;
    white-space: nowrap
}

.quota-info th {
    border-top: 0
}

.quota-info .root {
    line-height: 1;
    font-style: italic;
    color: var(--font2);
    background-color: var(--background2);
}

.quota-info .name,
.quota-info th:first-child {
    text-align: left
}

.nav-tabs {
    flex-wrap: nowrap
}

.nav-tabs .nav-item {
    white-space: nowrap;
    overflow: hidden
}

.nav-tabs .nav-link {
    overflow: hidden;
    text-overflow: ellipsis;
    background-color: var(--background);
}

.nav-tabs .nav-link.active {
    /* background-color: var(--background3); */
    background-color: var(--background4);
    color: var(--font);
    border-bottom: transparent;
}

.props-table td.title {
    width: 7em
}

.table-widget {
    display: flex;
    flex-direction: column;
    margin-bottom: .5rem;
    border: 1px solid var(--bordercolor);
}

.table-widget>.content {
    overflow-x: auto;
    flex-grow: 1;
    height: 18.5em
}

.table-widget>.content table th {
    border-top: 0
}

.table-widget>.footer {
    height: 3.5rem;
    border-top: 1px solid var(--bordercolor);
    text-align: left
}

.table-widget>.footer a {
    padding: .2rem .45rem !important;
    height: calc(3.5rem - 1px) !important
}

.table-widget table {
    margin: 0;
    max-height: 18.5em
}

.table-widget table.options-table td,
.table-widget table.options-table th {
    text-align: center;
    vertical-align: middle
}

.table-widget table.options-table td:first-child,
.table-widget table.options-table th:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left
}

.table-widget table.options-table tr:last-child td {
    border-bottom: 1px solid var(--bordercolor);
}

.table-widget table.options-table tr.selected td {
    background-color: var(--backgroundhoverlight);
    color: var(--font);
    outline: 0
}

.table-widget table.options-table td:not(:first-child) span {
    display: inline-block;
    line-height: 1.25
}

.table-widget table.options-table td.enabled span:before {
    content: "\f00c"
}

.table-widget table.options-table td.partial span:before {
    opacity: .3;
    content: "\f00c"
}

table.compact-table {
    margin: 0;
    width: 100%
}

table.compact-table :not(.invalid-feedback) {
    font-size: inherit
}

table.compact-table td {
    padding: .25rem;
    border: 0
}

table.compact-table td:first-child {
    padding-left: 0
}

table.compact-table td:last-child {
    padding-right: 0
}

table.table .checkbox-cell {
    width: 3rem;
    white-space: nowrap;
    overflow: hidden;
    text-align: center;
    padding: .5rem
}

html.touch table.table .checkbox-cell {
    padding: .5rem .3rem
}

table.table th.checkbox-cell {
    padding: .75rem 0;
    max-width: 1rem
}

table.table th.checkbox-cell:before {
    cursor: pointer;
    margin: 0 1rem;
    line-height: 1
}

table.table th.checkbox-cell.subscription:before {
    content: "\f143"
}

table.table th.checkbox-cell.alarm:before {
    content: "\f0f3";
    font-weight: 400
}

table.table th.checkbox-cell.read:before {
    content: "\f06e"
}

table.table th.checkbox-cell.write:before {
    content: "\f303"
}

table.table .buttons-cell {
    width: 1%;
    white-space: nowrap;
    text-align: center
}

table.table .buttons-cell a.button:before {
    line-height: 1;
    float: none;
    display: inline-block
}

@media screen and (min-width:480px) {
    table.table .buttons-cell a.button .inner {
        display: inline
    }
}

table.table label {
    margin: 0;
    display: inline
}

fieldset.tab-pane table.table thead th {
    border: 0
}

table.table tr.deleted td {
    color: var(--font) !important;
}

.table thead th {
    border-width: 1px;
    white-space: nowrap
}


/* =========================================================
   4. COMPONENTES
   ========================================================= */

/* ---------- Botones ---------- */

.button.disabled {
    opacity: .5
}

a.button {
    text-decoration: none !important
}

a.button.icon.sidebar-menu:before,
a.button.icon.toolbar-list-button:before,
a.button.icon.toolbar-menu-button:before,
button.btn.sidebar-menu:before,
button.btn.toolbar-list-button:before,
button.btn.toolbar-menu-button:before {
    content: "\f142";
    width: 1em
}

a.button.icon.task-menu-button:before,
button.btn.task-menu-button:before {
    content: "\f0c9"
}

a.button.icon.back-content-button:before,
a.button.icon.back-list-button:before,
a.button.icon.back-sidebar-button:before,
button.btn.back-content-button:before,
button.btn.back-list-button:before,
button.btn.back-sidebar-button:before {
    content: "\f053"
}

a.button.icon.refresh:before,
button.btn.refresh:before {
    content: "\f021"
}

a.button.icon.continue:before,
a.button.icon.generate:before,
a.button.icon.save:before,
a.button.icon.submit:before,
a.button.icon.yes:before,
button.btn.continue:before,
button.btn.generate:before,
button.btn.save:before,
button.btn.submit:before,
button.btn.yes:before {
    content: "\f00c"
}

a.button.icon.create:before,
button.btn.create:before {
    content: "\f0fe"
}

a.button.icon.edit:before,
button.btn.edit:before {
    content: "\f303"
}

a.button.icon.qrcode:before,
button.btn.qrcode:before {
    content: "\f029"
}

a.button.icon.search:before,
button.btn.search:before {
    content: "\f002"
}

a.button.icon.filter:before,
button.btn.filter:before {
    content: "\f0b0";
    font-size: 1.2em
}

a.button.icon.import:before,
button.btn.import:before {
    content: "\f093"
}

a.button.icon.export:before,
button.btn.export:before {
    content: "\f019"
}

a.button.icon.delete:before,
a.button.icon.discard:before,
button.btn.delete:before,
button.btn.discard:before {
    content: "\f2ed";
    font-weight: 400
}

a.button.icon.next:before,
button.btn.next:before {
    content: "\f061"
}

a.button.icon.restore:before,
button.btn.restore:before {
    content: "\f0e2"
}

a.button.icon.bounce:before,
a.button.icon.send:before,
button.btn.bounce:before,
button.btn.send:before {
    content: "\f1d8"
}

a.button.icon.attach:before,
button.btn.attach:before {
    content: "\f0c6"
}

a.button.icon.attach.vcard:before,
button.btn.attach.vcard:before {
    content: "\f007"
}

a.button.icon.cancel:before,
a.button.icon.close:before,
a.button.icon.no:before,
button.btn.cancel:before,
button.btn.close:before,
button.btn.no:before {
    content: "\f00d"
}

a.button.icon.back:before,
button.btn.back:before {
    content: "\f053"
}

a.button.icon.remove:before,
button.btn.remove:before {
    content: "\f00d"
}

a.button.icon.unlock:before,
button.btn.unlock:before {
    content: "\f09c"
}

a.button.icon.help:before,
button.btn.help:before {
    content: "\f1cd";
    font-weight: 400
}

a.button.icon.folders:before,
button.btn.folders:before {
    content: "\f07c"
}

a.button.icon.options:before,
button.btn.options:before {
    content: "\f1de"
}

a.button.icon.settings:before,
a.button.icon.tools:before,
button.btn.settings:before,
button.btn.tools:before {
    content: "\f013"
}

a.button.icon.properties:before,
button.btn.properties:before {
    content: "\f05a"
}

a.button.icon.selection:before,
button.btn.selection:before {
    content: "\f14a";
    font-weight: 400
}

a.button.icon.insert.recipient:before,
button.btn.insert.recipient:before {
    content: "\f234"
}

a.button.icon.encrypt:before,
button.btn.encrypt:before {
    content: "\f023"
}

a.button.icon.sign:before,
button.btn.sign:before {
    content: "\f5b7"
}

a.button.icon.sso:before,
button.btn.sso:before {
    content: "\f2f6"
}

a.button.icon.extwin:before,
button.btn.extwin:before {
    content: "\f360"
}

a.btn:before,
button.btn:before {
    display: inline !important;
    float: none !important;
    vertical-align: middle;
    margin-right: .4rem !important
}

a.btn.oauth.google:before,
a.btn.oauth.outlook:before,
button.btn.oauth.google:before,
button.btn.oauth.outlook:before {
    content: " ";
    display: inline-block !important;
    height: 1.5rem;
    width: 1.5rem;
    margin-right: .8rem !important;
    background-size: 100% auto
}

a.btn.oauth.google:before,
button.btn.oauth.google:before {
    background: url('../images/google-icon.svg') top left no-repeat
}

a.btn.oauth.outlook:before,
button.btn.oauth.outlook:before {
    background: url('../images/microsoft-icon.svg') top left no-repeat
}

a.button.icon.dropdown:before {
    content: "\f0d7";
    font-size: 1em
}

a.button.icon>span.inner {
    display: none
}

html.touch .btn:focus {
    box-shadow: none !important
}

.floating-action-buttons {
    position: absolute;
    right: 0;
    bottom: 0
}

.footer:not(:empty)+.floating-action-buttons {
    bottom: 35px
}

.floating-action-buttons a.button {
    display: block;
    float: left;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--t6);
    box-shadow: 0 0 5px 5px var(--t3);
    color: #fff;
    opacity: .95;
    margin: 0 1rem 1rem 0
}

.floating-action-buttons a.button:before {
    content: "\f067";
    width: 4rem;
    height: 4rem;
    line-height: 4rem
}

.floating-action-buttons a.button.compose:before {
    content: "\f304"
}

.floating-action-buttons a.button .inner {
    display: none
}

.btn:focus {
    /* box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .3) */
    box-shadow: 0 0 0 .2rem var(--t5) !important;
}

.btn-link {
    color: var(--t5) !important;
}

.btn-link:hover {
    color: var(--t6) !important;
}

.btn-secondary {
    color: #fff;
    background-color: var(--t3);
    border-color: var(--t3);
}

.btn-secondary:focus {
    background-color: var(--t3);
    border-color: var(--t3);
    box-shadow: 0 0 0 .2rem var(--t3);
}

.btn-secondary:hover {
    background-color: var(--t4);
    border-color: var(--t4);
}

.btn-secondary.disabled,
.btn-secondary:disabled {
    background-color: var(--t2);
    border-color: var(--t2);
}

.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active {
    background-color: var(--t3);
    border-color: var(--t3);
}

.btn-secondary:not(:disabled):not(.disabled).active:focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus {
    box-shadow: 0 0 0 .2rem var(--t4);
}

.btn-primary {
    color: #fff;
    background-color: var(--t7);
    border-color: var(--t7);
}

.btn-primary:hover {
    background-color: var(--t6);
    border-color: var(--t6);
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: var(--t5);
    border-color: var(--t5);
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--t5);
    border-color: var(--t6);
}

.btn-danger {
    color: #ffffff;
    background: #ff5552;
    border-color: #ff5552
}

.btn-danger:focus {
    background: #ff3c38;
    border-color: #ff322e;
    box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .5)
}

.btn-danger:hover {
    background: #ff3c38;
    border-color: #ff322e
}

.btn-danger.disabled,
.btn-danger:disabled {
    background: #ff5552;
    border-color: #ff5552
}

.btn-danger:not(:disabled):not(.disabled).active,
.btn-danger:not(:disabled):not(.disabled):active {
    background: #ff231f;
    border-color: #ff1915
}

.btn-danger:not(:disabled):not(.disabled).active:focus,
.btn-danger:not(:disabled):not(.disabled):active:focus {
    box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .53)
}

/* ---------- jQuery UI ---------- */

.ui-widget-overlay {
    background-color: rgba(44, 54, 58, .5);
    opacity: 1 !important
}

.ui-widget-overlay.datepicker {
    z-index: 119
}

.ui-widget {
    color: var(--font);
    background-color: var(--background2) !important;
    border: 1px solid var(--bordercolor);
    box-shadow: 3px 3px 5px var(--background2);
    border-radius: .3rem;
}

.ui-menu {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 400px;
    border-radius: .3rem;
    z-index: 240;
    position: absolute
}

.ui-menu .ui-state-active {
    border: 0 !important;
    background-color: var(--t5);
}

.ui-menu .ui-menu-item {
    white-space: nowrap;
    cursor: default
}

.ui-menu .ui-menu-item-wrapper {
    margin: 0 !important
}

.ui-dialog {
    border-radius: 0;
    box-shadow: none
}

.ui-dialog.no-titlebar .ui-dialog-titlebar {
    display: none
}

.ui-dialog .ui-dialog-titlebar {
    height: 58px;
    border-bottom: 1px solid var(--bordercolor);
}

.ui-dialog .ui-dialog-titlebar button:before {
    margin: 0
}

.ui-dialog .ui-dialog-title {
    line-height: 58px;
    font-size: 1.25rem;
    padding: 0 3rem 0 1rem;
    background-color: var(--background);
    color: var(--font);
}

.ui-dialog .ui-dialog-titlebar-close {
    border: 0;
    color: var(--font);
    background: 0 0;
    right: 0;
    top: 0;
    position: absolute;
    padding: .25rem .5rem;
    margin: 15px .5rem
}

.ui-dialog .ui-dialog-titlebar-close:before {
    content: "\f00d";
    line-height: 1.5rem;
    margin: 0 !important
}

.ui-dialog .ui-dialog-content>.popupmenu {
    display: block !important
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    display: flex;
    justify-content: flex-end
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 5rem;
    margin: 9px 4px
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:last-child,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:last-child {
    margin-right: 0
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
    padding-right: 0;
    padding-left: 0;
    text-decoration: none;
    color: var(--font);
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:focus {
    background-color: var(--t6) !important;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options {
    order: -1;
    padding: .375rem .25rem;
    margin-right: .3rem
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before {
    content: "\f013";
    width: 100%;
    height: 1.25em
}

.ui-dialog .ui-dialog-content.iframe,
.ui-dialog iframe {
    padding: 0;
    width: 100% !important;
    height: 100%;
    border: 0;
    overflow: hidden
}

.ui-dialog,
.ui-dialog-content {
    box-sizing: initial
}

.ui-widget-content .ui-icon.ui-resizable-se {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20fill%3D%22%23888%22%20d%3D%22M6.7%2016L16%206.7V5.3L5.3%2016zM9.7%2016L16%209.7V8.3L8.3%2016zM12.7%2016l3.3-3.3v-1.4L11.3%2016zM15.7%2016l.3-.3v-1.4L14.3%2016z%22%2F%3E%0A%3C%2Fsvg%3E%0A")
}

@media screen and (max-width:480px) {
    .ui-dialog {
        width: 100% !important;
        height: 100% !important;
        display: flex;
        flex-direction: column;
        border: 0;
        top: 0 !important
    }

    .ui-dialog .ui-dialog-titlebar-close,
    .ui-dialog .ui-resizable-handle {
        display: none !important
    }

    .ui-dialog .ui-dialog-titlebar {
        height: 58px;
        text-align: center;
        background-color: var(--background3);
    }

    .ui-dialog .ui-dialog-title {
        line-height: 58px;
        font-size: 1rem;
        padding: 0 1rem;
        background-color: var(--background);
    }

    .ui-dialog .ui-dialog-content {
        flex: 1
    }

    .ui-dialog .ui-dialog-content:not(.iframe) {
        padding: 1rem
    }

    .ui-dialog .ui-dialog-buttonpane {
        padding: 0 !important;
        text-align: center !important;
        border-top: 1px solid var(--bordercolor);
        height: 58px !important;
        background-color: var(--background) !important;
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
        justify-content: space-around
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
        margin: 0 !important;
        padding: .45rem;
        border: 0 !important;
        height: 58px;
        box-shadow: none;
        font-size: 90%;
        line-height: 1.5
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:before {
        display: block !important;
        float: none;
        width: auto;
        height: 1.75rem;
        line-height: 1.75;
        margin: 0 !important
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:active {
        box-shadow: none
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-primary,
    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary {
        color: var(--font);
        background: 0 0
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-danger {
        color: #ff5552;
        background: 0 0
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.disabled,
    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:disabled {
        opacity: .5
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.cancel {
        order: 100
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
        color: var(--font);
        margin: 0;
        padding: .45rem;
        font-size: 90%
    }

    .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before {
        display: block !important;
        height: 1.75rem;
        line-height: 1.75;
        margin: 0
    }
}

.ui-slider {
    box-shadow: none
}

.ui-slider .ui-slider-range {
    border-radius: .3rem;
    background: var(--t3);
}

.ui-slider .ui-slider-handle {
    border-radius: .3rem
}

.ui-slider .ui-slider-handle.ui-state-active {
    background: var(--t5);
    border-color: var(--t4);
}

.ui-datepicker {
    margin: calc(50vh - 10em) calc(50vw - 10em) !important;
    top: 0 !important;
    left: 0 !important;
    box-shadow: none;
    user-select: none
}

.ui-datepicker:not(.ui-datepicker-inline) {
    z-index: 120 !important
}

.ui-datepicker .ui-datepicker-header,
.ui-datepicker .ui-datepicker-title {
    line-height: 4rem;
    height: 4rem;
    padding: 0
}

.ui-datepicker .ui-datepicker-header {
    border-bottom: 1px solid var(--bordercolor);
}

.ui-datepicker .ui-datepicker-header a {
    height: 4rem
}

.ui-datepicker .ui-datepicker-header select {
    display: inline-block
}

.ui-datepicker .ui-icon {
    background-image: none !important;
    background-position: none !important
}

.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
    cursor: pointer;
    width: auto;
    color: var(--font);
    text-decoration: none
}

.ui-datepicker .ui-datepicker-next:before,
.ui-datepicker .ui-datepicker-prev:before {
    content: "\f053";
    margin: 0 .25em;
    height: auto;
    width: 1em
}

.ui-datepicker .ui-datepicker-prev:before {
    content: "\f053"
}

.ui-datepicker .ui-datepicker-next:before {
    content: "\f054"
}

.ui-datepicker td a {
    padding: 0;
    line-height: 1.8em;
    border-radius: .3rem
}

.ui-datepicker .ui-state-default,
.ui-datepicker.ui-widget-content .ui-state-default {
    border: 0;
    background: 0 0;
    color: var(--font);
}

.ui-datepicker .ui-datepicker-days-cell-over a,
.ui-datepicker .ui-datepicker-days-cell-over a.ui-state-default,
.ui-datepicker .ui-state-highlight,
.ui-datepicker.ui-widget-content .ui-state-highlight {
    background: var(--t3);
    color: var(--t5);
}

.ui-datepicker a.ui-state-active {
    background: var(--t5) !important;
    color: #fff !important;
    font-weight: 700
}

.ui-datepicker html.touch td a {
    font-size: 1.2em;
    line-height: 2.2em
}

.input-group>.form-control.hasDatepicker {
    position: initial
}

.minicolors-panel {
    border: 1px solid var(--bordercolor);
    box-shadow: 3px 3px 5px var(--background2);
    border-radius: .3rem;
    height: 152px;
    padding: 1px
}

.input-group .minicolors-input {
    width: 100%;
    min-width: 130px;
    border-left: 0;
    border-right: 0
}

@media screen and (max-width:320px) {
    .ui-widget-content {
        border-radius: 0
    }

    .ui-menu {
        border-radius: .3rem;
        left: 15px !important;
        right: 15px;
        width: auto
    }

    .ui-dialog .ui-dialog-content:not(.iframe) {
        padding: .65rem
    }
}

/* ---------- Popups y popovers ---------- */

.popupmenu {
    display: none;
    padding: 0;
    min-width: 180px;
    height: 100%
}

.popupmenu li>a {
    width: 100%
}

.popupmenu.propform {
    overflow: hidden;
    padding: .25rem
}

.popupmenu.simplelist {
    min-width: 80px
}

.popup.justified {
    display: flex;
    justify-content: space-around
}

.popover-body {
    padding: 0;
    overflow-x: hidden
}

.popover-body>.popupmenu {
    display: block !important
}

.popover {
    /* box-shadow: 3px 3px 5px var(--background2); */
    border-color: var(--bordercolor);
    padding: 0;
    z-index: 1300
}

.popover .popover-header {
    display: none
}

@media screen and (min-width:769px) {
    .popover .listing li:first-child {
        border-radius: .25rem .25rem 0 0
    }

    .popover .listing li:last-child {
        border-bottom-right-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .popover .listing ul.rounded-0>li {
        border-radius: 0
    }
}

html.layout-phone .popover:not(.select-menu),
html.layout-small .popover:not(.select-menu) {
    margin: 0 !important;
    padding: 0;
    right: 0;
    left: initial !important;
    bottom: 0;
    top: 0;
    width: 272px;
    transform: none !important;
    border-radius: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    box-shadow: none;
    background-color: var(--background);
}

html.layout-phone .popover:not(.select-menu) div.arrow,
html.layout-small .popover:not(.select-menu) div.arrow {
    display: none
}

html.layout-phone .popover:not(.select-menu) .listing li:last-child,
html.layout-small .popover:not(.select-menu) .listing li:last-child {
    border-bottom: 1px solid #f1f3f4
}

html.layout-phone .popover-overlay,
html.layout-small .popover-overlay {
    z-index: 1299;
    background-color: rgba(44, 54, 58, .5);
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%
}

html.layout-phone .popover-header,
html.layout-small .popover-header {
    display: block;
    border-radius: 0;
    border: 0;
    padding: 0 .5em;
    height: 58px;
    min-height: 58px;
    line-height: 58px;
    font-size: 16px;
    color: #fff;
    background-color: var(--t8) !important;
}

html.layout-phone .popover-header:before,
html.layout-small .popover-header:before {
    display: none
}

html.layout-phone .popover-header a,
html.layout-small .popover-header a {
    display: inline-block;
    width: 100%;
    color: #fff
}

html.layout-phone .popover-body>*,
html.layout-small .popover-body>* {
    max-height: 100% !important
}

html.touch .popover .listing li a {
    line-height: 47px;
    font-size: 16px;
    padding: 0 .5em
}

html.touch .popover .listing li a:before {
    float: left
}

.select-menu {
    max-width: initial;
    margin: 0;
    height: auto;
    z-index: 1301
}

.select-menu .popover-header {
    border-radius: .25rem .25rem 0 0 !important
}

.select-menu .listing li a {
    padding-left: .25rem;
    outline: 0
}

.select-menu .listing li:last-child {
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem
}

.select-menu.inline .listing li {
    padding-right: .5rem
}

.select-menu.inline .listing li:first-child {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem
}

.pgpkeyimport div.key {
    position: relative;
    padding: .5rem 0
}

.pgpkeyimport div.key.disabled,
.pgpkeyimport div.key.revoked {
    color: var(--font2)
}

.pgpkeyimport div.key label {
    display: inline-block;
    margin-right: .5em;
    margin-bottom: 0
}

.pgpkeyimport div.key label:after {
    content: ":"
}

.pgpkeyimport div.key label.keyid {
    display: none
}

.pgpkeyimport div.key label+a,
.pgpkeyimport div.key label+span {
    line-height: 2.6rem;
    margin-right: 1em;
    white-space: nowrap;
    text-decoration: none
}

.pgpkeyimport div.key label.keyid+a {
    font-weight: 700
}

.pgpkeyimport div.key label.keyid+a:before {
    content: "\f084"
}

.pgpkeyimport ul.uids {
    margin: 0;
    padding: 0
}

.pgpkeyimport li.uid {
    border: 0;
    padding: .25rem 0 0 1.5em;
    line-height: 1.5rem !important;
    list-style-type: none
}

.pgpkeyimport li.uid:before {
    content: "\f007";
    opacity: .25;
    font-size: 1em;
    line-height: 1.25
}

.pgpkeyimport button.importkey {
    position: absolute;
    top: .5rem;
    right: 0
}

.pgpkeyimport button:disabled {
    display: none
}

/* ---------- Menús y barras de herramientas ---------- */

.menu {
    margin: 0;
    text-align: center;
    white-space: nowrap
}

.menu a {
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none
}

.menu a:before {
    content: "\00a0"
}

.menu a:focus,
.menu a:hover {
    outline: 0
}

/* .menu a:not(.disabled):focus,
.menu a:not(.disabled):hover {
    background-color: transparent;
} */

.menu.toolbar li {
    display: inline-block;
    height: 58px
}

/* El fondo de los botones lo define la sección 8 (var(--bar-bg)) */
.menu.toolbar a {
    color: #fff;
    display: block;
    float: left;
    border: 0 !important;
    height: 58px;
    min-width: 3.2rem;
    max-width: 6rem;
    width: auto;
    padding: .45rem;
    line-height: 1.5;
    cursor: pointer;
    font-size: 0.9rem;
    text-align: center;
}

.menu.toolbar a:before {
    height: 1.75rem !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important
}

.menu.toolbar>.spacer {
    width: 1em
}

.menu.toolbar .dropbutton:not(.disabled):hover {
    background-color: var(--backgroundhoverlight);
}

.menu.toolbar .dropbutton a.dropdown {
    padding: 0 .3rem
}

.menu.toolbar .dropbutton a.dropdown:before {
    line-height: 58px
}

.menu.toolbar .dropbutton a.dropdown:hover {
    background-color: #e0e0e0
}

.menu span.inner {
    font-size: 79%;
    font-weight: 400
}

.menu .dropbutton {
    display: inline-block
}

.menu .dropbutton a.dropdown {
    font-size: 75%;
    min-width: 0
}

html.ie11 .menu .dropbutton a.dropdown:before {
    font-size: 80%
}

.menu .dropbutton a.dropdown span.inner {
    display: none
}

.menu .dropbutton a:first-child {
    padding-right: 0
}

.menu.pagenav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 !important;
    font-size: 100%
}

.menu.pagenav a {
    flex-grow: 1;
    display: inline-block;
    min-width: 2rem !important;
    height: 35px;
    color: var(--font);
}

.menu.pagenav a:before {
    margin: 0;
    display: inline;
    float: none;
    line-height: 35px
}

.menu.pagenav .pagenav-text {
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--t1);
    flex-grow: 4;
    font-size: 80%
}

.menu.pagenav input {
    width: 3rem;
    max-width: 5rem;
    font-size: 90%;
    text-align: center;
    max-height: 1.6rem;
    margin: 0 .2rem;
    background-color: var(--t9) !important;
    border-color: var(--t1);
    color: var(--t1);
}

html.layout-phone .menu.pagenav input {
    display: none
}

.menu.pagenav span.inner {
    display: none
}

.menu.pagenav.pagenav-list {
    cursor: pointer;
    background-color: var(--background2);
    border: 1px solid var(--bordercolor);
}

.menu.pagenav.pagenav-list a {
    flex-grow: unset
}

.menu.pagenav.pagenav-list .pagenav-text {
    text-align: left;
    font-size: 100%
}

.menu.pagenav.pagenav-list+.navlist {
    background-color: var(--background2);
}

.menu.pagenav.pagenav-list.expanded+.navlist {
    border-bottom: 1px solid var(--bordercolor);
}

.menu.content-frame-navigation.hide-nav-buttons a.next,
.menu.content-frame-navigation.hide-nav-buttons a.prev {
    display: none
}

.menu .listselectors {
    max-width: 100%;
    display: flex;
    justify-content: space-around
}

.menu .buttons {
    display: block
}

.menu .buttons button {
    display: block;
    float: left;
    cursor: pointer;
    color: var(--font);
    background-color: transparent;
    border: 0;
    padding: 0;
    height: 58px;
    line-height: 58px;
    width: 2.5em
}

.menu .buttons button:before {
    font-size: 1.75rem
}

.popover .menu li {
    display: block;
    height: auto;
    text-align: left;
    background-color: var(--background2);
}

.popover .menu li.spacer {
    display: none
}

.popover .menu li:last-child {
    border: 0
}

.popover .menu li.separator {
    line-height: 1.5rem !important;
    font-size: .75rem !important;
    padding: 0 .5rem;
    color: var(--font2);
    background-color: var(--background2);
}

.popover .menu li.separator label {
    margin: 0
}

.popover .menu li a {
    height: unset;
    max-width: 100%;
    width: 100%;
    line-height: 35px;
    display: block;
    padding: 0 .5rem;
    text-align: left
}

.popover .menu li a:before {
    line-height: inherit;
    height: inherit !important;
    margin-right: .5rem !important;
    float: left !important;
    width: 1.18em !important;
    min-width: 1.18em
}

.popover .menu li a:not(.disabled):hover {
    background-color: var(--sel-bg);
}

.popover .menu li a[aria-haspopup] {
    display: flex
}

.popover .menu li a[aria-haspopup]:after {
    color: var(--font2);
    font-size: .9em;
    margin: 0 0 0 .2em;
    min-width: 1.18em;
    content: "\f054"
}

html.layout-small .popover .menu li a[aria-haspopup]:after {
    margin: 0 .2em
}

.popover .menu li a[aria-haspopup].dropdown:after {
    color: var(--font);
    margin: 0 .6em !important
}

.popover .menu li a[aria-haspopup]:hover:after {
    color: #fff
}

.popover .menu li a[aria-haspopup]>span {
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1
}

.popover .menu li span.inner {
    font-size: 100%
}

.popover .menu .dropbutton {
    display: flex
}

.popover .menu .dropbutton a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1
}

.popover .menu .dropbutton:not(.disabled):hover {
    background-color: var(--background2);
}

.popover .menu .dropbutton a.dropdown {
    width: 3.5rem;
    padding: 0 .5em;
    background-color: var(--background3);
}

.popover .menu .dropbutton a.dropdown:hover {
    background-color: var(--sel-bg);
}

.popover .menu .dropbutton a.dropdown span.inner,
.popover .menu .dropbutton a.dropdown:before {
    display: none
}

.popover .menu.no-icon a:before {
    display: none
}

@media screen and (min-width:769px) {
    .content-frame-navigation {
        display: none !important
    }

    .header a.button.icon:before {
        margin: 0
    }
}

@media screen and (max-width:768px) {
    .menu.footer {
        justify-content: space-around !important
    }

    .menu.footer>* {
        flex-grow: 1
    }

    .menu.footer .buttons {
        display: flex;
        justify-content: space-evenly
    }

    .menu.footer .listselectors>* {
        flex-grow: 1
    }

    .menu.listing a {
        color: var(--font);
    }
}

a.toolbar-button {
    cursor: pointer
}

@media screen and (min-width:1201px) {
    a.toolbar-button {
        line-height: 1.5;
        padding: .45rem
    }

    a.toolbar-button:before {
        float: none !important;
        height: 1.75rem !important;
        line-height: 1.5;
        width: auto !important
    }

    a.toolbar-button span.inner {
        display: inline !important;
        font-weight: 400;
        font-size: 78%
    }
}

/* ---------- Iconos del menú (Font Awesome por código) ---------- */

.menu a.mail:before {
    content: "\f0e0";
    font-family: Icons;
    font-weight: 400;
}

.menu a.contacts:before {
    content: "\f0c0";
    color: transparent;
    -webkit-text-stroke: 1px #ffffff;
    font-size: 18px;
}

.menu a.options:before {
    content: "\f1de"
}

.menu a.settings:before {
    content: "\f013";
    color: transparent;
    -webkit-text-stroke: 1px #fff;
}

.menu a.theme.light:before {
    content: "\f204";
}

.menu a.theme.dark:before {
    content: "\f205";
}

.menu a.help:before {
    content: "\f1cd";
}

.menu a.logout:before {
    content: "\f011"
}

.menu a.about:before {
    content: "\f128";
    color: transparent !important;
    -webkit-text-stroke: 1px #fff !important;
}

.menu a.refresh:before {
    content: "\f021"
}

.menu a.compose:before {
    content: "\f044"
}

.menu a.calendar:before {
    content: "\f073"
}

.menu a.tasklist:before {
    content: "\f0ae"
}

.menu a.files:before {
    content: "\f07b"
}

.menu a.notes:before {
    content: "\f249"
}

.menu a.chat:before {
    content: "\f086"
}

.menu a.actions:before {
    content: "\f013"
}

.menu a.addressbook:before {
    content: "\f007"
}

.menu a.archive:before {
    content: "\f187"
}

.menu a.assigngroup:before {
    content: "\f234"
}

.menu a.attach:before,
.menu a.vcard:before {
    content: "\f0c6"
}

.menu a.next:before {
    content: "\f061"
}

.menu a.back:before,
.menu a.prev:before {
    content: "\f060"
}

.menu a.check:before {
    content: "\00a0"
}

.menu a.check.selected:before {
    content: "\f00c"
}

.menu a.closewin:before {
    content: "\f410"
}

.menu a.collapse:before {
    content: "\f107"
}

.menu a.copy:before {
    content: "\f0c5"
}

.menu a.create:before {
    content: "\f0fe"
}

.menu a.delete:before {
    content: "\f2ed"
}

.menu a.download.eml:before,
.menu a.download.maildir:before,
.menu a.download.mbox:before,
.menu a.download:before {
    content: "\f019"
}

.menu a.dropdown:before {
    content: "\f0d7"
}

.menu a.edit:before {
    content: "\f303"
}

.menu a.encrypt:before,
.menu a.enigma:before {
    content: "\f023"
}

.menu a.encrypt.sign:before {
    content: "\f023"
}

.menu a.expand:before {
    content: "\f105"
}

.menu a.expand.all:before {
    content: "\f103"
}

.menu a.expand.none:before {
    content: "\f102"
}

.menu a.export.all:before,
.menu a.export.selection:before,
.menu a.export:before {
    content: "\f019"
}

.menu a.expunge:before {
    content: "\f78c"
}

.menu a.extwin:before {
    content: "\f360"
}

.menu a.filterlink:before {
    content: "\f0b0"
}

.menu a.firstpage:before {
    content: "\f100"
}

.menu a.nextpage:before {
    content: "\f105"
}

.menu a.prevpage:before {
    content: "\f104"
}

.menu a.lastpage:before {
    content: "\f101"
}

.menu a.flag:before,
.menu a.select.flagged:before {
    content: "\f024";
    font-weight: 900
}

.menu a.unflag:before {
    content: "\f024";
    font-weight: 400
}

.menu a.undo:before {
    content: "\f01e"
}

.menu a.folders:before {
    content: "\f07b"
}

.menu a.forward.attachment:before,
.menu a.forward.bounce:before,
.menu a.forward.inline:before,
.menu a.forward:before {
    content: "\f064"
}

.menu a.import:before,
.menu a.upload:before {
    content: "\f093"
}

.menu a.insertresponse:before {
    content: "\f075"
}

.menu a.junk:before {
    content: "\f7e4"
}

.menu a.notjunk:before {
    content: "\f01c"
}

.menu a.markmessage:before {
    content: "\f02b"
}

.menu a.more:before {
    content: "\f141"
}

.menu a.move:before {
    content: "\f07c"
}

.menu a.print:before {
    content: "\f02f"
}

.menu a.properties:before {
    content: "\f15b"
}

.menu a.purge:before {
    content: "\f12d"
}

.menu a.qrcode:before {
    content: "\f029"
}

.menu a.read:before {
    content: "\f2b6";
    font-weight: 400
}

.menu a.expand.unread:before,
.menu a.select.unread:before,
.menu a.unread:before {
    content: "\f0e0";
    font-weight: 900
}

.menu a.recipient:before {
    content: "\f0e0";
    font-weight: 400
}

.menu a.remove:before {
    content: "\f12d"
}

.menu a.removegroup:before {
    content: "\f235"
}

.menu a.rename:before {
    content: "\f303"
}

.menu a.reply:before {
    content: "\f3e5"
}

.menu a.reply-all:before,
.menu a.reply.all:before,
.menu a.reply.list:before {
    content: "\f122"
}

.menu a.responses:before {
    content: "\f075"
}

.menu a.rotate:before {
    content: "\f2f9"
}

.menu a.save:before {
    content: "\f0c7";
    font-weight: 400
}

.menu a.search:before {
    content: "\f002"
}

.menu a.search.delete:before {
    content: "\f2ed"
}

.menu a.select:before {
    content: "\f245"
}

.menu a.select.all:before {
    content: "\f069"
}

.menu a.select.invert:before {
    content: "\f14a"
}

.menu a.select.none:before {
    content: "\f00d";
    font-weight: 900
}

.menu a.select.page:before {
    content: "\f0c9";
    font-weight: 900
}

.menu a.selection:before {
    content: "\f14a" !important;
    font-weight: 400 !important
}

.menu a.send:before {
    content: "\f1d8"
}

.menu a.showurl:before {
    content: "\f0c1"
}

.menu a.signature:before {
    content: "\f5b7"
}

.menu a.source:before {
    content: "\f1c9"
}

.menu a.spellcheck:before {
    content: "\f891"
}

.menu a.status:before {
    content: "\f0eb";
    font-weight: 400
}

.menu a.submit:before {
    content: "\f00c"
}

.menu a.info:before {
    content: "\f05a"
}

.menu a.threads:before {
    content: "\f086"
}

.menu a.zoomin:before {
    content: "\f00e"
}

.menu a.zoomout:before {
    content: "\f010"
}

/* ---------- Buscador ---------- */

.searchbar {
    height: 36px;
    min-height: 36px;
    line-height: 36px;
    background-color: var(--background2);
    border-bottom: 1px solid var(--bordercolor);
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative
}

.searchbar form {
    flex: 1;
    display: flex
}

.searchbar form:before {
    content: "\f002";
    height: 36px;
    color: var(--font2);
    margin: 0 0 0 .75rem
}

.searchbar input {
    width: 100%;
    border: 0;
    background: 0 0;
    padding: .5rem;
    line-height: normal;
    outline: 0;
    color: var(--font);
}

.searchbar input::-ms-clear {
    display: none
}

.searchbar a {
    color: var(--font);
}

.searchbar a:before {
    width: 2rem;
    height: 36px;
    margin: 0
}

.searchbar a.options:before {
    content: "\f107"
}

.searchbar a.reset:before {
    content: "\f00d";
    font-size: 1rem
}

.searchbar a.unread:before {
    content: "\f0e0";
    font-weight: 900
}

.searchbar a.reset,
.searchbar a.search {
    display: none
}

.searchbar a.selected {
    background-color: var(--background2) !important;
    color: var(--t6) !important;
}

.searchbar span.inner {
    display: none
}

.searchbar.active a.reset {
    display: inline
}

.searchbar.open a.options:before {
    content: "\f106"
}

.searchoptions button.search {
    width: 100%
}

.searchoptions ul.proplist+div {
    margin-top: 1rem
}

.searchoptions .input-group:not(:last-child) {
    margin-bottom: .5rem
}

.searchoptions .input-group .input-group-prepend {
    width: 30%
}

.searchoptions .input-group label {
    width: 100%
}

.searchoptions .formbuttons {
    display: block !important
}

/* ---------- Menú lateral de tareas ---------- */

#taskmenu a {
    display: block;
    float: none;
    background-color: var(--t9);
}

@media screen and (max-width:480px) {
    #taskmenu {
        z-index: 30001;
        overflow-x: hidden
    }

    #taskmenu a {
        max-width: unset;
        padding: 0 .5em;
        margin-top: 1px;
        text-align: left;
        line-height: 47px;
        height: 47px;
        border-bottom: 1px solid var(--background2) !important;
        color: var(--font);
        font-size: 1.2rem
    }

    #taskmenu a:before {
        float: left !important;
        width: 1.2em !important;
        margin-right: .5rem !important
    }

    #taskmenu span.inner {
        font-size: 100%
    }
}

@media screen and (min-width:481px) {
    #taskmenu a {
        color: #fff;
        padding: .45rem 0;
        min-width: unset
    }

    #taskmenu a.selected {
        color: #fff;
        background: var(--t7);
    }

    #taskmenu a.selected:hover {
        color: #fff;
        background: var(--t8);
    }

    #taskmenu a:hover {
        color: #fff;
        background: var(--t8) !important;
    }

    /* El fondo transparente lo define la sección 8 */
    #taskmenu .special-buttons {
        position: absolute;
        bottom: 0;
        left: 0;
    }

    #taskmenu .action-buttons a {
        color: var(--t5);
        background: 0 0
    }

    #taskmenu .action-buttons a:hover {
        color: #fff;
        background-color: var(--t7);
    }

    #taskmenu a.logout {
        color: var(--t6) !important;
    }
}

@media screen and (min-width:481px) and (max-width:1024px) {
    #taskmenu a {
        width: 42px;
        height: 42px;
        font-size: 1.2rem;
        padding: 0
    }

    #taskmenu a:before {
        line-height: 42px
    }

    #taskmenu span.inner {
        display: none
    }
}

@media screen and (min-width:1025px) {
    #taskmenu a {
        width: 84px;
        font-size: 1rem
    }

    #taskmenu a:before {
        float: none
    }

    #taskmenu a:focus {
        background-color: var(--t7);
    }

    #taskmenu span.inner {
        padding: 0 .1em
    }
}

/* ---------- Alertas y mensajes ---------- */

.ui.alert {
    margin: 0;
    margin-bottom: .2rem;
    opacity: .95;
    width: 100%;
    padding: .75em;
    color: white !important;
    border: 1px solid transparent;
    background-color: var(--t8) !important;
    display: flex;
    align-items: center
}

@media screen and (max-width:480px) {
    .ui.alert {
        border: 0
    }
}

.ui.alert span {
    margin: auto 0
}

.ui.alert>i.icon {
    line-height: 1;
    color: var(--font2);
    margin: auto 0
}

.ui.alert>i.icon:before {
    content: "\f05a";
    margin-right: .6rem
}

.ui.alert .btn {
    margin-left: .5rem
}

.ui.alert.loading {
    color: var(--font2);
}

.ui.alert.loading>i.icon:before {
    content: "\f1ce";
    -webkit-animation: spinner-border 1.5s infinite linear;
    animation: spinner-border 1.5s infinite linear;
    width: 1em
}

.ui.alert.alert-success>i.icon:before {
    content: "\f058";
    color: #41b849
}

.ui.alert.alert-warning>i.icon:before {
    content: "\f071";
    color: #ffd452
}

.ui.alert.alert-danger>i.icon:before {
    content: "\f06a";
    color: #ff5552
}

.ui.alert.vcardattachment>i.icon:before {
    content: "\f2bb"
}

.ui.alert.enigmaattachment>i.icon:before {
    content: "\f084"
}

.ui.alert.encrypted>i.icon:before,
.ui.alert.signed>i.icon:before {
    content: "\f023"
}

.ui.alert.chat>i.icon:before {
    content: "\f075"
}

.ui.alert .boxbuttons {
    white-space: nowrap
}

.ui.alert .boxbuttons .btn {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px
}

@media screen and (max-width:480px) {
    .ui.alert .boxbuttons {
        display: flex;
        flex-direction: column
    }

    .ui.alert .boxbuttons .btn {
        max-width: 160px
    }

    .ui.alert .boxbuttons .btn:not(:first-child) {
        margin-top: .25rem
    }
}

.ui.alert.aligned-buttons {
    display: flex
}

.ui.alert.aligned-buttons span {
    flex: 1
}

.ui.alert a:not(.btn) {
    color: var(--t5);
    font-weight: 400
}

.ui.alert h3 {
    font-weight: 700;
    font-size: 1.2rem
}

.ui.alert p {
    margin: 1rem 0
}

.ui.alert.boxconfirmation,
.ui.alert.boxerror,
.ui.alert.boxinformation,
.ui.alert.boxwarning {
    padding: .5em;
    border-radius: 0
}

.ui.alert.boxconfirmation i.icon,
.ui.alert.boxerror i.icon,
.ui.alert.boxinformation i.icon,
.ui.alert.boxwarning i.icon {
    font-size: 1.5em !important
}

.ui.alert.boxerror {
    background-color: var(--t9);
}

.ui.alert.boxinformation {
    background-color: var(--t5);
}

.ui.alert.boxconfirmation {
    background-color: var(--t7);
}

.ui.alert.boxwarning {
    background-color: var(--t6);
}

.ui.alert+table {
    margin-top: 1em
}

#messagestack {
    position: absolute;
    bottom: .5em;
    right: .7em;
    z-index: 105;
    width: 320px;
    height: auto;
    max-height: 85%
}

@media screen and (max-width:480px) {
    #messagestack {
        left: 0;
        right: 0;
        bottom: 0;
        width: auto
    }
}

#messagestack div {
    background-color: var(--background2);
    color: var(--font);
}

@media screen and (max-width:480px) {
    #messagestack div {
        margin: 0;
        border-radius: 0;
        min-height: 4.2rem
    }
}

#messagestack div.voice {
    position: absolute;
    top: -1000px
}

#messagestack div i.icon {
    font-size: 1.5em !important
}

#messagestack div>i.icon:before {
    color: #fff
}

#messagestack div:last-child {
    margin-bottom: 0
}

#messagestack .loading {
    background-color: #6b7275
}

#messagestack .alert-info.information {
    /* background-color: #37beff */
    background-color: var(--t6);
}

#messagestack .alert-success {
    background-color: #41b849
}

#messagestack .alert-warning {
    background-color: #ffd452;
    color: #2c363a
}

#messagestack .alert-warning>i.icon:before {
    color: #2c363a
}

#messagestack .alert-danger {
    background-color: #ff5552
}

#messagestack a {
    color: inherit !important;
    text-decoration: underline;
    cursor: pointer
}

/* ---------- Listados ---------- */

.listing li,
.listing tbody td {
    border-bottom: 1px solid var(--background2);
    cursor: default;
    font-weight: 400;
    line-height: 35px;
}

.listing li a,
.listing tbody td {
    padding: 0 .5rem;
    white-space: nowrap;
    vertical-align: middle;
    color: var(--font);
    background-color: var(--background2);
    border-bottom: 1px solid var(--background3)
}

.listing tbody td {
    overflow: hidden;
    text-overflow: ellipsis;
    outline: 0
}

.listing tbody td a {
    color: var(--font);
}

.listing li a {
    display: block;
    text-decoration: none;
    cursor: default;
    width: 100%
}

.listing li.selected,
.listing tr.selected td {
    color: var(--font);
    background-color: var(--sel-bg);
}

.listing td.selection {
    padding: 0 0 0 .5em;
    width: 2em;
    text-align: center
}

.listing td.selection>input {
    vertical-align: middle
}

.listing:not(.withselection) td.selection {
    display: none
}

.listing td.name {
    overflow: hidden;
    text-overflow: ellipsis
}

.listing td.action {
    padding: 0 .5em;
    width: 2em;
    text-align: center
}

.listing td.action:empty {
    width: 0
}

.listing td.action a {
    display: block;
    overflow: hidden;
    text-decoration: none
}

.listing td.action a:before {
    margin: 0;
    font-size: 1rem
}

.listing td.action a.pushgroup:before {
    content: "\f054"
}

.listing li.droptarget>a,
.listing tr.droptarget>td {
    background-color: #ffc
}

.listing li.disabled,
.listing tr.disabled td {
    color: rgba(44, 54, 58, .5)
}

.listing li.virtual>a,
.listing li>a.virtual {
    opacity: .4
}

.listing span.secondary {
    color: var(--font2)
}

html:not(.touch) .listing li>a,
html:not(.touch) .listing tbody tr>td:first-child,
html:not(.touch) .listing:not(.withselection) tbody tr>td.selection+td {
    border-left: 2px solid transparent
}

html:not(.touch) .listing li>a:focus,
html:not(.touch) .listing.focus tbody tr.focused>td:first-child,
html:not(.touch) .listing.focus:not(.withselection) tbody tr.focused>td.selection+td {
    border-left: 2px solid var(--t5);
    outline: 0;
}

table.listing {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: unset
}

ul.listing {
    margin: 0;
    padding: 0
}

ul.listing>ul {
    padding: 0
}

ul.listing li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
    list-style: none
}

ul.listing li ul {
    border-top: 1px solid var(--background2);
    padding-left: 1.5em
}

ul.listing li ul li:last-child {
    border-bottom: none
}

ul.listing li .custom-switch {
    position: absolute;
    padding: 0;
    top: 0;
    right: 0;
    height: 35px;
    vertical-align: middle
}

ul.listing li .custom-switch .custom-control-label:after,
ul.listing li .custom-switch .custom-control-label:before {
    margin-top: .4rem
}

html.touch ul.listing li .custom-switch .custom-control-label:after,
html.touch ul.listing li .custom-switch .custom-control-label:before {
    margin-top: .75rem
}

html.touch ul.listing li .custom-switch {
    height: 47px
}

ul.listing.simplelist li {
    padding: 0 .5rem
}

.listing-info {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    text-align: center;
    font-weight: 700;
    color: var(--font2);
}

.listing-hover-menu {
    position: absolute;
    right: 5px;
    top: -1000px;
    height: 2.4em;
    background-color: transparent;
    padding: .15em .3em;
}

.listing-hover-menu a.button {
    cursor: pointer;
    display: inline-block;
    width: 1.5em;
    line-height: 1;
    margin: .25em .25em;
    color: var(--font2);
}

.listing-hover-menu a.button:hover {
    background: 0 0
}

.listing-hover-menu span.txt {
    font-size: 90%;
    color: var(--font2);
    display: inline-block;
    vertical-align: middle;
    margin: -1.25em .25em 0
}

/* Se ocultan los botones de borrar y de marcar/desmarcar al pasar el ratón */
.listing-hover-menu a.delete,
.listing-hover-menu a.button.delete,
.listing-hover-menu a.button.flag,
.listing-hover-menu a.button.unflag,
.listing-hover-menu span.txt {
    display: none !important;
}

html.touch .listing tbody td,
html.touch .listing:not(.toolbar) li {
    line-height: 47px;
    font-size: 1.2rem
}

html.touch li input[type=checkbox] {
    height: 47px
}

html.touch td.selection {
    padding: 0;
    width: 3em
}

@media screen and (max-width:1200px) {
    .listing.selection-large-only li.selected {
        color: var(--font);
        background-color: transparent
    }
}

.listing.iconized li a:before {
    height: 2em;
    margin-right: .5rem
}

.listing.iconized li.preferences>a:before {
    content: "\f1de"
}

.listing.iconized li.folders>a:before {
    content: "\f07b"
}

.listing.iconized li.responses>a:before {
    content: "\f075"
}

.listing.iconized li.identities>a:before {
    content: "\f2c2"
}

.listing.iconized li.password>a:before {
    content: "\f023"
}

.listing.iconized li.addressbook a:before {
    content: "\f2b9";
    font-weight: 400
}

.listing.iconized li.contactgroup a:before {
    content: "\f0c0";
    font-weight: 900
}

.listing.iconized li.contactsearch a:before {
    content: "\f002"
}

.listing.iconized li.filter>a:before {
    content: "\f0b0"
}

.listing.iconized li.vacation>a:before {
    content: "\f017";
    font-weight: 400
}

.listing.iconized li.forward>a:before {
    content: "\f14d"
}

.listing.iconized li.enigma.keys>a:before {
    content: "\f084"
}

.listing.iconized li.info>a:before,
.listing.iconized li.userinfo>a:before {
    content: "\f05a"
}

.listing.iconized li.twofactorauth>a:before {
    content: "\f2f6"
}

.listing.iconized li a.help:before {
    content: "\f1cd"
}

.listing.iconized li a.about:before {
    content: "\f059";
    font-weight: 400
}

.listing.iconized li a.license:before {
    content: "\f3ed"
}

.listing.iconized li>i:before {
    content: "\f007";
    margin-left: .5rem;
    line-height: normal
}

.listing.iconized li.group>i:before {
    content: "\f0c0"
}

#rcmKSearchpane>ul>li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: .5em 0
}

#rcmKSearchpane>ul>li>span.fields {
    display: flex;
    flex-flow: row wrap;
    width: auto;
    overflow: hidden;
    margin: 0 .25em
}

#rcmKSearchpane>ul>li>span.fields>span.field {
    flex: 0 0 100%;
    font-size: 1rem;
    line-height: normal;
    overflow: hidden;
    text-overflow: ellipsis
}

html.ie11 .listing.iconized li a:before {
    font-size: 1.25rem
}

.listing.iconized tr td:before {
    margin-right: .5rem
}

.listing.iconized tr.contact.person td.name:before {
    content: "\f007"
}

.listing.iconized tr.contact.group td.name:before {
    content: "\f0c0"
}

.listing.iconized tr.general>td.section:before {
    content: "\f108"
}

.listing.iconized tr.mailbox>td.section:before {
    content: "\f0e0";
    font-weight: 400
}

.listing.iconized tr.mailview>td.section:before {
    content: "\f01c"
}

.listing.iconized tr.compose>td.section:before {
    content: "\f1d8"
}

.listing.iconized tr.addressbook>td.section:before {
    content: "\f0c0"
}

.listing.iconized tr.folders>td.section:before {
    content: "\f07b";
    font-weight: 400
}

.listing.iconized tr.server>td.section:before {
    content: "\f233"
}

.listing.iconized tr.encryption>td.section:before {
    content: "\f023"
}

.listing.iconized tr.calendar>td.section:before {
    content: "\f133"
}

.listing.iconized tr.chat>td.section:before {
    content: "\f086"
}

.listing.iconized.selectable li a:before {
    content: ""
}

.listing.iconized.selectable li a.selected:before {
    content: "\f00c"
}

.popupmenu .listing li>a {
    border-left: 0
}

.popupmenu .listing li>a:not(.disabled):hover {
    color: var(--font);
    background-color: var(--sel-bg) !important;
}

.popupmenu .listing li.selected {
    color: var(--background);
    background-color: var(--t5);
}

.popupmenu .listing td {
    overflow: hidden;
    text-overflow: ellipsis
}

ul.treelist li div.treetoggle {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5em;
    cursor: pointer;
    background-color: transparent
}

ul.treelist li div.treetoggle:before {
    content: "\f105";
    margin-left: .25em;
    font-size: 1em
}

ul.treelist li div.treetoggle.expanded:before {
    content: "\f107"
}

ul.treelist li>a {
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 1.5em
}

ul.treelist li.selected {
    color: inherit;
    background-color: transparent
}

ul.treelist li.selected>a,
ul.treelist li.selected>div>a {
    color: var(--font);
    background-color: var(--sel-bg);
}

ul.treelist li ul {
    padding: 0
}

ul.treelist li ul li {
    padding-left: 0
}

ul.treelist li ul li a {
    padding-left: 3em
}

ul.treelist li ul li div.treetoggle {
    left: 1.5em
}

ul.treelist li ul li li a {
    padding-left: 4.5em
}

ul.treelist li ul li li div.treetoggle {
    left: 3em
}

ul.treelist li ul li li li a {
    padding-left: 6em
}

ul.treelist li ul li li li div.treetoggle {
    left: 4.5em
}

ul.treelist li ul li li li li a {
    padding-left: 7.5em
}

ul.treelist li ul li li li li div.treetoggle {
    left: 6em
}

ul.treelist li ul li li li li li a {
    padding-left: 9em
}

ul.treelist li ul li li li li li div.treetoggle {
    left: 7.5em
}

ul.treelist.notree div.treetoggle {
    display: none
}

ul.treelist.notree li>a {
    padding-left: .5em
}

.folderlist li.mailbox.unread>a {
    padding-right: 2.8em;
    font-weight: 700
}

.folderlist li.mailbox .unreadcount {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 2em;
    line-height: 1.4rem;
    margin: 7.7px;
    padding: 0 .3em;
    border-radius: .4em;
    background-color: var(--t5);
    color: #fff;
    text-align: center;
    font-weight: 700
}

html.touch .folderlist li.mailbox .unreadcount {
    line-height: 2rem;
    margin: 9.5px
}

.folderlist li.mailbox.recent>a {
    /* color: #008cd0 */
    color: var(--t6);
}

.folderlist li.mailbox.recent>a>.unreadcount {
    /* background: #37beff; */
    background: var(--t5);
    color: #fff
}

.folderlist li.mailbox.root {
    display: none !important
}

.folderlist li a:before {
    content: "\f07b";
    font-weight: 400;
    margin-right: .5rem
}

.folderlist li.inbox>a:before {
    content: "\f01c";
    font-weight: 900
}

.folderlist li.trash a:before {
    content: "\f2ed";
    font-weight: 900
}

.folderlist li.trash.empty>a:before {
    content: "\f2ed";
    font-weight: 400
}

.folderlist li.drafts a:before {
    content: "\f303";
    font-weight: 900
}

.folderlist li.sent a:before {
    content: "\f1d8";
    font-weight: 900
}

.folderlist li.junk a:before {
    content: "\f7e4";
    font-weight: 900
}

.folderlist li.archive>a:before {
    content: "\f187";
    font-weight: 900
}

.folderlist li.ns-shared>a:before {
    content: "\f1e0";
    font-weight: 900
}

.folderlist li.ns-other>a:before {
    content: "\f500";
    font-weight: 900
}

.folderlist.menu a:before {
    margin-left: .5em
}

/* ---------- Lista de mensajes ---------- */

.messagelist .branch,
.messagelist>thead,
table.fixedcopy {
    display: none
}

.messagelist td {
    border-left: 0;
    width: 2em;
    vertical-align: top;
    font-size: 1rem !important
}

.messagelist td.subject {
    width: 100%;
    padding-right: 0;
    display: flex;
    flex-wrap: wrap
}

.messagelist td.subject a {
    text-decoration: none;
    cursor: default
}

.messagelist td.subject span {
    line-height: 2em;
    color: var(--font);
}

.messagelist td.subject span.date,
.messagelist td.subject span.size {
    font-size: 90%;
    color: var(--font2);
}

.messagelist td.subject span.fromto {
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    font-size: 90%;
    color: var(--font2);
    padding-left: 1.5em;
    padding-right: .5rem
}

.messagelist td.subject span.subject {
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    user-select: none
}

.messagelist td.threads {
    padding: 0 0 0 .25rem;
    width: 1.5em
}

.messagelist td.flags {
    width: 2.5em
}

.messagelist td.flags>span {
    height: 1.7em;
    line-height: 1.7em;
    display: block
}

.messagelist td.flags>span.flag {
    cursor: pointer
}

.messagelist tr.flagged span.size,
.messagelist tr.flagged td,
.messagelist tr.flagged td.subject span.date,
.messagelist tr.flagged td.subject span.fromto,
.messagelist tr.flagged td.subject span.subject a {
    color: var(--t6);
}

.messagelist tr.unread td.subject span.subject {
    font-weight: 700
}

.messagelist tr.unroot td.subject a {
    text-decoration: underline
}

.messagelist tr.thread td.threads div:before {
    content: "\f105";
    cursor: pointer;
    width: 1em
}

.messagelist tr.thread.expanded td.threads div:before {
    content: "\f107"
}

.messagelist td.subject span.msgicon.status:before {
    content: "\f111";
    cursor: pointer;
    font-size: .4rem;
    width: 1.1rem;
    height: 2rem
}

.messagelist td.subject span.msgicon.status.unread:before {
    content: "\f111";
    font-size: .5rem
}

.messagelist td.subject span.msgicon.status.unreadchildren:before {
    content: "\f111";
    font-weight: 400;
    font-size: .5rem
}

.messagelist td.subject span.msgicon.status.replied:before {
    content: "\f3e5";
    font-weight: 900;
    font-size: 1rem
}

.messagelist td.subject span.msgicon.status.forwarded:before {
    content: "\f064";
    font-weight: 900;
    font-size: 1rem
}

.messagelist td.subject span.msgicon.status.replied.forwarded:before {
    content: "\f3e5";
    font-weight: 900;
    font-size: 1rem
}

.messagelist td.subject span.msgicon.status.replied.forwarded:after {
    content: "\f064";
    font-weight: 900;
    font-size: 1rem;
    opacity: .5;
    margin: 0 -.1em 0 -1.25em
}

.messagelist span.attachment span {
    display: none;
}

.messagelist span.attachment span:before {
    margin: 0;
    content: "\f0c6"
}

.messagelist span.attachment span.report:before {
    content: "\f15c";
    font-weight: 400
}

.messagelist span.attachment span.encrypted:before {
    content: "\f023"
}

.messagelist span.attachment span.vcard:before {
    content: "\f007";
    font-weight: 400
}

.messagelist span.flagged:before {
    content: "\f024"
}

.messagelist tr.flaggedroot:not(:hover) span.unflagged:before {
    content: "\f024";
    color: rgba(115, 118, 119, .75)
}

.messagelist span.size {
    display: none
}

.messagelist.sort-size span.date {
    display: none
}

.messagelist.sort-size span.size {
    display: inline
}

/* Bandera: solo visible al pasar el ratón sobre la fila */
.messagelist td.flags span.unflagged:before {
    content: "\f024";
    font-family: Icons;
    font-style: normal;
    font-weight: 400;
    font-size: 1.25em;
    display: block;
    float: left;
    margin: 0 .25rem 0 0;
    width: 1.18em;
    height: 1em;
    text-align: center;
    color: var(--font2);
    opacity: 0;
    -webkit-font-smoothing: antialiased;
}

.messagelist tr:hover td.flags span.unflagged:before {
    opacity: 1;
}

.messagelist td.flags span.unflagged:hover:before {
    color: var(--t6);
}

html.layout-phone .messagelist tr,
html.touch .messagelist tr {
    position: relative;
    display: flex
}

html.layout-phone .messagelist td.selection,
html.layout-phone .messagelist td.threads,
html.touch .messagelist td.selection,
html.touch .messagelist td.threads {
    line-height: 3.8em
}

html.layout-phone .messagelist td.flags,
html.touch .messagelist td.flags {
    position: absolute;
    top: .25rem;
    right: 0;
    bottom: 0;
    background-color: transparent
}

html.layout-phone .messagelist td.flags .flag,
html.touch .messagelist td.flags .flag {
    visibility: hidden
}

html.layout-phone .messagelist td.subject,
html.touch .messagelist td.subject {
    padding-right: .5em
}

html.layout-phone .messagelist td.subject .subject,
html.touch .messagelist td.subject .subject {
    padding-right: 1.5rem
}

/* ---------- Contactos y adjuntos ---------- */

.contactlist .contact.readonly td {
    font-style: italic
}

.contactlist td.contact:before {
    content: "\f007"
}

.contactlist td.contactgroup:before {
    content: "\f0c0"
}

.contactlist span.email {
    display: inline;
    color: var(--font2);
    font-style: italic;
    margin-left: .5em
}

.contactlist li a:before {
    margin-right: .5rem
}

.contactlist li a.addressbook::before {
    content: "\f2b9";
    font-weight: 400
}

.contactlist li a.contactgroup::before {
    content: "\f0c0";
    font-weight: 900
}

.attachmentslist {
    padding: 0;
    margin: 0;
    background-color: var(--background2);
    border: 1px solid var(--background3);
}

.attachmentslist:empty {
    padding: 0;
    border: 0
}

.attachmentslist li {
    list-style: none;
    display: inline-flex;
    white-space: nowrap;
    line-height: 2rem;
    padding: 0 .25em;
    max-width: 100%
}

.attachmentslist li:before {
    content: "\f15b";
    font-weight: 400;
    height: 2rem;
    margin: 0
}

.attachmentslist li.text:before,
.attachmentslist li.txt:before {
    content: "\f15c";
    font-weight: 400
}

.attachmentslist li.pdf:before {
    content: "\f1c1";
    font-weight: 400
}

.attachmentslist li.doc:before,
.attachmentslist li.docx:before,
.attachmentslist li.msword:before,
.attachmentslist li.odt:before {
    content: "\f1c2";
    font-weight: 400
}

.attachmentslist li.msexcel:before,
.attachmentslist li.ods:before,
.attachmentslist li.xls:before,
.attachmentslist li.xlsx:before {
    content: "\f1c3";
    font-weight: 400
}

.attachmentslist li.gz:before,
.attachmentslist li.rar:before,
.attachmentslist li.zip:before {
    content: "\f1c6";
    font-weight: 400
}

.attachmentslist li.image:before,
.attachmentslist li.jpeg:before,
.attachmentslist li.jpg:before,
.attachmentslist li.png:before {
    content: "\f1c5";
    font-weight: 400
}

.attachmentslist li.audio:before,
.attachmentslist li.mp3:before {
    content: "\f1c7";
    font-weight: 400
}

.attachmentslist li.m4p:before,
.attachmentslist li.video:before {
    content: "\f1c8";
    font-weight: 400
}

.attachmentslist li.vcard:before {
    content: "\f2bb";
    font-weight: 400
}

.attachmentslist li.html:before {
    content: "\f1c9";
    font-weight: 400
}

.attachmentslist li.odp:before,
.attachmentslist li.otp:before,
.attachmentslist li.ppsx:before,
.attachmentslist li.ppt:before,
.attachmentslist li.pptx:before,
.attachmentslist li.vnd.mspowerpoint:before {
    content: "\f1c4";
    font-weight: 400
}

.attachmentslist li a {
    text-decoration: none;
    line-height: 2rem;
    height: 2rem
}

.attachmentslist li a.cancelupload:before,
.attachmentslist li a.delete:before {
    content: "\f2ed";
    line-height: 2rem;
    height: 2rem;
    margin: 0
}

.attachmentslist li a.dropdown:before {
    margin: 0
}

.attachmentslist li.uploading:before {
    -webkit-animation: spinner-border 1.5s infinite linear;
    animation: spinner-border 1.5s infinite linear;
    content: "\f1ce";
    font-weight: 900
}

.attachmentslist li a.filename {
    display: flex;
    overflow: hidden;
    padding: 0 .2em
}

.attachmentslist li .attachment-name {
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--font);
}

.attachmentslist li .attachment-size {
    color: var(--font2);
    padding-left: .25em
}

.keylist {
    padding: 0;
    list-style: none
}

.keylist li {
    line-height: 2
}

.keylist li:before {
    content: "\f084";
    line-height: 1.5
}

#identities-table td.mail:before {
    content: "\f2c2"
}

#responses-table td.name:before {
    content: "\f075"
}

#filterslist td.name:before {
    content: "\f0b0"
}

#filtersetslist td.name:before {
    content: "\f15c"
}

#subscription-table li.mailbox a {
    padding-right: 2.5rem
}

#uploadform {
    display: none
}

form.smart-upload,
input.smart-upload {
    visibility: hidden;
    width: 1px;
    height: 1px;
    opacity: 0
}

/* ---------- Formularios ---------- */

.propform:not(.popupmenu) {
    width: 100%
}

.propform .form-check td:not(.title)>label {
    display: block;
    margin: 0;
    line-height: 2rem
}

.propform .form-check td:not(.title)>label label {
    margin-right: .5rem
}

.propform td.datetime {
    display: flex
}

.propform td.datetime input:first-child {
    margin-right: .5rem
}

.propform td.datetime input:last-child {
    width: 75%
}

.propform td.rowbuttons {
    width: 1%;
    white-space: nowrap;
    vertical-align: top
}

.propform td.rowbuttons span {
    display: none
}

.propform td.rowbuttons a {
    padding: 0;
    line-height: 2.3rem;
    height: 2.3rem;
    font-size: 1rem
}

.propform td.rowbuttons a:before {
    content: "\f067";
    vertical-align: unset
}

@media screen and (min-width:577px) {
    .propform td.rowbuttons a:before {
        margin: 0 !important
    }
}

.propform td.rowbuttons a.delete:before {
    content: "\f2ed"
}

.propform td.rowbuttons a.advanced:before {
    content: "\f013"
}

.propform td.rowbuttons a:not(:last-child) {
    margin-right: .25rem
}

.propform td.rowactions {
    width: 1%;
    vertical-align: top
}

.propform td.rowactions .form-control {
    width: auto
}

.propform td.rowtargets {
    vertical-align: top
}

.propform td.rowtargets .composite .input-group,
.propform td.rowtargets .composite .multi-input,
.propform td.rowtargets .composite input,
.propform td.rowtargets .composite select,
.propform td.rowtargets .composite textarea {
    margin-bottom: .5rem
}

.propform td.rowtargets .composite .input-group .multi-input,
.propform td.rowtargets .composite .input-group input,
.propform td.rowtargets .composite .input-group select,
.propform td.rowtargets .composite .input-group textarea {
    margin-bottom: 0
}

.propform td.rowtargets .composite br {
    display: block
}

.propform td.rowtargets .input-group {
    margin-bottom: .25rem
}

.propform td.rowtargets .input-group :first-child.input-group-prepend {
    text-align: left;
    min-width: 7.5em
}

.propform td.rowtargets .input-group :first-child.input-group-prepend>* {
    width: 100%
}

.propform td.rowtargets>.advanced {
    margin-top: .25rem
}

.propform td.title {
    padding-top: 0;
    padding-bottom: 0
}

.propform td>.flexbox {
    display: flex
}

.propform td>.flexbox>.multi-input {
    width: 100%;
    margin-left: .25rem
}

.propform.grouped.readonly legend {
    margin: 0
}

.propform.grouped.readonly .row.input-group {
    margin-bottom: 0 !important
}

.propform.grouped.readonly label {
    min-width: 7rem;
    background-color: transparent;
    border: 0;
    border-radius: 0
}

.propform.grouped .row.input-group {
    margin-bottom: .5rem;
    flex-wrap: nowrap
}

.propform.grouped .row.input-group>:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 8rem
}

.propform.grouped .row.input-group>:first-child:not(select) {
    padding: 0
}

@media screen and (max-width:480px) {
    .propform.grouped .row.input-group>:first-child {
        min-width: 6rem;
        width: 6rem;
        flex-grow: unset
    }
}

.propform.grouped .row.input-group>:first-child label {
    width: 100%
}

.propform.grouped .row.input-group>:nth-child(2) {
    flex-grow: 30
}

.propform.grouped .row.input-group:last-child {
    margin-bottom: 1rem
}

.propform.grouped .row.input-group select {
    text-align: left
}

.propform.grouped .row.input-group.composite select {
    height: auto
}

.propform.grouped .row.input-group .content {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    border-radius: 0;
    border-left-color: transparent
}

.propform.grouped .row.input-group .content input {
    border-radius: 0;
    border-color: transparent
}

.propform.grouped .row.input-group .content .ff_street {
    width: 100%
}

.propform.grouped .row.input-group .content .ff_locality {
    width: 75%
}

.propform.grouped .row.input-group .content .ff_zipcode {
    width: 25%
}

.propform.grouped .row.input-group .content .ff_country,
.propform.grouped .row.input-group .content .ff_region {
    width: 50%
}

.propform.grouped .form-control-plaintext {
    flex-grow: 1;
    border: 0
}

.propform .addfield {
    margin: 0
}

.propform .addfield select {
    width: fit-content;
    margin-top: .5rem
}

.propform .form-text {
    font-size: 90%;
    color: var(--font2);
}

.propform.row.form-group {
    margin-left: 0;
    margin-right: 0
}

.propform.row.form-group div,
.propform.row.form-group label {
    padding-left: 0;
    padding-right: 0
}

.propform select+.input-group,
.propform select+select {
    padding-top: .5rem
}

.propform.text-only {
    margin-bottom: .25rem
}

.propform.text-only tr {
    margin: 0
}

.propform.text-only label {
    padding-bottom: 0 !important
}

@media screen and (max-width:576px) {
    .propform.text-only tr {
        display: table-row
    }

    .propform.text-only td {
        width: auto
    }

    .propform.text-only td:first-child {
        width: 33%
    }

    .propform.text-only :not(tr).form-group.row .col-form-label {
        width: 33%
    }

    .propform.text-only :not(tr).form-group.row>:last-child {
        width: 67%
    }
}

@media screen and (max-width:576px) {

    .propform table.compact-table .flexbox>select,
    .propform table.compact-table .rowactions>select {
        width: 100%
    }

    .propform table.compact-table tr {
        display: flex;
        flex-direction: column
    }

    .propform table.compact-table tr td {
        width: 100%;
        padding: .25rem 0 0 0
    }

    .propform table.compact-table tr td.rowbuttons {
        text-align: right;
        padding-top: 0
    }

    .propform table.compact-table tr td.rowbuttons a {
        margin-left: .5rem
    }

    .propform table.compact-table tr td.rowbuttons a>span {
        display: inline
    }
}

.formcontent fieldset:not(.tab-pane):nth-of-type(n+2),
.propform fieldset:not(.tab-pane):nth-of-type(n+2) {
    margin-top: 1em
}

.formcontent legend,
.propform legend {
    font-weight: 700;
    font-size: 1.2em
}

.formcontent label,
.propform label {
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    overflow: hidden;
    margin-bottom: 0
}

fieldset.advanced>legend {
    width: auto;
    cursor: pointer
}

fieldset.advanced>legend:after {
    float: right;
    margin: 0 0 0 .25rem;
    line-height: inherit;
    font-size: inherit;
    content: "\f106"
}

fieldset.advanced>legend.closed:after {
    content: "\f107"
}

@media screen and (max-width:576px) {
    .formcontent .text-only .form-group:not(tr) {
        margin-bottom: .25rem
    }

    .formcontent .text-only .form-group:not(tr) .col-form-label {
        width: 33%
    }

    .formcontent .text-only .form-group:not(tr) .col-form-label+span {
        width: 67%
    }

    html.iframe .formcontent>.propform {
        padding: .25rem
    }
}

html.ms .propform .row:not(.form-check)>td {
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width:576px) {
    html.ms .propform .row.form-check>td {
        display: flex
    }
}

.formcontainer {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow-y: hidden !important;
    background-color: var(--background2);
}

.formcontainer .formcontent {
    overflow-x: hidden;
    overflow-y: auto
}

.formcontainer .formbuttons {
    padding: .5rem 1rem
}

.formcontainer .formbuttons button {
    margin-right: .5rem
}

html.iframe.ipad .formcontainer .formbuttons,
html.iframe.webkit.tablet .formcontainer .formbuttons {
    min-height: 4rem
}

html.layout-phone .formcontainer,
html.layout-small .formcontainer {
    display: initial;
    overflow-y: auto !important
}

html.layout-phone .formcontainer .formcontent,
html.layout-small .formcontainer .formcontent {
    overflow: initial !important
}

html.layout-phone .formcontainer .formbuttons,
html.layout-small .formcontainer .formbuttons {
    display: none
}

.formcontent:not(.popupmenu) {
    padding: 1rem;
    background-color: var(--background2);
}

.formcontent .row {
    margin-right: 0;
    margin-left: 0
}

.formcontent .row .col,
.formcontent .row .col-10,
.formcontent .row .col-12,
.formcontent .row .col-2,
.formcontent .row .col-4,
.formcontent .row .col-6,
.formcontent .row .col-8,
.formcontent .row .col-sm,
.formcontent .row .col-sm-10,
.formcontent .row .col-sm-12,
.formcontent .row .col-sm-2,
.formcontent .row .col-sm-4,
.formcontent .row .col-sm-6,
.formcontent .row .col-sm-8 {
    padding: 0
}

.formcontent .row .form-control-plaintext,
.formcontent .row label.col-form-label {
    padding: 5px 5px 5px 0
}

.formcontent .row .form-control-plaintext {
    padding-bottom: 0;
    border: 0
}

@media screen and (max-width:576px) {
    .formcontent .row.form-group>td label {
        padding-bottom: 0
    }
}

.formcontent .row.form-check {
    padding: 0;
    display: flex;
    flex-wrap: nowrap
}

@media screen and (max-width:576px) {
    .formcontent .row.form-check .col-6 {
        max-width: 100%;
        flex: auto
    }

    .formcontent .row.form-check>:last-child {
        width: 1%;
        min-width: 2.6rem
    }

    .formcontent .row.form-check.with-link>:last-child {
        min-width: 8rem
    }
}

.formcontent .row.form-check .form-check-input {
    margin: .5rem 0
}

.formcontent .row.form-check .custom-switch+a {
    line-height: 2;
    vertical-align: bottom
}

.formcontent .row.form-check td>label {
    padding-bottom: 0
}

.formcontent .nav-tabs {
    margin-bottom: 1rem
}

.formcontent .nav-tabs:empty {
    display: none
}

.formcontent .hint {
    font-style: italic;
    color: var(--font2);
}

.formcontent.raweditor {
    height: 100%
}

.formcontent.raweditor form {
    height: 100%
}

.formcontent.raweditor textarea {
    font-family: monospace;
    height: 100%
}

.formcontent.raweditor .CodeMirror {
    border: 1px solid var(--bordercolor);
    border-radius: .3rem;
    height: 100%;
    color: var(--font);
}

.formcontent.raweditor .CodeMirror-focused {
    border-color: var(--t5);
    box-shadow: 0 0 0 .2rem var(--t3);
}

.formcontent.raweditor .CodeMirror-linebackground.line-error {
    background-color: #ff5552;
    opacity: .4
}

.formcontent.raweditor .errorGutter {
    width: .8em
}

@media screen and (max-width:320px) {
    .formcontent .col-form-label {
        flex: auto;
        max-width: 100%
    }

    .formcontent .col-10,
    .formcontent .col-6,
    .formcontent .col-8 {
        flex: auto;
        max-width: 100%
    }
}

.input-group .icon {
    text-decoration: none;
    padding: 5px .5rem
}

.input-group .icon.input-group-text {
    min-width: 2.4rem;
    display: none;
}

.input-group .icon:before {
    margin: 0 !important;
    line-height: 1;
    font-size: 1.1rem
}

.input-group .icon.user:before {
    content: "\f007"
}

.input-group .icon.pass:before {
    content: "\f023"
}

.input-group .icon.host:before {
    content: "\f015"
}

.input-group .icon.language:before {
    content: "\f0ac"
}

.input-group .icon.cancel:before {
    content: "\f00d"
}

.input-group .icon.delete:before {
    content: "\f2ed"
}

.input-group .icon.edit:before {
    content: "\f303"
}

.input-group .icon.add:before {
    content: "\f067"
}

.input-group .icon.add.recipient:before {
    content: "\f0c0"
}

.input-group .icon.search:before {
    content: "\f002"
}

.input-group .icon.filter:before {
    content: "\f0b0"
}

.input-group .icon.key:before {
    content: "\f084"
}

.input-group .icon .inner {
    display: none
}

.input-group a:focus {
    background-color: color-mix(in srgb, var(--t5) 25%, transparent);
    outline: 0;
}

.proplist {
    margin-bottom: 0;
    padding: 0
}

.proplist li {
    list-style-type: none;
    line-height: 2rem;
    margin-bottom: .25rem;
    display: flex;
    align-items: center
}

.proplist li:last-child {
    margin-bottom: 0
}

.proplist li input[type=radio] {
    margin-right: .5em
}

.proplist li input[type=radio]:disabled+label {
    opacity: .5
}

.proplist li label:not(.input-group-text) {
    margin: 0;
    line-height: 2rem
}

.proplist li select {
    width: auto;
    display: inline
}

.proplist li.with-sublist {
    flex-wrap: wrap;
    position: relative
}

.proplist li.with-sublist>:first-child {
    width: 100%;
    margin-right: 2em
}

.proplist li.with-sublist>.proplist {
    margin-left: 2.5rem
}

.proplist li.with-sublist>a.dropdown {
    position: absolute;
    right: 0;
    top: 0;
    height: 2em;
    color: #2c363a
}

.checklist>div {
    line-height: 2rem;
    display: block
}

.checklist .custom-control-label:after,
.checklist .custom-control-label:before {
    margin: calc(2px * -1) 0 0 0
}

.checklist>div+br {
    display: none
}

.popup form.propform {
    padding: .25rem;
    overflow-x: hidden
}

.popupmenu.form.nolist {
    padding: 0 .5rem
}

.popupmenu.form ul {
    list-style-type: none;
    padding: 0;
    margin: 0
}

.popupmenu.form li:not(.separator) {
    padding: 0 1rem
}

.popupmenu.form li:not(.separator) label {
    margin: 0;
    line-height: 35px
}

.popupmenu.form li:not(.separator) label input {
    margin-right: .5rem
}

.popupmenu.form input {
    vertical-align: middle
}

.popupmenu.form select {
    margin: .5rem 0
}

.popupmenu.form .buttons {
    text-align: center;
    padding: .5rem
}

.multi-input>.content {
    max-height: 11.65em;
    overflow: hidden;
    overflow-y: auto;
    border-radius: .25rem;
    border: 1px solid var(--bordercolor);
}

.multi-input>.content.focused {
    border-color: var(--t5) !important;
    box-shadow: 0 0 0 .2rem var(--t4);
}

.multi-input a.icon.reset:before {
    content: "\f2ed"
}

.multi-input input.form-control {
    padding-left: .75rem;
    height: auto
}

.multi-input .input-group-text,
.multi-input input,
.multi-input input:focus {
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid var(--bordercolor);
    box-shadow: none
}

.multi-input .input-group-text {
    border-left: 1px solid var(--bordercolor);
}

.multi-input .input-group-append {
    margin-left: 0
}

.multi-input .input-group {
    margin: 0 !important;
    flex-wrap: nowrap
}

.multi-input .input-group:last-child * {
    border-bottom: 0
}

.multi-input+.btn {
    margin-top: .5rem
}

.multi-input.is-invalid>.content {
    border: 1px solid #ff5552
}

.multi-input.is-invalid>.content.focused {
    border-color: #ff5552;
    box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .25)
}

.multi-input.is-invalid>.invalid-feedback {
    display: inline-block;
    line-height: 1.5
}

.file-upload {
    padding: 1rem 1rem 12rem;
    margin: 0 1rem .25rem 1rem;
    border-radius: .5rem;
    border: .2rem dashed var(--t3) !important;
}

fieldset .file-upload {
    margin: 0
}

.file-upload .upload-form {
    text-align: center;
    padding-bottom: 1em
}

.file-upload .upload-form a.btn,
.file-upload .upload-form button {
    margin-bottom: .25rem;
    background-color: var(--t5) !important;
    border-color: var(--t5) !important;
}

.file-upload .hint {
    margin-bottom: .5rem;
    color: var(--font);
    text-align: center
}

.file-upload .attachmentslist {
    border: 0;
    background: 0 0
}

.file-upload .attachmentslist li {
    position: relative;
    display: flex;
    padding-right: 1.5em;
    margin: .15em 0
}

.file-upload .attachmentslist li a.filename {
    flex: 1
}

.file-upload .attachmentslist li a.cancelupload,
.file-upload .attachmentslist li a.delete {
    position: absolute;
    right: .25em;
    width: auto
}

.file-upload .attachmentslist li a.dropdown {
    margin-right: .5em
}

.file-upload .attachmentslist li .inner {
    display: none
}

.file-upload.droptarget {
    padding-bottom: .5rem !important
}

.file-upload.droptarget:after {
    content: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20960%20560%22%3E%0A%3Cpath%20fill%3D%22%23d4dbde%22%20d%3D%22M690%20245c0%209.2-3.5%2017.9-10.1%2024.9l-175%20175c-6.6%206.6-15.3%2010.1-24.9%2010.1-9.2%200-18.4-3.5-24.9-10.1l-175-175c-6.6-7-10.1-15.8-10.1-24.9%200-4.4.9-9.2%202.6-13.6C277.9%20218.3%20291%20210%20305%20210h87.5V35c0-19.2%2015.8-35%2035-35h105c19.2%200%2035%2015.8%2035%2035v175H655c14%200%2027.1%208.3%2032.4%2021.4%201.7%204.4%202.6%209.2%202.6%2013.6zm0%20245H270V350h-70v140c0%2038.5%2031.5%2070%2070%2070h420c38.5%200%2070-31.5%2070-70V350h-70v140z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
    width: 10rem;
    margin: 5rem auto 0 auto;
    display: block
}

.file-upload.droptarget.active {
    border-color: var(--t7);
}

.file-upload.droptarget.hover {
    border-color: var(--t6);
    background-color: var(--t3);
}

.recipient-input {
    display: flex;
    flex-wrap: wrap;
    padding: 0 .75rem 4px .75rem;
    list-style-type: none;
    cursor: text;
    height: auto
}

/* .recipient-input.focus {
    border-color: var(--t5) !important;
    box-shadow: 0 0 0 .2rem var(--t3) !important;
} */
.recipient-input.focus {
    border-color: color-mix(in srgb, var(--t5) 25%, transparent) !important;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--t3) 25%, transparent) !important;
}

.recipient-input li {
    max-width: 100%
}

.recipient-input li:not(.recipient) {
    user-select: text
}

.recipient-input li.input {
    flex: 1;
    min-width: 100px
}

.recipient-input input {
    width: 100%;
    background: 0 0 !important;
    border: 0 !important;
    margin-top: 4px;
    outline: 0;
    line-height: 1.5;
    color: var(--font);
}

.recipient-input input::-ms-clear {
    display: none
}

.recipient-input li.recipient,
body>li.recipient.ui-sortable-helper {
    display: flex;
    position: relative;
    max-width: calc(50% - 3px);
    border: 1px solid var(--bordercolor);
    background-color: var(--background2);
    color: var(--font);
    border-radius: .25rem;
    padding: 0 .25rem;
    margin-top: 4px;
    margin-right: .2em;
    white-space: nowrap;
    cursor: default;
}

@media screen and (max-width:450px) {

    .recipient-input li.recipient,
    body>li.recipient.ui-sortable-helper {
        width: 100%;
        max-width: 100%
    }
}

.recipient-input li.recipient .name,
body>li.recipient.ui-sortable-helper .name {
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    line-height: 1.1;
    padding: 3px;
    vertical-align: middle
}

.recipient-input li.recipient .email,
body>li.recipient.ui-sortable-helper .email {
    text-indent: -5000rem;
    display: inline-block;
    width: 0
}

.recipient-input li.recipient .quotes,
body>li.recipient.ui-sortable-helper .quotes {
    position: absolute;
    width: 0;
    opacity: 0
}

.recipient-input li.recipient a.button.icon,
body>li.recipient.ui-sortable-helper a.button.icon {
    font-size: .75em;
    cursor: pointer;
    padding: 0;
    color: var(--font);
}

.recipient-input li.recipient a.button.icon:before,
body>li.recipient.ui-sortable-helper a.button.icon:before {
    display: inline-block;
    width: 1em;
    line-height: 1.6
}

.recipient-input li.recipient.ui-sortable-helper,
body>li.recipient.ui-sortable-helper.ui-sortable-helper {
    padding: 0 0 0 .25rem !important
}

.tagedit-list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 .75rem 4px .75rem;
    margin: 0;
    list-style-type: none;
    min-height: 2.3rem
}

.tagedit-list+.placeholder {
    display: none
}

.tagedit-list[tabindex="-1"] {
    border-color: var(--t5) !important;
    box-shadow: 0 0 0 .2rem var(--t3) !important;
}

.tagedit-list li.tagedit-listelement-new {
    margin-top: 4px
}

.tagedit-list li.tagedit-listelement-new input {
    width: 15px;
    background: 0 0 !important;
    border: 0;
    outline: 0;
    margin: 0;
    padding: 0;
    line-height: 1.5
}

.tagedit-list li.tagedit-listelement-new input.tagedit-input-disabled {
    visibility: hidden
}

.tagedit-list li.tagedit-listelement-old {
    max-width: 50%;
    border: 1px solid var(--bordercolor);
    background-color: var(--background2);
    border-radius: .25em;
    margin-top: 4px;
    margin-right: .2em;
    white-space: nowrap
}

.tagedit-list li.tagedit-listelement-old a {
    font-size: .8em;
    cursor: pointer;
    display: inline-block;
    width: 1.1em;
    overflow: hidden;
    vertical-align: middle;
    margin-right: .2rem;
    color: inherit;
    text-decoration: none
}

.tagedit-list li.tagedit-listelement-old a:before {
    content: "\f00d";
    width: 1em;
    line-height: 1.2
}

.tagedit-list li.tagedit-listelement-old span {
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    display: inline-block;
    line-height: 1.4;
    padding: 0 .25rem;
    vertical-align: middle
}

.skinselection {
    white-space: nowrap;
    display: table-row
}

.skinselection>span {
    display: table-cell;
    vertical-align: middle;
    padding: .1em .5em;
    white-space: normal
}

.skinselection>span:last-child {
    padding-right: 0
}

.skinselection .skinitem input {
    width: auto
}

.skinselection .skinname {
    font-weight: 700
}

.skinselection .skinlicense,
.skinselection .skinlicense a {
    font-style: italic;
    text-decoration: none
}

.skinselection .skinlicense a:hover {
    text-decoration: underline
}

.skinselection .skinauthor,
.skinselection .skinlicense {
    font-size: 90%
}

.skinselection .skinthumbnail {
    width: 64px;
    height: 64px;
    border: 1px solid var(--bordercolor);
    background-color: var(--background);
    border-radius: 4px
}

.input-percent-slider {
    display: flex;
    align-items: center
}

.input-percent-slider input {
    max-width: 4em
}

.input-percent-slider span.label {
    line-height: 2.4;
    padding: 0 .5rem 0 .25rem
}

.input-percent-slider div.ui-slider {
    flex: 1;
    margin: 0 .5em
}

.image-upload {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background-color: var(--background3);
}

.image-upload a.button {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--background3) !important;
    border-radius: 5px;
    width: 2.5em;
    padding: .5em;
    margin: .5em;
    line-height: 1
}

.image-upload.changed a.button {
    display: inline
}

.input-group-combo select:first-of-type.alone {
    border-radius: .25rem !important
}

.input-group-combo select:first-of-type:not(.alone) {
    flex: unset;
    width: auto
}

.input-group-combo .input-group {
    padding: 0 !important;
    flex: 2
}

.input-group-combo .input-group :first-child,
.input-group-combo select+select {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

@-moz-document url-prefix() {
    select:-moz-focusring {
        color: transparent !important;
        text-shadow: 0 0 0 var(--font) !important
    }
}

.form-control {
    color: var(--font);
}

.form-control.custom-select {
    padding-right: 1.75rem;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px
}

.form-control:focus {
    color: var(--font);
    border-color: color-mix(in srgb, var(--t5) 25%, transparent);
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--t3) 25%, transparent);
}

.form-control.is-invalid {
    border-color: #ff5552;
    box-shadow: none
}

.form-control.is-invalid:focus {
    border-color: #ff5552;
    box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .25)
}

.form-control::placeholder {
    color: #bbb
}

.form-control::-ms-input-placeholder,
.form-control::-webkit-input-placeholder {
    color: #bbb
}

.invalid-feedback {
    color: #ff5552;
    font-size: 90%
}

.form-group {
    margin-bottom: .5rem
}

.input-group-append.input-group-prepend {
    display: inline
}

.input-group-text {
    color: var(--font);
    background-color: var(--background2);
}

.input-group-text input:focus {
    z-index: 1;
    border-color: var(--t5) !important;
}

.custom-switch {
    padding-left: 0;
    display: inline-block
}

.custom-switch .custom-control-input {
    left: 0;
    opacity: 0 !important
}

.custom-switch .custom-control-input:focus~.custom-control-label:before {
    /* box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25) */
    box-shadow: 0 0 0 .2rem var(--sel-bg)
}

.custom-switch .custom-control-input:focus:not(:checked)~.custom-control-label::before {
    border-color: var(--t5) !important;
}

.custom-switch .custom-control-input:checked~.custom-control-label::before {
    border-color: var(--t5) !important;
    background-color: var(--t5);
}

.custom-switch .custom-control-input:checked:disabled~.custom-control-label::before {
    border-color: var(--t6);
    background-color: var(--t6);
}

.custom-switch .custom-control-label {
    padding-left: 2.5rem;
    min-height: 2rem;
    line-height: 2;
    display: inline-block
}

html.touch .custom-switch .custom-control-label {
    padding-left: 3rem
}

.custom-switch .custom-control-label:after,
.custom-switch .custom-control-label:before {
    border-radius: .6rem;
    margin: 2px 0
}

html.touch .custom-switch .custom-control-label:after,
html.touch .custom-switch .custom-control-label:before {
    border-radius: .8rem;
    margin: 0
}

.custom-switch .custom-control-label:before {
    left: 2px;
    top: 4px;
    width: 26px;
    height: 16px
}

html.touch .custom-switch .custom-control-label:before {
    top: 2px;
    width: 35px;
    height: 22px
}

.custom-switch .custom-control-label:after {
    left: 4px;
    top: 6px;
    width: 12px;
    height: 12px
}

html.touch .custom-switch .custom-control-label:after {
    top: 4px;
    height: 18px;
    width: 18px
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
    transform: translateX(10px)
}

html.touch .custom-switch .custom-control-input:checked~.custom-control-label::after {
    transform: translateX(13px)
}

.custom-switch .custom-control-input:not(:disabled)~.custom-control-label:after,
.custom-switch .custom-control-input:not(:disabled)~.custom-control-label:before {
    cursor: pointer
}

.custom-file {
    display: block
}

.custom-file .custom-file-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 100px
}

.custom-file+.hint {
    margin-top: 3px
}

.custom-file-input:focus~.custom-file-label {
    border-color: var(--t5) !important;
    box-shadow: 0 0 0 .2rem var(--t3) !important;
}

/* ---------- Editor HTML (TinyMCE) ---------- */

div.tox {
    font-size: 1rem
}

div.tox.tox-tinymce {
    border-radius: .25rem;
    border: 1px solid var(--bordercolor);
}

div.tox.focused {
    /* border-color: var(--t5) !important;
    box-shadow: 0 0 0 .2rem var(--t3) !important; */
    border-color: color-mix(in srgb, var(--t5) 25%, transparent) !important;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--t3) 25%, transparent) !important;
}

div.tox .tox-toolbar-overlord {
    z-index: 1
}

/* El color de la barra del editor lo define la sección 8 (--editor-toolbar-bg) */
div.tox .tox-toolbar__primary {
    border-top: 0
}

div.tox .tox-edit-area {
    border: 0
}

div.tox .tox-dialog {
    border-radius: 0;
    border-color: var(--bordercolor);
    box-shadow: none;
    align-self: unset !important
}

div.tox .tox-dialog .tox-form__group {
    margin-top: 0;
    margin-bottom: .75rem
}

div.tox .tox-dialog .tox-dialog__body-nav-item--active {
    color: var(--t5);
    border-color: transparent
}

div.tox .tox-dialog .tox-dialog__body-nav-item--active:hover {
    color: var(--t5);
}

div.tox .tox-dialog__body-content {
    overflow: unset
}

div.tox .tox-dialog__content-js {
    overflow: auto
}

div.tox .tox-dialog-wrap__backdrop {
    background-color: rgba(44, 54, 58, .5)
}

div.tox .tox-dialog__header {
    height: 57px;
    border-bottom: 1px solid var(--bordercolor);
    justify-content: flex-end;
    padding: 0
}

div.tox .tox-dialog__header .tox-button {
    color: var(--font);
    right: 0;
    height: 57.3px;
    width: 2.25em;
    margin-right: .4rem
}

div.tox .tox-dialog__header .tox-button:hover {
    background: 0 0;
    border-color: transparent
}

div.tox .tox-dialog__header .tox-button .tox-icon {
    display: none
}

div.tox .tox-dialog__header .tox-button:before {
    content: "\f00d";
    line-height: 1.5rem;
    margin: 0 !important
}

div.tox .tox-dialog__footer {
    height: 57px !important;
    border: 0;
    margin: 0;
    padding: 0 1rem
}

@media screen and (max-width:480px) {
    div.tox .tox-dialog__footer {
        border-top: 1px solid var(--bordercolor);
    }
}

div.tox .tox-dialog__footer>div {
    white-space: nowrap;
    max-height: 57px
}

div.tox .tox-dialog__footer>div button:first-child {
    margin: 0
}

div.tox .tox-dialog__footer .tox-button {
    color: #fff;
    background: var(--t5);
    border-color: var(--t5);
    font-weight: 400;
    padding: .5rem .75rem
}

div.tox .tox-dialog__footer .tox-button:focus {
    background: var(--t5);
    border-color: var(--t5);
    box-shadow: 0 0 0 .2rem var(--t6);
}

div.tox .tox-dialog__footer .tox-button:hover {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .tox-dialog__footer .tox-button.disabled,
div.tox .tox-dialog__footer .tox-button:disabled {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled).active,
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled):active {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 .2rem var(--t6);
}

div.tox .tox-dialog__footer .tox-button:before {
    width: 1em;
    content: "\f00c";
    line-height: 1
}

div.tox .tox-dialog__footer .tox-button:focus:not(:disabled) {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary {
    background: #8b9fa7;
    border-color: #8b9fa7;
    color: #fff
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:focus {
    background: #7c939c;
    border-color: #778e98;
    box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .5)
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:hover {
    background: #7c939c;
    border-color: #778e98
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary.disabled,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:disabled {
    background: #8b9fa7;
    border-color: #8b9fa7
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled).active,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled):active {
    background: #6e8791;
    border-color: #6a828b
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .53)
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:before {
    content: "\f00d"
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:focus:not(:disabled) {
    background: #a7a78b;
    border-color: #8b9fa7
}

div.tox .tox-search-dialog .tox-form__group:not(:first-child) {
    flex: initial !important
}

div.tox .tox-search-dialog .tox-dialog__footer-start button {
    padding: .25rem
}

div.tox .tox-search-dialog .tox-dialog__footer-end button:before {
    content: "\f303" !important
}

div.tox .tox-search-dialog .tox-dialog__footer-end button:first-of-type:before {
    content: "\f002" !important
}

div.tox .tox-dialog__title {
    line-height: calc(58px - 1px);
    font-size: 1.25rem;
    font-weight: 700;
    padding: 0 0 0 1rem;
    width: 100%;
    color: var(--font);
}

div.tox .tox-tbtn {
    height: 28px
}

div.tox .tox-tbtn:not(.tox-tbtn--select, .tox-split-button__chevron) {
    width: 32px
}

div.tox .tox-button {
    line-height: 1.5
}

div.tox .tox-label {
    color: var(--font);
    padding-bottom: .25rem
}

/* Roboto se usa aquí a propósito: estos campos ganan al "*" global por especificidad */
div.tox .tox-color-input>input,
div.tox .tox-listboxfield .tox-listbox--select,
div.tox .tox-textarea,
div.tox .tox-textfield {
    /* font-family: Roboto, sans-serif !important; */
    font-size: 14px;
    line-height: 1.5;
    color: var(--font);
    border-radius: .25rem;
    min-height: 0;
    padding: .375rem .75rem
}


/* div.tox .tox-color-input>input:focus,
div.tox .tox-listboxfield .tox-listbox--select:focus,
div.tox .tox-textarea:focus,
div.tox .tox-textfield:focus {
    background: var(--background);
    border-color: var(--t5);
    box-shadow: 0 0 0 .2rem var(--t3);
} */

div.tox .tox-color-input>input:focus,
div.tox .tox-listboxfield .tox-listbox--select:focus,
div.tox .tox-textarea:focus,
div.tox .tox-textfield:focus {
    border-color: color-mix(in srgb, var(--t5) 25%, transparent) !important;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--t3) 25%, transparent) !important;
}

div.tox .tox-listbox__select-label {
    margin: 0
}

div.tox .tox-color-input span {
    top: 5px
}

div.tox .custom-switch {
    position: relative;
    font-size: 1rem;
    margin-top: .15rem
}

div.tox .custom-switch .tox-checkbox__icons {
    display: none
}

div.tox .custom-switch .tox-checkbox__label {
    margin: 0
}

div.tox .image-selector {
    font-size: 1rem
}

div.tox .image-selector button {
    color: #fff;
    background: var(--t6) !important;
    border-color: var(--t6);
    padding: .5rem .75rem;
    line-height: 1.5
}

div.tox .image-selector button:focus {
    background: var(--t5);
    border-color: var(--t5);
    box-shadow: 0 0 0 .2rem var(--t6);
}

div.tox .image-selector button:hover {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .image-selector button.disabled,
div.tox .image-selector button:disabled {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .image-selector button:not(:disabled):not(.disabled).active,
div.tox .image-selector button:not(:disabled):not(.disabled):active {
    background: var(--t5);
    border-color: var(--t5);
}

div.tox .image-selector button:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 .2rem var(--t6);
}

div.tox .tox-form__controls-h-stack div:not(:last-child) {
    flex: 1
}

div.tox .tox-collection__item-label {
    white-space: nowrap
}

@media screen and (max-width:480px) {
    div.tox .tox-dialog {
        margin: 0 !important;
        width: 100% !important;
        height: 100%;
        left: 0 !important;
        top: 0 !important;
        border-width: 0 !important
    }

    div.tox .tox-dialog__header {
        background-color: var(--background3);
    }

    div.tox .tox-dialog__header .tox-button {
        display: none
    }

    div.tox .tox-dialog__title {
        font-size: 1rem;
        text-align: center;
        padding: 0 1rem
    }

    div.tox .tox-dialog__footer {
        background-color: var(--background3);
    }

    div.tox .tox-dialog__footer .tox-button {
        color: var(--font);
        background: 0 0 !important;
        padding: .45rem;
        margin: 0 !important;
        border: 0;
        font-size: 90%
    }

    div.tox .tox-dialog__footer .tox-button:before {
        display: block;
        float: none;
        width: 100%;
        margin: 0;
        line-height: 1.75;
        height: 1.75rem
    }

    div.tox .tox-dialog__footer .tox-button:active,
    div.tox .tox-dialog__footer .tox-button:focus,
    div.tox .tox-dialog__footer .tox-button:hover {
        background: 0 0;
        border: 0;
        box-shadow: none;
        color: var(--font);
    }

    div.tox .tox-dialog__footer>div {
        justify-content: space-evenly;
        display: flex;
        width: 100%
    }

    div.tox .tox-dialog__footer>div:empty {
        display: none
    }
}

.image-selector {
    padding: 1rem .5rem 10rem .5rem !important
}

.image-selector.droptarget {
    border: .2rem dashed var(--bordercolor);
}

.image-selector.droptarget:after {
    margin-top: 2rem
}

.image-selector form {
    position: absolute;
    top: 0
}

.image-selector .attachmentslist {
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    height: 19.1em;
    padding: 0 !important
}

.image-selector .attachmentslist li {
    padding: .25rem;
    cursor: pointer
}

.image-selector .attachmentslist li:before {
    display: none
}

.image-selector .attachmentslist li:focus,
.image-selector .attachmentslist li:hover {
    background-color: var(--background2);
}

.image-selector .attachmentslist li span.name {
    flex: 1;
    margin: auto;
    padding-left: 1rem;
    overflow: hidden;
    text-overflow: ellipsis
}

.image-selector .attachmentslist li span.img {
    height: 80px;
    width: 80px;
    display: flex;
    border: 1px solid var(--background2);
    background-color: var(--background);
    border-radius: .75rem;
    overflow: hidden
}

.image-selector .attachmentslist li img {
    margin: auto
}

html.layout-phone .image-selector .attachmentslist {
    height: auto
}

.html-editor {
    position: relative;
    margin-bottom: .2rem
}

.html-editor .editor-toolbar {
    position: absolute;
    left: 1px;
    top: 1px;
    right: 1px;
    border-radius: .25rem .25rem 0 0;
    border-color: 1px solid var(--bordercolor);
    background-color: var(--background2);
}

.html-editor .editor-toolbar .mce-i-html {
    display: block;
    margin: 2px 2px 2px 4px;
    width: 34px;
    height: 28px;
    border-radius: .25rem;
    color: var(--font);
}

.html-editor .editor-toolbar .mce-i-html:focus,
.html-editor .editor-toolbar .mce-i-html:hover {
    text-decoration: none;
    /* border-color: #e2e4e7; */
    /* background-color: #dee0e2 */
    border-color: var(--backgroundhoverlight);
    background-color: var(--backgroundhover);
}

.html-editor .editor-toolbar .mce-i-html:before {
    content: "\f03e";
    margin: 0;
    width: 34px;
    line-height: 28px
}

.html-editor .editor-toolbar .mce-i-html[disabled] {
    opacity: .7;
    cursor: not-allowed
}

.html-editor .tox-tinymce+.editor-toolbar,
.html-editor.mailvelope .editor-toolbar {
    display: none
}

.html-editor>.googie_edit_layer,
.html-editor>textarea {
    font-family: monospace;
    font-size: 13px;
    width: 100% !important;
    padding-top: 40px
}

.html-editor>iframe {
    border-radius: .3rem;
    border: 1px solid var(--bordercolor);
    min-height: 30em
}

.googie_window {
    width: 16rem;
    height: auto
}

.googie_edit_layer {
    font-family: monospace;
    padding: .5rem .75rem;
    border: 1px solid var(--bordercolor);
    border-radius: .3rem;
    line-height: 1.5
}

.googie_link {
    color: #ff5552;
    text-decoration: underline;
    cursor: pointer
}

.googie_list li {
    min-width: 8rem;
    width: auto
}

.googie_list li.googie_list_onhover {
    color: #fff;
    background-color: var(--t5);
}

.googie_list li .googie_list_revert:before {
    content: "\f0e2"
}

.googie_list li .googie_add_to_dict:before {
    content: "\f0fe"
}

.googie_list input {
    display: inline-block;
    margin: .25rem .5rem
}

/* ---------- Vista de contacto y mensaje ---------- */

#contactpic {
    width: 112px;
    height: 135px;
    border-radius: .5rem;
    overflow: hidden;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background-color: var(--background1);
    /* background-color: var(--background3); */
}

#contactpic img {
    max-width: 112px;
    max-height: 135px
}

#contacthead .names {
    margin-bottom: .5rem
}

#contacthead .names span.namefield {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2
}

#contacthead.readonly .source.row {
    color: var(--font2);
    font-size: 90%;
    margin-bottom: .25rem
}

#message-header {
    margin-bottom: 1rem
}

#message-header>.subject {
    font-size: 1.5rem;
    font-weight: 700
}

body.status-flagged #message-header>.subject:before {
    display: inline;
    float: none;
    content: "\f024";
    font-size: 1em;
    color: var(--t6);
}

#message-header>.subject a.extwin {
    text-decoration: none
}

#message-header>.subject a.extwin:before {
    float: none;
    display: inline-block;
    font-size: 75%;
    line-height: 1.5;
    margin: 0;
    content: "\f360"
}

#message-header>.subject span.inner {
    display: none
}

#message-header>.header {
    display: flex
}

#message-header>.header img.contactphoto {
    margin: 0 1rem 0 0;
    border-radius: 50%;
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    background: var(--background3);
}

#message-header .header-content {
    min-height: 4rem;
    flex: 1
}

#message-header .header-summary {
    margin-top: .25rem
}

#message-header .header-summary>span {
    display: inline-block
}

#message-header .header-headers .header-title {
    white-space: nowrap;
    color: var(--font2);
    font-weight: 700;
    padding-right: 1.25rem;
    vertical-align: top;
    width: 1%;
}

#message-header .header-links {
    margin-top: .25rem
}

#message-header .header-links a {
    font-size: 90%;
    margin-right: .5rem;
    text-decoration: none;
    white-space: nowrap;
    display: inline-block !important
}

#message-header .header-links a:before {
    height: 1.5rem;
    line-height: 1.3
}

#message-header .header-links a.headers-details:before {
    content: "\f0e0"
}

#message-header .header-links a.headers-summary:before {
    content: "\f0e0";
    font-weight: 400
}

#message-header .header-links a.headers-all:before {
    content: "\f05a"
}

#message-header .header-links a.html:before {
    content: "\f03e"
}

#message-header .header-links a.plain:before {
    content: "\f039"
}

#message-header .header-links a.zipdownload:before {
    content: "\f019"
}

/* Se fuerza la visibilidad del resumen, enlaces y foto en la cabecera */
#message-header .header-content,
#message-header .header-content .header-summary,
#message-header .header-content .header-links,
#message-header .contactphoto {
    display: block !important
}

/* Detalles completos de la cabecera: tabla con borde */
#message-header .header-content.details-view .header-summary {
    display: none !important
}

#message-header .header-content.details-view .header-headers {
    display: table !important;
    width: 100%;
    margin-top: .5rem;
    background-color: var(--background2);
    border: 1px solid var(--bordercolor);
    border-radius: .5rem;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

#message-header .header-headers td {
    padding: .5rem 1rem;
    border-bottom: 1px solid var(--bordercolor);
    vertical-align: top;
    color: var(--font);
    font-size: .9rem;
    line-height: 1.4;
}

#message-header .header-headers tr:last-child td {
    border-bottom: 0;
}

@media screen and (max-width: 480px) {

    #message-header .header-content.details-view .header-headers,
    #message-header .header-headers tbody,
    #message-header .header-headers tr,
    #message-header .header-headers td {
        display: block;
        width: 100%;
        border-radius: 0;
    }

    #message-header .header-headers tr {
        border-bottom: 1px solid var(--bordercolor);
        padding: .25rem 0;
    }

    #message-header .header-headers tr:last-child {
        border-bottom: 0;
    }

    #message-header .header-headers td {
        border-bottom: 0;
        padding: .15rem 1rem;
    }
}

.message-partheaders {
    padding: .25rem .5rem;
    margin: .5rem 0 -.5rem 0;
    border-top: 1px solid var(--background3);
    background-color: var(--background2);
}

.message-partheaders table.headers-table {
    font-size: 90%;
    color: var(--font2);
}

.message-partheaders table.headers-table .header-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 8em;
    font-weight: 700;
    padding-right: 1rem;
    vertical-align: top
}

.message-partheaders table.headers-table .subject {
    font-weight: 700
}

.message-partheaders table.headers-table+.message-htmlpart,
.message-partheaders table.headers-table+.message-part {
    border-top: 0;
    margin: 0
}

#message-content .attachmentslist:not(:empty) {
    margin-bottom: 1rem;
    background-color: var(--t0);
}

#messagebody.mailvelope iframe {
    min-height: 75vh
}

.message-htmlpart,
.message-part {
    padding-top: .5rem;
    position: relative
}

.message-htmlpart:not(:first-child),
.message-part:not(:first-child) {
    border-top: 1px solid var(--background3);
    margin-top: .5rem
}

.message-htmlpart:last-child,
.message-part:last-child {
    margin-bottom: .5rem
}

.message-htmlpart div.rcmBody,
.message-part div.rcmBody {
    margin: 0 auto !important;
    overflow: auto hidden
}

.message-htmlpart blockquote,
.message-part blockquote {
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--t5);
    border-left: 2px solid var(--t5);
    border-right: 2px solid var(--t5);
    background-color: var(--t4);
    margin: 2px 0;
    padding: 0 .4em
}

.message-htmlpart blockquote blockquote,
.message-part blockquote blockquote {
    color: #205a24;
    border-left: 2px solid #205a24;
    border-right: 2px solid #205a24
}

.message-htmlpart blockquote blockquote blockquote,
.message-part blockquote blockquote blockquote {
    color: #eb0400;
    border-left: 2px solid #eb0400;
    border-right: 2px solid #eb0400
}

.message-htmlpart blockquote span.blockquote-link,
.message-part blockquote span.blockquote-link {
    top: 0;
    cursor: pointer;
    right: .5rem;
    min-width: 4rem;
    padding: .2rem .25rem .2rem .5rem;
    font-size: 90%;
    text-align: center;
    color: var(--font2);
    background: var(--background2);
    border: 1px solid var(--bordercolor);
    border-radius: .3rem;
    line-height: 1
}

.message-htmlpart blockquote span.blockquote-link:after,
.message-part blockquote span.blockquote-link:after {
    content: "\f107";
    display: inline-block;
    float: none;
    margin: 0;
    font-size: 90%
}

.message-htmlpart blockquote span.blockquote-link.collapsed:after,
.message-part blockquote span.blockquote-link.collapsed:after {
    content: "\f106"
}

.message-htmlpart blockquote.blockquote-header,
.message-part blockquote.blockquote-header {
    text-overflow: ellipsis !important;
    padding-right: 5rem !important
}

.message-part span.sig {
    color: var(--font2)
}

.message-part div.pre {
    font-family: monospace;
    font-size: 13px
}

.message-part blockquote {
    display: inline-block;
    min-width: 100%
}

.message-part blockquote+br {
    display: block;
    margin-top: 1em
}

.message-htmlpart *,
.message-htmlpart ::after,
.message-htmlpart ::before {
    box-sizing: initial
}

#compose-attachments {
    margin: 1rem 1rem 0 1rem
}

.suspicious-address-warning:before {
    font-size: 1.25em;
    float: none;
    margin: 0 .25rem 0 0;
    width: 1.18em;
    height: 1em;
    font-family: Icons;
    font-style: normal;
    font-weight: 900;
    text-decoration: inherit;
    text-align: center;
    speak: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    content: "\f071";
    color: red;
}

#composestatusbar {
    opacity: .3;
    right: 2.5rem
}

@media screen and (min-width:769px) {
    #composestatusbar {
        display: none
    }
}

#composestatusbar a.button {
    display: inline-block
}

#composestatusbar a.button:before {
    line-height: 58px;
    font-size: 1.25rem !important
}

.settings-default-icon li>a:before,
.settings-default-icon tr>td.section::before {
    content: "\f013"
}

/* Chips de adjuntos estilo Gmail */
#gmail-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 14px;
}

#gmail-attachments:empty {
    display: none;
}

.gmail-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 4px 6px 4px 10px;
    background: var(--background3);
    border: 1px solid var(--bordercolor);
    border-radius: 4px;
    font-size: .9rem;
}

.gmail-chip-name {
    color: var(--link);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gmail-chip-size {
    color: var(--font2);
}

.gmail-chip-x {
    border: 0;
    background: transparent;
    color: var(--font2);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}

.gmail-chip-x:hover {
    color: var(--t6);
}


/* =========================================================
   5. LOGIN
   ========================================================= */

.task-login #layout-content {
    text-align: center;
    width: 100%;
    display: block
}

.task-login #logo {
    display: inline-block;
    position: relative;
    top: 16vh;
    max-height: 100px
}

#login-form {
    margin: 0 auto;
    top: 20vh;
    width: 95%;
    position: relative
}

#login-form table,
#login-form tbody {
    display: block
}

#login-form .row {
    margin-right: 0;
    margin-left: 0
}

#login-form .oauthlogin {
    margin-top: 1em;
    padding-top: 1em
}

#login-form .formbuttons+.oauthlogin {
    border-top: 1px solid #ccc
}

#rcmloginsubmit:before {
    display: none !important
}

#login-footer {
    flex: 1;
    color: var(--font2)
}

#login-footer>div {
    margin-top: 1rem;
    padding: 1rem;
    background: var(--background2);
    border-radius: .3rem
}

#login-addon {
    position: absolute;
    bottom: 0;
    max-height: 30%;
    margin: 1rem !important;
    width: auto !important;
    overflow: auto
}

@media screen and (min-width:769px) {
    #login-addon {
        max-width: 768px;
        margin: auto !important;
        bottom: 1rem;
        left: 0;
        right: 0
    }
}

body.task-error-login #layout #layout-content>.header,
body.task-error-login #layout #layout-menu {
    display: none
}

body.task-login {
    overflow: hidden !important;
}

body.task-login * {
    font-family: "Montserrat", sans-serif !important;
}

body.task-login #layout {
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.task-login #layout-content {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    background: transparent !important;
}

body.task-login .login-card {
    position: absolute !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.task-login .login-left {
    position: relative !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 50% !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: linear-gradient(150deg, #001b35 0%, #400c0c 50%, #3c0a0a 100%) !important;
    text-align: center !important;
}

body.task-login .login-brand-deco {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: url("../images/grecas.svg") !important;
    background-size: 130px auto !important;
    background-repeat: repeat !important;
    opacity: .15 !important;
    pointer-events: none !important;

}

body.task-login .login-brand-content {
    position: relative !important;
    z-index: 2 !important;
    width: auto !important;
    max-width: 520px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    padding: 48px 56px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    background: rgba(141, 247, 255, 0.11) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
}

body.task-login .login-logo {
    display: block !important;
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
    margin: 0 !important;
}

body.task-login .login-left h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

body.task-login .login-right {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 50% !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 40px !important;
    background: #ffffff !important;
}

body.task-login .login-form-inner {
    width: 100% !important;
    max-width: 400px !important;
    display: flex !important;
    flex-direction: column !important;
}

body.task-login .login-form-header {
    margin-bottom: 28px !important;
}

body.task-login .login-form-header h2 {
    margin: 0 0 6px !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #222 !important;
}

body.task-login .login-form-header p {
    margin: 0 !important;
    font-size: .9rem !important;
    color: #777 !important;
}

body.task-login #login-form {
    position: relative;
    top: 5vh;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.task-login #login-form table {
    width: 100% !important;
}

body.task-login .login-right .input-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 0 12px !important;
    height: 48px !important;
    box-sizing: border-box !important;
    background-color: #f8f9fa !important;
    border: 1px solid #ced4da !important;
    border-radius: 10px !important;
    overflow: hidden;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease;
}

body.task-login .login-right .input-group:focus-within {
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent) !important;
}

body.task-login .login-right .input-group-text,
body.task-login .login-right .input-group>span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: var(--brand) !important;
    padding: 0 8px 0 0 !important;
    margin: 0 !important;
    height: auto !important;
    font-size: 1.1rem;
}

body.task-login .login-right .form-control,
body.task-login #login-form input[type="text"],
body.task-login #login-form input[type="password"] {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #333 !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 100% !important;
    line-height: normal !important;
    font-size: 0.95rem;
}

body.task-login #login-form input[type="submit"],
body.task-login #login-form button[type="submit"] {
    width: 100% !important;
    min-height: 46px !important;
    margin-top: 8px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-hover) 100%) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px !important;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 10px color-mix(in srgb, var(--brand) 30%, transparent);
    transition: opacity 0.2s ease;
}

body.task-login #login-form input[type="submit"]:hover,
body.task-login #login-form button[type="submit"]:hover {
    opacity: 0.9;
}

body.task-login #login-footer {
    margin-top: 24px !important;
    text-align: center !important;
    font-size: .8rem !important;
    color: #777 !important;
}

@media (max-width: 768px) {
    body.task-login {
        overflow-y: auto !important;
    }

    body.task-login #layout {
        height: auto !important;
        min-height: 100vh !important;
    }

    body.task-login #layout-content {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100vh !important;
        overflow-y: auto !important;
    }

    body.task-login .login-card {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100vh !important;
        display: block !important;
    }

    body.task-login .login-left {
        display: none !important;
    }

    body.task-login .login-right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        min-height: 100vh !important;
        padding: 28px !important;
    }

    body.task-login .login-form-inner {
        max-width: 400px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 320px) {
    body.task-login {
        min-width: 0 !important;
    }

    body.task-login .login-right {
        padding: 16px !important;
    }

    body.task-login .login-form-header h2 {
        font-size: 1.4rem !important;
    }

    body.task-login .login-right .input-group {
        padding: 0 8px !important;
    }

    body.task-login .login-right .input-group-text {
        padding-right: 4px !important;
    }

    body.task-login .login-form-inner {
        width: 100% !important;
    }
}


/* =========================================================
   6. MINI-COMPOSE
   ========================================================= */

.mini-reply {
    position: fixed;
    right: 24px;
    bottom: 0;
    width: 560px;
    max-width: calc(100vw - 16px);
    height: 560px;
    max-height: calc(100vh - 16px);
    z-index: 1200;
    display: flex;
    flex-direction: column;
    background-color: var(--background);
    border: 1px solid var(--bordercolor);
    border-radius: 10px 10px 0 0;
    box-shadow: var(--shadow-float);
    overflow: hidden;
}

.mini-reply.min {
    height: 42px;
    cursor: pointer;
}

.mini-reply-head {
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 6px 0 14px;
    background-color: var(--background2);
    border-bottom: 1px solid var(--bordercolor);
    color: var(--font);
    font-size: .95rem;
    font-weight: 600;
}

.mini-reply-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mini-reply-btns a {
    position: relative !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    text-decoration: none;
    color: transparent !important;
    background-color: var(--background2) !important;
}

.mini-reply-btns a:hover {
    background-color: var(--background) !important;
}

.mini-reply-btns .sebicon,
.mini-reply-btns a .sebicon {
    display: none !important;
}

.mini-reply-btns a.minimize::after {
    font-family: "Segoe Fluent Icons", sans-serif;
    content: "\e921" !important;
    position: absolute;
    color: var(--font) !important;
    margin-top: 2px;
    font-size: 10px;
    font-weight: bold;
}

.mini-reply-btns a.maximize::after {
    content: "🗗" !important;
    position: absolute !important;
    color: var(--font) !important;
    font-size: 14px !important;
}

.mini-reply-btns a.close::after {
    content: "\00d7" !important;
    font-family: "Font Awesome 6 Free", "FontAwesome" !important;
    font-weight: bolder;
    position: absolute;
    color: red !important;
    font-size: 19px;
}

.mini-reply-frame {
    flex: 1;
    width: 100%;
    border: 0;
    background: var(--background);
}

.mini-reply.min .mini-reply-frame {
    display: none;
}

@media screen and (min-width: 769px) {
    .mini-reply {
        width: clamp(500px, 42vw, 760px);
        height: clamp(500px, 78vh, 840px);
    }
}

@media screen and (max-width: 768px) {
    .mini-reply {
        right: 0;
        left: 0;
        width: auto;
        max-width: none;
        height: 85vh;
    }
}

.mini-reply textarea,
.html-editor>textarea,
textarea.form-control {
    max-height: none !important;
    height: 380px !important;
    min-height: 190px !important;
}

#mini-reply-dropzone {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    pointer-events: none;
    /* background: rgba(55, 190, 255, .12); */
    background: var(--sel-bg);
    border: 3px dashed var(--t5);
    /* border: 3px dashed #37beff; */
    border-radius: 10px;
    /* color: #006a9d; */
    color: var(--t5);
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    padding: 2rem;
}

#mini-reply-dropzone.active {
    display: flex;
}

html.iframe #layout-menu,
html.iframe #layout>.menu,
html.iframe .menu.task-menu,
html.iframe #taskmenu,
html.iframe #layout-sidebar.sidebar-right {
    display: none !important;
}

html.iframe #layout-content {
    max-width: 100%;
    flex: 1 1 100%;
}

html.iframe body.action-compose #layout>div>.header {
    height: auto;
    min-height: 18px;
}

html.iframe #compose-send-bar {
    display: flex !important;
}

html.iframe .only_small_screen {
    display: none !important;
}

html.is-mini-reply .header {
    display: none !important;
}

html.is-mini-reply .formbuttons {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 55px !important;
    background-color: var(--mini-bar-bg) !important;
    border-top: 1px solid var(--bordercolor) !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center;
    padding: 0 1rem !important;
    gap: 15px;
}

html.is-mini-reply body {
    padding-bottom: 20px !important;
}

html.is-mini-reply .formbuttons .attach,
html.is-mini-reply .formbuttons .toolbar-menu-button {
    display: inline-flex !important;
    align-items: center;
    background: transparent !important;
    border: none !important;
    color: var(--font) !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0.5rem !important;
    cursor: pointer;
}

html.is-mini-reply .formbuttons .toolbar-menu-button {
    margin-left: auto !important;
}

body.vista-mini-activa .boton-atras-grande {
    display: none !important;
}


/* =========================================================
   7. MODO OSCURO (ajustes puntuales)
   ========================================================= */

html.dark-mode #logo {
    opacity: .8
}

html.dark-mode #layout>div>.footer {
    font-weight: 400
}

@media screen and (max-width:480px) {
    html.dark-mode #layout-menu {
        border-left: 0
    }

    html.dark-mode #layout-menu .popover-header {
        border-bottom: 1px solid var(--bordercolor);
    }

    html.dark-mode #taskmenu a {
        border-color: var(--font) !important
    }

    html.dark-mode #taskmenu a.selected {
        background: 0 0
    }
}

@media screen and (min-width:481px) and (max-width:1024px) {
    html.dark-mode #taskmenu a {
        width: 41px
    }
}

@media screen and (min-width:1025px) {
    html.dark-mode #taskmenu a {
        width: 84px;
    }
}

html.dark-mode #messagestack .alert-info,
html.dark-mode .ui.alert.boxinformation {
    /* background-color: #217299 */
    background-color: var(--t7);
}

html.dark-mode #messagestack .alert-danger,
html.dark-mode .ui.alert.boxerror {
    background-color: #993331
}

html.dark-mode #messagestack .alert-warning,
html.dark-mode .ui.alert.boxwarning {
    background-color: #997f31
}

html.dark-mode #messagestack .alert-success,
html.dark-mode .ui.alert.boxconfirmation {
    background-color: #276e2c
}

html.dark-mode .btn-primary {
    background-color: var(--t6);
    border-color: var(--t6);
    color: #fff;
}

html.dark-mode .btn-primary:hover,
html.dark-mode .btn-primary:not(:disabled):not(.disabled):active {
    background-color: #B82248;
    border-color: #B82248;
}

html.dark-mode .btn-secondary {
    color: var(--font);
    background-color: var(--t10);
    border-color: var(--t6);
}

html.dark-mode .btn-secondary:hover,
html.dark-mode .btn-secondary:focus,
html.dark-mode .btn-secondary:not(:disabled):not(.disabled):active {
    color: #fff;
    background-color: var(--t9);
    border-color: var(--t5);
}

html.dark-mode .btn-secondary:focus {
    box-shadow: 0 0 0 .2rem rgba(211, 44, 88, .35);
}

html.dark-mode .btn-secondary.disabled,
html.dark-mode .btn-secondary:disabled {
    background-color: var(--t10);
    border-color: var(--t8);
}

html.dark-mode .btn:disabled {
    opacity: .5 !important
}

html.dark-mode .btn-danger:hover:not(:disabled) {
    background-color: #ac3937
}

html.dark-mode .custom-file-label,
html.dark-mode .form-control {
    background-color: var(--background);
}

html.dark-mode .tox .tox-dialog__footer .tox-button:disabled {
    opacity: .5
}

html.dark-mode .message-part blockquote blockquote {
    color: #64c86b;
    border-color: #64c86b
}

html.dark-mode .message-part blockquote blockquote blockquote {
    color: #ff8785;
    border-color: #ff8785
}

html.dark-mode .pgpkeyimport li.uid::before {
    opacity: 1
}

html.dark-mode .listing li.selected span.secondary,
html.dark-mode .listing tr.selected span.secondary,
html.dark-mode .messagelist tr.selected td.subject span.date,
html.dark-mode .messagelist tr.selected td.subject span.fromto,
html.dark-mode .messagelist tr.selected td.subject span.size {
    color: var(--font2);
}

/* Iconos con contorno en modo oscuro: trazo blanco */
html.dark-mode .menu a.contacts:before,
html.dark-mode .menu a.settings:before,
html.dark-mode .menu a.about:before {
    -webkit-text-stroke: 1px #fff !important;
}

@media screen and (min-width: 481px) {
    html.dark-mode #taskmenu .action-buttons a {
        color: var(--t5);
    }
}

/* Diálogo de imagen / enlace / tabla (TinyMCE) */
html.dark-mode div.tox .tox-dialog,
html.dark-mode div.tox .tox-dialog__header,
html.dark-mode div.tox .tox-dialog__body,
html.dark-mode div.tox .tox-dialog__body-nav,
html.dark-mode div.tox .tox-dialog__body-content,
html.dark-mode div.tox .tox-dialog__content-js,
html.dark-mode div.tox .tox-dialog__footer {
    background-color: var(--background2) !important;
    color: var(--font);
    border-color: var(--bordercolor);
}

html.dark-mode div.tox .tox-dialog__title,
html.dark-mode div.tox .tox-label,
html.dark-mode div.tox .tox-checkbox__label,
html.dark-mode div.tox .tox-dialog p {
    color: var(--font);
}

html.dark-mode div.tox .tox-dialog__body-nav-item {
    color: var(--font2);
}

html.dark-mode div.tox .tox-dialog__body-nav-item--active {
    color: var(--t4);
}

html.dark-mode div.tox .tox-dialog svg {
    fill: var(--font);
}

/* Campos: URL, descripción, tamaño, selects */
html.dark-mode div.tox .tox-textfield,
html.dark-mode div.tox .tox-textarea,
html.dark-mode div.tox .tox-color-input>input,
html.dark-mode div.tox .tox-listboxfield .tox-listbox--select,
html.dark-mode div.tox .tox-selectfield select {
    background-color: var(--background);
    border-color: var(--bordercolor);
    color: var(--font);
}

/* html.dark-mode div.tox .tox-textfield:focus,
html.dark-mode div.tox .tox-textarea:focus,
html.dark-mode div.tox .tox-color-input>input:focus,
html.dark-mode div.tox .tox-listboxfield .tox-listbox--select:focus {
    background-color: var(--background);
    border-color: var(--t5);
    box-shadow: 0 0 0 .2rem var(--t9);
} */

/* Zona de "arrastrar y soltar" de la pestaña Subir */
html.dark-mode div.tox .tox-dropzone {
    background-color: var(--background);
    border-color: var(--bordercolor);
    color: var(--font2);
}

html.dark-mode div.tox .tox-dropzone p {
    color: var(--font2);
}

html.dark-mode div.tox .tox-dialog-wrap__backdrop {
    background-color: rgba(0, 0, 0, .6);
}

/* Botón secundario (Cancelar) */
html.dark-mode div.tox .tox-dialog__footer .tox-button.tox-button--secondary {
    background: var(--backgroundbutton) !important;
    border-color: var(--bordercolor);
    color: var(--font);
}

/* Campos del panel de opciones de búsqueda */
html.dark-mode .searchoptions .form-control,
html.dark-mode .searchoptions .custom-select {
    background-color: var(--searchbg);
    color: var(--font);
    border-color: var(--bordercolor);
}


/* =========================================================
   8. SOBRESCRITURAS DE TEMA
   Van al final a propósito: usan el prefijo "html" para ganar
   en especificidad a las reglas base de las secciones 3 y 4.
   ========================================================= */

/* ---------- Estructura ---------- */

html #layout-menu,
html #layout-menu .popover-header {
    background-color: var(--t8) !important;
}

html #layout-sidebar {
    background-color: var(--background2);
}

html #layout-list,
html #layout-list>.scroller,
html #layout-content,
html #layout-content>.scroller,
html .frame-content {
    background-color: var(--background);
}

/* Header, footer y botones de barra: var(--bar-bg) (por defecto vino --t9;
   dentro del mini-compose pasa a --mini-bar-bg, ver sección 1) */
html #layout>div>.header,
html #layout>div>.footer,
html .menu.toolbar a {
    background-color: var(--bar-bg, var(--t9));
}

html #layout-list .listing tr:not(.selected) td {
    background-color: var(--background);
    border-bottom: 0.3px solid var(--background4);
}

html .listing li>a:hover {
    background-color: var(--sel-bg) !important;
}

html .searchbar {
    height: 38px;
    min-height: 38px;
    margin: 8px 12px;
    border: 1px solid var(--bordercolor);
    border-radius: 8px;
    background-color: var(--searchbg);
}

/* Input de búsqueda transparente sobre --searchbg */
html .searchbar input,
html .searchbar input.form-control,
html .searchbar input:focus,
html .searchbar input:hover {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    color: var(--font) !important;
}

html .searchbar input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--searchbg) inset !important;
    -webkit-text-fill-color: var(--font) !important;
}

html .menu.pagenav a,
html #layout-content>.header .menu.toolbar a:not(.dropdown):before,
html .messagelist td.subject span.msgicon.status:before {
    color: var(--icon-accent);
}

@media screen and (min-width: 481px) {
    html #taskmenu a {
        background-color: transparent;
    }

    html #taskmenu .special-buttons {
        background-color: transparent !important;
    }

    #taskmenu a:hover {
        background-color: var(--backgroundhover2) !important;
    }
}

/* ---------- Filas y carpetas seleccionadas ---------- */

html:not(.dark-mode) .listing li.selected,
html:not(.dark-mode) .listing li.selected>a,
html:not(.dark-mode) .listing tr.selected td,
html:not(.dark-mode) ul.treelist li.selected>a,
html:not(.dark-mode) ul.treelist li.selected>div>a,
html.dark-mode .listing li.selected,
html.dark-mode .listing li.selected>a,
html.dark-mode .listing li.selected>div>a,
html.dark-mode .listing tr.selected td,
html.dark-mode ul.treelist li.selected>a,
html.dark-mode ul.treelist li.selected>div>a {
    background-color: var(--sel-bg);
    color: var(--font);
}

html.dark-mode .listing li.selected>a,
html.dark-mode .listing tr.selected td:first-child {
    box-shadow: none;
}

/* ---------- Barras superiores: texto claro, icono con acento ---------- */

html #layout>div>.header .menu.toolbar a:not(.dropdown),
html #layout>div>.header .menu.toolbar a:not(.dropdown) span.inner,
html #layout>div>.header a.button.refresh,
html #layout>div>.header a.button.refresh span.inner,
html #layout>div>.header a.refresh span.inner {
    color: #fff;
}

html #layout>div>.header .menu.toolbar a:not(.dropdown):before,
html #layout>div>.header a.refresh:before {
    color: var(--icon-accent) !important;
}

/* Botón que abrió un menú desplegable */
html #layout>div>.header a.button.icon:not(.disabled):focus:not(:hover),
html #layout>div>.header .menu.toolbar a:not(.disabled):focus:not(:hover),
html #layout>div>.header .menu.toolbar a[aria-expanded="true"]:not(:hover),
html #layout>div>.header .menu.toolbar a.active:not(:hover) {
    background-color: var(--bar-bg, var(--t9));
    outline: 0;
    color: var(--t5);
}

/* Flecha de los botones con desplegable (Responder a..., Reenviar) */
html #layout>div>.header .menu.toolbar .dropbutton a.dropdown:focus:not(:hover),
html #layout>div>.header .menu.toolbar .dropbutton a.dropdown[aria-expanded="true"]:not(:hover) {
    background-color: var(--background2);
}

/* ---------- Editor: barra, área de escritura y desplegables ---------- */

div.tox .tox-toolbar-overlord>div,
div.tox .tox-toolbar,
div.tox .tox-toolbar__primary,
div.tox .tox-toolbar__group {
    background-color: var(--editor-toolbar-bg) !important;
    border-bottom: 0.4px solid var(--background3);
}

div.tox .tox-tbtn svg,
div.tox .tox-tbtn--select .tox-tbtn__select-chevron svg {
    fill: var(--editor-toolbar-icon) !important;
}

div.tox .tox-tbtn--select .tox-tbtn__select-label {
    color: var(--editor-toolbar-icon) !important;
}

div.tox .tox-tbtn:hover {
    background-color: var(--backgroundhover) !important;
}

div.tox .tox-edit-area,
div.tox .tox-edit-area__iframe {
    background-color: var(--background) !important;
}

/* Modo texto plano */
/* html .html-editor>textarea,
html #composebody,
html .mini-reply textarea {
    background-color: var(--background) !important;
    color: var(--font) !important;
    border-color: var(--bordercolor);
} */

/* Dropdowns (Paragraph, fuente, tamaño...): el texto de cada opción lleva
   color inline, por eso hace falta !important y el selector "*" */
div.tox .tox-menu,
div.tox .tox-collection,
div.tox .tox-collection--list,
div.tox .tox-collection__group {
    background-color: var(--background2) !important;
    border-color: var(--bordercolor) !important;
}

div.tox .tox-collection__item,
div.tox .tox-collection__item-label,
div.tox .tox-collection__item-label *,
div.tox .tox-collection__item-accessory,
div.tox .tox-collection__item-caret {
    color: var(--font) !important;
    /* background-color: var(--background2); */
}
div.tox .tox-collection__item-label,
div.tox .tox-collection__item-label * {
    background-color: transparent !important;
}


div.tox .tox-collection__item-icon svg,
div.tox .tox-collection__item-checkmark svg,
div.tox .tox-collection__item-caret svg {
    fill: var(--font) !important;
}

div.tox .tox-collection__item--active,
div.tox .tox-collection__item:hover {
    background-color: var(--backgroundhover) !important;
    /* background-color: transparent !important; */
}

div.tox .tox-collection__item--enabled {
    background-color: var(--sel-bg) !important;
}

div.tox .tox-swatches-menu,
div.tox .tox-swatches__picker-btn,
div.tox .tox-tooltip__body {
    background-color: var(--background2) !important;
    color: var(--font) !important;
}

/* ---------- Mini-compose: header, footer y botones ---------- */

html.is-mini-reply #layout>div>.header,
html.is-mini-reply #layout>div>.footer,
html.is-mini-reply .menu.toolbar a,
html.iframe body.action-compose #layout>div>.header,
html.iframe body.action-compose #layout>div>.footer,
html.iframe body.action-compose .menu.toolbar a {
    background-color: var(--mini-bar-bg);
}

html.is-mini-reply #layout>div>.header .menu.toolbar a:not(.dropdown),
html.is-mini-reply #layout>div>.header .menu.toolbar a:not(.dropdown) span.inner,
html.iframe body.action-compose #layout>div>.header .menu.toolbar a:not(.dropdown),
html.iframe body.action-compose #layout>div>.header .menu.toolbar a:not(.dropdown) span.inner {
    color: var(--font);
}

html.is-mini-reply #layout>div>.header a.button.icon:not(.disabled):focus:not(:hover),
html.is-mini-reply #layout>div>.header .menu.toolbar a:not(.disabled):focus:not(:hover),
html.is-mini-reply #layout>div>.header .menu.toolbar a[aria-expanded="true"]:not(:hover),
html.is-mini-reply #layout>div>.header .menu.toolbar a.active:not(:hover),
html.iframe body.action-compose #layout>div>.header a.button.icon:not(.disabled):focus:not(:hover),
html.iframe body.action-compose #layout>div>.header .menu.toolbar a:not(.disabled):focus:not(:hover),
html.iframe body.action-compose #layout>div>.header .menu.toolbar a[aria-expanded="true"]:not(:hover),
html.iframe body.action-compose #layout>div>.header .menu.toolbar a.active:not(:hover) {
    background-color: var(--backgroundhover);
}

/* Mini-compose = iframe angosto (≤ 800px), sin depender de ninguna clase */
@media (max-width: 800px) {

    body.action-compose #layout>div>.header,
    body.action-compose #layout>div>.footer,
    body.action-compose .formbuttons,
    body.action-compose .menu.toolbar a,
    body.action-compose #layout>div>.header a.button {
        background-color: var(--mini-bar-bg) !important;
        color: var(--font) !important;
    }

    body.action-compose #layout>div>.header .header-title,
    body.action-compose #layout>div>.header .menu.toolbar a span.inner,
    body.action-compose #layout>div>.footer a,
    body.action-compose #layout>div>.footer a span.inner {
        color: var(--font) !important;
    }

    body.action-compose .menu.toolbar a:hover,
    body.action-compose #layout>div>.header a.button:hover,
    body.action-compose #layout>div>.header .menu.toolbar a:not(.disabled):hover,
    body.action-compose #layout>div>.footer a:not(.disabled):hover,
    body.action-compose #layout>div>.footer a.button:hover,
    body.action-compose .formbuttons a:hover,
    body.action-compose .formbuttons button:hover {
        background-color: var(--mini-bar-hover) !important;
        color: var(--font) !important;
    }
}

html .form-control,
html .custom-select,
html .custom-file-label {
    border-color: var(--bordercolor);
}
/* Apagado: pista y bolita */
html .custom-switch .custom-control-label::before {
    background-color: var(--background);
    /* border: 2px solid var(--bordercolor); */
    border: 2px solid var(--bordercolor);
}
html .custom-switch .custom-control-label::after {
    background-color: var(--font2);
}

/* Encendido */
html .custom-switch .custom-control-input:checked~.custom-control-label::before {
    background-color: var(--t5);
    border-color: var(--t5) !important;
}
html .custom-switch .custom-control-input:checked~.custom-control-label::after {
    background-color: #fff;
}

/* Foco */
html .custom-switch .custom-control-input:focus~.custom-control-label::before {
    box-shadow: 0 0 0 .2rem var(--focus-ring, color-mix(in srgb, var(--t3) 25%, transparent));
}

/* Flecha del popover: relleno (after) y borde (before) */
html .bs-popover-right>.arrow::after,  html .bs-popover-auto[x-placement^=right]>.arrow::after  { border-right-color:  var(--background2); }
html .bs-popover-left>.arrow::after,   html .bs-popover-auto[x-placement^=left]>.arrow::after   { border-left-color:   var(--background2); }
html .bs-popover-top>.arrow::after,    html .bs-popover-auto[x-placement^=top]>.arrow::after    { border-top-color:    var(--background2); }
html .bs-popover-bottom>.arrow::after, html .bs-popover-auto[x-placement^=bottom]>.arrow::after { border-bottom-color: var(--background2); }

html .bs-popover-right>.arrow::before,  html .bs-popover-auto[x-placement^=right]>.arrow::before  { border-right-color:  var(--bordercolor); }
html .bs-popover-left>.arrow::before,   html .bs-popover-auto[x-placement^=left]>.arrow::before   { border-left-color:   var(--bordercolor); }
html .bs-popover-top>.arrow::before,    html .bs-popover-auto[x-placement^=top]>.arrow::before    { border-top-color:    var(--bordercolor); }
html .bs-popover-bottom>.arrow::before, html .bs-popover-auto[x-placement^=bottom]>.arrow::before { border-bottom-color: var(--bordercolor); }