@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&family=Montserrat:wght@400;500;600;700&display=swap);

:root {
    --text-font-family: "Poppins", sans-serif;
    --creditos-bg-color: #111;
    --creditos-border-top-color: #222;
    --creditos-text-color: #fff;
    --creditos-icon-color: #fff;
    --bs-body-font-size: 13px;
}

body {
    overflow-x: hidden;
    font-family: var(--text-font-family);
}

a {
    text-decoration: none;
}

body.login-page {
    background-color: #f7f9fb;
    font-size: 14px;
    background-color: #f7f9fb;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23e2e9f1' fill-opacity='0.4' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");
}

#login-alert, #login-success {
    display: none;
}

img.img-logo-login {
    width: 180px;
    height: auto;
    max-width: 100%;
}

.main-form-login {
    max-width: 100%;
    width: 500px;
}

/* Navbar */
.navbar-main {
    padding: 1.5rem 0;
    background-color: #fff;
    border-bottom: 1px #ccc solid
}

.navbar-main ul.list-sociais-header {
    display: flex;
    align-items: center;
    column-gap: 15px
}

.navbar-main ul.list-sociais-header a i {
    transition: all .5s;
    font-size: 18px;
    color: #3a3a3a
}

.navbar-main ul.list-sociais-header a:hover i {
    color: #b8860b
}

.navbar-main .logo-header {
    max-width: 200px;
    width: 100%;
    height: auto
}

.navbar-main .btn-close {
    box-sizing: content-box;
    width: 2em;
    height: 2em;
    padding: .25em .25em;
    color: #000;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f00'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border: 0;
    border-radius: 5px;
    opacity: 1;
    background-size: 10px
}

.navbar-main .btn-close:focus,
.navbar-main .btn-close:hover {
    outline: 0;
    box-shadow: 0 0 0;
    background: #13aff020 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f00'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    opacity: 1;
    background-size: 10px
}

.navbar-main .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23b8860b' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-size: auto
}

.navbar-main .navbar-toggler,
.navbar-main .navbar-toggler:focus {
    border-width: 0;
    box-shadow: 0 0
}

.dropdown-submenu {
    position: relative
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block
}

.dropdown-submenu>a:after {
    display: inline-flex;
    float: right;
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000000' viewBox='0 0 16 16'%3e%3cpath stroke-linecap='round' stroke-miterlimit='10' stroke-width='0.5' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z' stroke='rgba%280, 0, 0, 1.0%29'/%3e%3c/svg%3e");
    padding-left: 2rem;
    background-color: transparent;
    border-color: transparent;
    transform: scale(.5);
    border-width: 0;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

.dropdown-submenu:hover>a:after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23b8860b' viewBox='0 0 16 16'%3e%3cpath stroke-linecap='round' stroke-miterlimit='10' stroke-width='0.5' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z' stroke='rgba%280, 0, 0, 1.0%29'/%3e%3c/svg%3e")
}

.dropdown-submenu.pull-left {
    float: none
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px
}

.nav-item.dropdown .dropdown-menu li,
.nav-item.dropdown ul.dropdown-menu {
    padding: 0;
    border-radius: 11px
}

.dropdown-item {
    padding: .4rem 1rem;
    font-size: 13px;
    color: #000;
    font-weight: 400
}

a:hover.dropdown-toggle:not(.submenu)::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='57 35.171 26 16.043'%3e%3cpath fill='%23b8860b' d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'/%3e%3c/svg%3e")
}

a:hover.dropdown-toggle:not(.submenu)::after {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='57 35.171 26 16.043'%3e%3cpath fill='%23b8860b' d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'/%3e%3c/svg%3e")
}

.dropdown-toggle::after {
    display: inline-block;
    vertical-align: middle;
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='57 35.171 26 16.043'%3e%3cpath fill='%237d7979' d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'/%3e%3c/svg%3e");
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    padding-bottom: 0;
    line-height: 0;
    width: .6em;
    margin-top: 0;
    margin-bottom: 0;
    justify-content: flex-end;
    align-items: center
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: #b8860b;
    background-color: transparent
}

.dropdown-menu {
    padding: 5px 0 !important
}

.header-bottom 
{
    background-color: #000;
    background-color: #000;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23fff' fill-opacity='0.2' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");
}

.header-content {
    position: relative;
    z-index: 1;
    /* background-color: #915d33c9 */
}

.header-bottom .container {
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 36px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.1em;
    letter-spacing: .2px;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

.header-breadcumbs {
    display: flex;
    justify-content: center
}

.header-breadcumbs ul {
    background-color: #fff;
    font-size: 14px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    max-width: 80%;
    width: 100%;
    padding: 15px 15px 10px 15px
}

.header-breadcumbs li,
.header-breadcumbs li a {
    color: #b8860b;
    transition: all .4s;
    display: inline-flex;
    align-items: center
}

.header-breadcumbs li a:hover {
    color: #b8860b;
    opacity: .7
}

.header-breadcumbs li a i {
    color: #b8860b;
    margin-right: 10px
}

.header-breadcumbs li:last-child::before,
.header-breadcumbs li:not(:first-child) a::before {
    color: #b8860b;
    margin: 0 7px;
    transition: all .4s;
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    content: "\f101";
    font-weight: 700 !important;
    font-size: 10px;
}

.header-breadcumbs li a:hover::before,
.header-breadcumbs li:last-child,
.header-breadcumbs li:last-child::before {
    color: #000;
    font-weight: 400
}

@media (min-width:992px) {
    .navbar-main .nav-link {
        color: #353435;
        font-size: 16px;
        font-weight: 400;
        transition: all .3s
    }

    .navbar-main .nav-link:hover {
        color: #b8860b
    }

    .navbar-main .dropdown:hover .dropdown-menu:not(.submenu) {
        display: block;
        margin-top: 0
    }

    .navbar-main .dropdown-menu {
        width: max-content
    }
}

@media (max-width:991px) {
    .navbar-main .nav-link {
        color: #353435;
        font-weight: 300;
        font-size: 12px;
        transition: all .5s;
        line-height: 2;
        padding: 10px 5px
    }

    .navbar-main .nav-link:hover {
        color: #b8860b;
        background-color: transparent;
        border-radius: 5px
    }

    .dropdown-submenu>.dropdown-menu {
        margin-top: .3rem;
        margin-left: 0;
        border-radius: 6px
    }

    .navbar-main .offcanvas {
        background-color: #f2f5f7;
        color: #7d7979
    }

    .nav-item.dropdown ul.dropdown-menu:not(.submenu) {
        margin-left: 15px;
        border-radius: 11px
    }

    .nav-item.dropdown ul.dropdown-menu.submenu {
        margin: 0 10px
    }

    .dropdown-toggle::after {
        position: relative;
        float: right;
        top: 10px;
        width: 12px
    }

    .dropdown-submenu>a:after {
        position: relative;
        top: 2px
    }

    .nav-item.dropdown a.dropdown-item {
        font-size: 13px
    }

    .header-breadcumbs ul {
        max-width: 95%
    }

    .header-bottom .container {
        font-size: 30px
    }
}

@media (max-width:768px) {
    .header-breadcumbs ul {
        flex-direction: column;
        row-gap: 10px
    }

    .header-bottom .container {
        font-size: 25px
    }

    .client-chart-wrap {
        overflow-x: auto;
        overflow-y: hidden;
    }
}

main {
    min-height: 100vh;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23e2e9f1' fill-opacity='0.2' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");
}

main .page-home {
    font-size: 20px;
}

main table td {
    font-size: 13px;
    word-break: break-word;
}

main table td {
    max-width: 200px;
    white-space: nowrap; /* Impede que o texto pule para a próxima linha */
    overflow: hidden; /* Esconde o texto que ultrapassa o tamanho da caixa */
    text-overflow: ellipsis; /* Adiciona os '...' no final do texto cortado */
}

main table .btn {
    font-size: 14px;
}

main .list-content li::before {
    font-family: "Font Awesome 6 Free";
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display,inline-block);
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    content: "\f054";
    padding-right: 10px;
    font-weight: 700;
    color: #b8860b;
    font-size: 10px;
    vertical-align: middle;
}

main .list-content li a {
    color:#353435
}

main .list-content li a:hover {
    color:#b8860b
}

/* == Barra Copyright - Creditos == */

.creditos4up {
    width: 100%;
    background-color: var(--creditos-bg-color);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 5rem;
    padding-right: 5rem;
    border-top-style: solid;
    border-top-color: var(--creditos-border-top-color);
    border-top-width: thin;
    color: var(--creditos-text-color) !important;
    font-size: 13px !important;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    align-items: center
}

.creditos4up a {
    color: var(--creditos-text-color) !important;
    font-size: 13px !important
}

.creditos4up svg {
    fill: var(--creditos-icon-color) !important;
    max-height: 30px
}

.creditos4up a.creditos-link-agencia {
    color: var(--creditos-icon-color) !important;
}

.creditos4up-inside {
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    width: 90%
}

.creditos-mobile-align {
    text-align: right
}

.creditos4up a.selos {
    display: inline-flex;
}

.creditos4up a.selos i {
    padding-right: 5px;
}

.creditos4up a.selos i.fa-html5 {
    color: #ff553a;
    font-size: 20px;
}

.creditos4up a.selos i.fa-css3 {
    color: #1a73e8;
    font-size: 20px;
}

.creditos4up a.selos.googletransp svg {
    fill: #198754 !important;
    height: 18px;
    margin-right: 5px;
}

.creditos4up a.selos.googletransp strong {
    background: #198754;
    color: #fff;
    padding: 1px 5px;
    border-radius: 5px;
}

.creditos4up a.selos.css3 strong {
    background: #1a73e8;
    color: #fff;
    padding: 1px 5px;
    border-radius: 5px;
}

.creditos4up a.selos.html5 strong {
    background: #ff553a;
    color: #000;
    padding: 1px 5px;
    border-radius: 5px;
}

.creditos4up a.selos {
    margin: 0 0 0 5px;
    text-decoration: none;
    font-size: 12px !important;
}

.creditos4up a {
    transition-property: all;
    transition-duration: .3s;
}

.creditos4up a:hover {
    opacity: 0.5;
    transition-property: all;
    transition-duration: .3s;
}

@media screen and (max-width:991px) {
    .creditos4up-inside {
        display: flex;
        align-items: center;
        justify-content: center;
        align-content: center;
        width: initial;
        flex-direction: column;
        text-align: center;
        grid-row-gap: 1rem
    }

    .creditos4up {
        margin-bottom: 3rem;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 1.2rem;
    }

    .creditos-mobile-align {
        text-align: center
    }

    .mob-w-100 {
        width: 100% !important;
        max-width: 100% !important
    }
}

/* ==========================================================
   UI 2026 - Responsividade, acessibilidade e tema claro/escuro
   ========================================================== */
:root {
    --app-bg: #f5f7fa;
    --app-surface: #ffffff;
    --app-surface-soft: #f8fafc;
    --app-text: #20242a;
    --app-muted: #667085;
    --app-border: #e3e7ed;
    --app-border-strong: #d0d5dd;
    --app-accent: #b8860b;
    --app-accent-soft: rgba(184, 134, 11, .12);
    --app-shadow: 0 10px 30px rgba(16, 24, 40, .07);
    --app-input-bg: #ffffff;
    --app-table-stripe: #f8fafc;
    --app-overlay: rgba(16, 24, 40, .4);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --app-bg: #0f1115;
    --app-surface: #171a20;
    --app-surface-soft: #1d2129;
    --app-text: #eef1f5;
    --app-muted: #a9b0bd;
    --app-border: #2b303a;
    --app-border-strong: #3a414d;
    --app-accent: #d2a72d;
    --app-accent-soft: rgba(210, 167, 45, .15);
    --app-shadow: 0 14px 38px rgba(0, 0, 0, .28);
    --app-input-bg: #13161b;
    --app-table-stripe: #1a1e25;
    --app-overlay: rgba(0, 0, 0, .64);

    --bs-body-color: #eef1f5;
    --bs-body-color-rgb: 255,255,255;

    /* Painel de expiração de domínios */
    --bg: #0f1115;
    --card: #171a20;
    --ink: #eef1f5;
    --sub: #a9b0bd;
    --line: #303640;
    --teal: #63d2aa;
    --teal-bg: #153a30;
    --amber: #f0c66c;
    --amber-bg: #40331c;
    --red: #ffaaaa;
    --red-bg: #452327;
    --dark-red: #ffb09c;
    --dark-red-bg: #6b2f22;
    --accent: #8fc8ff;
    --accent-bg: #18344e;
}

html,
body {
    min-height: 100%;
}

body {
    color: var(--app-text);
    background: var(--app-bg);
    transition: background-color .2s ease, color .2s ease;
}

main {
    min-height: calc(100vh - 220px);
    background-color: var(--app-bg);
    color: var(--app-text);
    transition: background-color .2s ease, color .2s ease;
}

html[data-theme="dark"] main,
html[data-theme="dark"] body.login-page {
    background-image: none;
}

.navbar-main {
    background-color: var(--app-surface);
    border-bottom-color: var(--app-border);
    box-shadow: 0 1px 0 rgba(0,0,0,.02);
    transition: background-color .2s ease, border-color .2s ease;
}

.navbar-main .nav-link,
main .list-content li a,
.dropdown-item {
    color: var(--app-text);
}

.navbar-main .nav-link:hover,
main .list-content li a:hover,
.dropdown-item:focus,
.dropdown-item:hover {
    color: var(--app-accent)!important;
}

.navbar-main ul.list-sociais-header a,
.navbar-main ul.list-sociais-header .theme-toggle {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--app-text);
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.navbar-main ul.list-sociais-header a:hover,
.navbar-main ul.list-sociais-header .theme-toggle:hover {
    background: var(--app-accent-soft);
    border-color: rgba(184, 134, 11, .2);
    color: var(--app-accent);
    transform: translateY(-1px);
}

.navbar-main ul.list-sociais-header a i,
.navbar-main ul.list-sociais-header .theme-toggle i {
    color: currentColor;
    font-size: 17px;
    transition: none;
}

.theme-toggle {
    cursor: pointer;
}

.form-control, .form-select {
    font-size: 14px;
}

.client-filter-actions .btn {
    font-size: 13px;
}

.theme-toggle:focus-visible,
.navbar-main a:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
    outline: 3px solid rgba(184, 134, 11, .25);
    outline-offset: 2px;
}

html[data-theme="dark"] .navbar-main .logo-header,
html[data-theme="dark"] .img-logo-login {
    filter: invert(1) grayscale(1) brightness(1.7);
}

html[data-theme="dark"] .navbar-main .offcanvas,
html[data-theme="dark"] .dropdown-menu {
    background-color: var(--app-surface);
    color: var(--app-text);
    border-color: var(--app-border);
}

html[data-theme="dark"] .navbar-main .btn-close,
html[data-theme="dark"] .modal .btn-close {
    filter: invert(1) grayscale(1) brightness(1.7);
}

.header-bottom .container {
    font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.header-breadcumbs ul {
    background-color: var(--app-surface);
    border: 1px solid var(--app-border);
    border-bottom: 0;
    color: var(--app-text);
    box-shadow: var(--app-shadow);
}

.header-breadcumbs li:last-child,
.header-breadcumbs li:last-child::before {
    color: var(--app-text);
}

/* Formulários */
.form-control,
.form-select,
.input-group-text {
    background-color: var(--app-input-bg);
    color: var(--app-text);
    border-color: var(--app-border-strong);
}

.form-control:focus,
.form-select:focus {
    background-color: var(--app-input-bg);
    color: var(--app-text);
    border-color: var(--app-accent);
    box-shadow: 0 0 0 .2rem var(--app-accent-soft);
}

.form-control::placeholder {
    color: var(--app-muted);
    opacity: .8;
}

.form-floating > label,
.form-label,
.form-text {
    color: var(--app-muted);
}

html[data-theme="dark"] .form-floating > .form-control:not(:placeholder-shown) ~ label::after,
html[data-theme="dark"] .form-floating > .form-control:focus ~ label::after,
html[data-theme="dark"] .form-floating > .form-select ~ label::after {
    background-color: var(--app-input-bg);
}

.form-filtro {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 14px;
    padding: 1rem;
    box-shadow: var(--app-shadow);
    margin-bottom: 1.5rem;
}

.form-filtro .row {
    row-gap: 1rem;
}

/* Tabelas */
.app-table-responsive {
    width: 100%;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.app-table-responsive .table {
    margin-bottom: 0;
}

.table {
    --bs-table-bg: var(--app-surface);
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    --bs-table-hover-bg: var(--app-accent-soft);
    --bs-table-hover-color: var(--app-text);
    color: var(--app-text);
    border-color: var(--app-border);
}

.table > :not(caption) > * > * {
    background-color: var(--app-surface);
    color: var(--app-text);
    border-bottom-color: var(--app-border);
}

.table > thead.table-light > tr > th,
.table-light {
    --bs-table-bg: var(--app-surface-soft);
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    background-color: var(--app-surface-soft) !important;
    color: var(--app-text) !important;
}

main table td,
main table th {
    vertical-align: middle;
}

main table td:last-child,
main table th:last-child {
    white-space: nowrap;
}

main table td:last-child .btn {
    margin-top: 2px;
    margin-bottom: 2px;
}

/* Cards, modais e componentes Bootstrap */
.card,
.modal-content,
.list-group-item,
.dropdown-menu {
    background-color: var(--app-surface);
    color: var(--app-text);
    border-color: var(--app-border);
}

.modal-header,
.modal-footer {
    border-color: var(--app-border);
}

.modal-backdrop.show {
    opacity: .55;
}

.alert {
    border-color: var(--app-border);
}

html[data-theme="dark"] .alert-primary {
    color: #cfe4ff;
    background: #152b45;
    border-color: #254b72;
}

html[data-theme="dark"] .alert-danger {
    color: #ffc7cd;
    background: #401f24;
    border-color: #653039;
}

html[data-theme="dark"] .alert-success {
    color: #c8f2dc;
    background: #173629;
    border-color: #285844;
}

hr {
    border-color: var(--app-border);
    opacity: 1;
}

/* Home */
.page-home > div,
.page-home > section {
    min-width: 0;
}

.page-home h3 {
    font-size: clamp(1.1rem, 2vw, 1.45rem);
}

/* Login */
body.login-page {
    min-height: 100vh;
    color: var(--app-text);
    background-color: var(--app-bg);
}

.login-page-container {
    min-height: 100vh;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.main-form-login {
    margin: 0;
    padding: clamp(1.25rem, 4vw, 2.25rem);
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 18px;
    box-shadow: var(--app-shadow);
}

.theme-toggle-login {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 10;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface);
    color: var(--app-text);
    box-shadow: var(--app-shadow);
}

.theme-toggle-login:hover {
    color: var(--app-accent);
    background: var(--app-accent-soft);
}

form#login-form {
    max-width: 360px;   
}

form#login-form .form-control, form#login-form .form-select, form#login-form .input-group-text {
    font-weight: 400;
    font-size: 16px;
}

/* Painel de domínios */
html[data-theme="dark"] .wrap .btn:not(.btn-export):not(.btn-primary),
html[data-theme="dark"] .manual-row button,
html[data-theme="dark"] .manual-row input {
    background: var(--card);
    color: var(--ink);
    border-color: var(--line);
}

/* Rodapé */
.creditos4up {
    padding-left: clamp(1rem, 5vw, 5rem);
    padding-right: clamp(1rem, 5vw, 5rem);
}

/* Mobile/tablet */
@media (max-width: 991px) {
    .navbar-main {
        padding: .9rem 0;
    }

    .navbar-main .logo-header {
        max-width: 150px;
    }

    .navbar-main .offcanvas {
        width: min(88vw, 360px);
        background-color: var(--app-surface);
        color: var(--app-text);
    }

    .navbar-main .offcanvas-body {
        padding-top: .5rem;
    }

    .navbar-main .nav-link {
        color: var(--app-text);
        font-size: .95rem;
        font-weight: 500;
        line-height: 1.35;
        padding: .8rem .65rem;
        border-radius: 8px;
    }

    .navbar-main .nav-link:hover {
        background: var(--app-accent-soft);
    }

    .navbar-main ul.list-sociais-header {
        padding-top: .75rem;
        margin-top: .5rem !important;
        border-top: 1px solid var(--app-border);
    }

    .header-bottom .container {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
    }

    .header-breadcumbs {
        padding: 0 .75rem;
    }

    .header-breadcumbs ul {
        max-width: 100%;
        overflow-x: auto;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        white-space: nowrap;
        scrollbar-width: thin;
    }

    .header-breadcumbs li {
        flex: 0 0 auto;
    }

    main.py-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .app-table-responsive .table {
        min-width: 760px;
    }

    .form-filtro .btn,
    .form-filtro a.btn {
        min-height: 42px;
    }

    .creditos4up {
        margin-bottom: 0;
    }
}

@media (max-width: 767px) {
    .container {
        --bs-gutter-x: 1.6rem;
    }

    .header-bottom .container {
        font-size: 1.35rem;
    }

    .header-breadcumbs ul {
        font-size: .78rem;
        padding: 11px 12px 8px;
    }

    .page-home {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    main .page-home {
        font-size: 1rem;
    }

    .page-home > .col-12.col-md-6 {
        padding-left: 0;
        padding-right: 0;
    }

    .page-home hr {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .form-filtro {
        padding: .85rem;
    }

    .form-filtro .row > [class*="col-"] {
        width: 100%;
    }

    .form-filtro .row > .d-flex {
        justify-content: stretch !important;
    }

    .form-filtro .row > .d-flex .btn,
    .form-filtro .row > .d-flex a.btn {
        flex: 1 1 100%;
        width: 100%;
    }

    .btn {
        min-height: 40px;
    }

    .btn.btn-sm {
        min-height: 34px;
        min-width: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .modal-dialog {
        margin: .75rem;
    }

    .creditos4up {
        font-size: 12px !important;
    }

    .creditos4up a {
        font-size: 12px !important;
    }
}

@media (max-width: 420px) {
    .navbar-main .logo-header {
        max-width: 128px;
    }

    .theme-toggle-login {
        top: 12px;
        right: 12px;
    }

    .main-form-login {
        border-radius: 14px;
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 575px) {
    .wrap .toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: .75rem;
    }

    .wrap .toolbar > div {
        display: flex;
        gap: .5rem;
    }

    .wrap .toolbar > div .btn {
        flex: 1 1 0;
        margin-right: 0;
    }

    .wrap .manual-row {
        flex-wrap: wrap;
    }

    .wrap .manual-row input {
        width: 100%;
    }
}

/* Listagens dinâmicas: filtros e paginação sem recarregar a página */
[data-ajax-list] {
    position: relative;
    min-height: 120px;
}

[data-ajax-list].is-ajax-loading {
    pointer-events: none;
}

[data-ajax-list].is-ajax-loading::before {
    content: "";
    position: absolute;
    inset: -8px;
    z-index: 1040;
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
    backdrop-filter: blur(1.5px);
}

[data-ajax-list].is-ajax-loading::after {
    content: "";
    position: absolute;
    top: 120px;
    left: 50%;
    z-index: 1041;
    width: 34px;
    height: 34px;
    margin-left: -17px;
    border: 3px solid rgba(0, 0, 0, .15);
    border-top-color: var(--bs-primary);
    border-radius: 50%;
    animation: ajax-list-spin .65s linear infinite;
}

[data-theme="dark"] [data-ajax-list].is-ajax-loading::before,
[data-bs-theme="dark"] [data-ajax-list].is-ajax-loading::before {
    background: rgba(18, 18, 20, .72);
}

[data-theme="dark"] [data-ajax-list].is-ajax-loading::after,
[data-bs-theme="dark"] [data-ajax-list].is-ajax-loading::after {
    border-color: rgba(255, 255, 255, .18);
    border-top-color: var(--bs-primary);
}

.ajax-pagination-wrap {
    scroll-margin-top: 24px;
}

.ajax-pagination-wrap .pagination {
    gap: 4px;
}

.ajax-pagination-wrap .page-link {
    min-width: 34px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px !important;
}

.ajax-pagination-meta strong {
    color: var(--bs-body-color);
}

.ajax-list-error {
    position: relative;
    z-index: 1042;
}

@keyframes ajax-list-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 575.98px) {
    .ajax-pagination-wrap nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .ajax-pagination-wrap .pagination {
        flex-wrap: nowrap !important;
        width: max-content;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-ajax-list].is-ajax-loading::after {
        animation-duration: 1.4s;
    }
}

/* Ações em lote: seleção, edição, exclusão e download múltiplo */
.bulk-actions-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: .8rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 12px;
    background: var(--bs-tertiary-bg);
}

.bulk-actions-summary {
    white-space: nowrap;
}

.bulk-actions-buttons {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.bulk-check-col {
    width: 42px;
    min-width: 42px;
    text-align: center;
    vertical-align: middle;
}

.bulk-check-col .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
}

.table tbody tr.bulk-row-selected > * {
    background-color: rgba(var(--bs-primary-rgb), .10) !important;
}

.bulk-edit-field {
    padding: .85rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
}

.bulk-edit-field:has([data-bulk-field-toggle]:checked) {
    border-color: rgba(var(--bs-primary-rgb), .55);
    background: rgba(var(--bs-primary-rgb), .05);
}

@media (max-width: 767.98px) {
    .bulk-actions-bar,
    .bulk-actions-buttons {
        align-items: stretch;
    }

    .bulk-actions-buttons {
        width: 100%;
    }

    .bulk-actions-buttons .btn {
        flex: 1 1 145px;
    }
}

/* ==========================================================
   Perfil dedicado do cliente
   ========================================================== */
.client-profile-page {
    --client-card-radius: 16px;
}

.client-profile-title {
    margin-top: .3rem;
    font-size: clamp(1.65rem, 3vw, 2.4rem);
    font-weight: 750;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.client-profile-subtitle,
.client-card-header p {
    color: var(--app-muted);
    overflow-wrap: anywhere;
}

.client-back-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--app-muted);
    font-size: .9rem;
    text-decoration: none;
}

.client-back-link:hover {
    color: var(--app-accent);
}

.client-card {
    padding: clamp(1rem, 2.2vw, 1.45rem);
    border: 1px solid var(--app-border);
    border-radius: var(--client-card-radius);
    background: var(--app-surface);
    box-shadow: var(--app-shadow-sm, 0 8px 24px rgba(0,0,0,.06));
}

.client-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.client-card-header h2 {
    margin: .15rem 0 0;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    font-weight: 700;
}

.client-card-header p {
    margin: .3rem 0 0;
    font-size: .875rem;
}

.client-card-eyebrow {
    display: block;
    color: var(--app-accent);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.client-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.client-info-item {
    min-width: 0;
    padding: .8rem .85rem;
    border: 1px solid var(--app-border);
    border-radius: 11px;
    background: var(--app-bg-soft, var(--bs-tertiary-bg));
}

.client-info-wide {
    grid-column: 1 / -1;
}

.client-info-item dt {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .3rem;
    color: var(--app-muted);
    font-size: .72rem;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.client-info-item dt i {
    width: 15px;
    color: var(--app-accent);
    text-align: center;
}

.client-info-item dd {
    margin: 0;
    color: var(--app-text);
    font-size: .94rem;
    font-weight: 550;
    overflow-wrap: anywhere;
}

.client-info-item dd a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.client-chart-card {
    overflow: hidden;
}

.client-chart-heading {
    align-items: center;
}

.client-chart-current {
    flex: 0 0 auto;
    min-width: 115px;
    padding: .7rem .85rem;
    border: 1px solid rgba(var(--bs-primary-rgb), .22);
    border-radius: 12px;
    background: rgba(var(--bs-primary-rgb), .06);
    text-align: right;
}

.client-chart-current span,
.client-chart-current small {
    display: block;
    color: var(--app-muted);
    font-size: .72rem;
}

.client-chart-current strong {
    display: block;
    margin: .05rem 0;
    font-size: 1.55rem;
    line-height: 1.1;
}

.client-kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin-bottom: 1rem;
}

.client-kpi {
    min-width: 0;
    padding: .7rem .75rem;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-bg-soft, var(--bs-tertiary-bg));
}

.client-kpi span,
.client-kpi small {
    display: block;
    color: var(--app-muted);
    font-size: .68rem;
    line-height: 1.25;
}

.client-kpi strong {
    display: block;
    margin: .1rem 0;
    font-size: 1.2rem;
    line-height: 1.2;
}

.client-chart-wrap {
    position: relative;
    width: 100%;
    min-height: 310px;
    /* overflow-x: auto; */
    /* overflow-y: hidden; */
}

.client-ranking-svg {
    display: block;
    width: 100%;
    min-width: 680px;
    height: auto;
}

.client-chart-grid line {
    stroke: var(--app-border);
    stroke-width: 1;
    stroke-dasharray: 3 4;
}

.client-chart-grid text,
.client-chart-axis text {
    fill: var(--app-muted);
    font-size: 11px;
    font-family: inherit;
}

.client-chart-line {
    fill: none;
    stroke: var(--app-accent);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.client-chart-area {
    fill: var(--app-accent);
    opacity: .08;
}

.client-chart-points circle {
    fill: var(--app-surface);
    stroke: var(--app-accent);
    stroke-width: 3;
    cursor: pointer;
    transition: r .15s ease, fill .15s ease;
}

.client-chart-points circle:hover,
.client-chart-points circle:focus {
    r: 7;
    fill: var(--app-accent);
    outline: none;
}

.client-chart-tooltip {
    position: absolute;
    z-index: 3;
    min-width: 205px;
    max-width: 245px;
    padding: .65rem .75rem;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface);
    color: var(--app-text);
    box-shadow: var(--app-shadow);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, calc(-100% - 12px));
    transition: opacity .12s ease;
}

.client-chart-tooltip.is-visible { opacity: 1; }
.client-chart-tooltip strong,
.client-chart-tooltip span,
.client-chart-tooltip small { display: block; }
.client-chart-tooltip strong { margin-bottom: .2rem; font-size: .82rem; }
.client-chart-tooltip span { font-size: .78rem; }
.client-chart-tooltip small { margin-top: .15rem; color: var(--app-muted); font-size: .7rem; }

.client-chart-empty,
.client-reports-empty,
.client-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    gap: .45rem;
    padding: 2rem;
    color: var(--app-muted);
    text-align: center;
}

.client-chart-empty i,
.client-reports-empty i,
.client-empty-state > i {
    margin-bottom: .5rem;
    color: var(--app-accent);
    font-size: 2rem;
}

.client-chart-empty strong,
.client-reports-empty strong,
.client-empty-state h2 {
    color: var(--app-text);
}

.client-reports-empty { min-height: 190px; }
.client-empty-state { min-height: 420px; }

.client-reports-header {
    align-items: center;
}

.client-reports-table th,
.client-reports-table td {
    vertical-align: middle;
}

.client-coverage {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 145px;
}

.client-coverage .progress {
    flex: 1 1 auto;
    min-width: 80px;
    height: 7px;
    background: var(--bs-tertiary-bg);
}

.client-coverage span {
    flex: 0 0 auto;
    min-width: 44px;
    color: var(--app-muted);
    font-size: .78rem;
    text-align: right;
}

@media (max-width: 1199.98px) {
    .client-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .client-profile-page .container > .d-flex > .d-flex {
        width: 100%;
    }

    .client-profile-page .container > .d-flex > .d-flex .btn {
        flex: 1 1 180px;
    }

    .client-card-header,
    .client-chart-heading,
    .client-reports-header {
        flex-direction: column;
        align-items: stretch;
    }

    .client-chart-current {
        width: 100%;
        text-align: left;
    }

    .client-info-grid {
        grid-template-columns: 1fr;
    }

    .client-info-wide {
        grid-column: auto;
    }

    .client-chart-wrap {
        min-height: 285px;
    }
}

@media (max-width: 480px) {
    .client-card {
        padding: .9rem;
        border-radius: 13px;
    }

    .client-kpi-row {
        grid-template-columns: 1fr 1fr;
    }

    .client-kpi {
        padding: .65rem;
    }

    .client-kpi strong {
        font-size: 1.05rem;
    }
}

/* Seletor de configurações / mapas do cliente */
.client-monitoring-switcher {
    padding: clamp(1rem, 2vw, 1.25rem);
    border: 1px solid var(--app-border);
    border-radius: var(--client-card-radius, 16px);
    background: var(--app-surface);
    box-shadow: var(--app-shadow-sm, 0 8px 24px rgba(0,0,0,.06));
}

.client-monitoring-switcher-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.client-monitoring-switcher-head h2 {
    margin: .15rem 0 0;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 700;
}

.client-monitoring-switcher-head p {
    margin: .3rem 0 0;
    color: var(--app-muted);
    font-size: .86rem;
}

.client-monitoring-count {
    flex: 0 0 auto;
    padding: .38rem .65rem;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: var(--app-bg-soft, var(--bs-tertiary-bg));
    color: var(--app-muted);
    font-size: .75rem;
    font-weight: 650;
}

.client-monitoring-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: .65rem;
}

.client-monitoring-option {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .8rem .85rem;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-bg-soft, var(--bs-tertiary-bg));
    color: var(--app-text);
    text-decoration: none;
    font: inherit;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.client-monitoring-option:hover {
    border-color: rgba(var(--bs-primary-rgb), .45);
    color: var(--app-text);
    transform: translateY(-1px);
}

.client-monitoring-option.is-active {
    border-color: rgba(var(--bs-primary-rgb), .55);
    background: rgba(var(--bs-primary-rgb), .07);
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), .08);
}

.client-monitoring-option-icon {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--bs-primary-rgb), .10);
    color: var(--app-accent);
}

.client-monitoring-option-content {
    min-width: 0;
    flex: 1 1 auto;
}

.client-monitoring-option-content strong,
.client-monitoring-option-content small {
    display: block;
}

.client-monitoring-option-content strong {
    margin-bottom: .15rem;
    font-size: .9rem;
}

.client-monitoring-option-content small {
    color: var(--app-muted);
    font-size: .72rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .client-monitoring-switcher-head {
        flex-direction: column;
        align-items: stretch;
    }

    .client-monitoring-count {
        align-self: flex-start;
    }

    .client-monitoring-options {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Dashboard inicial - visão operacional SEO
   ========================================================= */
.dashboard-home {
    --dash-radius: 16px;
    --dash-green: #198754;
    --dash-yellow: #d9a406;
    --dash-red: #dc3545;
    --dash-gray: #7c8796;
    background: var(--app-bg);
    min-height: calc(100vh - 150px);
}

.dashboard-welcome {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
}

.dashboard-eyebrow {
    display: block;
    margin-bottom: .3rem;
    color: var(--app-accent);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dashboard-welcome h1 {
    margin: 0;
    color: var(--app-text);
    font-size: clamp(1.6rem, 3vw, 2.25rem);
    font-weight: 750;
    letter-spacing: -.035em;
}

.dashboard-welcome p {
    margin: .45rem 0 0;
    color: var(--app-muted);
}

.dashboard-quick-actions {
    display: flex;
    gap: .6rem;
    flex: 0 0 auto;
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .8rem;
}

.dashboard-kpi-card,
.dashboard-card {
    border: 1px solid var(--app-border);
    background: var(--app-surface);
    box-shadow: var(--app-shadow-sm, 0 8px 24px rgba(0,0,0,.05));
}

.dashboard-kpi-card {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    padding: 1rem;
    border-radius: 14px;
}

.dashboard-kpi-highlight {
    border-color: rgba(var(--bs-primary-rgb), .28);
    background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .07), var(--app-surface) 58%);
}

.dashboard-kpi-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--bs-primary-rgb), .10);
    color: var(--app-accent);
    font-size: 1rem;
}

.dashboard-kpi-card span,
.dashboard-kpi-card small {
    display: block;
}

.dashboard-kpi-card span {
    color: var(--app-muted);
    font-size: .74rem;
    font-weight: 600;
}

.dashboard-kpi-card strong {
    display: inline-block;
    margin: .05rem 0;
    color: var(--app-text);
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    line-height: 1.15;
}

.dashboard-kpi-card small {
    color: var(--app-muted);
    font-size: .66rem;
}

.dashboard-health-value {
    display: flex;
    align-items: baseline;
    gap: .15rem;
}

.dashboard-health-value em {
    color: var(--app-muted);
    font-size: .72rem;
    font-style: normal;
}

.dashboard-health-progress {
    height: 5px;
    margin: .22rem 0 .25rem;
    background: var(--bs-tertiary-bg);
}

.dashboard-card {
    padding: clamp(1rem, 2vw, 1.25rem);
    border-radius: var(--dash-radius);
}

.dashboard-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dashboard-card-head h2 {
    margin: .05rem 0 .25rem;
    color: var(--app-text);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 720;
}

.dashboard-card-head p {
    margin: 0;
    max-width: 690px;
    color: var(--app-muted);
    font-size: .78rem;
}

.dashboard-card-head-simple { display: block; }

.dashboard-text-link {
    flex: 0 0 auto;
    color: var(--app-accent);
    font-size: .78rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.dashboard-text-link:hover { text-decoration: underline; }

.dashboard-period {
    display: flex;
    flex: 0 0 auto;
    padding: .2rem;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-bg-soft, var(--bs-tertiary-bg));
}

.dashboard-period a,
.dashboard-period button {
    padding: .38rem .55rem;
    border-radius: 7px;
    color: var(--app-muted);
    font-size: .7rem;
    font-weight: 650;
    text-decoration: none;
    border: 0;
    background: transparent;
}

.dashboard-period a:hover,
.dashboard-period a.active,
.dashboard-period button:hover,
.dashboard-period button.active {
    background: var(--app-surface);
    color: var(--app-accent);
    box-shadow: 0 2px 7px rgba(0,0,0,.06);
}

.dashboard-chart-wrap {
    position: relative;
    min-height: 345px;
    overflow: hidden;
}

.dashboard-evolution-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.dashboard-chart-grid line {
    stroke: var(--app-border);
    stroke-width: 1;
    stroke-dasharray: 4 5;
}

.dashboard-chart-grid text,
.dashboard-chart-axis text {
    fill: var(--app-muted);
    font-size: 11px;
}

.dashboard-chart-area {
    fill: rgba(var(--bs-primary-rgb), .08);
}

.dashboard-chart-line {
    fill: none;
    stroke: var(--app-accent);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-chart-points circle {
    fill: var(--app-surface);
    stroke: var(--app-accent);
    stroke-width: 3;
    cursor: pointer;
}

.dashboard-chart-points circle:hover,
.dashboard-chart-points circle:focus {
    r: 7;
    outline: none;
}

.dashboard-chart-tooltip {
    position: absolute;
    z-index: 3;
    display: none;
    min-width: 185px;
    padding: .65rem .75rem;
    transform: translate(-50%, -100%);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface);
    box-shadow: 0 12px 30px rgba(0,0,0,.14);
    pointer-events: none;
}

.dashboard-chart-tooltip.is-visible { display: block; }
.dashboard-chart-tooltip strong,
.dashboard-chart-tooltip span,
.dashboard-chart-tooltip small { display: block; }
.dashboard-chart-tooltip strong { color: var(--app-text); font-size: .78rem; }
.dashboard-chart-tooltip span { margin-top: .15rem; color: var(--app-text); font-size: .74rem; }
.dashboard-chart-tooltip small { margin-top: .12rem; color: var(--app-muted); font-size: .66rem; }

.dashboard-portfolio-status {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) 1fr;
    align-items: center;
    gap: 1.1rem;
    min-height: 210px;
}

.dashboard-donut {
    position: relative;
    display: grid;
    width: min(165px, 100%);
    aspect-ratio: 1;
    place-items: center;
    margin: 0 auto;
    border-radius: 50%;
    background: conic-gradient(
        var(--dash-green) 0 var(--p1),
        var(--dash-gray) var(--p1) var(--p2),
        var(--dash-red) var(--p2) var(--p3),
        var(--dash-yellow) var(--p3) 100%
    );
}

.dashboard-donut::after {
    position: absolute;
    width: 68%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--app-surface);
    content: '';
}

.dashboard-donut > div {
    position: relative;
    z-index: 1;
    text-align: center;
}

.dashboard-donut strong,
.dashboard-donut span { display: block; }
.dashboard-donut strong { color: var(--app-text); font-size: 1.55rem; line-height: 1; }
.dashboard-donut span { margin-top: .2rem; color: var(--app-muted); font-size: .65rem; }

.dashboard-status-list { display: grid; gap: .65rem; }
.dashboard-status-list > div { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: .5rem; color: var(--app-muted); font-size: .75rem; }
.dashboard-status-list strong { color: var(--app-text); font-size: .82rem; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; }
.status-growing { background: var(--dash-green); }
.status-stable { background: var(--dash-gray); }
.status-falling { background: var(--dash-red); }
.status-overdue { background: var(--dash-yellow); }

.dashboard-health-note {
    display: flex;
    gap: .55rem;
    padding: .7rem .75rem;
    border-radius: 10px;
    background: var(--app-bg-soft, var(--bs-tertiary-bg));
    color: var(--app-muted);
    font-size: .68rem;
    line-height: 1.45;
}

.dashboard-health-note i { margin-top: .12rem; color: var(--app-accent); }

.dashboard-table { --bs-table-bg: transparent; --bs-table-color: var(--app-text); }
.dashboard-table thead th {
    padding: .6rem .65rem;
    border-bottom-color: var(--app-border);
    color: var(--app-muted);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dashboard-table tbody td {
    padding: .68rem .65rem;
    border-bottom-color: var(--app-border);
    color: var(--app-text);
    font-size: .74rem;
}

.dashboard-table tbody tr:last-child td { border-bottom: 0; }
.dashboard-table td > strong,
.dashboard-table td > small { display: block; }
.dashboard-table td > small { margin-top: .08rem; color: var(--app-muted); font-size: .64rem; }
.dashboard-table .badge { font-size: .62rem; font-weight: 600; }

.dashboard-delta { font-size: .7rem; font-weight: 700; white-space: nowrap; }
.dashboard-delta.is-positive { color: var(--dash-green); }
.dashboard-delta.is-negative { color: var(--dash-red); }

.dashboard-mini-health {
    display: grid;
    grid-template-columns: 26px 54px;
    align-items: center;
    gap: .35rem;
}

.dashboard-mini-health strong { font-size: .72rem; }
.dashboard-mini-health .progress { height: 5px; background: var(--bs-tertiary-bg); }
.dashboard-status-badge { display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap; }

.dashboard-ranking { display: grid; gap: .35rem; }
.dashboard-ranking-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto 16px;
    align-items: center;
    gap: .65rem;
    padding: .62rem .55rem;
    border-bottom: 1px solid var(--app-border);
}

.dashboard-ranking-item:last-child { border-bottom: 0; }
.dashboard-rank-number {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    background: rgba(var(--bs-primary-rgb), .10);
    color: var(--app-accent);
    font-size: .7rem;
    font-weight: 750;
}

.dashboard-rank-content { min-width: 0; }
.dashboard-rank-content strong,
.dashboard-rank-content small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-rank-content strong { color: var(--app-text); font-size: .76rem; }
.dashboard-rank-content small { color: var(--app-muted); font-size: .64rem; }
.dashboard-rank-change { color: var(--dash-green); font-size: .7rem; font-weight: 750; white-space: nowrap; }
.dashboard-ranking-item > a { color: var(--app-muted); font-size: .7rem; }
.dashboard-ranking-item > a:hover { color: var(--app-accent); }

.dashboard-coverage { display: flex; align-items: center; gap: .45rem; min-width: 125px; }
.dashboard-coverage .progress { flex: 1; height: 6px; background: var(--bs-tertiary-bg); }
.dashboard-coverage span { min-width: 38px; color: var(--app-muted); font-size: .65rem; text-align: right; }

.dashboard-empty {
    display: flex;
    min-height: 270px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    color: var(--app-muted);
    text-align: center;
}

.dashboard-empty i { margin-bottom: .35rem; color: var(--app-accent); font-size: 1.55rem; }
.dashboard-empty strong { color: var(--app-text); }
.dashboard-empty span { max-width: 360px; font-size: .75rem; }
.dashboard-empty-compact { min-height: 205px; }

@media (max-width: 1199.98px) {
    .dashboard-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .dashboard-welcome { flex-direction: column; align-items: stretch; }
    .dashboard-quick-actions { width: 100%; }
    .dashboard-quick-actions .btn { flex: 1; }
    .dashboard-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-card-head { flex-direction: column; align-items: stretch; }
    .dashboard-period { align-self: flex-start; }
    .dashboard-chart-wrap { min-height: 300px; overflow-x: auto; }
    .dashboard-portfolio-status { grid-template-columns: 1fr 1fr; }
    .dashboard-recent-table td:first-child { min-width: 170px; }
}

@media (max-width: 480px) {
    .dashboard-home { padding-top: 1rem !important; }
    .dashboard-kpi-grid { gap: .55rem; }
    .dashboard-kpi-card { align-items: flex-start; padding: .75rem; }
    .dashboard-kpi-icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 9px; font-size: .82rem; }
    .dashboard-kpi-card strong { font-size: 1.2rem; }
    .dashboard-kpi-card small { font-size: .6rem; }
    .dashboard-portfolio-status { grid-template-columns: 1fr; }
    .dashboard-donut { width: 145px; }
    .dashboard-status-list { width: min(260px, 100%); margin: 0 auto; }
    .dashboard-ranking-item { grid-template-columns: 30px minmax(0, 1fr) auto; }
    .dashboard-ranking-item > a { display: none; }
}

/* ===== Dashboard: destaques e páginas analíticas ===== */
.dashboard-featured-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .8rem;
}

.dashboard-featured-client {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid var(--app-border, #e4e8ee);
    border-radius: 14px;
    background: var(--app-surface);
    min-width: 0;
}

.dashboard-featured-rank {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: .82rem;
    background: rgba(184, 134, 11, .12);
    color: #9b7107;
}

.dashboard-featured-main { min-width: 0; padding-right: 18px; }
.dashboard-featured-main strong { display: block; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dashboard-featured-main small { display: block; margin-top: .18rem; color: var(--app-muted, #6c757d); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dashboard-featured-score { grid-column: 1 / -1; padding-top: .65rem; border-top: 1px solid var(--app-border, #e9edf2); }
.dashboard-featured-score strong { display: block; font-family: Montserrat, sans-serif; font-size: 1.65rem; line-height: 1; }
.dashboard-featured-score span { display: block; margin-top: .25rem; font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--app-muted, #6c757d); }
.dashboard-featured-score small { display: block; margin-top: .2rem; color: var(--app-muted, #6c757d); }
.dashboard-featured-link { position: absolute; top: 1.08rem; right: 1rem; color: var(--app-muted, #6c757d); }
.dashboard-featured-link:hover { color: var(--app-accent, #b8860b); }

.analytics-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.analytics-table td > strong + small,
.analytics-table td strong + small { display: block; color: var(--app-muted, #6c757d); font-size: .72rem; margin-top: .1rem; }
.analytics-table td, .analytics-table th { vertical-align: middle; }

@media (max-width: 1199px) {
    .dashboard-featured-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .analytics-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .dashboard-featured-grid { grid-template-columns: 1fr; }
    .analytics-summary-grid { grid-template-columns: 1fr; }
}

/* ===== Refinos adicionais do tema escuro ===== */
html[data-theme="dark"] .page-link {
    background-color: var(--app-surface);
    color: var(--app-text);
    border-color: var(--app-border);
}

html[data-theme="dark"] .page-link:hover,
html[data-theme="dark"] .page-item.active .page-link {
    background-color: var(--app-accent-soft);
    color: var(--app-accent);
    border-color: var(--app-accent);
}

html[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--app-surface-soft);
    color: #737b87;
    border-color: var(--app-border);
}

html[data-theme="dark"] .bulk-actions-bar,
html[data-theme="dark"] .bulk-edit-field,
html[data-theme="dark"] .client-card,
html[data-theme="dark"] .client-monitoring-switcher,
html[data-theme="dark"] .client-info-item,
html[data-theme="dark"] .client-kpi,
html[data-theme="dark"] .client-monitoring-option,
html[data-theme="dark"] .dashboard-card,
html[data-theme="dark"] .dashboard-kpi-card,
html[data-theme="dark"] .dashboard-featured-client,
html[data-theme="dark"] .main-form-login,
html[data-theme="dark"] .card,
html[data-theme="dark"] .list-group-item,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .dropdown-menu {
    background-color: var(--app-surface);
    color: var(--app-text);
    border-color: var(--app-border);
}

html[data-theme="dark"] .client-info-item,
html[data-theme="dark"] .client-kpi,
html[data-theme="dark"] .client-monitoring-option,
html[data-theme="dark"] .dashboard-period,
html[data-theme="dark"] .dashboard-health-note,
html[data-theme="dark"] .bulk-actions-bar {
    background-color: var(--app-surface-soft);
}

html[data-theme="dark"] .dropdown-item,
html[data-theme="dark"] .dropdown-header,
html[data-theme="dark"] .modal-title,
html[data-theme="dark"] .card-title,
html[data-theme="dark"] .card-text,
html[data-theme="dark"] .bulk-actions-summary,
html[data-theme="dark"] .analytics-table,
html[data-theme="dark"] .dashboard-featured-main strong,
html[data-theme="dark"] .dashboard-featured-score strong {
    color: var(--app-text);
}

html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .text-secondary,
html[data-theme="dark"] small.text-muted,
html[data-theme="dark"] .ajax-pagination-meta,
html[data-theme="dark"] .dropdown-item-text {
    color: var(--app-muted) !important;
}

html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .bg-light,
html[data-theme="dark"] main [style*="background-color: white"],
html[data-theme="dark"] main [style*="background-color:#fff"],
html[data-theme="dark"] main [style*="background-color: #fff"] {
    background-color: var(--app-surface) !important;
}

html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-start,
html[data-theme="dark"] .border-end {
    border-color: var(--app-border) !important;
}

html[data-theme="dark"] .btn-outline-secondary {
    --bs-btn-color: #c5cbd4;
    --bs-btn-border-color: #596170;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #596170;
    --bs-btn-hover-border-color: #596170;
}

html[data-theme="dark"] .btn-outline-dark {
    --bs-btn-color: #eef1f5;
    --bs-btn-border-color: #6a7280;
    --bs-btn-hover-color: #0f1115;
    --bs-btn-hover-bg: #eef1f5;
    --bs-btn-hover-border-color: #eef1f5;
}

html[data-theme="dark"] .progress { background-color: #2a3039; }
html[data-theme="dark"] .badge.text-bg-light,
html[data-theme="dark"] .badge.bg-light {
    background: #2a3039 !important;
    color: #eef1f5 !important;
}

html[data-theme="dark"] input:-webkit-autofill,
html[data-theme="dark"] input:-webkit-autofill:hover,
html[data-theme="dark"] input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--app-text);
    -webkit-box-shadow: 0 0 0 1000px var(--app-input-bg) inset;
    caret-color: var(--app-text);
}

html[data-theme="dark"] .table .btn-light {
    background: #2a3039;
    color: #eef1f5;
    border-color: #414854;
}

/* ==========================================================
   Portal do cliente + quedas mensais + conversões (2026-08-17)
   ========================================================== */
.client-conversions-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;word-break:break-word}.client-keyword-drops .client-card-header{margin-bottom:1rem}.client-drops-table{min-width:680px}.portal-client-page{background:var(--app-bg);color:var(--app-text);min-height:100vh}.portal-client-header{position:sticky;top:0;z-index:1020;background:var(--app-surface);border-bottom:1px solid var(--app-border);box-shadow:0 4px 18px rgba(16,24,40,.06)}.portal-client-header>.container{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-client-brand{display:flex;align-items:center;gap:1rem;color:var(--app-text);font-weight:700}.portal-client-brand img{width:112px;height:auto}.portal-client-brand .portal-client-label{padding-left:1rem;border-left:1px solid var(--app-border);color:var(--app-muted);font-size:.9rem}.portal-client-user{display:flex;align-items:center;gap:.65rem}.portal-client-user>span{font-size:.88rem;color:var(--app-muted)}.portal-client-user a,.portal-client-user .theme-toggle{width:38px;height:38px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-soft);color:var(--app-text);display:inline-flex;align-items:center;justify-content:center;padding:0}.portal-client-user i{margin:0}.client-profile-portal .client-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.client-profile-portal .client-reports-table{min-width:620px}html[data-theme="dark"] .portal-client-brand img{filter:invert(1) grayscale(1) brightness(1.7)}@media(max-width:767px){.portal-client-header>.container{min-height:62px}.portal-client-brand .portal-client-label,.portal-client-user>span{display:none}.portal-client-brand img{width:96px}.client-profile-portal .client-kpi-row{grid-template-columns:1fr}.client-keyword-drops .client-card-header{align-items:flex-start}}

/* ==========================================================
   Vínculo pesquisável de clientes no cadastro de usuários
   ========================================================== */
.portal-client-picker{
    border:1px solid var(--app-border);
    border-radius:14px;
    background:var(--app-surface-soft);
    padding:.75rem;
}

.portal-client-search .input-group-text{
    background:var(--app-surface);
    border-color:var(--app-border);
    color:var(--app-muted);
}

.portal-client-search .form-control{
    border-color:var(--app-border);
    background:var(--app-surface);
    color:var(--app-text);
}

.portal-client-search .form-control:focus{
    border-color:var(--bs-primary);
    box-shadow:0 0 0 .2rem rgba(13,110,253,.12);
}

.portal-client-picker-toolbar{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.55rem .25rem .35rem;
    color:var(--app-muted);
    font-size:.85rem;
}

.portal-client-picker-toolbar strong{color:var(--app-text)}
.portal-client-picker-toolbar .btn-link{
    padding:.2rem .35rem;
    text-decoration:none;
    font-size:.8rem;
}

.portal-client-options{
    max-height:310px;
    overflow-y:auto;
    border:1px solid var(--app-border);
    border-radius:10px;
    background:var(--app-surface);
}

.portal-client-option{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    margin:0;
    padding:.7rem .8rem;
    cursor:pointer;
    border-bottom:1px solid var(--app-border);
    transition:background-color .15s ease,border-color .15s ease;
}

.portal-client-option:last-child{border-bottom:0}
.portal-client-option:hover{background:var(--app-surface-soft)}
.portal-client-option:has(.form-check-input:checked){background:rgba(13,110,253,.08)}
.portal-client-option .form-check-input{
    flex:0 0 auto;
    margin-top:.2rem;
}

.portal-client-option-text{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.15rem;
}

.portal-client-option-text strong{
    color:var(--app-text);
    font-size:.9rem;
    line-height:1.25;
}

.portal-client-option-text small{
    color:var(--app-muted);
    font-size:.76rem;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.portal-client-picker-empty{
    margin-top:.55rem;
    padding:.75rem;
    border:1px dashed var(--app-border);
    border-radius:10px;
    color:var(--app-muted);
    text-align:center;
    font-size:.84rem;
}

html[data-theme="dark"] .portal-client-option:has(.form-check-input:checked){background:rgba(77,146,255,.14)}
@media(max-width:575px){
    .portal-client-picker-toolbar{align-items:flex-start;flex-direction:column;gap:.15rem}
    .portal-client-options{max-height:260px}
}

html[data-theme="dark"] .form-control:disabled, html[data-theme="dark"] .form-control[readonly] {
    background-color: #15191e;
    color: var(--app-muted);
}

/* Perfil do cliente - evolução mensal e tabelas compactas do portal */
.client-keyword-rises .client-card-header { margin-bottom: 1rem; }
.client-rises-table { min-width: 680px; }
.client-table-more-wrap { display:flex; justify-content:center; padding:1rem 0 .25rem; }
.client-table-more { border-radius:999px; padding:.55rem 1.15rem; font-weight:600; }
.client-profile-portal [data-collapsible-rows] tr[hidden] { display:none !important; }

/* ===== Fila de relatórios / Workers / API ===== */
.queue-stat-card,.queue-worker-card{background:var(--app-surface,#fff);border:1px solid var(--app-border,#dee2e6);border-radius:16px;padding:18px;height:100%;font-size: 16px;}
.queue-stat-card span{display:block;color:var(--bs-secondary-color);font-size:.82rem;margin-bottom:4px}.queue-stat-card strong{font-size:1.75rem}
.queue-worker-card>div{display:flex;align-items:center;gap:8px}.queue-worker-card small,.queue-worker-card>span{display:block;color:var(--bs-secondary-color);margin-top:6px;font-size:.82rem}
.queue-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#6c757d}.queue-dot.is-online{background:#198754;box-shadow:0 0 0 4px rgba(25,135,84,.12)}.queue-dot.is-offline{background:#dc3545}
.queue-table td,.queue-table th{vertical-align:middle}.queue-priority-select{min-width:105px}
.queue-keywords{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
html[data-theme="dark"] .queue-stat-card,html[data-theme="dark"] .queue-worker-card{background:#171a20;border-color:#353b46}
.queue-confirm-summary{background:var(--bs-tertiary-bg);border-radius:12px;padding:12px 14px}

/* ==========================================================
   Cabeçalho de página + Portal do cliente — refinamentos 2026
   ========================================================== */
.app-page-hero{
    background:
      radial-gradient(circle at 82% 20%,rgba(255,255,255,.13),transparent 26%),
      linear-gradient(120deg,#111318 0%,#20242c 58%,#2b2415 100%);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.app-page-hero>.container{
    padding-top:0 !important;
    padding-bottom:0 !important;
    font-size:inherit !important;
    text-transform:none !important;
    line-height:normal !important;
}

.app-page-heading{
    min-height:150px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    padding:2rem 0;
}

@media (max-width:768px) {
    .app-page-heading{
        justify-content:center;
    }

    .app-page-heading-copy {
        align-self: center;
        text-align: center;
    }
}

.app-page-heading-copy{min-width:0}
.app-page-eyebrow{
    display:block;
    margin-bottom:.45rem;
    color:#d8b75b;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.app-page-heading h1{
    margin:0;
    color:#fff;
    font-family:Montserrat,sans-serif;
    font-size:clamp(1.7rem,3vw,2.45rem);
    font-weight:650;
    letter-spacing:-.025em;
    text-transform:none;
}

.app-page-heading .header-breadcumbs{
    flex:0 0 auto;
    padding:0;
}

.app-page-heading .header-breadcumbs ol{
    display:flex;
    align-items:center;
    gap:.1rem;
    margin:0;
    padding:.65rem .9rem;
    width:auto;
    max-width:min(100%,560px);
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    box-shadow:none;
    backdrop-filter:blur(8px);
}

.app-page-heading .header-breadcumbs li,
.app-page-heading .header-breadcumbs li a{
    color:rgba(255,255,255,.76);
    font-size:.82rem;
    font-weight:500;
}

.app-page-heading .header-breadcumbs li:last-child{color:#fff;font-weight:600}
.app-page-heading .header-breadcumbs li a i{color:#d8b75b;margin-right:.45rem}
.app-page-heading .header-breadcumbs li:last-child::before{
    color:rgba(255,255,255,.38);
    margin:0 .55rem;
    content:"\f105";
}

.app-page-heading .header-breadcumbs li a:hover{color:#fff;opacity:1}

/* Marca dinâmica no portal. SVG recebe branco real via filtro e nunca ganha caixa branca. */
.portal-company-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:112px;
    max-width:180px;
    min-height:42px;
}

.portal-company-logo img{
    display:block;
    width:auto !important;
    max-width:170px;
    max-height:52px;
    object-fit:contain;
    background:transparent !important;
    padding:0;
    border-radius:0;
}

html[data-theme="dark"] .portal-client-brand img{filter:none}
html[data-theme="dark"] .portal-company-logo.is-svg img{
    filter:brightness(0) invert(1) !important;
    background:transparent !important;
    box-shadow:none !important;
}

html[data-theme="dark"] .portal-company-logo.is-raster{
    padding:.38rem .65rem;
    background:rgba(255,255,255,.95);
    border-radius:10px;
}

.portal-client-user a.is-active{
    border-color:rgba(184,134,11,.45);
    background:var(--app-accent-soft);
    color:#b8860b;
}

.portal-account-shell{max-width:980px;margin:0 auto}
.portal-account-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1.5rem;
    margin-bottom:1.5rem;
}

.portal-account-heading h1{margin:.2rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.35rem)}
.portal-account-heading p{margin:0;color:var(--app-muted);max-width:650px}
.portal-account-card{padding:clamp(1.25rem,3vw,2rem)}

@media(max-width:767px){
    .app-page-heading{min-height:128px;align-items:flex-start;flex-direction:column;gap:1rem;padding:1.5rem 0}
    .app-page-heading .header-breadcumbs{width:100%;overflow:hidden}
    .app-page-heading .header-breadcumbs ol{max-width:100%;overflow-x:auto;white-space:nowrap;border-radius:14px}
    .portal-company-logo{min-width:88px;max-width:132px}
    .portal-company-logo img{max-width:128px;max-height:42px}
    .portal-account-heading{flex-direction:column}
}

/* Clientes: filtros rebalanceados após remoção do servidor */
#filtroClientes .form-filtro .row { align-items: stretch !important; }
#filtroClientes .form-filtro .form-floating { height: 100%; }
#filtroClientes .client-filter-actions { min-height: 58px; }
#filtroClientes .client-filter-actions .btn { flex: 1 1 auto; white-space: nowrap; }
@media (max-width: 1199.98px) {
  #filtroClientes .client-filter-actions { width: 100%; }
}

@media (max-width: 575.98px) {
  #filtroClientes .client-filter-actions .btn { flex: 1 1 100%; }
}

/* ===== Ajustes 19-08-2026: fila, busca de cliente e instalação PWA ===== */
.queue-client-search-wrap{
    padding:14px;
    border:1px solid var(--app-border);
    border-radius:14px;
    background:var(--bs-tertiary-bg);
}

.queue-client-search-wrap .input-group-text{background:var(--app-surface);border-color:var(--app-border);color:var(--app-muted)}
.queue-client-search-wrap #queueClientPreset{min-height:44px}
html[data-theme="dark"] .queue-client-search-wrap{background:#15191f;border-color:#353b46}

/* .pwa-install-box{
    margin-top:.5rem;
    padding:1rem;
    border:1px solid var(--app-border);
    border-radius:14px;
    background:var(--bs-tertiary-bg);
} */

.pwa-install-copy{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.8rem;text-align:center}
.pwa-install-copy strong{font-size:.92rem;color:var(--app-text)}
.pwa-install-copy span{font-size:.78rem;color:var(--app-muted);line-height:1.4}

.pwa-install-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;align-items:center;}

.pwa-install-actions .btn{border-radius:12px;padding:.65rem .75rem;font-weight:600}
.pwa-help-modal{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border)}
.pwa-help-modal .modal-header,.pwa-help-modal .modal-footer{border-color:var(--app-border)}
/* html[data-theme="dark"] .pwa-install-box{background:#15191f;border-color:#353b46} */
@media(max-width:480px){.pwa-install-actions .btn{width:100%}}

/* Botão android */
.google-play-btn {
  display: inline-flex;
  align-items: center;
  background-color: #fff;
  color: #000;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  /* font-family: 'Roboto', sans-serif; */
  border: 1px solid #a6a6a6;
  transition: background-color 0.2s ease;
}

html[data-theme="dark"] .google-play-btn {
    background-color: #000;
    color: #fff;
}

.google-play-btn:hover {
    background-color: #000;
    color: #fff;
}

html[data-theme="dark"] .google-play-btn:hover {
    background-color: #fff;
    color: #000;
}

.google-play-btn i, .google-play-btn svg {
  width: 28px;
  height: 28px;
  font-size: 28px;
  margin-right: 10px;
}

.btn-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.small-text {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.large-text {
  font-size: 16px;
  font-weight: 500;
}

@media(max-width:580px) {
    .large-text {
        font-size: 14px;
    }

    .small-text {
        font-size: 7px;
    }
}

/* ===== Correção PWA/mobile portal 19-08-2026 ===== */
.portal-client-brand{min-width:0;flex:0 1 auto;}
.portal-client-brand .portal-company-logo{padding-left:0;border-left:0;}
.portal-client-user{flex:0 0 auto;}
@media(max-width:767px){
  .portal-client-header>.container{padding-left:20px;padding-right:20px;gap:.55rem;}
  .portal-client-brand{min-width:0;max-width:calc(100% - 132px);gap:0;}
  .portal-client-brand .portal-company-logo{display:inline-flex !important;visibility:visible !important;min-width:0;max-width:118px;min-height:36px;overflow:visible;}
  .portal-client-brand .portal-company-logo img{display:block !important;visibility:visible !important;width:auto !important;max-width:118px !important;max-height:38px !important;object-fit:contain;}
  .portal-client-user{gap:.35rem;}
  .portal-client-user a,.portal-client-user .theme-toggle{width:36px;height:36px;flex:0 0 36px;}
}

@media(max-width:390px){
  .portal-client-brand{max-width:calc(100% - 116px);}
  .portal-client-brand .portal-company-logo{max-width:96px;}
  .portal-client-brand .portal-company-logo img{max-width:96px !important;max-height:34px !important;}
  .portal-client-user a,.portal-client-user .theme-toggle{width:34px;height:34px;flex-basis:34px;}
}

/* ===== Login robot - 19-08-2026 ===== */
.login-brand-block {
    margin-bottom: .15rem !important;
}

.main-form-login {
    width: min(100%, 560px);
}

.login-robot-stage {
    display: flex;
    justify-content: center;
    margin-bottom: .35rem;
}

.login-robot-shell {
    width: min(100%, 150px);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: .25rem; */
}

.login-robot-image {
    display: block;
    width: 100%;
    max-width: 230px;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
    filter: drop-shadow(0 18px 28px rgba(15, 23, 42, .08));
    border-radius: 50%;
}

@media (max-width: 575.98px) {
    .main-form-login {
        width: min(100%, 100%);
        padding: 1.1rem;
    }

    .img-logo-login {
        width: auto;
        max-width: 140px;
        height: auto;
    }

    .login-robot-shell {
        width: min(100%, 150px);
    }

    .login-robot-image {
        max-width: 176px;
    }
}

/* ===== Mostrar/ocultar senha ===== */
.password-field-wrap {
    position: relative;
    width: 100%;
}

.password-field-wrap > .form-control {
    width: 100%;
    padding-right: 3rem !important;
}

.password-toggle-btn {
    position: absolute;
    top: 50%;
    right: .55rem;
    z-index: 5;
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--app-muted, #6c757d);
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

.password-toggle-btn:hover,
.password-toggle-btn:focus-visible {
    color: var(--app-accent, #0d6efd);
    background: var(--app-accent-soft, rgba(13,110,253,.09));
}

.password-toggle-btn i {
    margin: 0;
    font-size: 1rem;
    line-height: 1;
}

html[data-theme="dark"] .password-toggle-btn {
    color: var(--app-muted, #a9b0bd);
}

html[data-theme="dark"] .password-toggle-btn:hover,
html[data-theme="dark"] .password-toggle-btn:focus-visible {
    color: var(--app-text, #eef1f5);
    background: rgba(255,255,255,.08);
}

@media (max-width: 575.98px) {
    .password-field-wrap > .form-control {
        padding-right: 2.85rem !important;
    }

    .password-toggle-btn {
        right: .4rem;
        width: 2.15rem;
        height: 2.15rem;
    }
}

/* ===== Relatório personalizado por mapa do site ===== */
.custom-source-switch {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.custom-source-switch .btn { border-radius: 12px; }
.custom-sitemap-box {
    padding: 1rem;
    border: 1px solid var(--app-border);
    border-radius: 14px;
    background: var(--bs-tertiary-bg);
}

html[data-theme="dark"] .custom-sitemap-box {
    background: #15191f;
    border-color: #353b46;
}

.custom-batch-log {
    display: grid;
    gap: .55rem;
    max-height: 280px;
    overflow: auto;
}

.custom-batch-log-item {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    padding: .65rem .8rem;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface);
}

.custom-batch-log-item > i { margin: .15rem 0 0; }
.custom-batch-log-item > span { display: flex; flex-direction: column; min-width: 0; }
.custom-batch-log-item strong { overflow-wrap: anywhere; }
.custom-batch-log-item small { color: var(--app-muted); overflow-wrap: anywhere; }
.custom-batch-log-item.is-success > i { color: #198754; }
.custom-batch-log-item.is-error > i { color: #dc3545; }
@media (max-width: 575.98px) {
    .custom-source-switch .btn { width: 100%; }
    .custom-sitemap-box { padding: .8rem; }
}

/* ===== Home mobile e portal mobile - 25-08-2026 ===== */
.mobile-home-shell{display:none;}
.app-menu-landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.app-menu-landing-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.5rem;border:1px solid var(--bs-border-color);border-radius:22px;background:var(--bs-body-bg);color:var(--bs-body-color);text-decoration:none;box-shadow:0 16px 40px rgba(15,23,42,.07);transition:.2s ease;}
.app-menu-landing-card:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(15,23,42,.11);color:var(--bs-body-color);}
.app-menu-landing-card>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:rgba(255,102,0,.10);color:#d2a72d;font-size:1.25rem;}
.app-menu-landing-card small{display:block;color:var(--bs-secondary-color);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;}
.app-menu-landing-card h2{font-size:1.05rem;margin:.2rem 0 .35rem;}.app-menu-landing-card p{margin:0;color:var(--bs-secondary-color);font-size:.9rem;}

@media(max-width:767.98px){
    body.app-home-page{background:linear-gradient(180deg,#f7f9fc 0,#f4f6f9 100%);}
    body.app-home-page #Header, body.app-home-page .dashboard-home, body.app-home-page footer{display:none!important;}
    .mobile-home-shell{display:block;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 0 calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 8% 4%,rgba(58,128,255,.08),transparent 27%),radial-gradient(circle at 92% 14%,rgba(255,102,0,.06),transparent 28%);}
    .mobile-home-inner{width:min(100% - 28px,720px);margin:0 auto;}
    .mobile-home-profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:20px;}
    .mobile-home-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#111827,#4b5563);color:#fff;font-size:1.05rem;letter-spacing:.03em;box-shadow:0 10px 24px rgba(17,24,39,.18);}
    .mobile-home-profile-copy{min-width:0;display:flex;flex-direction:column;line-height:1.15;}.mobile-home-profile-copy small{font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#8b93a1;margin-bottom:3px}.mobile-home-profile-copy strong{font-size:1.18rem;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-home-profile-copy span{font-size:.78rem;color:#6b7280;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .mobile-home-profile-actions{display:flex;align-items:center;gap:7px}.mobile-home-icon-btn{width:40px;height:40px;border:1px solid #dde3ec;border-radius:14px;background:#fff;color:#374151;box-shadow:0 8px 18px rgba(15,23,42,.05)}.mobile-home-account-btn{display:grid;place-items:center;min-height:40px;padding:0 12px;border:1.5px solid #3046b7;border-radius:14px;color:#26399a;text-decoration:none;font-size:.78rem;font-weight:800;background:rgba(255,255,255,.7)}
    .mobile-home-slider{margin-bottom:18px;}.mobile-home-slider-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.mobile-home-slider-track::-webkit-scrollbar{display:none}
    .mobile-home-slide{position:relative;flex:0 0 100%;min-height:282px;scroll-snap-align:start;overflow:hidden;display:grid;grid-template-columns:minmax(0,50%) minmax(115px,50%);align-items:center;padding:27px 20px 24px 22px;border-radius:26px;border:1px solid rgba(218,226,237,.75);background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,251,255,.92));box-shadow:0 18px 38px rgba(24,39,75,.12)}
    .mobile-home-slide:before,.mobile-home-slide:after{content:"";position:absolute;pointer-events:none}.mobile-home-slide:before{right:-30px;bottom:-50px;width:190px;height:190px;border-radius:50%;background:rgba(53,132,255,.08)}.mobile-home-slide:after{left:-25px;top:-35px;width:125px;height:125px;border-radius:50%;background:#d2a72d0d}
    .mobile-home-slide-copy{position:relative;z-index:2}.mobile-home-slide-kicker{display:inline-flex;margin-bottom:8px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#5e6d82}.mobile-home-slide h2{font-size:23px;letter-spacing:-.035em;margin:0 0 10px;color:#101820}.mobile-home-slide p{margin:0 0 20px;color:#5f6773;font-size:11px;line-height:1.45}.mobile-home-slide-copy>a,.mobile-home-slide-copy form button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;background:linear-gradient(135deg,#1668ff,#2688ff);color:#fff;text-decoration:none;padding:12px 15px;font-weight:800;font-size:12px;box-shadow:0 9px 20px rgba(31,112,255,.22)}

    .mobile-home-slide.is-clients .mobile-home-slide-copy>a{background:linear-gradient(135deg,#9d8951,#d2a72d);box-shadow:0 9px 20px #d2a72d38}.mobile-home-slide.is-analysis .mobile-home-slide-copy>a{background:linear-gradient(135deg,#6045d8,#8b6bf0);box-shadow:0 9px 20px rgba(96,69,216,.2)}
    .mobile-home-slider-dots{display:flex;gap:7px;padding:10px 4px 0}.mobile-home-slider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#cbd2dc;transition:.2s}.mobile-home-slider-dots button.is-active{width:24px;border-radius:999px;background:#2878ff}
    .mobile-home-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.mobile-home-nav-card{position:relative;min-height:164px;display:flex;flex-direction:column;padding:18px;border-radius:23px;background:#fff;border:1px solid #e7ebf1;text-decoration:none;color:#101820;box-shadow:0 13px 28px rgba(15,23,42,.08)}.mobile-home-nav-card>i{color:#d2a72d;font-size:1.55rem;margin-bottom:auto}.mobile-home-nav-card strong{font-size:1.08rem;margin-top:22px}.mobile-home-nav-card span{color:#6d7480;font-size:.78rem;line-height:1.38;padding-right:16px;margin-top:5px}.mobile-home-nav-card b{position:absolute;right:15px;bottom:18px;color:#727985;font-size:.72rem}
    .mobile-home-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mobile-home-mini-grid>a{position:relative;min-height:128px;padding:15px 12px;border-radius:21px;background:#fff;border:1px solid #e7ebf1;text-decoration:none;color:#101820;box-shadow:0 12px 25px rgba(15,23,42,.07);display:flex;flex-direction:column}.mobile-home-mini-grid>a>i{font-size:1.3rem;color:#d2a72d;margin-bottom:auto}.mobile-home-mini-grid strong{font-size:.9rem;margin-top:14px}.mobile-home-mini-grid span{font-size:.68rem;color:#737b88;line-height:1.3;margin-top:4px}.mobile-home-mini-grid b{position:absolute;right:10px;bottom:12px;color:#7c8490;font-size:.65rem}

    .portal-client-page.portal-mobile-home{background:linear-gradient(180deg,#f7f9fc 0,#f4f6f9 100%)}
    .portal-client-page.portal-mobile-home .portal-client-header,.portal-client-page.portal-mobile-home .client-profile-page{display:none!important}.portal-mobile-home-shell{display:none}
    .portal-client-page.portal-mobile-home .portal-mobile-home-shell{display:block}.portal-client-page.portal-mobile-home .mobile-home-profile-copy strong{font-size:1.15rem}
    .portal-mobile-slider .mobile-home-slide{min-height:270px}.portal-mobile-slider .mobile-home-slide h2{font-size:1.7rem}.portal-mobile-slider .mobile-home-slide.is-client-result .mobile-home-slide-copy>a,.portal-mobile-slider .mobile-home-slide.is-client-coverage .mobile-home-slide-copy>a,.portal-mobile-slider .mobile-home-slide.is-client-update .mobile-home-slide-copy>a,.portal-mobile-slider .mobile-home-slide.is-client-update button{background:linear-gradient(135deg,#d2a72d,#ff8b2c);box-shadow:0 9px 20px rgba(255,101,0,.2)}
    .portal-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-mobile-actions form{display:block}.portal-mobile-action{position:relative;width:100%;min-height:142px;padding:17px;border:1px solid #e6eaf0;border-radius:22px;background:#fff;color:#111827;text-decoration:none;text-align:left;display:flex;flex-direction:column;box-shadow:0 12px 26px rgba(15,23,42,.07)}button.portal-mobile-action{font:inherit}.portal-mobile-action>i{font-size:1.45rem;color:#d2a72d;margin-bottom:auto}.portal-mobile-action strong{font-size:1rem;margin-top:20px}.portal-mobile-action span{font-size:.73rem;color:#707784;margin-top:4px}.portal-mobile-action b{position:absolute;right:14px;bottom:16px;color:#7a828d;font-size:.67rem}.portal-mobile-action.is-disabled{opacity:.55}
    .portal-sites-modal{border:0;border-radius:24px;overflow:hidden}.portal-sites-modal .modal-header{align-items:flex-start;border:0;padding:20px 20px 10px}.portal-sites-modal .modal-header small{text-transform:uppercase;color:#8b93a1;font-size:.68rem;font-weight:800;letter-spacing:.08em}.portal-sites-modal .modal-title{font-size:1.1rem;margin-top:3px}.portal-sites-modal .modal-body{padding:10px 16px 18px}.portal-sites-modal-list{display:grid;gap:9px}.portal-sites-modal-list form{margin:0}.portal-sites-modal-list button,.portal-sites-modal-list a{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #e5e9ef;border-radius:16px;background:#fff;padding:13px;text-align:left}
    .portal-sites-modal-list button>i:first-child,.portal-sites-modal-list a>i:first-child{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:rgba(255,101,0,.10);color:#d2a72d}.portal-sites-modal-list button span,.portal-sites-modal-list a span{display:flex;min-width:0;flex-direction:column}.portal-sites-modal-list button strong,.portal-sites-modal-list button small,.portal-sites-modal-list a strong,.portal-sites-modal-list a small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-sites-modal-list button small,.portal-sites-modal-list a small{color:#78808c;font-size:.72rem;margin-top:2px}.portal-sites-modal-list button>i:last-child,.portal-sites-modal-list a>i:last-child{color:#88909b;font-size:.7rem}
    .app-menu-landing-grid{grid-template-columns:1fr}.app-menu-landing-card{padding:1.2rem;border-radius:18px}.app-menu-landing-card h2{font-size:1rem}

    .portal-sites-modal-list a { color: #000 }
    html[data-theme="dark"] .portal-sites-modal-list a { color: #f4f6f9}

    .mobile-home-shell button:disabled, .mobile-home-shell a:disabled {
        opacity: .5;
        filter: saturate(0)
    }

    .mobile-home-slide-art {
        position: relative;
        z-index: 1;
        display: grid;
        place-items: center;
        min-height: 190px
    }

    .mobile-home-slide-art>i {
        font-size: 4rem;
        color: rgba(23, 112, 255, .15);
        transform: rotate(-8deg)
    }

    .mobile-home-slide-art img.img-art {
        position: absolute;
        width: 92px;
        height: 92px;
        object-fit: cover;
        border-radius: 50%;
        right: 2px;
        top: 23px;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .17);
        border: 5px solid rgba(255, 255, 255, .92)
    }

    .mobile-home-slide-art img.img-art-rocket {
        position: absolute;
        width: 180px;
        height: auto;
        object-fit: cover;
        right: 10px;
        top: -10px;
    }

    .mobile-home-slide-art img.img-art-cliente {
        position: absolute;
        width: 180px;
        height: auto;
        object-fit: cover;
        right: 10px;
        top: -10px;
    }

    .mobile-home-slide-art img.img-art-pdf {
        position: absolute;
        width: 180px;
        height: auto;
        object-fit: cover;
        right: 0px;
        top: 20px;
    }

    .mobile-home-slide-art img.img-art-looker {
        position: absolute;
        width: 140px;
        height: auto;
        object-fit: cover;
        right: 10px;
        top: 0px;
    }

    .mobile-home-slide-art img.img-art-analise {
        position: absolute;
        width: 150px;
        height: auto;
        object-fit: cover;
        right: 10px;
        top: -10px;
    }

    .mobile-home-art-ring {
        position: absolute;
        width: 142px;
        height: 142px;
        border: 18px solid rgba(255, 103, 0, .07);
        border-radius: 50%;
        right: -18px;
        bottom: 5px
    }
}

@media(max-width:390px) {
    .mobile-home-inner {
        width: min(100% - 22px, 720px)
    }

    .mobile-home-profile {
        grid-template-columns: auto minmax(0, 1fr)
    }

    .mobile-home-profile-actions {
        grid-column: 1/-1;
        justify-content: flex-end;
        margin-top: -3px
    }

    .mobile-home-slide {
        grid-template-columns: minmax(0, 50%) minmax(92px, 50%);
        padding-left: 18px;
        padding-right: 14px
    }

    .mobile-home-slide h2 {
        font-size: 1.7rem
    }

    .mobile-home-slide-art img.img-art {
        width: 76px;
        height: 76px
    }

    .mobile-home-slide-art img.img-art-analise {
        width: 110px;
        height: auto;
        object-fit: cover;
        right: 5px;
        top: 25px;
    }

    .mobile-home-slide-art img.img-art-cliente {
        width: 140px;
        height: auto;
        object-fit: cover;
        right: 5px;
        top: 15px;
    }

    .mobile-home-slide-art img.img-art-pdf {
        width: 170px;
        height: auto;
        object-fit: cover;
        right: 5px;
        top: 35px;
    }

    .mobile-home-slide-art img.img-art-looker {
        width: 120px;
        height: auto;
        object-fit: cover;
        right: 0px;
        top: 15px;
    }

    .mobile-home-nav-card {
        min-height: 152px;
        padding: 16px
    }

    .mobile-home-mini-grid {
        gap: 8px
    }

    .mobile-home-mini-grid>a {
        padding: 13px 10px
    }
}

[data-theme="dark"] body.app-home-page,[data-theme="dark"] .portal-client-page.portal-mobile-home{background:#11151b}
[data-theme="dark"] .mobile-home-shell{background:radial-gradient(circle at 10% 0,rgba(57,126,255,.12),transparent 28%),#11151b}
[data-theme="dark"] .mobile-home-profile-copy strong,[data-theme="dark"] .mobile-home-nav-card,[data-theme="dark"] .mobile-home-mini-grid>a,[data-theme="dark"] .portal-mobile-action{color:#f4f6f8}
[data-theme="dark"] .mobile-home-profile-copy span,[data-theme="dark"] .mobile-home-nav-card span,[data-theme="dark"] .mobile-home-mini-grid span,[data-theme="dark"] .portal-mobile-action span{color:#aab1bc}
[data-theme="dark"] .mobile-home-icon-btn,[data-theme="dark"] .mobile-home-account-btn,[data-theme="dark"] .mobile-home-nav-card,[data-theme="dark"] .mobile-home-mini-grid>a,[data-theme="dark"] .portal-mobile-action,[data-theme="dark"] .portal-sites-modal-list button,[data-theme="dark"] .portal-sites-modal-list a{background:#1a2029;border-color:#2a323e}
[data-theme="dark"] .mobile-home-slide{background:linear-gradient(135deg,#1a2028,#181e26);border-color:#29313c}[data-theme="dark"] .mobile-home-slide h2{color:#f5f7fa}[data-theme="dark"] .mobile-home-slide p{color:#b0b7c2}

/* ==========================================================
   Refinos mobile home + portal do cliente (25-08-2026)
   ========================================================== */
@media (max-width: 767.98px) {
  /* Home interna: ações secundárias sempre em 2 colunas. */
  .mobile-home-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .mobile-home-mini-grid > a {
    min-height: 118px;
    padding: 15px 14px;
  }

  .mobile-home-account-btn.mobile-home-logout-btn {
    gap: 7px;
    white-space: nowrap;
    border-color: rgba(210, 52, 52, .45);
    color: #b4232e;
  }

  .mobile-home-account-btn.mobile-home-logout-btn i { font-size: .8rem; }

  /* Header do portal quando o cliente está vendo os detalhes de um site. */
  .portal-client-page.portal-mobile-details .portal-client-header > .container {
    min-height: 64px;
    padding-left: 20px;
    padding-right: 20px;
    gap: 8px;
  }

  .portal-client-page.portal-mobile-details .portal-client-home-link {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
    overflow: visible;
  }

  .portal-client-page.portal-mobile-details .portal-company-logo {
    display: inline-flex !important;
    flex: 0 1 auto;
    min-width: 72px;
    max-width: 118px;
    min-height: 38px;
  }

  .portal-client-page.portal-mobile-details .portal-company-logo img {
    display: block !important;
    width: auto !important;
    max-width: 112px !important;
    max-height: 40px !important;
    object-fit: contain;
  }

  .portal-client-page.portal-mobile-details .portal-client-user {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 34px);
    gap: 6px;
  }

  .portal-client-page.portal-mobile-details .portal-client-user a,
  .portal-client-page.portal-mobile-details .portal-client-user .theme-toggle {
    width: 34px;
    height: 34px;
    min-width: 34px;
    flex-basis: 34px;
    border-radius: 10px;
  }

  /* Perfil: título e dois botões principais harmonizados na mesma linha. */
  .client-profile-page {
    padding-top: 1.25rem !important;
    padding-bottom: 2rem !important;
  }

  .client-profile-heading-row { gap: 14px !important; }
  .client-profile-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px !important;
  }

  .client-profile-actions > a,
  .client-profile-actions > form,
  .client-profile-actions > .dropdown {
    min-width: 0;
    width: 100%;
  }

  .client-profile-actions > form .btn,
  .client-profile-actions > .dropdown .btn,
  .client-profile-actions > a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: .62rem .65rem;
    white-space: normal;
    text-align: center;
    line-height: 1.15;
    font-size: .82rem;
  }

  .client-profile-actions .btn i { margin-right: .4rem !important; }

  /* Informações cadastrais: 2 por linha inclusive no portal. */
  .client-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
  }

  .client-info-wide { grid-column: auto; }
  .client-info-item {
    padding: .7rem .65rem;
    min-height: 83px;
  }

  .client-info-item dt {
    font-size: .64rem;
    line-height: 1.2;
  }

  .client-info-item dd {
    font-size: .82rem;
    line-height: 1.3;
    word-break: break-word;
  }

  /* SEO orgânico: 2 KPIs por linha em qualquer perfil. */
  .client-kpi-row,
  .client-profile-portal .client-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
  }

  .client-kpi { min-height: 90px; }

  /* Gráfico realmente responsivo, sem largura mínima fixa. */
  .client-chart-card { overflow: visible; }
  .client-chart-wrap {
    width: 100%;
    min-width: 0;
    min-height: 270px;
    overflow: visible;
  }

  .client-ranking-svg {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
  }

  .client-chart-tooltip {
    min-width: 160px;
    max-width: min(220px, calc(100vw - 48px));
    font-size: .8rem;
  }

  .client-chart-heading {
    gap: .75rem;
  }

  .client-chart-current {
    display: grid;
    grid-template-columns: auto auto;
    align-items: end;
    column-gap: 8px;
    width: 100%;
    text-align: left;
  }

  .client-chart-current span,
  .client-chart-current small { grid-column: 1; }
  .client-chart-current strong {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    text-align: right;
  }
}

@media (max-width: 390px) {
  .mobile-home-profile {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .mobile-home-profile-actions {
    grid-column: auto;
    justify-content: flex-end;
    margin-top: 0;
  }

  .portal-client-page.portal-mobile-details .portal-company-logo { max-width: 94px; }
  .portal-client-page.portal-mobile-details .portal-company-logo img { max-width: 92px !important; }
  .portal-client-page.portal-mobile-details .portal-client-user {
    grid-template-columns: repeat(3, 32px);
    gap: 5px;
  }

  .portal-client-page.portal-mobile-details .portal-client-user a,
  .portal-client-page.portal-mobile-details .portal-client-user .theme-toggle {
    width: 32px;
    height: 32px;
    min-width: 32px;
    flex-basis: 32px;
  }

  .client-info-item { padding: .62rem .58rem; min-height: 80px; }
  .client-info-item dt { font-size: .6rem; letter-spacing: .02em; }
  .client-info-item dd { font-size: .77rem; }
  .client-kpi { padding: .62rem; min-height: 86px; }
  .client-kpi strong { font-size: 1.04rem; }
}

/* Dark mode: refinamento da nova home mobile. */
html[data-theme="dark"] .mobile-home-shell {
  background:
    radial-gradient(circle at 10% 0, rgba(57,126,255,.13), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(255,101,0,.08), transparent 26%),
    #10141a;
}

html[data-theme="dark"] .mobile-home-profile-copy small { color: #8993a2; }
html[data-theme="dark"] .mobile-home-profile-copy strong { color: #f7f8fa; }
html[data-theme="dark"] .mobile-home-profile-copy span { color: #aeb6c2; }
html[data-theme="dark"] .mobile-home-icon-btn,
html[data-theme="dark"] .mobile-home-account-btn {
  background: #1b222c;
  border-color: #303a47;
  color: #e9edf3;
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
}

html[data-theme="dark"] .mobile-home-account-btn.mobile-home-logout-btn {
  border-color: rgba(255,106,106,.35);
  color: #ff9b9b;
}

html[data-theme="dark"] .mobile-home-slide {
  background: linear-gradient(145deg,#1a222c,#151b23);
  border-color: #2b3542;
  box-shadow: 0 18px 38px rgba(0,0,0,.30);
}

html[data-theme="dark"] .mobile-home-slide-kicker { color: #8fa0b5; }
html[data-theme="dark"] .mobile-home-slide h2 { color: #f8fafc; }
html[data-theme="dark"] .mobile-home-slide p { color: #b3bdca; }
html[data-theme="dark"] .mobile-home-slide-art img.img-art {
  border-color: #252e39;
  box-shadow: 0 12px 28px rgba(0,0,0,.34);
}

html[data-theme="dark"] .app-menu-landing-card {
    border: 1px solid #2b3542;
    background: #1a212a;
    color: #aeb7c4;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .07);
}

html[data-theme="dark"] .app-menu-landing-card h2 {
    color: #f3f6fa
}

html[data-theme="dark"] .app-menu-landing-card small {
    color: #d2a72d;
}

html[data-theme="dark"] .mobile-home-slider-dots button { background: #414b59; }
html[data-theme="dark"] .mobile-home-slider-dots button.is-active { background: #4f8eff; }
html[data-theme="dark"] .mobile-home-nav-card,
html[data-theme="dark"] .mobile-home-mini-grid > a,
html[data-theme="dark"] .portal-mobile-action {
  background: #1a212a;
  border-color: #2b3541;
  box-shadow: 0 12px 26px rgba(0,0,0,.24);
}

html[data-theme="dark"] .mobile-home-nav-card strong,
html[data-theme="dark"] .mobile-home-mini-grid strong,
html[data-theme="dark"] .portal-mobile-action strong { color: #f3f6fa; }
html[data-theme="dark"] .mobile-home-nav-card span,
html[data-theme="dark"] .mobile-home-mini-grid span,
html[data-theme="dark"] .portal-mobile-action span { color: #aeb7c4; }
html[data-theme="dark"] .portal-sites-modal {
  background: #171e27;
  color: #f3f6fa;
}

html[data-theme="dark"] .portal-sites-modal .modal-header,
html[data-theme="dark"] .portal-sites-modal .modal-body { background: #171e27; }
html[data-theme="dark"] .portal-sites-modal-list button, html[data-theme="dark"] .portal-sites-modal-list a {
  background: #1f2732;
  border-color: #303a47;
  color: #f4f6f9;
}

html[data-theme="dark"] .portal-client-page.portal-mobile-details .portal-client-header {
  background: #171d25;
  border-bottom-color: #2c3541;
  box-shadow: 0 6px 20px rgba(0,0,0,.28);
}

html[data-theme="dark"] .portal-client-page.portal-mobile-details .portal-client-user a,
html[data-theme="dark"] .portal-client-page.portal-mobile-details .portal-client-user .theme-toggle {
  background: #202833;
  border-color: #303b48;
  color: #eef2f6;
}

@media (max-width: 390px) {
  .mobile-home-account-btn.mobile-home-logout-btn {
    width: auto;
    min-width: 0;
    padding: 0 9px;
    font-size: .7rem;
  }

  .mobile-home-account-btn.mobile-home-logout-btn span { display: inline; }
}
