@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;
    --dash-radius: 16px;
    --dash-green: #198754;
    --dash-yellow: #d9a406;
    --dash-red: #dc3545;
    --dash-gray: #7c8796;
}

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

a {
    text-decoration: none;
    color: var(--app-text);
}

a:hover {
    color: var(--app-accent);
}

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:not(:last-child) {
    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: #fabb05;
    --app-accent-soft: rgba(184, 134, 11, .12);
    --app-shadow: 0 24px 48px -32px rgba(0, 0, 0, .28);
    --app-input-bg: #ffffff;
    --app-table-stripe: #f8fafc;
    --app-overlay: rgba(16, 24, 40, .4);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --app-bg: #0e0e0e;
    --app-surface: #191919;
    --app-surface-soft: #191919;
    --app-text: #eef1f5;
    --app-muted: #a9b0bd;
    --app-border: #2b2b2b;
    --app-border-strong: #2b2b2b;
    --app-accent: #d2a72d;
    --app-accent-soft: rgba(210, 167, 45, .15);
    --app-shadow: 0 24px 48px -32px rgba(0, 0, 0, .9);
    --app-input-bg: #111;
    --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 {
    display: grid;
    grid-template-columns: 0fr 0fr 0fr 0fr;
    gap: 1px 3px;
} */

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;
}

.btn-bd-excel {
    --bs-btn-font-weight: 600;
    --bs-btn-color: #fff;
    --bs-btn-bg: #1e6e40;
    --bs-btn-border-color: #1e6e40;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #14492b;
    --bs-btn-hover-border-color: #14492b;
    --bs-btn-focus-shadow-rgb: #1e6e40;
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: #14492b;
    --bs-btn-active-border-color: #14492b;

    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #1e6e40;
    --bs-btn-disabled-border-color: #1e6e40;
}

/* 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: 991px) {

    .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 dt svg {
    width: 15px;
    height: 15px;
    fill: 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: 991px) {
    .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: 991px) {
    .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 {
    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: 991px) {
    .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);
    border: 1px solid var(--app-border);
    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
}

/* Retira a margem que leva pra fora da tela */
#CadastrarUsuario .form-check .form-check-input,
#ModalUpdate .form-check .form-check-input,
#ModalBulkEditUsuarios .form-check .form-check-input {
    margin-left: 0px;
}

/* ==========================================================
   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;
}

@media(min-width:991px) {
    .portal-client-brand img {
        filter: none
    }

    .portal-company-logo.is-svg img {
        filter: brightness(0) invert(1) !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .portal-company-logo.is-raster {
        padding: .38rem .65rem;
        background: rgba(255, 255, 255, .95);
        border-radius: 10px;
    }
}
@media(max-width:991px) {
    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:991px) {
    .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:991px) {
    .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;
}

.app-menu-landing-card .img-ico-analise {
    width: 80px;
    max-width: 100%;
    height: auto;
    border-radius: 50%;
}

@media(max-width:991px) {
    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,
    .portal-sites-modal-list button>svg:first-child,
    .portal-sites-modal-list a>svg:first-child {
        display: grid;
        place-items: center;
        width: 39px;
        height: 39px;
        border-radius: 12px;
        background: rgba(255, 101, 0, .10);
        color: #d2a72d;
        fill: #d2a72d;
        font-size: 13px;
        padding: 13px;
        justify-content: center;
        align-items: center
    }

    .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-mobile-action>svg {
        width: 1.45rem;
        height: 1.45rem;
        fill: #d2a72d;
        margin-bottom: auto
    }

    .portal-sites-modal-list a {
        color: #000
    }

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

    a.link-table {
        color: #000;
        font-weight: 700;
        transition: .4s;
    }

    html[data-theme="dark"] a.link-table {
        color: #f4f6f9
    }

    a:hover.link-table {
        color: #b8860b
    }

    .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: var(--app-border);
}

[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: 991px) {

    /* 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: var(--app-surface-soft);
    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;
    }
}

/* ===== Refinamento mobile global / tabelas responsivas - 27-08-2026 ===== */
.app-mobile-page-header {
    display: none;
}

.app-mobile-floating-home {
    display: none;
}

/* .filter-order-control .form-select{font-weight:650;}
.filter-order-control label i{color:#d2a72d;} */
.queue-filter-form .queue-filter-field {
    min-width: 180px;
}

.queue-filter-form .queue-filter-results {
    min-width: 150px;
}

@media (max-width:991px) {

    body:not(.app-home-page) #Header .navbar-main,
    body:not(.app-home-page) #Header .app-page-hero {
        display: none !important;
    }

    body:not(.app-home-page) #Header {
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .app-mobile-page-header {
        display: block;
        padding: calc(16px + env(safe-area-inset-top)) 0 8px;
        background: radial-gradient(circle at 8% 4%, rgba(58, 128, 255, .08), transparent 32%), radial-gradient(circle at 92% 14%, rgba(255, 102, 0, .06), transparent 34%);
    }

    .app-mobile-page-header-inner {
        width: min(100% - 28px, 720px);
        margin: 0 auto;
    }

    .app-mobile-page-profile {
        margin-bottom: 10px;
    }

    .app-mobile-page-title {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
        padding: 7px 11px;
        border: 1px solid #e5e9f0;
        border-radius: 999px;
        background: rgba(255, 255, 255, .76);
        box-shadow: 0 7px 18px rgba(15, 23, 42, .05);
        color: #697180;
        font-size: .69rem;
        font-weight: 850;
        letter-spacing: .055em;
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

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

    .app-mobile-page-header .mobile-home-account-btn.mobile-home-logout-btn {
        width: 40px;
        min-width: 40px;
        padding: 0;
        display: grid;
        place-items: center;
    }

    .app-mobile-floating-home {
        position: fixed;
        right: 16px;
        bottom: calc(18px + env(safe-area-inset-bottom));
        z-index: 1035;
        display: grid !important;
        place-items: center;
        width: 52px;
        height: 52px;
        border-radius: 18px;
        background: linear-gradient(135deg, #1668ff, #2688ff);
        border: 1px solid rgba(255, 255, 255, .48);
        color: #fff;
        text-decoration: none;
        box-shadow: 0 14px 30px rgba(22, 104, 255, .32);
        font-size: 1.05rem;
        transition: transform .18s ease, box-shadow .18s ease;
    }

    .app-mobile-floating-home:active {
        transform: scale(.94);
    }

    .app-mobile-floating-home+main {
        padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    }

    .form-filtro {
        padding: 14px;
        /* border: 1px solid #e8ecf2; */
        border-radius: 20px;
        /* background: rgba(255, 255, 255, .72); */
        box-shadow: 0 11px 26px rgba(15, 23, 42, .055);
    }

    .form-filtro .row {
        --bs-gutter-y: .8rem;
    }

    .form-filtro .filter-action-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: 8px !important;
    }

    .form-filtro .filter-action-row .btn,
    .form-filtro .client-filter-actions .btn,
    .form-filtro .client-filter-actions a {
        width: 100%;
        margin: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
    }

    /* .filter-order-control .form-select{border-color:rgba(210,167,45,.42);background-color:rgba(255,251,239,.76);} */

    .table-responsive:has(.app-responsive-table),
    .app-table-responsive:has(.app-responsive-table),
    .app-table-card-wrap {
        overflow: visible !important;
        max-width: 100%;
    }

    .app-responsive-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .app-responsive-table thead {
        display: none !important;
    }

    .app-responsive-table tbody {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 12px;
        width: 100%;
    }

    .app-responsive-table tbody>tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 10px;
        width: 100%;
        padding: 9px 10px;
        border: 1px solid #e5e9f0;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 10px 25px rgba(15, 23, 42, .065);
        overflow: hidden;
    }

    .app-responsive-table tbody>tr[hidden] {
        display: none !important;
    }

    .app-responsive-table tbody>tr>td,
    .app-responsive-table tbody>tr>th {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0;
        padding: 10px 8px !important;
        border: 0 !important;
        border-bottom: 1px solid #f0f2f5 !important;
        background: transparent !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .app-responsive-table tbody>tr>td::before,
    .app-responsive-table tbody>tr>th::before {
        content: attr(data-label);
        display: block;
        grid-column: span 2;
        margin-bottom: 5px;
        color: #9299a5;
        font-size: .64rem;
        font-weight: 850;
        line-height: 1.15;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    .app-responsive-table tbody>tr>.bulk-check-col {
        grid-column: 1/-1;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px;
        padding-bottom: 6px !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    .app-responsive-table tbody>tr>.bulk-check-col::before {
        margin: 0;
    }

    .app-responsive-table tbody>tr>[data-mobile-full="1"] {
        grid-column: 1/-1;
        align-items: center !important;
        text-align: center !important;
        padding: 18px 8px !important;
    }

    .app-responsive-table tbody>tr>[data-mobile-full="1"]::before {
        display: none;
    }

    /* .app-responsive-table tbody > tr > [data-mobile-actions="1"]{grid-column:1/-1;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:flex-start!important;gap:7px;padding-top:11px!important;border-bottom:0!important;} */
    .app-responsive-table tbody>tr>[data-mobile-actions="1"]::before {
        flex: 0 0 100%;
        margin-bottom: 1px;
    }

    .app-responsive-table tbody .btn {
        margin-right: 0 !important;
    }

    .app-responsive-table tbody img {
        max-width: 92px !important;
        height: auto !important;
    }

    .app-responsive-table .progress {
        width: 100%;
        min-width: 0 !important;
    }

    .app-responsive-table td[style*="min-width"] {
        min-width: 0 !important;
    }

    .app-responsive-table .text-nowrap {
        white-space: normal !important;
    }

    .app-responsive-table tbody>tr>[data-mobile-actions="1"] {
        grid-column: 1/-1;
        display: grid !important;
        /* flex-direction: row!important; */
        /* flex-wrap: wrap; */
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px;
        padding-top: 11px !important;
        border-bottom: 0 !important;
        grid-template-columns: 1fr 1fr;
    }

    .bulk-actions-bar {
        border-radius: 18px;
    }

    .bulk-actions-buttons {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px !important;
        width: 100%;
    }

    .bulk-actions-buttons .btn {
        width: 100%;
        margin: 0;
        white-space: normal;
    }

    .ajax-pagination-wrap {
        align-items: stretch !important;
    }

    .ajax-pagination-wrap nav {
        max-width: 100%;
        overflow: hidden;
    }

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

    .ajax-pagination-wrap .page-link {
        border-radius: 10px !important;
        min-width: 34px;
        text-align: center;
    }

    .queue-filter-form {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
    }

    .queue-filter-form .queue-filter-field {
        min-width: 0;
        width: 100%;
    }

    .queue-filter-form .queue-filter-results {
        grid-column: 1/-1;
    }

    .queue-page .dashboard-card {
        padding: 16px;
    }
}

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

    .app-mobile-page-header .mobile-home-profile {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 8px;
    }

    .app-mobile-page-header .mobile-home-avatar {
        width: 46px;
        height: 46px;
        font-size: .92rem;
    }

    .app-mobile-page-header .mobile-home-profile-copy strong {
        font-size: 1.02rem;
    }

    .app-mobile-page-header .mobile-home-icon-btn,
    .app-mobile-page-header .mobile-home-account-btn.mobile-home-logout-btn {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        border-radius: 12px;
    }

    .app-responsive-table tbody>tr {
        padding: 8px 7px;
        border-radius: 17px;
    }

    .app-responsive-table tbody>tr>td,
    .app-responsive-table tbody>tr>th {
        padding: 9px 6px !important;
        font-size: .88rem;
    }
}

html[data-theme="dark"] .app-mobile-page-header {
    background: radial-gradient(circle at 8% 4%, rgba(58, 128, 255, .10), transparent 32%), radial-gradient(circle at 92% 14%, rgba(210, 167, 45, .08), transparent 34%);
}

html[data-theme="dark"] .app-mobile-page-title {
    background: rgba(26, 32, 41, .88);
    border-color: #2b3441;
    color: #b8c0cb;
    box-shadow: none;
}

/* html[data-theme="dark"] .form-filtro{background:rgba(25,31,40,.76);border-color:#2b3441;box-shadow:none;} */
/* html[data-theme="dark"] .filter-order-control .form-select{background-color:#1a2029;border-color:rgba(210,167,45,.34);color:#f4f6f8;} */
html[data-theme="dark"] .app-responsive-table tbody>tr {
    background: var(--app-surface-soft);
    border-color: var(--app-border);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .16);
}

html[data-theme="dark"] .app-responsive-table tbody>tr>td,
html[data-theme="dark"] .app-responsive-table tbody>tr>th {
    border-color: #252d38 !important;
    color: #f1f3f5;
}

html[data-theme="dark"] .app-responsive-table tbody>tr>td::before,
html[data-theme="dark"] .app-responsive-table tbody>tr>th::before {
    color: #8f99a7;
}

html[data-theme="dark"] .app-mobile-floating-home {
    border-color: rgba(255, 255, 255, .12);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .32);
}

/* ===== Modais com mascote e seletor de download v3 ===== */
.app-modal-reaction {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(241, 245, 249, .86));
    overflow: hidden;
}

.app-modal-reaction img {
    display: block;
    width: 100%;
    height: 104px;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(15, 23, 42, .12));
}

.app-modal-reaction>div {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    min-width: 0;
}

.app-modal-reaction strong {
    font-size: 1rem;
    line-height: 1.25;
    color: var(--bs-body-color);
}

.app-modal-reaction span {
    font-size: .86rem;
    line-height: 1.45;
    color: var(--bs-secondary-color);
}

.app-modal-reaction-delete {
    background: linear-gradient(135deg, rgba(220, 53, 69, .08), rgba(251, 188, 5, .08));
}

.app-modal-reaction-create {
    background: linear-gradient(135deg, rgba(25, 135, 84, .08), rgba(251, 188, 5, .10));
}

.app-modal-reaction-edit {
    background: linear-gradient(135deg, rgba(13, 110, 253, .07), rgba(108, 117, 125, .07));
}

.app-modal-reaction-run {
    background: linear-gradient(135deg, rgba(13, 110, 253, .08), rgba(25, 135, 84, .08));
}

.app-report-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .38rem;
    flex-wrap: wrap;
}

.app-report-actions>.btn,
.app-report-actions>.dropdown>.btn,
.app-report-actions>form>.btn {
    white-space: nowrap;
}

.app-report-actions>form {
    margin: 0;
}

.app-report-more-menu {
    min-width: 220px;
    padding: .45rem;
}

.app-report-more-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    border-radius: 8px;
    padding: .55rem .7rem;
    font-size: .88rem;
}

.app-report-more-menu .dropdown-item i {
    width: 18px;
    text-align: center;
}

.app-download-format-modal {
    overflow: hidden;
}

.app-download-format-intro {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 1rem;
    align-items: center;
    padding: .25rem .25rem 1rem;
}

.app-download-format-intro img {
    width: 100%;
    height: 100px;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(15, 23, 42, .12));
}

.app-download-format-intro>div {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.app-download-format-intro strong {
    font-size: 1rem;
}

.app-download-format-intro span {
    font-size: .86rem;
    color: var(--bs-secondary-color);
}

.app-download-format-options {
    display: grid;
    gap: .7rem;
}

.app-download-format-option {
    width: 100%;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    gap: .8rem;
    align-items: center;
    text-align: left;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 14px;
    background: var(--bs-body-bg);
    padding: .82rem .9rem;
    color: var(--bs-body-color);
    transition: .18s ease;
}

.app-download-format-option:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.app-download-format-option>i:first-child {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.18rem;
    background: rgba(108, 117, 125, .1);
}

.app-download-format-option.is-pdf>i:first-child {
    color: #dc3545;
    background: rgba(220, 53, 69, .10);
}

.app-download-format-option.is-excel>i:first-child {
    color: #198754;
    background: rgba(25, 135, 84, .10);
}

.app-download-format-option span {
    display: flex;
    flex-direction: column;
    gap: .12rem;
    min-width: 0;
}

.app-download-format-option small {
    color: var(--bs-secondary-color);
    font-size: .78rem;
    white-space: normal;
}

[data-theme="dark"] .app-modal-reaction,
[data-bs-theme="dark"] .app-modal-reaction {
    border-color: rgba(255, 255, 255, .09);
    background: linear-gradient(135deg, rgba(30, 41, 59, .92), rgba(15, 23, 42, .82));
}

[data-theme="dark"] .app-download-format-option,
[data-bs-theme="dark"] .app-download-format-option {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .035);
}

@media (max-width:991px) {
    .app-modal-reaction {
        grid-template-columns: 88px minmax(0, 1fr);
        padding: .75rem .8rem;
        gap: .8rem;
    }

    .app-modal-reaction img {
        height: 82px;
    }

    .app-modal-reaction span {
        font-size: .8rem;
    }

    .app-report-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .45rem;
        grid-column: span 2;
    }

    .app-report-actions>.btn,
    .app-report-actions>.dropdown,
    .app-report-actions>form {
        width: 100%;
        margin: 0 !important;
    }

    .app-report-actions>.btn,
    .app-report-actions>.dropdown>.btn,
    .app-report-actions>form>.btn {
        width: 100%;
        justify-content: center;
        display: flex;
        align-items: center;
    }

    .app-report-actions>:last-child:nth-child(odd) {
        grid-column: 1/-1;
    }

    .app-report-more-menu {
        width: min(270px, calc(100vw - 34px));
    }

    .app-download-format-intro {
        grid-template-columns: 88px 1fr;
    }

    .app-download-format-intro img {
        height: 82px;
    }

    .app-table-portalcliente td:last-child {
        /* display: grid;
        grid-template-columns: 0fr 0fr 0fr 0fr;
        gap: 1px 3px; */
        grid-template-columns: 100% !important;
    }
}

@media (min-width:992px) {
    .app-report-actions .dropdown-toggle::after {
        content: none;
    }
}

/* Mantém os menus de ações visíveis dentro das tabelas/cartões responsivos. */
.table-responsive:has(.app-report-actions),
.app-table-responsive:has(.app-report-actions) {
    overflow: visible;
}

.app-report-actions .dropdown-menu {
    z-index: 1085;
}

@media (max-width:991px) {
    .app-responsive-table tbody>tr:has(.app-report-actions) {
        overflow: visible !important;
    }
}

/* ===== Correção de tamanho dos mascotes em modais 13-10-2026 ===== */
.app-modal-hero {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(241, 245, 249, .86));
    overflow: hidden;
}

.app-modal-hero-art {
    width: 112px;
    min-width: 0;
    height: 104px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.app-modal-hero-art img {
    display: block;
    width: auto !important;
    max-width: 108px !important;
    height: auto !important;
    max-height: 100px !important;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(15, 23, 42, .12));
}

.app-modal-hero-copy {
    display: flex;
    flex-direction: column;
    gap: .28rem;
    min-width: 0;
}

.app-modal-hero-copy h6 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 700;
}

.app-modal-hero-copy p {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: .86rem;
    line-height: 1.45;
}

.app-modal-hero-kicker {
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.app-modal-hero-run {
    background: linear-gradient(135deg, rgba(13, 110, 253, .08), rgba(25, 135, 84, .08));
}

[data-theme="dark"] .app-modal-hero,
[data-bs-theme="dark"] .app-modal-hero {
    border-color: rgba(255, 255, 255, .09);
    background: linear-gradient(135deg, rgba(30, 41, 59, .92), rgba(15, 23, 42, .82));
}

@media (max-width:991px) {
    .app-modal-hero {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: .75rem;
        padding: .75rem .8rem;
    }

    .app-modal-hero-art {
        width: 82px;
        height: 78px;
    }

    .app-modal-hero-art img {
        max-width: 78px !important;
        max-height: 74px !important;
    }

    .app-modal-hero-copy h6 {
        font-size: .94rem;
    }

    .app-modal-hero-copy p {
        font-size: .79rem;
    }
}

/* Datas manuais de acompanhamento no perfil do cliente */
.client-followup-date dt {
    position: relative;
    padding-right: 1.6rem;
}

.client-inline-edit {
    position: absolute;
    top: 50%;
    right: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--app-muted);
    opacity: 0;
    transform: translateY(-50%) scale(.9);
    transition: opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease;
}

.client-followup-date:hover .client-inline-edit,
.client-inline-edit:focus-visible,
.client-followup-date.is-editing .client-inline-edit {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

.client-inline-edit:hover {
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
}

.client-inline-date-editor {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.client-inline-date-editor .form-control {
    min-width: 0;
}

.client-inline-date-editor .btn {
    flex: 0 0 auto;
}

@media (max-width: 991px) {
    .client-inline-edit {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }

    .client-inline-date-editor {
        flex-wrap: wrap;
    }

    .client-inline-date-editor .form-control {
        width: 100%;
    }
}

/* Comparação mensal na lista de relatórios */
.report-month-compare {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    min-width: 210px;
}

.report-month-compare>span {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.report-month-compare small {
    color: var(--app-muted);
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.report-month-compare strong {
    font-size: .9rem;
}

.report-month-compare>i {
    color: var(--app-muted);
    font-size: .7rem;
}

.report-month-compare>b {
    margin-left: .2rem;
}

/* Gerador e medidor de força de senha */
.password-tools-panel {
    margin-top: .55rem;
}

.password-tools-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .7rem;
}

.password-generate-btn {
    white-space: nowrap;
}

.password-strength-label {
    font-size: .82rem;
    font-weight: 700;
    color: var(--bs-secondary-color, #6c757d);
}

.password-strength-status {
    margin-left: auto;
    font-size: .75rem;
    color: var(--bs-secondary-color, #6c757d);
}

.password-strength-track {
    width: 100%;
    height: 5px;
    margin-top: .45rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(108, 117, 125, .18);
}

.password-strength-track>span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #adb5bd;
    transition: width .18s ease, background-color .18s ease;
}

.password-tools-panel[data-strength-level="1"] .password-strength-track>span {
    background: #dc3545;
}

.password-tools-panel[data-strength-level="1"] .password-strength-label {
    color: #dc3545;
}

.password-tools-panel[data-strength-level="2"] .password-strength-track>span {
    background: #fd7e14;
}

.password-tools-panel[data-strength-level="2"] .password-strength-label {
    color: #fd7e14;
}

.password-tools-panel[data-strength-level="3"] .password-strength-track>span {
    background: #198754;
}

.password-tools-panel[data-strength-level="3"] .password-strength-label {
    color: #198754;
}

.password-tools-panel[data-strength-level="4"] .password-strength-track>span {
    background: #0d6efd;
}

.password-tools-panel[data-strength-level="4"] .password-strength-label {
    color: #0d6efd;
}

@media (max-width: 575.98px) {
    .password-tools-row {
        align-items: flex-start;
    }

    .password-strength-status {
        width: 100%;
        margin-left: 0;
    }
}

/* ===== Assistente visual de instalação PWA no iOS - 21-10-2026 ===== */
.pwa-help-modal {
    overflow: hidden
}

.pwa-help-modal .modal-body {
    padding: 1.15rem
}

.pwa-ios-guide {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.pwa-ios-intro {
    display: flex;
    gap: .9rem;
    align-items: center;
    padding: .9rem;
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: var(--bs-tertiary-bg)
}

.pwa-ios-app-icon {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12)
}

.pwa-ios-app-icon img {
    width: 64px;
    height: 64px;
    display: block;
    object-fit: cover
}

.pwa-ios-safari-icon {
    font-size: 37px;
    color: #1687f8
}

.pwa-ios-pill {
    display: inline-flex;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: rgba(13, 110, 253, .12);
    color: #0d6efd;
    font-size: .72rem;
    font-weight: 700;
    margin-bottom: .35rem
}

html[data-theme="dark"] .pwa-ios-pill {
    background: rgba(110, 168, 254, .16);
    color: #8bb9fe
}

.pwa-ios-intro p {
    font-size: .9rem;
    line-height: 1.45;
    color: var(--app-text)
}

.pwa-ios-steps {
    display: flex;
    flex-direction: column;
    gap: .85rem
}

.pwa-ios-step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .75rem;
    align-items: flex-start;
    padding: .85rem;
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: var(--app-surface)
}

.pwa-ios-step-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0d6efd;
    color: #fff;
    font-weight: 800;
    font-size: .85rem;
    flex: 0 0 30px
}

.pwa-ios-step-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.pwa-ios-step-content>strong {
    font-size: .94rem;
    color: var(--app-text)
}

.pwa-ios-step-content>span {
    font-size: .8rem;
    line-height: 1.4;
    color: var(--app-muted)
}

.pwa-safari-toolbar {
    margin-top: .65rem;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    gap: .2rem;
    padding: .55rem .45rem;
    border-radius: 13px;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--app-border);
    font-size: 1rem;
    text-align: center
}

.pwa-safari-toolbar>span {
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--app-muted);
    position: relative
}

.pwa-safari-toolbar .pwa-share-highlight {
    background: rgba(13, 110, 253, .13);
    color: #0d6efd;
    animation: pwa-share-pulse 1.7s ease-in-out infinite
}

.pwa-safari-toolbar .pwa-share-highlight b {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: .66rem;
    padding: .16rem .38rem;
    border-radius: 999px;
    background: #0d6efd;
    color: #fff;
    font-weight: 700
}

@keyframes pwa-share-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, .28)
    }

    50% {
        box-shadow: 0 0 0 8px rgba(13, 110, 253, 0)
    }
}

.pwa-ios-menu-preview {
    margin-top: .6rem;
    border: 1px solid var(--app-border);
    border-radius: 13px;
    overflow: hidden;
    background: var(--bs-tertiary-bg)
}

.pwa-ios-menu-preview>div {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: .4rem;
    align-items: center;
    padding: .65rem .75rem;
    font-size: .8rem;
    color: var(--app-muted);
    border-bottom: 1px solid var(--app-border)
}

.pwa-ios-menu-preview>div:last-child {
    border-bottom: 0
}

.pwa-ios-menu-preview .is-target {
    background: rgba(25, 135, 84, .1);
    color: var(--app-text);
    font-weight: 700
}

.pwa-ios-menu-preview .is-target>i:first-child {
    color: #198754
}

.pwa-ios-finish {
    margin-top: .6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: .65rem .8rem;
    border: 1px solid var(--app-border);
    border-radius: 13px;
    background: var(--bs-tertiary-bg);
    font-size: .8rem;
    color: var(--app-muted)
}

.pwa-ios-finish strong {
    color: #0d6efd;
    font-size: .85rem
}

.pwa-ios-note {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    padding: .7rem .8rem;
    border-radius: 13px;
    background: rgba(13, 110, 253, .08);
    font-size: .77rem;
    line-height: 1.4;
    color: var(--app-muted)
}

.pwa-ios-note i {
    color: #0d6efd;
    margin-top: .1rem
}

.pwa-ios-browser-help {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: .6rem .7rem;
    align-items: center;
    padding: .9rem;
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: var(--app-surface);
    font-size: .84rem;
    color: var(--app-text)
}

@media(max-width:575.98px) {
    #PwaHelpModal .modal-dialog {
        margin: .65rem
    }

    .pwa-help-modal .modal-header {
        padding: .8rem 1rem
    }

    .pwa-help-modal .modal-body {
        padding: .85rem;
        max-height: 76vh;
        overflow: auto
    }

    .pwa-help-modal .modal-footer {
        padding: .7rem .85rem
    }

    .pwa-ios-guide {
        gap: .75rem
    }

    .pwa-ios-intro {
        padding: .75rem;
        gap: .7rem
    }

    .pwa-ios-app-icon {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
        border-radius: 13px
    }

    .pwa-ios-app-icon img {
        width: 54px;
        height: 54px
    }

    .pwa-ios-step {
        padding: .72rem;
        grid-template-columns: 30px minmax(0, 1fr);
        gap: .6rem
    }

    .pwa-ios-step-number {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
        font-size: .8rem
    }

    .pwa-safari-toolbar .pwa-share-highlight b {
        top: -22px;
        font-size: .61rem
    }
}

@media(prefers-reduced-motion:reduce) {
    .pwa-safari-toolbar .pwa-share-highlight {
        animation: none
    }
}