/* InvestMais — tokens compartilhados com investmais.app.
   Carregado após Elastic/SJ para preservar o comportamento responsivo nativo. */
:root {
 --sj-blue:#0057d9; --sj-blue-dark:#0045ad; --sj-blue-deep:#003b9b;
 --sj-blue-soft:#edf4ff; --sj-blue-muted:#dceaff; --sj-ink:#17212f;
 --sj-text:#626975; --sj-text-muted:#7b828d; --sj-border:#e4e6e9;
 --sj-surface:#fff; --sj-surface-alt:#f5f6f8; --sj-sidebar-bg:#f5f6f8;
 --sm-font:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
 --im-display:Manrope,'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
 --im-chrome:linear-gradient(108deg,#003b9b 0%,#0057d9 23%,#4b9cff 40%,#1772eb 48%,#0043b7 54%,#00348d 76%,#1278ff 100%);
 --im-night:#101923;
}
html.dark-mode {
 --sj-blue:#6ea8ff; --sj-blue-dark:#a7caff; --sj-blue-soft:#1a2c47;
 --sj-blue-muted:#25406a; --sj-ink:#e9f2ff; --sj-text:#b3bfcd;
 --sj-text-muted:#93a1b3; --sj-border:#2a3644; --sj-surface:#17212f;
 --sj-surface-alt:#101923; --sj-sidebar-bg:#131d29;
}
body, body:not(.task-login), body.task-login {font-family:var(--sm-font);}
.sm-brand-owner {font-size:11px;letter-spacing:.08em;border-left:1px solid var(--sj-border);padding-left:16px;color:var(--sj-text);white-space:nowrap;}
/* Área de trabalho: navegação clara, pastas suaves e leitura sem ruído. */
body.sj-app-shell:not(.task-login) #sj-topbar {background:var(--sj-surface);color:var(--sj-ink);box-shadow:none;border-bottom:1px solid var(--sj-border);padding:0 20px;}
#sj-topbar .sj-topbar__brand {background:transparent;border:0;border-radius:0;gap:16px;padding-right:24px;}
#sj-topbar .sj-topbar__nav-item {color:var(--sj-text)!important;border-radius:8px!important;}
#sj-topbar .sj-topbar__nav-item:before,#sj-topbar .sj-topbar__logout:before {color:inherit!important;}
#sj-topbar .sj-topbar__nav-item.selected,#sj-topbar .sj-topbar__nav-item:hover {background:var(--sj-blue-soft)!important;color:var(--sj-blue)!important;}
#sj-topbar .sj-topbar__link-btn {color:var(--sj-text)!important;border:1px solid var(--sj-border);background:var(--sj-surface);border-radius:8px;}
#sj-topbar .sj-topbar__link-btn:hover {background:var(--sj-blue-soft);color:var(--sj-blue)!important;}
#sj-topbar .sj-topbar__user {background:var(--sj-surface-alt);}
#sj-topbar .sj-topbar__avatar {background:var(--sj-blue-soft);color:var(--sj-blue);}
#sj-topbar .sj-topbar__email,#sj-topbar .sj-topbar__logout,#sj-topbar .sj-topbar__menu {color:var(--sj-text)!important;}
body.sj-app-shell #layout-sidebar {background:var(--sj-sidebar-bg)!important;}
body.sj-app-shell #layout-sidebar .header,body.sj-app-shell #layout-sidebar .footer {background:transparent!important;border-color:var(--sj-border)!important;}
body.sj-app-shell #layout-list,body.sj-app-shell #layout-content {background:var(--sj-surface);}
body.sj-app-shell .header,body.sj-app-shell .footer {border-color:var(--sj-border);}
body.sj-app-shell .listing li.selected>a,body.sj-app-shell .listing tr.selected td {background:var(--sj-blue-soft)!important;color:var(--sj-blue)!important;}
body.sj-app-shell #mailboxlist li>a {border-radius:8px;margin:3px 10px;padding-top:10px;padding-bottom:10px;}
body.sj-app-shell #messagelist td {border-bottom:1px solid var(--sj-border);}
body.sj-app-shell #messagelist tr.unread td {font-weight:600;}
body.sj-app-shell #messagelist tr:hover td {background:var(--sj-surface-alt);}
body.sj-app-shell .searchbar,body.sj-app-shell .searchbar input {background:var(--sj-surface)!important;color:var(--sj-ink);}
body.sj-app-shell .form-control {border-radius:8px;border-color:var(--sj-border);}
body.sj-app-shell .btn-primary {background:#0057d9;border-color:#0057d9;color:#fff;}
body.sj-app-shell .ui-dialog {border-radius:14px;box-shadow:0 24px 70px #0b1f3a26;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid var(--sj-blue);outline-offset:3px;}
@media(min-width:1200px) {
 #sj-topbar .sj-topbar__nav-item {width:auto!important;gap:8px;padding:0 12px!important;}
 #sj-topbar .sj-topbar__nav-item span.inner {display:inline!important;font-size:12px;}
}
/* Sobrescreve dimensões de ícones da toolbar Elastic quando há rótulos. */
@media(min-width:1200px) {
 #sj-topbar .sj-topbar__nav-item {max-width:none!important;flex:0 0 auto;overflow:visible;}
 #sj-topbar .sj-topbar__nav-item span.inner {width:auto!important;max-width:none;overflow:visible;}
}
body.sj-app-shell .sj-compose-pill {background:#0057d9!important;border-radius:10px!important;box-shadow:none!important;}
body.sj-app-shell:not(.task-login) #sj-topbar {box-shadow:0 1px 8px #142b4f05;}
body.sj-app-shell #layout-sidebar {background:var(--sj-sidebar-bg)!important;border-right:1px solid var(--sj-border);}
body.sj-app-shell #layout-sidebar .header .username {color:var(--sj-ink);font-size:15px;font-weight:700;letter-spacing:-.3px;}
.sm-sidebar-compose {padding:12px 16px 24px;}
.sm-section-label {padding:0 22px 12px;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--sj-text-muted);}
body.sj-app-shell .sj-compose-pill {border-radius:12px!important;min-height:46px;}
body.sj-app-shell #mailboxlist li>a {padding-top:11px;padding-bottom:11px;margin:3px 12px;border-radius:10px;color:var(--sj-text);font-size:13px;}
body.sj-app-shell #mailboxlist li.selected>a {background:var(--sj-blue-muted)!important;color:var(--sj-blue-dark)!important;box-shadow:none;font-weight:700;}
body.sj-app-shell #layout-sidebar .quota-widget {background:var(--sj-surface);color:var(--sj-text);box-shadow:none;}
body.sj-app-shell #layout-list.sj-mail-list>.header.sj-list-chrome {padding:14px 16px 10px;gap:8px;}
body.sj-app-shell #layout-list.sj-mail-list>.header.sj-list-chrome .header-title {display:block!important;flex:1 0 100%;text-align:left;font-size:20px;letter-spacing:-.65px;font-weight:700;color:var(--sj-ink);padding:0 0 8px;}
body.sj-app-shell #layout-list .searchbar {border-bottom:1px solid var(--sj-border);padding:10px 14px 14px;}
body.sj-app-shell #layout-list .searchbar input {border:1px solid var(--sj-border);border-radius:10px!important;background:var(--sj-surface-alt)!important;min-height:40px;}
body.sj-app-shell #messagelist td {padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--sj-border);}
body.sj-app-shell #messagelist td.subject span.fromto {color:var(--sj-ink);font-size:13px;line-height:1.6;}
body.sj-app-shell #messagelist td.subject span.subject {color:var(--sj-text);font-size:12px;line-height:1.6;}
body.sj-app-shell #messagelist td.subject span.date {color:var(--sj-text-muted);font-size:10px;}
body.sj-app-shell #messagelist tr.unread td {background:var(--sj-blue-soft);}
body.sj-app-shell #messagelist tr.unread td.subject {box-shadow:inset 3px 0 var(--sj-blue);}
body.sj-app-shell #messagelist tr.selected td {background:var(--sj-blue-muted)!important;}
body.sj-app-shell #layout-content>.header {background:var(--sj-surface)!important;box-shadow:none;border-bottom:1px solid var(--sj-border);}
body.sj-app-shell .toolbar a:not(.disabled):hover {background:var(--sj-blue-soft);border-radius:8px;}
body.sj-app-shell .form-control:focus {border-color:var(--sj-blue);box-shadow:0 0 0 3px var(--sj-blue-soft);}
@media(min-width:769px) {
 body.sj-app-shell .sj-mail-list>.sj-list-compose {display:none;}
 body.sj-app-shell.task-mail #layout-list.sj-mail-list>.header.sj-list-chrome a.toolbar-button.refresh {display:block!important;margin-left:auto;}
}
@media(max-width:768px) {
 .sm-sidebar-compose {display:none;}
 .sm-section-label {padding-top:16px;}
 body.sj-app-shell #layout-list.sj-mail-list>.header.sj-list-chrome .header-title {flex:1 1 auto;padding:0;font-size:17px;}
 body.sj-app-shell #layout-list.sj-mail-list>.header.sj-list-chrome {padding:10px;}
}
@media(prefers-reduced-motion:reduce) {body.task-login *,body.sj-app-shell * {scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
/* Restaura títulos que o Elastic retira visualmente no desktop. */
body.sj-app-shell #layout-list.sj-mail-list>.header.sj-list-chrome .header-title {position:static!important;width:auto!important;max-width:100%;height:auto!important;margin:0!important;clip:auto!important;clip-path:none!important;overflow:hidden;white-space:nowrap;line-height:1.4;}
body.sj-app-shell #mailboxlist li {border-color:transparent;}
body.sj-app-shell #mailboxlist li.selected {background:transparent!important;box-shadow:none;}
html.dark-mode body.sj-app-shell #mailboxlist li>a {color:var(--sj-text)!important;}
html.dark-mode body.sj-app-shell #mailboxlist li.selected>a {color:var(--sj-blue-dark)!important;}

/* Marca: símbolo de três pilares + wordmark "investmais+". */
.im-wordmark {display:inline-flex;align-items:center;gap:.42em;font-family:var(--sm-font);font-size:24px;font-weight:400;letter-spacing:-.04em;line-height:1;white-space:nowrap;color:var(--sj-ink);text-decoration:none!important;}
.im-wordmark img {display:block;height:1.3em;width:auto;flex:0 0 auto;}
.im-wordmark b {font-weight:600;}
.im-wordmark i {font-style:normal;color:var(--sj-blue);}
#sj-topbar .im-wordmark {color:var(--sj-ink);font-size:22px;}
body.sj-app-shell #layout-menu .im-wordmark,body.sj-app-shell #layout-menu .im-wordmark i {color:#fff;font-size:20px;}
@media(max-width:900px) {#sj-topbar .sm-brand-owner {display:none;}}
@media(max-width:480px) {
 body.sj-app-shell:not(.task-login) #sj-topbar {padding:0 8px;gap:4px;}
 #sj-topbar .sj-topbar__brand {padding-right:0;}
 #sj-topbar .im-wordmark {font-size:19px;}
}

/* ── Login ─────────────────────────────────────────────────────────────
   Painel institucional (arte do site) + formulário nativo do Roundcube. */
html:has(body.task-login),html.dark-mode:has(body.task-login),body.task-login,html.dark-mode body.task-login {background:var(--sj-surface-alt)!important;color:var(--sj-ink);}
body.task-login::before,body.task-login::after,body.task-login #layout-content::before,body.task-login #layout-content::after {display:none;}
body.task-login #layout {padding:32px 40px;height:auto!important;min-height:calc(100dvh - 48px);justify-content:center;align-items:center;background:radial-gradient(ellipse at 85% 0%,#dceaff80,transparent 55%)!important;}
html.dark-mode body.task-login #layout {background:radial-gradient(ellipse at 85% 0%,#0057d922,transparent 55%)!important;}
body.task-login .sj-login-shell {display:grid;grid-template-columns:1.1fr 1fr;gap:0;align-items:stretch;width:min(1160px,100%);max-width:1160px;min-height:640px;border:1px solid var(--sj-border);border-radius:24px;background:var(--sj-surface);box-shadow:0 28px 90px #17212f14;overflow:hidden;}
html.dark-mode body.task-login .sj-login-shell {box-shadow:0 28px 90px #00000055;}

/* Painel institucional */
.im-login-story {position:relative;isolation:isolate;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:44px 48px;text-align:left;background:var(--im-night);color:#e9f2ff;}
.im-art-grid {position:absolute;inset:0;z-index:-2;opacity:.09;background-image:linear-gradient(#b0b4bc 1px,transparent 1px),linear-gradient(90deg,#b0b4bc 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 75% 80%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 75% 80%,#000 20%,transparent 75%);}
.im-orbit {position:absolute;z-index:-1;right:-170px;bottom:-190px;width:560px;height:560px;border:1px solid #a9c6ff1f;border-radius:50%;box-shadow:0 0 0 90px #a9c6ff08;pointer-events:none;}
.im-orbit--inner {transform:scale(.62);box-shadow:none;}
.im-login-story .im-wordmark {color:#e9f2ff;font-size:27px;}
.im-login-story .im-wordmark i {color:#5598ff;}
.im-brand {display:inline-flex;align-items:center;gap:20px;align-self:flex-start;text-decoration:none!important;}
.im-brand-owner {border-left:1px solid #ffffff33;padding:6px 0 6px 18px;font-size:9px;font-weight:500;letter-spacing:.16em;line-height:1.5;color:#b7c6d8;}
.im-eyebrow {margin:0 0 22px;font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.6;color:#a9bbd0;}
.im-eyebrow>span {margin-right:8px;font-size:18px;font-weight:400;vertical-align:-2px;color:#5598ff;}
.im-story-content h2 {margin:0 0 22px;font-family:var(--im-display);font-size:clamp(38px,3.7vw,54px);font-weight:500;line-height:1.12;letter-spacing:-.03em;color:#fff;text-shadow:none;}
.im-story-content h2 em {font-style:normal;white-space:nowrap;color:#5598ff;}
.im-story-content>p:not(.im-eyebrow) {margin:0;max-width:380px;font-size:15px;line-height:1.75;color:#b7c6d8;}
.im-story-art {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.im-story-caption {margin:0;font-size:9px;font-weight:500;letter-spacing:.2em;line-height:1.9;color:#93a6bd;}
.im-monument {position:relative;flex:0 0 auto;width:168px;height:176px;margin-right:6px;filter:drop-shadow(14px 22px 18px #00000066);transform:rotate(-1deg);}
.im-pillar {position:absolute;width:25%;background:var(--im-chrome);clip-path:polygon(0 24%,100% 0,100% 76%,0 100%);box-shadow:inset -5px 0 0 #69a8ff88;}
.im-pillar:nth-child(1) {height:67%;left:6%;bottom:0;}
.im-pillar:nth-child(2) {height:100%;left:37%;bottom:0;}
.im-pillar:nth-child(3) {height:54%;left:68%;top:0;}
.im-monument-plus {position:absolute;right:-4%;bottom:-6px;font-size:40px;font-weight:400;line-height:1;color:#5598ff;}

/* Formulário */
body.task-login #layout-content.sj-login-card,html.dark-mode body.task-login #layout-content.sj-login-card {align-self:center;width:100%!important;min-width:0;max-width:none;padding:56px;border:0;border-radius:0;box-shadow:none;background:var(--sj-surface)!important;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--sj-ink);text-align:left;}
body.task-login .sj-login-brand {margin-bottom:30px;}
.im-login-symbol {display:grid;place-items:center;width:52px;height:52px;margin-bottom:28px;border-radius:14px;background:var(--sj-blue-soft);}
.im-login-symbol img {display:block;width:30px;height:auto;}
body.task-login .sj-login-brand .im-eyebrow {margin-bottom:12px;font-size:9px;color:var(--sj-blue);}
body.task-login .sj-login-title {margin:0 0 10px;font-family:var(--im-display);font-size:32px;font-weight:600;letter-spacing:-.025em;line-height:1.2;color:var(--sj-ink);text-shadow:none;}
body.task-login .sj-login-subtitle {max-width:none;margin:0;font-size:14px;line-height:1.7;color:var(--sj-text);text-align:left;}
body.task-login .sj-login-subtitle strong {font-weight:600;color:var(--sj-ink);}
body.task-login #login-form tr.form-group {margin-bottom:20px;}
body.task-login #login-form label,body.task-login #login-form .sj-field-label {margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--sj-ink);}
html body.task-login #login-form input.form-control,html.dark-mode body.task-login #login-form input.form-control {min-height:52px;padding:14px 16px!important;border:1px solid var(--sj-border)!important;border-radius:12px!important;background:var(--sj-surface)!important;background-image:none!important;box-shadow:none!important;font-size:14px;color:var(--sj-ink)!important;}
html.dark-mode body.task-login #login-form input.form-control,html.dark-mode body.task-login .im-email-field {background:var(--sj-surface-alt)!important;}
html body.task-login #login-form input.form-control::placeholder {color:var(--sj-text-muted)!important;opacity:1;}
html body.task-login #login-form input.form-control:focus {border-color:var(--sj-blue)!important;box-shadow:0 0 0 3px var(--sj-blue-muted)!important;}
/* Domínio fixo; apenas o usuário é editável. */
body.task-login .im-email-field {display:flex;align-items:stretch;width:100%;min-width:0;overflow:hidden;border:1px solid var(--sj-border);border-radius:12px;background:var(--sj-surface);}
body.task-login .im-email-field:focus-within {border-color:var(--sj-blue);box-shadow:0 0 0 3px var(--sj-blue-muted);}
html body.task-login #login-form .im-email-field input.form-control {flex:1 1 0!important;width:0!important;min-width:0;min-height:50px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;}
body.task-login .im-email-domain {flex:0 0 auto;display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--sj-border);background:var(--sj-surface-alt);font-size:13px;font-weight:500;white-space:nowrap;color:var(--sj-text);}
html.dark-mode body.task-login .im-email-domain {background:var(--sj-surface);}
.im-field-hint {margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--sj-text-muted);}
.im-password-field {position:relative;width:100%;min-width:0;}
html body.task-login #login-form .im-password-field input.form-control {width:100%!important;padding-right:88px!important;}
#im-password-toggle {position:absolute;right:6px;top:6px;bottom:6px;padding:0 12px;border:0;border-radius:8px;background:transparent;font:600 12px var(--sm-font);color:var(--sj-blue);cursor:pointer;}
#im-password-toggle:hover {background:var(--sj-blue-soft);}
.im-caps-warning {margin:8px 0 0;font-size:12px;font-weight:500;color:#9a5b00;}
html.dark-mode .im-caps-warning {color:#f3c06b;}
.im-caps-warning[hidden] {display:none;}
body.task-login #login-form .formbuttons {margin-top:8px;}
body.task-login #rcmloginsubmit,body.task-login #login-form button[type=submit],body.task-login #login-form .button.mainaction {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;margin-top:0;padding:0 22px!important;border:0!important;border-radius:12px!important;background:#0057d9!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important;letter-spacing:0;text-transform:none!important;color:#fff!important;transform:none;transition:background .15s,box-shadow .15s;}
body.task-login #rcmloginsubmit::after {content:'\2192';font-size:20px;font-weight:400;line-height:1;color:#bed9ff;transition:transform .15s;}
body.task-login #rcmloginsubmit:hover:not(:disabled),body.task-login #login-form button[type=submit]:hover:not(:disabled) {background:#0045ad!important;box-shadow:0 8px 22px #0057d933!important;transform:none;}
body.task-login #rcmloginsubmit:hover::after {transform:translateX(4px);}
body.task-login #rcmloginsubmit.is-loading::after {content:'';width:16px;height:16px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:im-spin .7s linear infinite;}
@keyframes im-spin {to {transform:rotate(360deg);}}
body.task-login #login-footer {margin-top:24px;padding-top:20px;border-top:1px solid var(--sj-border);color:var(--sj-text);}
.im-login-help {margin:0;font-size:13px;line-height:1.6;color:var(--sj-text);}
.im-login-help a {font-weight:600;color:var(--sj-blue);text-decoration:none;}
.im-login-help a:hover {text-decoration:underline;}
/* Avisos do Roundcube sobre fundo claro */
body.task-login #messagestack {margin:0 0 24px!important;}
body.task-login #messagestack>div {border-radius:12px;box-shadow:none;font-size:13px;}
body.task-login #messagestack .loading {background:var(--sj-surface-alt)!important;border:1px solid var(--sj-border)!important;color:var(--sj-text)!important;}
body.task-login #messagestack .alert-danger {background:#fdeeee!important;border:1px solid #f3c4c4!important;color:#8f1d1d!important;}
body.task-login #messagestack .alert-warning {background:#fff6e2!important;border:1px solid #f1d9a2!important;color:#7a4b00!important;}
body.task-login #messagestack .alert-success,body.task-login #messagestack .alert-info {background:var(--sj-blue-soft)!important;border:1px solid var(--sj-blue-muted)!important;color:var(--sj-blue-dark)!important;}
html.dark-mode body.task-login #messagestack .alert-danger {background:#3a1c20!important;border-color:#6b2c33!important;color:#ffc9c9!important;}
html.dark-mode body.task-login #messagestack .alert-warning {background:#3a2e14!important;border-color:#6b5320!important;color:#f6d999!important;}
body.task-login #messagestack.sj-cookie-error::after {color:inherit;opacity:.85;}
body.task-login .noscriptwarning {color:var(--sj-text);}
/* Rodapé no fluxo da página: não cobre o formulário em telas baixas. */
body.task-login .sj-page-footer {position:static;height:48px;padding:0 16px 20px;font-size:11px;color:var(--sj-text-muted);}
body.task-login .sj-page-footer__link {gap:8px;color:var(--sj-text-muted);opacity:1;}
body.task-login .sj-page-footer__link:hover {color:var(--sj-blue);transform:none;}
@media(max-width:900px) {
 body.task-login #layout {padding:24px;align-items:flex-start;}
 body.task-login .sj-login-shell {grid-template-columns:1fr;max-width:520px;min-height:0;margin:0 auto;}
 .im-login-story {padding:28px 32px 30px;gap:26px;}
 .im-story-content h2 {margin:0;font-size:32px;}
 .im-story-content h2 br {display:none;}
 .im-story-content>p:not(.im-eyebrow),.im-story-art {display:none;}
 .im-eyebrow {margin-bottom:12px;}
 .im-orbit {right:-260px;bottom:-330px;}
 body.task-login #layout-content.sj-login-card,html.dark-mode body.task-login #layout-content.sj-login-card {padding:32px;}
 .im-login-symbol {display:none;}
}
@media(max-width:480px) {
 body.task-login #layout {padding:12px 12px 20px;}
 body.task-login .sj-login-shell {border-radius:20px;}
 .im-login-story {padding:24px;gap:22px;}
 .im-login-story .im-wordmark {font-size:23px;}
 .im-brand {gap:14px;}
 .im-brand-owner {padding-left:14px;}
 .im-story-content h2 {font-size:27px;}
 body.task-login #layout-content.sj-login-card,html.dark-mode body.task-login #layout-content.sj-login-card {padding:28px 22px;}
 body.task-login .sj-login-title {font-size:27px;}
 html body.task-login #login-form input.form-control {font-size:16px;}
 body.task-login .im-email-domain {padding:0 10px;font-size:12px;}
}
@media print {.im-login-story {display:none;}}
html.dark-mode .im-login-story {background:#0b121a;}
