* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --dark-gray: #2c2c2c;
    --darker-gray: #1a1a1a;
    --blue: #1e3a8a;
    --light-blue: #3b82f6;
    --red: #dc2626;
    --white: #ffffff;
    --yellow: #fbbf24;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--white);
    color: var(--white);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

img, video, iframe, embed, object {
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.top-header {
    background-color: var(--darker-gray);
    padding: 10px 0;
    font-size: 12px;
}

.top-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.logo-governo {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.logo-governo img {
    max-width: 100%;
    height: auto;
}

.logo-sp {
    background-color: var(--white);
    color: var(--darker-gray);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    border-radius: 4px;
}

.text-governo {
    display: flex;
    flex-direction: column;
}

.sao-paulo {
    font-size: 14px;
    font-weight: bold;
}

.governo, .slogan {
    font-size: 10px;
}

.top-header-right {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.social-media {
    display: flex;
    align-items: center;
    gap: 12px;
}

.social-media a {
    color: var(--white);
    text-decoration: none;
    font-size: 14px;
    transition: opacity 0.3s;
}

.social-media a:hover {
    opacity: 0.7;
}

.governosp {
    margin-left: 5px;
    font-size: 11px;
}

.accessibility {
    display: flex;
    gap: 8px;
}

.acc-btn {
    background: transparent;
    border: 1px solid var(--white);
    color: var(--white);
    padding: 4px 8px;
    cursor: pointer;
    font-size: 12px;
    border-radius: 3px;
    transition: background 0.3s;
}

.acc-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}

.servicos-pm {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
}

.user-auth-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 15px;
}

.auth-link {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--white);
    text-decoration: none;
    font-size: 11px;
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 3px;
    transition: all 0.3s;
}

.auth-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
}

.user-menu-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.user-name-header {
    color: var(--white);
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
}

.user-menu-header .auth-link {
    margin: 0;
}

.accessibility-shortcuts {
    background-color: var(--darker-gray);
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.accessibility-shortcuts .container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.shortcut-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 11px;
    transition: color 0.3s;
}

.shortcut-link:hover {
    color: var(--white);
}

.main-header {
    background-color: var(--dark-gray);
    padding: 15px 0 0;
}

.main-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    padding-bottom: 15px;
}

.main-header-content .logo-pm {
    flex: 0 0 auto;
}

.main-header-content .main-nav {
    flex: 0 0 auto;
    margin-left: auto;
}

.logo-pm {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.pm-emblem {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pm-emblem img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.emblem-circle {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    border: 3px solid var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 8px;
}

.emblem-top {
    font-size: 7px;
    font-weight: bold;
    color: var(--white);
    text-align: center;
    line-height: 1;
}

.emblem-center {
    position: relative;
    width: 100%;
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.emblem-star-yellow {
    width: 20px;
    height: 20px;
    background-color: var(--yellow);
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    position: absolute;
    z-index: 2;
}

.emblem-stars-white {
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, var(--white) 1px, transparent 1px);
    background-size: 8px 8px;
    opacity: 0.3;
}

.emblem-bottom {
    font-size: 6px;
    font-weight: bold;
    color: var(--white);
    text-align: center;
    line-height: 1;
}

.pm-text h1 {
    font-size: 22px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 4px;
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.pm-text p {
    font-size: 11px;
    color: var(--white);
    opacity: 0.95;
    font-weight: 500;
    letter-spacing: 0.3px;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    position: relative;
}

.main-nav a {
    color: var(--white);
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 10px;
    transition: color 0.3s;
}

.main-nav a:hover {
    color: var(--red);
}

#user-menu {
    display: flex;
    align-items: center;
    gap: 0;
}

#user-menu .username {
    color: var(--white);
    font-size: 13px;
    font-weight: bold;
    text-transform: lowercase;
    padding: 5px 10px;
}

#user-menu a {
    color: var(--white);
    font-weight: bold;
    text-transform: uppercase;
}

.nav-dropdown {
    position: relative;
    display: inline-block;
}

.nav-link-dropdown {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--dark-gray);
    min-width: 250px;
    max-height: 400px;
    overflow-y: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    margin-top: 5px;
    border-top: 2px solid var(--red);
}

.nav-dropdown.active .dropdown-menu,
.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu a {
    display: block;
    padding: 12px 15px;
    color: var(--white);
    text-decoration: none;
    font-size: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: background 0.3s;
}

.dropdown-menu a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--red);
}

.mobile-menu-toggle {
    display: none;
    background: transparent;
    border: none;
    color: var(--white);
    font-size: 24px;
    cursor: pointer;
    padding: 5px 10px;
}

.nav-divider {
    color: var(--red);
    font-weight: bold;
}

#user-menu {
    display: flex;
    align-items: center;
    gap: 0;
    color: var(--white);
    font-size: 13px;
}

#user-menu .username {
    font-weight: 600;
    color: var(--white);
}

#user-menu a {
    color: var(--white);
    text-decoration: none;
    transition: color 0.3s;
}

#user-menu a:hover {
    color: var(--red);
}

#admin-panel-btn {
    color: var(--red) !important;
    font-weight: bold !important;
}

#admin-panel-btn:hover {
    color: #ff4444 !important;
}

.red-line {
    height: 2px;
    background-color: var(--red);
    width: 100%;
}

.main-banner {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 50%, #3b82f6 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.banner-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.banner-pattern-left,
.banner-pattern-right {
    position: absolute;
    width: 200px;
    height: 100%;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 2px,
        rgba(255, 255, 255, 0.1) 2px,
        rgba(255, 255, 255, 0.1) 4px
    );
}

.banner-pattern-left {
    left: 0;
}

.banner-pattern-right {
    right: 0;
}

.banner-content {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.banner-left {
    flex: 1;
    min-width: 300px;
}

.banner-emblem {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.banner-logo {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.banner-logo-text {
    font-size: 18px;
    font-weight: bold;
    color: var(--white);
    letter-spacing: 2px;
}

.banner-200 {
    display: flex;
    align-items: baseline;
    gap: 15px;
    flex-wrap: wrap;
}

.rumo {
    font-size: 24px;
    font-weight: bold;
    color: var(--white);
}

.number-200 {
    font-size: 120px;
    font-weight: 900;
    color: var(--white);
    line-height: 1;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}

.anos {
    font-size: 32px;
    font-weight: bold;
    color: var(--white);
}

.arrow-right {
    font-size: 48px;
    color: var(--white);
    margin-left: 10px;
}

.banner-slogan {
    font-size: 16px;
    font-weight: bold;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 1px;
    max-width: 600px;
}

.banner-indicators {
    display: flex;
    gap: 10px;
}

.indicator {
    width: 12px;
    height: 12px;
    border: 2px solid var(--white);
    background: transparent;
    border-radius: 2px;
    cursor: pointer;
    transition: background 0.3s;
}

.indicator.active {
    background: var(--white);
}

.banner-right {
    display: flex;
    align-items: flex-start;
}

.site-verification {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.1);
    padding: 15px 20px;
    border-radius: 8px;
    backdrop-filter: blur(10px);
}

.site-verification i {
    font-size: 24px;
    color: var(--white);
}

.site-verification span {
    font-size: 12px;
    color: var(--white);
    max-width: 200px;
}

.quick-services {
    background-color: var(--dark-gray);
    padding: 50px 0;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
}

.service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
    padding: 20px;
    transition: transform 0.3s;
}

.service-item:hover {
    transform: translateY(-5px);
}

.service-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 10px;
}

.service-icon i {
    font-size: 40px;
    color: var(--white);
}

.service-icon .icon-190 {
    background-color: var(--red);
    color: var(--white);
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    border-radius: 4px;
}

.service-icon .icon-bo {
    background-color: var(--blue);
    color: var(--white);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
    border-radius: 4px;
    position: absolute;
    top: 0;
    left: 0;
}

.service-item p {
    font-size: 13px;
    color: var(--white);
    line-height: 1.4;
    font-weight: 500;
}

.latest-news {
    background-color: var(--white);
    padding: 60px 0;
    color: var(--darker-gray);
}

.news-header {
    margin-bottom: 40px;
}

.news-header h2 {
    font-size: 28px;
    font-weight: bold;
    color: var(--dark-gray);
    margin-bottom: 10px;
}

.red-line-news {
    height: 3px;
    background-color: var(--red);
    width: 100%;
    max-width: 300px;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.news-item {
    background-color: var(--white);
    border: none;
    border-radius: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    border-left: 4px solid transparent;
}

.news-item:hover {
    border-left-color: var(--red);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-3px);
}

.news-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 220px;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.news-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 100%);
    pointer-events: none;
    z-index: 1;
}

.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.3s ease;
    position: relative;
    z-index: 0;
}

.news-item:hover .news-image img {
    transform: scale(1.05);
}

.news-image .news-placeholder {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-placeholder i {
    font-size: 60px;
    color: var(--white);
    opacity: 0.5;
}

.news-content {
    padding: 25px;
    background: linear-gradient(to bottom, #ffffff 0%, #f8f9fa 100%);
}

/* Garantir que no modo escuro o gradiente seja sobrescrito */
.dark-mode .news-content {
    background: #1a1a1a !important;
    background-image: none !important;
}

.news-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--blue);
    margin-bottom: 12px;
    line-height: 1.4;
    transition: color 0.3s;
}

.news-item:hover .news-content h3 {
    color: var(--red);
}

.news-content p {
    font-size: 14px;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.6;
}

.news-date {
    font-size: 12px;
    color: var(--blue);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.news-date::before {
    content: '';
    width: 8px;
    height: 8px;
    background-color: var(--red);
    border-radius: 50%;
    display: inline-block;
}

.concursos-section {
    background-color: var(--white);
    padding: 60px 0;
    color: var(--darker-gray);
}

.concursos-header {
    margin-bottom: 40px;
}

.concursos-header h2 {
    font-size: 28px;
    font-weight: bold;
    color: var(--dark-gray);
    margin-bottom: 10px;
}

.concursos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    justify-items: center;
    width: 100%;
}

.concurso-item {
    background-color: var(--white);
    border-radius: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    border-left: 4px solid transparent;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.concurso-item:hover {
    border-left-color: var(--red);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-3px);
}

.concurso-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 220px;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.concurso-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.3s ease;
}

.concurso-item:hover .concurso-image img {
    transform: scale(1.05);
}

.concurso-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.concurso-placeholder i {
    font-size: 60px;
    color: var(--white);
    opacity: 0.5;
}

.concurso-content {
    padding: 25px;
    background: linear-gradient(to bottom, #ffffff 0%, #f8f9fa 100%);
}

.concurso-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--blue);
    margin-bottom: 12px;
    line-height: 1.4;
    transition: color 0.3s;
}

.concurso-item:hover .concurso-content h3 {
    color: var(--red);
}

.concurso-content p {
    font-size: 14px;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.6;
}

.concurso-dates {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
    padding: 12px;
    background-color: #f8f9fa;
    border-radius: 6px;
}

.concurso-date {
    font-size: 13px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 8px;
}

.concurso-date strong {
    color: var(--blue);
    font-weight: 600;
}

.concurso-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin-top: 4px;
}

.btn-concurso {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 180px;
    position: relative;
    overflow: hidden;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    letter-spacing: 0.2px;
    line-height: 1.4;
}

.btn-concurso::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
    transition: left 0.5s ease;
}

.btn-concurso:hover::before {
    left: 100%;
}

.btn-concurso i {
    font-size: 16px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.btn-concurso:hover i {
    transform: scale(1.15);
}

.btn-prova {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
    color: var(--white);
    box-shadow: 0 4px 14px rgba(30, 58, 138, 0.28);
}

.btn-prova:hover {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 58, 138, 0.35);
}

.btn-prova:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(30, 58, 138, 0.25);
}

.btn-apostila {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
    color: var(--white);
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.28);
}

.btn-apostila:hover {
    background: linear-gradient(135deg, #ef4444 0%, #f87171 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.35);
}

.btn-apostila:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.btn-concurso[style*="background-color: #22c55e"],
.btn-concurso.btn-apostila[style*="background-color: #22c55e"] {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
    color: var(--white) !important;
    box-shadow: 0 4px 14px rgba(5, 150, 105, 0.28) !important;
}

.btn-concurso[style*="background-color: #22c55e"]:hover,
.btn-concurso.btn-apostila[style*="background-color: #22c55e"]:hover {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(5, 150, 105, 0.35) !important;
}

.btn-concurso[style*="opacity: 0.5"],
.btn-concurso[style*="cursor: not-allowed"] {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
    background: linear-gradient(135deg, #9ca3af 0%, #d1d5db 100%) !important;
    color: #4b5563 !important;
}

.btn-concurso[style*="opacity: 0.5"]:hover,
.btn-concurso[style*="cursor: not-allowed"]:hover {
    transform: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
    background: linear-gradient(135deg, #9ca3af 0%, #d1d5db 100%) !important;
}

.btn-concurso[style*="background-color: #dc2626"][style*="opacity"] {
    background: linear-gradient(135deg, #991b1b 0%, #dc2626 100%) !important;
    color: var(--white) !important;
}

.btn-concurso[style*="background-color: #ccc"] {
    background: linear-gradient(135deg, #9ca3af 0%, #d1d5db 100%) !important;
    color: #374151 !important;
}

.concursos-list {
    margin-top: 20px;
}

.concurso-item-admin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e5e5e5;
    transition: background 0.3s;
}

.concurso-item-admin:last-child {
    border-bottom: none;
}

.concurso-item-admin:hover {
    background-color: #f8f9fa;
}

.concurso-info-admin {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.concurso-icon-admin {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
}

.concurso-details-admin {
    flex: 1;
}

.concurso-details-admin h3 {
    margin: 0 0 8px 0;
    color: var(--darker-gray);
    font-size: 16px;
}

.concurso-actions-admin {
    display: flex;
    gap: 10px;
}

.diario-admin-list {
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
}

.diario-item-admin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e5e5e5;
    transition: background 0.3s;
}

.diario-item-admin:last-child {
    border-bottom: none;
}

.diario-item-admin:hover {
    background-color: #f8f9fa;
}

.diario-info-admin {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.diario-icon-admin {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
}

.diario-details-admin {
    flex: 1;
}

.diario-details-admin h3 {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.diario-details-admin p {
    font-size: 14px;
    color: #666;
    margin: 4px 0;
}

.diario-preview {
    margin-top: 8px;
    color: #999;
    font-style: italic;
}

.diario-actions-admin {
    display: flex;
    gap: 10px;
}

.pm-numbers {
    background-color: #ffffff;
    padding: 60px 0;
    color: var(--darker-gray);
}

.pm-numbers .container {
    max-width: 1200px !important;
    padding: 0 40px !important;
    width: 100% !important;
    margin: 0 auto;
}

.numbers-header {
    text-align: center;
    margin-bottom: 50px;
}

.numbers-header h2 {
    font-size: 42px;
    font-weight: 700;
    color: var(--dark-gray);
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.numbers-period {
    font-size: 16px;
    color: #6b7280;
    font-weight: 400;
    letter-spacing: 0.3px;
}

.numbers-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 50px;
    width: 100% !important;
    max-width: 100% !important;
}

.number-item {
    text-align: center;
    padding: 36px 24px !important;
    background-color: #ffffff;
    border-radius: 12px;
    color: var(--darker-gray);
    transition: all 0.3s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    min-height: 160px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    width: 100% !important;
    border: 1px solid #e5e7eb;
    position: relative;
}

.number-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
    border-color: #d1d5db;
}

.number-value {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 10px;
    color: #111827;
    letter-spacing: -1.5px;
}

.number-unit {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.number-description {
    font-size: 12px;
    font-weight: 500;
    color: #4b5563;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

@media (max-width: 1400px) {
    .pm-numbers .container {
        padding: 0 30px !important;
    }
    
    .number-value {
        font-size: 44px;
    }
    
    .numbers-grid {
        gap: 20px !important;
    }
}

@media (max-width: 1200px) {
    .numbers-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
    }
    
    .number-item {
        min-height: 150px !important;
    }
    
    .number-value {
        font-size: 42px;
    }
}

@media (max-width: 768px) {
    .pm-numbers {
        padding: 50px 0;
    }
    
    .pm-numbers .container {
        padding: 0 20px !important;
    }
    
    .numbers-header {
        margin-bottom: 40px;
    }
    
    .numbers-header h2 {
        font-size: 36px;
    }
    
    .numbers-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
    
    .number-item {
        padding: 28px 16px !important;
        min-height: 140px !important;
        border-radius: 12px;
    }
    
    .number-value {
        font-size: 38px;
    }
    
    .number-unit {
        font-size: 13px;
    }
    
    .number-description {
        font-size: 12px;
    }
    
    .numbers-grid {
        margin-bottom: 40px;
    }
}

@media (max-width: 480px) {
    .numbers-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    .number-item {
        min-height: 130px !important;
    }
    
    .numbers-header h2 {
        font-size: 32px;
    }
    
    .btn-ver-mais {
        padding: 12px 28px;
        font-size: 14px;
    }
}

.number-label {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

.number-desc {
    font-size: 12px;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.numbers-footer {
    text-align: center;
    margin-top: 20px;
}

.btn-ver-mais {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: var(--red);
    color: var(--white);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.15);
}

.btn-ver-mais:hover {
    background-color: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(220, 38, 38, 0.25);
}

.btn-ver-mais:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(220, 38, 38, 0.2);
}

.featured-videos {
    background-color: var(--white);
    padding: 60px 0;
    color: var(--darker-gray);
}

.videos-header {
    margin-bottom: 40px;
}

.videos-header h2 {
    font-size: 28px;
    font-weight: bold;
    color: var(--dark-gray);
    margin-bottom: 10px;
}

.videos-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

.video-main {
    width: 100%;
}

.video-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--white);
}

.video-placeholder i {
    font-size: 80px;
    margin-bottom: 20px;
    opacity: 0.8;
}

.video-placeholder p {
    font-size: 18px;
    font-weight: bold;
}

.video-sidebar {
    display: flex;
    flex-direction: column;
}

.youtube-subscribe {
    background-color: var(--dark-gray);
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    color: var(--white);
}

.youtube-subscribe h3 {
    font-size: 18px;
    margin-bottom: 20px;
    color: var(--white);
}

.btn-youtube {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background-color: var(--red);
    color: var(--white);
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    transition: background 0.3s;
}

.btn-youtube:hover {
    background-color: #b91c1c;
}

.btn-youtube i {
    font-size: 24px;
}

.activities {
    background-color: var(--white);
    padding: 60px 0;
    color: var(--darker-gray);
}

.activities.community {
    background-color: #f8f9fa;
}

.activities.education {
    background-color: var(--white);
}

.activities-header {
    margin-bottom: 40px;
}

.activities-header h2 {
    font-size: 28px;
    font-weight: normal;
    color: var(--dark-gray);
    margin-bottom: 10px;
}

.activities-header h2 strong {
    font-weight: bold;
}

.activities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 30px;
}

.activity-item {
    background-color: var(--white);
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s;
    cursor: pointer;
}

.activity-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.activity-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 220px;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.activity-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 100%);
    pointer-events: none;
    z-index: 1;
}

.activity-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.3s ease;
    position: relative;
    z-index: 0;
}

.activity-item:hover .activity-image img {
    transform: scale(1.05);
}

.activity-image .activity-placeholder {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 0;
}

.activity-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--blue) 0%, var(--light-blue) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.activity-placeholder i {
    font-size: 60px;
    color: var(--white);
    opacity: 0.5;
}

.activity-content {
    padding: 20px;
}

.activity-content h3 {
    font-size: 16px;
    font-weight: bold;
    color: var(--darker-gray);
    margin-bottom: 10px;
    line-height: 1.4;
}

.activity-content p {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
    line-height: 1.5;
}

.activity-date {
    display: inline-block;
    font-size: 12px;
    color: var(--blue);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 5px;
}

.activity-item-detailed {
    display: flex;
    flex-direction: column;
}

.activity-item-detailed .activity-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.activity-share {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e5e5e5;
}

.activity-share a {
    color: var(--blue);
    font-size: 18px;
    text-decoration: none;
    transition: color 0.3s;
}

.activity-share a:hover {
    color: var(--red);
}

.activity-share span {
    font-size: 12px;
    color: #666;
}

.activities-footer {
    text-align: center;
}

.main-footer {
    background-color: var(--darker-gray);
    padding: 60px 0 30px;
    color: var(--white);
}

.footer-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    text-decoration: none;
    color: var(--white);
    font-size: 11px;
    text-align: center;
    padding: 10px;
    transition: background 0.3s;
}

.footer-logo:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.footer-column h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    color: var(--white);
}

.footer-column ul {
    list-style: none;
}

.footer-column ul li {
    margin-bottom: 8px;
}

.footer-column ul li a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.3s;
}

.footer-column ul li a:hover {
    color: var(--white);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    flex-wrap: wrap;
    gap: 20px;
}

.footer-social {
    display: flex;
    gap: 15px;
}

.footer-social a {
    color: var(--white);
    font-size: 20px;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-social a:hover {
    color: var(--red);
}

.footer-links {
    display: flex;
    gap: 20px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.3s;
}

.footer-links a:hover {
    color: var(--white);
}

@media (max-width: 1024px) {
    .container {
        padding: 0 15px;
    }

    .main-banner {
        padding: 60px 0;
    }

    .banner-content {
        gap: 30px;
    }

    .news-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }

    .concursos-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
    }

    .activities-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .container {
        padding: 0 15px;
    }

    .top-header {
        padding: 12px 0;
    }

    .top-header-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .logo-governo {
        flex-wrap: wrap;
    }

    .logo-governo img {
        height: 60px !important;
    }

    .top-header-right {
        width: 100%;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: space-between;
    }

    .accessibility {
        order: 1;
    }

    .servicos-pm {
        order: 2;
        font-size: 10px;
    }

    .user-auth-header {
        order: 3;
        width: 100%;
        margin-left: 0;
        flex-wrap: wrap;
        gap: 8px;
    }

    .auth-link {
        font-size: 10px;
        padding: 6px 12px;
        flex: 1;
        min-width: 100px;
        justify-content: center;
    }

    .main-header {
        padding: 12px 0 0;
        position: relative;
    }

    .main-header-content {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 12px;
    }

    .logo-pm {
        gap: 12px;
    }

    .pm-emblem {
        width: 60px;
        height: 60px;
    }

    .pm-emblem img {
        height: 60px !important;
    }

    .pm-text h1 {
        font-size: 16px;
        line-height: 1.2;
    }

    .pm-text p {
        font-size: 10px;
    }

    .main-nav {
        display: none;
        width: 100%;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        background-color: var(--dark-gray);
        padding: 0;
        z-index: 1000;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        max-height: calc(100vh - 200px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .main-nav.active {
        display: flex;
    }

    .main-nav a {
        padding: 15px 20px;
        font-size: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        width: 100%;
        display: block;
        text-align: left;
    }

    .nav-divider {
        display: none;
    }

    .nav-dropdown {
        width: 100%;
    }

    .nav-link-dropdown {
        width: 100%;
        padding: 15px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-dropdown.active .dropdown-menu {
        display: block;
    }
    
    .dropdown-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        margin-top: 0;
        margin-left: 0;
        display: none;
        max-height: none;
        background-color: rgba(0, 0, 0, 0.3);
        border-top: 2px solid var(--red);
        width: 100%;
    }

    .dropdown-menu a {
        padding: 12px 40px;
        font-size: 13px;
    }

    .mobile-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        padding: 0;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 4px;
        cursor: pointer;
        transition: all 0.3s;
    }

    .mobile-menu-toggle:hover {
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.5);
    }

    .mobile-menu-toggle i {
        font-size: 20px;
    }

    .main-banner {
        padding: 40px 0;
    }

    .banner-content {
        flex-direction: column;
        gap: 30px;
    }

    .banner-left {
        min-width: auto;
        width: 100%;
    }

    .banner-logo-text {
        font-size: 16px;
    }

    .number-200 {
        font-size: 70px;
    }

    .rumo {
        font-size: 20px;
    }

    .anos {
        font-size: 28px;
    }

    .arrow-right {
        font-size: 36px;
    }

    .banner-slogan {
        font-size: 14px;
    }

    .banner-right {
        width: 100%;
        justify-content: center;
    }

    .site-verification {
        width: 100%;
        justify-content: center;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .news-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .news-item {
        border-left-width: 3px;
    }

    .news-content {
        padding: 20px;
    }

    .news-content h3 {
        font-size: 16px;
    }

    .news-content p {
        font-size: 13px;
    }

    .videos-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .activities-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .activity-content {
        padding: 15px;
    }

    .activity-content h3 {
        font-size: 15px;
    }

    .concursos-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .concurso-content {
        padding: 20px;
    }

    .concurso-content h3 {
        font-size: 16px;
    }

    .concurso-links {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .btn-concurso {
        width: 100%;
        min-width: 100%;
        padding: 13px 20px;
        font-size: 14px;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .footer-links {
        flex-direction: column;
        gap: 10px;
    }

    .latest-news {
        padding: 40px 0;
    }

    .news-header h2 {
        font-size: 24px;
    }

    .activities {
        padding: 40px 0;
    }

    .activities-header h2 {
        font-size: 24px;
    }

    .pm-numbers {
        padding: 40px 0;
    }

    .numbers-header h2 {
        font-size: 32px;
    }

    .acc-btn {
        min-width: 36px;
        min-height: 36px;
        padding: 6px 10px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 12px;
    }

    .top-header {
        padding: 10px 0;
        font-size: 11px;
    }

    .logo-governo img {
        height: 50px !important;
    }

    .text-governo {
        gap: 2px;
    }

    .sao-paulo {
        font-size: 12px;
    }

    .governo, .slogan {
        font-size: 9px;
    }

    .pm-text h1 {
        font-size: 14px;
    }

    .pm-text p {
        font-size: 9px;
    }

    .pm-emblem {
        width: 60px;
        height: 60px;
    }

    .pm-emblem img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .btn-concurso {
        min-width: 100%;
        padding: 12px 18px;
        font-size: 13px;
    }

    .main-banner {
        padding: 30px 0;
    }

    .banner-logo-text {
        font-size: 14px;
    }

    .number-200 {
        font-size: 50px;
    }

    .rumo {
        font-size: 16px;
    }

    .anos {
        font-size: 22px;
    }

    .arrow-right {
        font-size: 28px;
        margin-left: 5px;
    }

    .banner-slogan {
        font-size: 12px;
    }

    .banner-200 {
        gap: 8px;
    }

    .news-grid {
        gap: 15px;
    }

    .news-content {
        padding: 15px;
    }

    .news-content h3 {
        font-size: 15px;
    }

    .news-content p {
        font-size: 12px;
    }

    .activities-grid {
        gap: 15px;
    }

    .activity-content {
        padding: 12px;
    }

    .activity-content h3 {
        font-size: 14px;
    }

    .concursos-grid {
        gap: 15px;
    }

    .concurso-content {
        padding: 15px;
    }

    .concurso-content h3 {
        font-size: 15px;
    }

    .concurso-dates {
        padding: 10px;
    }

    .concurso-date {
        font-size: 12px;
    }

    .latest-news {
        padding: 30px 0;
    }

    .news-header {
        margin-bottom: 30px;
    }

    .news-header h2 {
        font-size: 20px;
    }

    .activities {
        padding: 30px 0;
    }

    .activities-header {
        margin-bottom: 30px;
    }

    .activities-header h2 {
        font-size: 20px;
    }

    .pm-numbers {
        padding: 30px 0;
    }

    .numbers-header {
        margin-bottom: 30px;
    }

    .numbers-header h2 {
        font-size: 28px;
    }

    .btn-ver-mais {
        padding: 10px 24px;
        font-size: 13px;
    }

    .btn-concurso {
        padding: 12px 18px;
        font-size: 13px;
        min-width: 100%;
    }

    .main-footer {
        padding: 40px 0 20px;
    }

    .footer-logo {
        width: 100px;
        height: 50px;
    }
}

@media (max-width: 360px) {
    .container {
        padding: 0 10px;
    }

    .number-200 {
        font-size: 40px;
    }

    .rumo {
        font-size: 14px;
    }

    .anos {
        font-size: 20px;
    }

    .banner-slogan {
        font-size: 11px;
    }

    .news-header h2 {
        font-size: 18px;
    }

    .activities-header h2 {
        font-size: 18px;
    }

    .numbers-header h2 {
        font-size: 24px;
    }
}

@media (max-width: 768px) {
    
    a, button {
        min-height: 44px;
        min-width: 44px;
    }

    * {
        -webkit-tap-highlight-color: rgba(220, 38, 38, 0.2);
    }

    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    textarea,
    select {
        font-size: 16px !important;
    }

    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

.comprovacoes-links-container {
    margin: 16px 0;
    padding: 0;
}

.comprovacoes-links-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.comprovacao-link-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.comprovacao-link-card:hover {
    background: #f9fafb;
    border-color: #3b82f6;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
    transform: translateY(-1px);
}

.comprovacao-link-card:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.1);
}

.comprovacao-link-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    border: 2px solid;
    flex-shrink: 0;
    background: rgba(59, 130, 246, 0.1);
}

.comprovacao-link-icon i {
    font-size: 20px;
}

.comprovacao-link-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.comprovacao-link-label {
    font-weight: 600;
    font-size: 14px;
    color: #1f2937;
    line-height: 1.4;
}

.comprovacao-link-url {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
    word-break: break-all;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comprovacao-link-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #9ca3af;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.comprovacao-link-card:hover .comprovacao-link-arrow {
    color: #3b82f6;
    transform: translateX(4px);
}

.comprovacao-link-card:hover .comprovacao-link-arrow i {
    transform: translateX(2px);
}

@media (max-width: 768px) {
    .comprovacao-link-card {
        padding: 12px;
        gap: 10px;
    }

    .comprovacao-link-icon {
        width: 44px;
        height: 44px;
    }

    .comprovacao-link-icon i {
        font-size: 18px;
    }

    .comprovacao-link-label {
        font-size: 13px;
    }

    .comprovacao-link-url {
        font-size: 11px;
    }

    .comprovacao-link-arrow {
        width: 28px;
        height: 28px;
    }
}

@media (max-width: 480px) {
    .comprovacao-link-card {
        padding: 10px;
        gap: 8px;
    }

    .comprovacao-link-icon {
        width: 40px;
        height: 40px;
    }

    .comprovacao-link-icon i {
        font-size: 16px;
    }
}

/* Estilos para Paginação */
.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 40px auto 0;
    padding: 25px 0;
    width: 100%;
    max-width: 100%;
}

.pagination-container.hidden {
    display: none;
}

.pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    background-color: var(--white);
    color: var(--dark-gray);
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 48px;
    height: 42px;
    gap: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.pagination-btn:hover:not(:disabled) {
    background-color: var(--blue);
    color: var(--white);
    border-color: var(--blue);
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(30, 58, 138, 0.25);
}

.pagination-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    background-color: #f3f4f6;
    border-color: #e5e7eb;
    color: #9ca3af;
}

.pagination-btn.active {
    background-color: var(--blue);
    color: var(--white);
    border-color: var(--blue);
    box-shadow: 0 2px 6px rgba(30, 58, 138, 0.3);
}

.pagination-btn i {
    font-size: 12px;
}

.pagination-page-numbers {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pagination-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    background-color: var(--white);
    color: var(--dark-gray);
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.pagination-page-btn:hover {
    background-color: #f3f4f6;
    border-color: var(--blue);
    color: var(--blue);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(30, 58, 138, 0.2);
}

.pagination-page-btn.active {
    background-color: var(--blue);
    color: var(--white);
    border-color: var(--blue);
    box-shadow: 0 2px 6px rgba(30, 58, 138, 0.3);
}

.pagination-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #6b7280;
    font-weight: 500;
    padding: 0 12px;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .pagination-container {
        flex-wrap: wrap;
        gap: 8px;
        padding: 20px 0;
        margin-top: 30px;
    }

    .pagination-btn {
        padding: 8px 14px;
        font-size: 13px;
        min-width: 44px;
        height: 40px;
    }

    .pagination-page-btn {
        min-width: 38px;
        height: 40px;
        padding: 0 10px;
        font-size: 13px;
    }

    .pagination-info {
        font-size: 12px;
        width: 100%;
        justify-content: center;
        padding: 8px 0;
        order: 3;
    }

    .pagination-page-numbers {
        order: 2;
    }
}

/* ============================================
   MODO ESCURO (DARK MODE)
   ============================================ */

.dark-mode,
.dark-mode body {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .top-header {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .top-header-content {
    color: #e0e0e0 !important;
}

.dark-mode .text-governo .sao-paulo,
.dark-mode .text-governo .governo,
.dark-mode .text-governo .slogan {
    color: #e0e0e0 !important;
}

.dark-mode .main-header {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .main-header-content {
    background-color: #2d2d2d !important;
}

.dark-mode .main-nav a {
    color: #e0e0e0 !important;
}

.dark-mode .main-nav a:hover {
    color: #ff0000 !important;
}

.dark-mode .main-nav .nav-divider {
    color: #ff0000 !important;
}

.dark-mode .dropdown-menu {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

.dark-mode .dropdown-menu a {
    color: #e0e0e0 !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.dark-mode .dropdown-menu a:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ff0000 !important;
}

.dark-mode .main-banner {
    /* Gradiente como fallback quando não há imagem */
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 50%, #3b82f6 100%);
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Quando há imagem aplicada via style inline, ela deve ter prioridade */
.dark-mode .main-banner[style*="background-image"] {
    /* Não sobrescreve o background-image inline, apenas garante outros estilos */
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.dark-mode .banner-background {
    background: transparent !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.dark-mode .banner-content {
    color: #ffffff !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.dark-mode .banner-logo-text,
.dark-mode .banner-200 .rumo,
.dark-mode .banner-200 .number-200,
.dark-mode .banner-200 .anos,
.dark-mode .banner-slogan {
    color: #ffffff !important;
}

.dark-mode .banner-pattern-left,
.dark-mode .banner-pattern-right {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.dark-mode .pm-numbers {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .pm-numbers h2,
.dark-mode .pm-numbers .numbers-period {
    color: #e0e0e0 !important;
}

.dark-mode .number-item {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .number-value,
.dark-mode .number-unit,
.dark-mode .number-description {
    color: #e0e0e0 !important;
}

.dark-mode .latest-news {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .news-header h2 {
    color: #e0e0e0 !important;
}

.dark-mode .news-item {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .news-item:hover {
    border-left-color: #ff0000 !important;
    background-color: #2d2d2d !important;
}

.dark-mode .news-content {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .news-item .news-content {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .news-content h3 {
    color: #ffffff !important;
}

.dark-mode .news-content p {
    color: #e0e0e0 !important;
}

.dark-mode .news-date {
    color: #b0b0b0 !important;
}

/* Vídeos 190 - mesmo estilo das notícias */
.dark-mode #videos-190 {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode #videos-190 .news-item {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #videos-190 .news-item:hover {
    border-left-color: #ff0000 !important;
    background-color: #2d2d2d !important;
}

.dark-mode #videos-190 .news-content {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode #videos-190 .news-item .news-content {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode #videos-190 .news-content h3 {
    color: #ffffff !important;
}

.dark-mode #videos-190 .news-content p {
    color: #e0e0e0 !important;
}

.dark-mode #videos-190 .news-date {
    color: #b0b0b0 !important;
}

.dark-mode .activities {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .activities-header h2 {
    color: #e0e0e0 !important;
}

.dark-mode .activity-item {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .activity-content h3 {
    color: #e0e0e0 !important;
}

.dark-mode .activity-content p {
    color: #c0c0c0 !important;
}

.dark-mode .activity-date {
    color: #999 !important;
}

.dark-mode .btn-ver-mais {
    background-color: #1e3a8a !important;
    color: #e0e0e0 !important;
    border-color: #1e3a8a !important;
}

.dark-mode .btn-ver-mais:hover {
    background-color: #1e40af !important;
}

.dark-mode .pagination-btn {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .pagination-btn:hover:not(:disabled) {
    background-color: #3d3d3d !important;
    border-color: #1e3a8a !important;
}

.dark-mode .pagination-btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

.dark-mode .pagination-page-btn {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .pagination-page-btn:hover {
    background-color: #3d3d3d !important;
    border-color: #1e3a8a !important;
    color: #e0e0e0 !important;
}

.dark-mode .pagination-page-btn.active {
    background-color: #1e3a8a !important;
    color: #e0e0e0 !important;
    border-color: #1e3a8a !important;
}

.dark-mode .pagination-info {
    color: #9ca3af !important;
}

/* Paginação no Admin - Modo Escuro - SOBRESCREVER ESTILOS INLINE */
.dark-mode .pagination-container {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode .pagination-controls {
    background: transparent !important;
}

.dark-mode .pagination-number {
    background: #3a3a3a !important;
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
    border: 1px solid #555 !important;
}

.dark-mode .pagination-number:hover {
    background: #4a4a4a !important;
    background-color: #4a4a4a !important;
    color: #ffffff !important;
}

.dark-mode .pagination-number.active {
    background: #3b82f6 !important;
    background-color: #3b82f6 !important;
    color: #ffffff !important;
}

.dark-mode .pagination-button {
    background: #3b82f6 !important;
    background-color: #3b82f6 !important;
    color: #ffffff !important;
}

.dark-mode .pagination-button:hover:not(:disabled) {
    background: #2563eb !important;
    background-color: #2563eb !important;
}

.dark-mode .pagination-button:disabled {
    background: #444 !important;
    background-color: #444 !important;
    color: #888 !important;
}

.dark-mode .pagination-ellipsis {
    color: #9ca3af !important;
}

/* Admin Panel Dark Mode */
.dark-mode .admin-container {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .admin-header {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode .admin-header h1 {
    color: #e0e0e0 !important;
}

.dark-mode .admin-panel {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .admin-panel h2 {
    color: #e0e0e0 !important;
}

.dark-mode .btn {
    background-color: #1e3a8a !important;
    color: #e0e0e0 !important;
    border-color: #1e3a8a !important;
}

.dark-mode .btn:hover {
    background-color: #1e40af !important;
}

.dark-mode .btn-primary {
    background-color: #1e3a8a !important;
    color: #e0e0e0 !important;
}

.dark-mode .btn-secondary {
    background-color: #4b5563 !important;
    color: #e0e0e0 !important;
}

.dark-mode .btn-danger {
    background-color: #dc2626 !important;
    color: #e0e0e0 !important;
}

/* Cores específicas para cada botão no modo escuro */
.dark-mode .btn-news {
    background-color: #2563eb !important;
    color: white !important;
}

.dark-mode .btn-news:hover {
    background-color: #1d4ed8 !important;
}

.dark-mode .btn-activities {
    background-color: #059669 !important;
    color: white !important;
}

.dark-mode .btn-activities:hover {
    background-color: #047857 !important;
}

.dark-mode .btn-concursos {
    background-color: #dc2626 !important;
    color: white !important;
}

.dark-mode .btn-concursos:hover {
    background-color: #b91c1c !important;
}

.dark-mode .btn-diario {
    background-color: #7c3aed !important;
    color: white !important;
}

.dark-mode .btn-diario:hover {
    background-color: #6d28d9 !important;
}

.dark-mode .btn-users {
    background-color: #ea580c !important;
    color: white !important;
}

.dark-mode .btn-users:hover {
    background-color: #c2410c !important;
}

.dark-mode .btn-numbers {
    background-color: #0891b2 !important;
    color: white !important;
}

.dark-mode .btn-numbers:hover {
    background-color: #0e7490 !important;
}

.dark-mode .btn-banner {
    background-color: #be185d !important;
    color: white !important;
}

.dark-mode .btn-banner:hover {
    background-color: #9f1239 !important;
}

/* Cores para botões que ainda não tinham cores específicas */
.dark-mode .btn[style*="background-color: #dc2626"] {
    background-color: #dc2626 !important;
    color: white !important;
}

.dark-mode .btn[style*="background-color: #059669"] {
    background-color: #059669 !important;
    color: white !important;
}

.dark-mode .btn[style*="background-color: #8e24aa"] {
    background-color: #8e24aa !important;
    color: white !important;
}

.dark-mode .btn[style*="background-color: #0ea5e9"] {
    background-color: #0ea5e9 !important;
    color: white !important;
}

.dark-mode .btn[style*="background-color: #16a34a"] {
    background-color: #16a34a !important;
    color: white !important;
}

.dark-mode .btn[style*="background-color: #f59e0b"] {
    background-color: #f59e0b !important;
    color: white !important;
}

.dark-mode .btn[style*="background-color: #8b5cf6"] {
    background-color: #8b5cf6 !important;
    color: white !important;
}

.dark-mode input,
.dark-mode textarea,
.dark-mode select {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode input:focus,
.dark-mode textarea:focus,
.dark-mode select:focus {
    border-color: #1e3a8a !important;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.2) !important;
}

.dark-mode .modal {
    background-color: rgba(0, 0, 0, 0.9) !important;
}

.dark-mode .modal-content {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .modal-header h2 {
    color: #e0e0e0 !important;
}

.dark-mode .form-group label {
    color: #e0e0e0 !important;
}

.dark-mode .news-list,
.dark-mode .activities-list,
.dark-mode .concursos-list {
    background-color: #1a1a1a !important;
}

.dark-mode .news-item-admin,
.dark-mode .activity-item-admin,
.dark-mode .concurso-item-admin {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .empty-state {
    color: #999 !important;
}

.dark-mode .empty-state i {
    color: #666 !important;
}

.dark-mode .search-input {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .search-input:focus {
    border-color: #1e3a8a !important;
}

.dark-mode .table {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .table th {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .table td {
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .table tr:hover {
    background-color: #3d3d3d !important;
}

.dark-mode .card {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .card-header {
    background-color: #1a1a1a !important;
    border-bottom-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .card-body {
    color: #e0e0e0 !important;
}

.dark-mode .alert {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .badge {
    background-color: #1e3a8a !important;
    color: #e0e0e0 !important;
}

.dark-mode .concurso-item {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .concurso-item[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

/* Sobrescrever o gradiente branco do conteúdo do concurso - REGRA FORTE */
.dark-mode .concurso-content,
.dark-mode .concurso-item .concurso-content {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
    background-gradient: none !important;
    color: #e0e0e0 !important;
}

.dark-mode .concurso-content[style*="background"],
.dark-mode .concurso-item .concurso-content[style*="background"],
.dark-mode .concurso-content[style*="linear-gradient"],
.dark-mode .concurso-item .concurso-content[style*="linear-gradient"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

/* Garantir que o item do concurso também fique escuro */
.dark-mode .concurso-item {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .concurso-item[style*="background"],
.dark-mode .concurso-item[style*="white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .concurso-content h3 {
    color: #ffffff !important;
}

.dark-mode .concurso-content h3[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .concurso-content p {
    color: #e0e0e0 !important;
}

.dark-mode .concurso-content p[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode .concurso-date,
.dark-mode .concurso-dates {
    color: #e0e0e0 !important;
}

.dark-mode .concurso-date[style*="color"],
.dark-mode .concurso-dates[style*="color"] {
    color: #e0e0e0 !important;
}

/* Texto dentro das datas dos concursos */
.dark-mode .concurso-date strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.dark-mode .concurso-date strong[style*="color"] {
    color: #ffffff !important;
}

/* Container das datas */
.dark-mode .concurso-dates {
    background: transparent !important;
    color: #e0e0e0 !important;
}

.dark-mode .concurso-dates span {
    color: #e0e0e0 !important;
}

.dark-mode .concurso-dates span strong {
    color: #ffffff !important;
}

/* Seção de concursos */
.dark-mode .concursos-section {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .concursos-section[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .concursos-header h2 {
    color: #ffffff !important;
}

.dark-mode .concursos-header h2[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .btn-concurso {
    background-color: #1e3a8a !important;
    color: #e0e0e0 !important;
}

.dark-mode .btn-concurso:hover {
    background-color: #1e40af !important;
}

.dark-mode .red-line,
.dark-mode .red-line-news {
    background-color: #ff0000 !important;
}

.dark-mode .acc-btn {
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #e0e0e0 !important;
}

.dark-mode .acc-btn:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.dark-mode .auth-link {
    color: #e0e0e0 !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.dark-mode .auth-link:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.dark-mode .user-name-header {
    color: #e0e0e0 !important;
}

.dark-mode .servicos-pm {
    color: #e0e0e0 !important;
}

/* Badge de tipo de atividade no modo escuro - Alta especificidade */
.dark-mode .activity-type-badge,
.dark-mode .type-cultural,
.dark-mode .type-community,
.dark-mode .type-education,
.dark-mode span.activity-type-badge,
.dark-mode span.type-cultural,
.dark-mode span.type-community,
.dark-mode span.type-education {
    color: #ffffff !important;
    font-weight: 700 !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode .type-cultural,
.dark-mode span.type-cultural,
.dark-mode .activity-type-badge.type-cultural {
    background-color: #f59e0b !important;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4) !important;
}

.dark-mode .type-community,
.dark-mode span.type-community,
.dark-mode .activity-type-badge.type-community {
    background-color: #3b82f6 !important;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.4) !important;
}

.dark-mode .type-education,
.dark-mode span.type-education,
.dark-mode .activity-type-badge.type-education {
    background-color: #10b981 !important;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.4) !important;
}

/* Badges de tipo (aberto/restrito/privado) no modo escuro */
.dark-mode .tipo-badge,
.dark-mode .tipo-aberto,
.dark-mode .tipo-restrito {
    color: #ffffff !important;
    font-weight: 700 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode .tipo-aberto {
    background-color: #10b981 !important;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.4) !important;
}

.dark-mode .tipo-restrito {
    background-color: #ef4444 !important;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.4) !important;
}

/* Badges inline de privado/aberto em documentos */
.dark-mode span[style*="background: #dc3545"],
.dark-mode span[style*="background:#dc3545"] {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.4) !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode span[style*="background: #28a745"],
.dark-mode span[style*="background:#28a745"] {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.4) !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Filtros e busca no modo escuro */
.dark-mode .users-filters,
.dark-mode .filter-container {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #444 !important;
}

.dark-mode .users-filters[style*="background"],
.dark-mode .users-filters[style*="linear-gradient"] {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
}

.dark-mode .search-container {
    background-color: transparent !important;
}

.dark-mode .search-container i {
    color: #9ca3af !important;
}

.dark-mode .search-container:focus-within i {
    color: #3b82f6 !important;
}

.dark-mode .search-input {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .search-input[style*="background"] {
    background-color: #1a1a1a !important;
}

.dark-mode .search-input:hover {
    border-color: #4b5563 !important;
}

.dark-mode .search-input:focus {
    background-color: #1a1a1a !important;
    border-color: #3b82f6 !important;
}

.dark-mode .search-input::placeholder {
    color: #6b7280 !important;
}

.dark-mode .btn-filter {
    background: linear-gradient(135deg, #374151 0%, #4b5563 100%) !important;
    color: #e0e0e0 !important;
    border-color: #4b5563 !important;
}

.dark-mode .btn-filter[style*="background"],
.dark-mode .btn-filter[style*="linear-gradient"] {
    background: linear-gradient(135deg, #374151 0%, #4b5563 100%) !important;
    color: #e0e0e0 !important;
    border-color: #4b5563 !important;
}

.dark-mode .btn-filter:hover {
    background: linear-gradient(135deg, #4b5563 0%, #6b7280 100%) !important;
    color: #ffffff !important;
    border-color: #6b7280 !important;
}

.dark-mode .btn-filter.active {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
}

.dark-mode .btn-filter.active:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
}

.dark-mode .filter-dropdown {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #444 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7) !important;
}

.dark-mode .filter-dropdown[style*="background"],
.dark-mode .filter-dropdown[style*="linear-gradient"] {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #444 !important;
}

.dark-mode .filter-option {
    color: #e0e0e0 !important;
}

.dark-mode .filter-option:hover {
    background-color: #374151 !important;
    color: #ffffff !important;
}

.dark-mode .filter-option.active {
    background-color: #2563eb !important;
    color: #ffffff !important;
}

.dark-mode .filter-section-title {
    color: #9ca3af !important;
    font-weight: 600 !important;
}

.dark-mode .filter-section {
    border-bottom-color: #444 !important;
}

/* Gerenciar Documentos no modo escuro - CORREÇÃO COMPLETA */
.dark-mode #documentos-panel .admin-panel,
.dark-mode #documentos-panel .list-container {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .documento-item-admin,
.dark-mode .list-item {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .documento-item-admin:hover,
.dark-mode .list-item:hover {
    background-color: #374151 !important;
}

/* Inputs de URL e Ordem dos documentos - CRÍTICO - FORÇAR TUDO */
.dark-mode .documento-url-input,
.dark-mode input[type="text"],
.dark-mode input[type="url"],
.dark-mode input[type="number"],
.dark-mode input[style*="background"],
.dark-mode input[style*="background: white"],
.dark-mode input[style*="background:white"],
.dark-mode input[style*="background-color: white"],
.dark-mode input[style*="background-color:white"],
.dark-mode input[placeholder*="URL"],
.dark-mode input[placeholder*="Ordem"],
.dark-mode input[id*="documentos-url"],
.dark-mode input[id*="documentos-ordem"],
.dark-mode input[id*="url"],
.dark-mode input[id*="ordem"] {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode .documento-url-input:focus,
.dark-mode input[type="text"]:focus,
.dark-mode input[type="url"]:focus,
.dark-mode input[type="number"]:focus {
    background-color: #1a1a1a !important;
    border-color: #3b82f6 !important;
    color: #ffffff !important;
}

/* Inputs de documentos que aparecem em divs com background branco */
.dark-mode .list-item input,
.dark-mode .documento-item-admin input,
.dark-mode input[style*="URL:"],
.dark-mode input[style*="Ordem:"] {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode .list-item input:focus,
.dark-mode .documento-item-admin input:focus {
    background-color: #1a1a1a !important;
    border-color: #3b82f6 !important;
    color: #ffffff !important;
}

/* Labels e textos dentro dos inputs de documentos */
.dark-mode .list-item label,
.dark-mode .documento-item-admin label,
.dark-mode span[style*="URL:"],
.dark-mode span[style*="Ordem:"],
.dark-mode label[for*="url"],
.dark-mode label[for*="ordem"] {
    color: #9ca3af !important;
}

/* Divs que contêm inputs de documentos - FORÇAR */
.dark-mode div[style*="URL:"],
.dark-mode div[style*="Ordem:"],
.dark-mode div:has(input[placeholder*="URL"]),
.dark-mode div:has(input[placeholder*="Ordem"]) {
    background: #1a1a1a !important;
    color: #ffffff !important;
}

.dark-mode div[style*="URL:"] input,
.dark-mode div[style*="Ordem:"] input,
.dark-mode div:has(input[placeholder*="URL"]) input,
.dark-mode div:has(input[placeholder*="Ordem"]) input {
    background: #1a1a1a !important;
    color: #ffffff !important;
}

/* Ícones dentro dos inputs */
.dark-mode .fa-link,
.dark-mode .fa-sort-numeric-down,
.dark-mode i.fa-link,
.dark-mode i.fa-sort-numeric-down {
    color: #9ca3af !important;
}

/* FORÇAR TODOS OS INPUTS NO MODO ESCURO */
.dark-mode input,
.dark-mode textarea,
.dark-mode select {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode input:not([type="checkbox"]):not([type="radio"]),
.dark-mode textarea,
.dark-mode select {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* REGRA UNIVERSAL - SOBRESCREVER QUALQUER BACKGROUND BRANCO - FORÇA MÁXIMA */
.dark-mode *[style*="background: white"],
.dark-mode *[style*="background:white"],
.dark-mode *[style*="background-color: white"],
.dark-mode *[style*="background-color:white"],
.dark-mode *[style*="background: linear-gradient"][style*="white"],
.dark-mode *[style*="background: linear-gradient"][style*="#ffffff"],
.dark-mode *[style*="background: linear-gradient"][style*="#fff"],
.dark-mode *[style*="background: linear-gradient"][style*="#f8f9fa"],
.dark-mode *[style*="background: linear-gradient"][style*="#f1f5f9"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

/* SOBRESCREVER TEXTOS CLAROS EM ELEMENTOS COM BACKGROUND BRANCO */
.dark-mode *[style*="background: white"] *,
.dark-mode *[style*="background:white"] *,
.dark-mode *[style*="background-color: white"] *,
.dark-mode *[style*="background-color:white"] *,
.dark-mode *[style*="background: linear-gradient"][style*="white"] *,
.dark-mode *[style*="background: linear-gradient"][style*="#ffffff"] * {
    color: #ffffff !important;
}

/* FORÇAR CORES ESCURAS EM TODOS OS TEXTOS CLAROS */
.dark-mode *[style*="color: #64748b"],
.dark-mode *[style*="color:#64748b"],
.dark-mode *[style*="color: #1e293b"],
.dark-mode *[style*="color:#1e293b"],
.dark-mode *[style*="color: #475569"],
.dark-mode *[style*="color:#475569"],
.dark-mode *[style*="color: #94a3b8"],
.dark-mode *[style*="color:#94a3b8"],
.dark-mode *[style*="color: #6b7280"],
.dark-mode *[style*="color:#6b7280"],
.dark-mode *[style*="color: #333"],
.dark-mode *[style*="color:#333"],
.dark-mode *[style*="color: #666"],
.dark-mode *[style*="color:#666"] {
    color: #ffffff !important;
}

/* FORÇAR CORES EM ÍCONES CLAROS */
.dark-mode i[style*="color: #64748b"],
.dark-mode i[style*="color:#64748b"],
.dark-mode i[style*="color: #94a3b8"],
.dark-mode i[style*="color:#94a3b8"],
.dark-mode i[style*="color: #666"],
.dark-mode i[style*="color:#666"] {
    color: #9ca3af !important;
}

/* SOBRESCREVER TODOS OS ELEMENTOS COM BACKGROUND BRANCO NO TICKET MODAL */
.dark-mode #ticket-modal *[style*="background: white"],
.dark-mode #ticket-modal *[style*="background:white"],
.dark-mode #ticket-modal *[style*="background-color: white"],
.dark-mode #ticket-modal *[style*="background-color:white"],
.dark-mode #ticket-modal *[style*="background: linear-gradient"][style*="white"],
.dark-mode #ticket-modal *[style*="background: linear-gradient"][style*="#ffffff"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.dark-mode #ticket-modal *[style*="color: #1e293b"],
.dark-mode #ticket-modal *[style*="color:#1e293b"],
.dark-mode #ticket-modal *[style*="color: #64748b"],
.dark-mode #ticket-modal *[style*="color:#64748b"] {
    color: #ffffff !important;
}

/* FORÇAR TODOS OS INPUTS E TEXTAREAS NO MODO ESCURO */
.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.dark-mode textarea,
.dark-mode select {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="file"])::placeholder,
.dark-mode textarea::placeholder {
    color: #6b7280 !important;
}

/* SOBRESCREVER ESPECIFICAMENTE OS INPUTS DE DOCUMENTOS */
.dark-mode input[id*="documentos-url"],
.dark-mode input[id*="documentos-ordem"],
.dark-mode input[placeholder*="URL"],
.dark-mode input[placeholder*="Ordem"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode input[id*="documentos-url"]:focus,
.dark-mode input[id*="documentos-ordem"]:focus {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #3b82f6 !important;
}

/* SOBRESCREVER ESPECIFICAMENTE O MODAL DE DOCUMENTOS */
.dark-mode #documentos-modal input,
.dark-mode #documentos-modal textarea,
.dark-mode #documentos-modal select {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode #documentos-modal input:focus,
.dark-mode #documentos-modal textarea:focus {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #3b82f6 !important;
}

/* FORÇAR CORES EM TODOS OS ELEMENTOS DO MODAL DE TICKET */
.dark-mode #ticket-modal h3[style*="color: #1e293b"] {
    color: #ffffff !important;
}

.dark-mode #ticket-modal * {
    /* Garantir que textos sejam visíveis */
}

.dark-mode #ticket-modal .info-label,
.dark-mode #ticket-modal .info-value {
    color: #ffffff !important;
}

/* SOBRESCREVER ESPECIFICAMENTE AS CAIXAS DE INFORMAÇÃO DO TICKET */
.dark-mode #ticket-info > div,
.dark-mode #ticket-info .ticket-info-section {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    background-color: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode #ticket-info .info-label {
    color: #9ca3af !important;
}

.dark-mode #ticket-info .info-value {
    color: #ffffff !important;
}

/* FORÇAR TODOS OS ELEMENTOS COM BACKGROUND BRANCO NO BANNER */
.dark-mode #banner-preview-container *[style*="background: white"],
.dark-mode #banner-preview-container *[style*="background:white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode #banner-preview-container *[style*="color: #333"],
.dark-mode #banner-preview-container *[style*="color:#333"],
.dark-mode #banner-preview-container *[style*="color: #666"],
.dark-mode #banner-preview-container *[style*="color:#666"] {
    color: #cbd5e1 !important;
}

/* REGRA UNIVERSAL ABSOLUTA - SOBRESCREVER QUALQUER BACKGROUND BRANCO E TEXTO CLARO */
.dark-mode div[style*="background: white"],
.dark-mode div[style*="background:white"],
.dark-mode div[style*="background-color: white"],
.dark-mode div[style*="background-color:white"],
.dark-mode div[style*="background: linear-gradient"][style*="white"],
.dark-mode div[style*="background: linear-gradient"][style*="#ffffff"],
.dark-mode div[style*="background: linear-gradient"][style*="#f8f9fa"],
.dark-mode div[style*="background: linear-gradient"][style*="#f1f5f9"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

.dark-mode div[style*="background: white"] *,
.dark-mode div[style*="background:white"] *,
.dark-mode div[style*="background-color: white"] *,
.dark-mode div[style*="background-color:white"] * {
    color: #ffffff !important;
}

.dark-mode div[style*="background: white"] i,
.dark-mode div[style*="background:white"] i,
.dark-mode div[style*="background-color: white"] i,
.dark-mode div[style*="background-color:white"] i {
    color: #9ca3af !important;
}

/* FORÇAR TODOS OS TEXTOS CLAROS A FICAREM BRANCOS */
.dark-mode *[style*="color: #64748b"],
.dark-mode *[style*="color:#64748b"],
.dark-mode *[style*="color: #1e293b"],
.dark-mode *[style*="color:#1e293b"],
.dark-mode *[style*="color: #475569"],
.dark-mode *[style*="color:#475569"],
.dark-mode *[style*="color: #94a3b8"],
.dark-mode *[style*="color:#94a3b8"],
.dark-mode *[style*="color: #6b7280"],
.dark-mode *[style*="color:#6b7280"],
.dark-mode *[style*="color: #333"],
.dark-mode *[style*="color:#333"],
.dark-mode *[style*="color: #666"],
.dark-mode *[style*="color:#666"],
.dark-mode *[style*="color: #999"],
.dark-mode *[style*="color:#999"] {
    color: #ffffff !important;
}

/* ESPECIFICAMENTE PARA AS CAIXAS DE INFORMAÇÃO DO TICKET */
.dark-mode #ticket-info div,
.dark-mode #ticket-info .ticket-info-section,
.dark-mode #ticket-info > div {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    background-color: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode #ticket-info .info-label,
.dark-mode #ticket-info .info-label i {
    color: #9ca3af !important;
    font-weight: 700 !important;
}

.dark-mode #ticket-info .info-value,
.dark-mode #ticket-info .info-value * {
    color: #ffffff !important;
    font-weight: 500 !important;
}

/* CORRIGIR AS CAIXAS BRANCAS NO ACCORDION DO TICKET - REGRA ABSOLUTA */
.dark-mode .ticket-accordion-content .item-meta span,
.dark-mode .ticket-accordion .item-meta span,
.dark-mode .admin-item .item-meta span,
.dark-mode .item-meta span[style*="background: linear-gradient"],
.dark-mode .item-meta span[style*="background:linear-gradient"],
.dark-mode .item-meta span[style*="background: #f8f9fa"],
.dark-mode .item-meta span[style*="background:#f8f9fa"],
.dark-mode .item-meta span[style*="background: #ffffff"],
.dark-mode .item-meta span[style*="background:#ffffff"] {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
    border: 1px solid #444 !important;
    border-color: #444 !important;
    color: #ffffff !important;
}

.dark-mode .ticket-accordion-content .item-meta span:hover,
.dark-mode .ticket-accordion .item-meta span:hover,
.dark-mode .admin-item .item-meta span:hover {
    background: linear-gradient(135deg, #2d2d2d 0%, #3a3a3a 100%) !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    border-color: #3b82f6 !important;
}

.dark-mode .ticket-accordion-content .item-meta span strong,
.dark-mode .ticket-accordion .item-meta span strong,
.dark-mode .admin-item .item-meta span strong,
.dark-mode .item-meta span strong {
    color: #9ca3af !important;
    font-weight: 700 !important;
}

.dark-mode .ticket-accordion-content .item-meta span,
.dark-mode .ticket-accordion .item-meta span,
.dark-mode .admin-item .item-meta span {
    color: #ffffff !important;
}

.dark-mode .ticket-accordion-content .item-meta span i,
.dark-mode .ticket-accordion .item-meta span i,
.dark-mode .admin-item .item-meta span i,
.dark-mode .item-meta span i {
    color: #3b82f6 !important;
}

/* FORÇAR SOBRESCRITA DE ESTILOS INLINE DO HTML - REGRA MÁXIMA */
.dark-mode span[style*="background: linear-gradient(135deg, #f8f9fa"],
.dark-mode span[style*="background:linear-gradient(135deg, #f8f9fa"],
.dark-mode span[style*="background: linear-gradient(135deg, #ffffff"],
.dark-mode span[style*="background:linear-gradient(135deg, #ffffff"] {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode span[style*="color: #475569"],
.dark-mode span[style*="color:#475569"],
.dark-mode span[style*="color: #64748b"],
.dark-mode span[style*="color:#64748b"] {
    color: #ffffff !important;
}

/* FORÇAR TODOS OS INPUTS E TEXTAREAS - REGRA ABSOLUTA */
.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.dark-mode textarea,
.dark-mode select {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"])::placeholder,
.dark-mode textarea::placeholder {
    color: #6b7280 !important;
    opacity: 0.7 !important;
}

/* ESPECIFICAMENTE INPUTS DE DOCUMENTOS */
.dark-mode #documentos-modal input[type="url"],
.dark-mode #documentos-modal input[type="number"],
.dark-mode #documentos-modal input[type="text"],
.dark-mode input[id="documentos-url"],
.dark-mode input[id="documentos-ordem"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode #documentos-modal input[type="url"]:focus,
.dark-mode #documentos-modal input[type="number"]:focus,
.dark-mode #documentos-modal input[type="text"]:focus,
.dark-mode input[id="documentos-url"]:focus,
.dark-mode input[id="documentos-ordem"]:focus {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}

/* FORÇAR LABELS E TEXTOS PEQUENOS */
.dark-mode small[style*="color: #666"],
.dark-mode small[style*="color:#666"],
.dark-mode label[style*="color"],
.dark-mode .form-group small {
    color: #9ca3af !important;
}

/* FORÇAR TODOS OS ÍCONES CLAROS */
.dark-mode i[style*="color: #64748b"],
.dark-mode i[style*="color:#64748b"],
.dark-mode i[style*="color: #94a3b8"],
.dark-mode i[style*="color:#94a3b8"],
.dark-mode i[style*="color: #666"],
.dark-mode i[style*="color:#666"],
.dark-mode i[style*="color: #999"],
.dark-mode i[style*="color:#999"] {
    color: #9ca3af !important;
}

/* Tickets no modo escuro - CORREÇÃO COMPLETA */
.dark-mode #tickets-panel .admin-panel {
    background-color: #2d2d2d !important;
}

.dark-mode .ticket-item-admin,
.dark-mode .admin-item.ticket-accordion {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-item-admin:hover,
.dark-mode .admin-item.ticket-accordion:hover {
    background-color: #374151 !important;
}

/* Info rows e labels/values dos tickets - CRÍTICO */
.dark-mode .info-row,
.dark-mode .info-label,
.dark-mode .info-value {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.dark-mode .info-label {
    color: #9ca3af !important;
    font-weight: 600 !important;
}

.dark-mode .info-value {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.dark-mode .info-label i {
    color: #9ca3af !important;
}

/* Caixas brancas de informações do ticket - SOBRESCREVER TUDO */
.dark-mode div[style*="background: white"],
.dark-mode div[style*="background:white"],
.dark-mode div[style*="background-color: white"],
.dark-mode div[style*="background-color:white"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode .ticket-info-box,
.dark-mode div[style*="background: white"][style*="padding"],
.dark-mode .ticket-accordion-content .item-meta {
    background-color: #1a1a1a !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-info-box label,
.dark-mode .item-meta strong,
.dark-mode div[style*="USUÁRIO"],
.dark-mode div[style*="PATENTE"],
.dark-mode div[style*="BATALHÃO"],
.dark-mode div[style*="DISCORD ID"] {
    color: #9ca3af !important;
    font-weight: 700 !important;
}

.dark-mode .ticket-info-box span,
.dark-mode .item-meta span,
.dark-mode .info-value,
.dark-mode div[style*="PAIVA"],
.dark-mode div[style*="CARVALHO"],
.dark-mode div[style*="CABO"],
.dark-mode div[style*="BAEP"] {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.dark-mode .item-meta span strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Cards informativos em tickets com background branco */
.dark-mode div[style*="background: white"][style*="border-radius"],
.dark-mode div[style*="background: white"][style*="padding"] {
    background: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode .ticket-accordion-header h3 {
    color: #ffffff !important;
}

.dark-mode .item-date {
    color: #9ca3af !important;
}

.dark-mode .item-footer {
    border-top-color: #444 !important;
}

.dark-mode .item-footer .item-date {
    color: #cbd5e1 !important;
}

/* Garantir que textos em tickets sejam legíveis */
.dark-mode .ticket-accordion-content .item-meta span {
    color: #e0e0e0 !important;
}

.dark-mode .ticket-accordion-content .item-meta span i {
    color: #9ca3af !important;
}

/* Melhorar contraste em elementos de tickets com background claro */
.dark-mode .admin-item,
.dark-mode .ticket-accordion-content {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

/* Ticket accordion styles no modo escuro */
.dark-mode .ticket-accordion {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #444 !important;
}

.dark-mode .ticket-accordion-title h3 {
    color: #ffffff !important;
}

.dark-mode .ticket-info-section {
    background-color: transparent !important;
}

.dark-mode .ticket-info-section h3,
.dark-mode .ticket-info-section h4 {
    color: #ffffff !important;
}

/* Ticket info section background - CRÍTICO - SOBRESCREVER TUDO */
.dark-mode .ticket-info-section {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    background-color: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode .ticket-info-section[style*="background"] {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    background-color: #1a1a1a !important;
}

.dark-mode .ticket-info-section .info-label,
.dark-mode .ticket-info-section .info-label i {
    color: #9ca3af !important;
    font-weight: 600 !important;
}

.dark-mode .ticket-info-section .info-value {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.dark-mode .ticket-info-section .info-value[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .ticket-info-section p {
    color: #cbd5e1 !important;
}

.dark-mode .ticket-info-section .user-item {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #444 !important;
}

.dark-mode .ticket-info-section .user-item-info strong {
    color: #ffffff !important;
}

.dark-mode .ticket-info-section .user-item-info small {
    color: #9ca3af !important;
}

/* SOBRESCREVER QUALQUER ELEMENTO COM BACKGROUND BRANCO NO MODO ESCURO */
.dark-mode *[style*="background: white"],
.dark-mode *[style*="background:white"],
.dark-mode *[style*="background-color: white"],
.dark-mode *[style*="background-color:white"],
.dark-mode *[style*="background: linear-gradient"][style*="white"],
.dark-mode *[style*="background: linear-gradient"][style*="#ffffff"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* SOBRESCREVER TEXTOS CLAROS EM FUNDO BRANCO */
.dark-mode *[style*="color: #64748b"],
.dark-mode *[style*="color:#64748b"],
.dark-mode *[style*="color: #1e293b"],
.dark-mode *[style*="color:#1e293b"],
.dark-mode *[style*="color: #475569"],
.dark-mode *[style*="color:#475569"] {
    color: #ffffff !important;
}

/* Inputs e campos de texto - FORÇAR CORES ESCURAS */
.dark-mode input[type="text"],
.dark-mode input[type="url"],
.dark-mode input[type="number"],
.dark-mode input[type="email"],
.dark-mode textarea {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode input[type="text"]:focus,
.dark-mode input[type="url"]:focus,
.dark-mode input[type="number"]:focus,
.dark-mode textarea:focus {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #3b82f6 !important;
}

.dark-mode input[type="text"]::placeholder,
.dark-mode input[type="url"]::placeholder,
.dark-mode textarea::placeholder {
    color: #6b7280 !important;
}

/* Banner Preview - CORREÇÃO FINAL */
.dark-mode #banner-preview-container > div[style*="background: white"],
.dark-mode #banner-preview-container > div {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #banner-preview-container h3[style*="color: #333"],
.dark-mode #banner-preview-container h3 {
    color: #ffffff !important;
}

.dark-mode #banner-preview-container p[style*="color: #666"],
.dark-mode #banner-preview-container p {
    color: #cbd5e1 !important;
    background: transparent !important;
}

.dark-mode #banner-preview-container strong {
    color: #e0e0e0 !important;
    font-weight: 600 !important;
}

/* Sobrescrever background white em qualquer elemento do banner preview */
.dark-mode #banner-preview-container div[style*="background: white"],
.dark-mode #banner-preview-container [style*="background: white"] {
    background: #2d2d2d !important;
}

.dark-mode #banner-preview-container [style*="color: #333"] {
    color: #ffffff !important;
}

.dark-mode #banner-preview-container [style*="color: #666"] {
    color: #cbd5e1 !important;
}

/* Formulários no modo escuro */
.dark-mode #formularios-panel .admin-panel {
    background-color: #2d2d2d !important;
}

.dark-mode .formulario-item-admin {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .formulario-item-admin:hover {
    background-color: #374151 !important;
}

.dark-mode .formulario-link-box {
    background-color: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode .formulario-link-input {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .formulario-link-input:focus {
    border-color: #1e3a8a !important;
}

.dark-mode .formulario-meta-tag {
    background-color: #374151 !important;
    color: #e0e0e0 !important;
    border-color: #4b5563 !important;
}

.dark-mode .activity-info-admin,
.dark-mode .activity-details-admin h3,
.dark-mode .activity-details-admin p {
    color: #e0e0e0 !important;
}

.dark-mode .activity-details-admin span {
    color: #9ca3af !important;
}

.dark-mode .panel-header {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    border-color: #444 !important;
}

.dark-mode .panel-header p {
    color: #9ca3af !important;
}

/* Sobrescrever estilos inline em formulários e documentos no modo escuro */
.dark-mode .formulario-card[style*="background: white"],
.dark-mode .formulario-card[style*="background:white"] {
    background: #2d2d2d !important;
    border-color: #444 !important;
}

.dark-mode .formulario-card[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode span[style*="background: #dc3545"],
.dark-mode span[style*="background:#dc3545"] {
    background: #dc3545 !important;
    color: white !important;
}

.dark-mode span[style*="background: #28a745"],
.dark-mode span[style*="background:#28a745"] {
    background: #10b981 !important;
    color: white !important;
}

.dark-mode div[style*="background: #f3f4f6"],
.dark-mode div[style*="background:#f3f4f6"] {
    background: #374151 !important;
    color: #e0e0e0 !important;
}

.dark-mode div[style*="background: linear-gradient(135deg, #f0f9ff"],
.dark-mode div[style*="background:linear-gradient(135deg, #f0f9ff"] {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border-color: #475569 !important;
}

.dark-mode input[style*="background: white"],
.dark-mode input[style*="background:white"] {
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode button[style*="background: white"],
.dark-mode button[style*="background:white"] {
    background: #374151 !important;
    color: #e0e0e0 !important;
    border-color: #4b5563 !important;
}

.dark-mode textarea[style*="background: white"],
.dark-mode textarea[style*="background:white"] {
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode div[style*="background: #f9fafb"],
.dark-mode div[style*="background:#f9fafb"] {
    background: #1a1a1a !important;
    color: #9ca3af !important;
    border-color: #444 !important;
}

.dark-mode div[style*="color: #6b7280"],
.dark-mode div[style*="color:#6b7280"] {
    color: #9ca3af !important;
}

.dark-mode div[style*="color: #9ca3af"],
.dark-mode div[style*="color:#9ca3af"] {
    color: #9ca3af !important;
}

.dark-mode .item-title {
    color: #e0e0e0 !important;
}

.dark-mode .item-meta {
    color: #9ca3af !important;
}

.dark-mode .item-meta span {
    color: #9ca3af !important;
}

.dark-mode .item-meta i {
    color: #9ca3af !important;
}

.dark-mode .close-modal {
    color: #9ca3af !important;
}

.dark-mode .close-modal:hover {
    color: #e0e0e0 !important;
}

/* Melhorar legibilidade de elementos pequenos informativos */
.dark-mode .activity-info-admin span,
.dark-mode .activity-details-admin span {
    color: #cbd5e1 !important;
    font-weight: 500 !important;
}

.dark-mode .item-meta span {
    color: #cbd5e1 !important;
}

.dark-mode .item-meta span i {
    color: #9ca3af !important;
}

/* Tags e badges informativos pequenos */
.dark-mode .formulario-meta-tag {
    background-color: #374151 !important;
    color: #e0e0e0 !important;
    border-color: #4b5563 !important;
    font-weight: 600 !important;
}

.dark-mode div[style*="background: #f3f4f6"],
.dark-mode div[style*="background:#f3f4f6"] {
    background: #374151 !important;
    color: #e0e0e0 !important;
    border-color: #4b5563 !important;
}

/* Status badges em formulários - Ativo/Inativo */
.dark-mode div[style*="background: #d1fae5"],
.dark-mode div[style*="background:#d1fae5"],
.dark-mode div[style*="background: ${statusBg}"][style*="Ativo"] {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3) !important;
}

.dark-mode div[style*="background: #fee2e2"],
.dark-mode div[style*="background:#fee2e2"],
.dark-mode div[style*="background: ${statusBg}"][style*="Inativo"] {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.3) !important;
}

/* Badges que contêm "Ativo" ou "Inativo" */
.dark-mode div[style*="color: #10b981"][style*="Ativo"],
.dark-mode div[style*="color:#10b981"][style*="Ativo"] {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
}

.dark-mode div[style*="color: #ef4444"][style*="Inativo"],
.dark-mode div[style*="color:#ef4444"][style*="Inativo"] {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
}

/* Ativo/Inativo badges genéricos */
.dark-mode span[style*="Ativo"],
.dark-mode .status-badge,
.dark-mode div[style*="Ativo"][style*="background"] {
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Melhorar contraste geral de textos pequenos */
.dark-mode small,
.dark-mode .small {
    color: #cbd5e1 !important;
}

.dark-mode .empty-state-message {
    background: #1a1a1a !important;
    color: #9ca3af !important;
    border-color: #444 !important;
}

/* Garantir que todos os badges e tags tenham bom contraste */
.dark-mode .badge,
.dark-mode [class*="badge"],
.dark-mode [class*="tag"] {
    font-weight: 600 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Melhorar textos em formulários */
.dark-mode .formulario-card .item-title,
.dark-mode .formulario-card h3,
.dark-mode .formulario-card h4 {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.dark-mode .formulario-card .item-description,
.dark-mode .formulario-card p {
    color: #cbd5e1 !important;
}

/* Banner Preview no modo escuro */
.dark-mode #banner-preview-container > div[style*="background: white"],
.dark-mode #banner-preview-container > div {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #banner-preview-container h3[style*="color: #333"],
.dark-mode #banner-preview-container h3 {
    color: #ffffff !important;
}

.dark-mode #banner-preview-container p[style*="color: #666"],
.dark-mode #banner-preview-container p {
    color: #cbd5e1 !important;
    background: transparent !important;
}

.dark-mode #banner-preview-container strong {
    color: #e0e0e0 !important;
    font-weight: 600 !important;
}

/* Sobrescrever background white em qualquer elemento do banner preview */
.dark-mode #banner-preview-container div[style*="background: white"],
.dark-mode #banner-preview-container [style*="background: white"] {
    background: #2d2d2d !important;
}

.dark-mode #banner-preview-container [style*="color: #333"] {
    color: #ffffff !important;
}

.dark-mode #banner-preview-container [style*="color: #666"] {
    color: #cbd5e1 !important;
}

/* Estilos para páginas gerais no modo escuro - SOBRESCREVE estilos inline */
.dark-mode body {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .page-content {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .page-header {
    color: #e0e0e0 !important;
}

.dark-mode .page-header h1 {
    color: #ffffff !important;
}

.dark-mode .page-body {
    color: #e0e0e0 !important;
}

.dark-mode .page-body p {
    color: #e0e0e0 !important;
}

/* Sobrescreve qualquer estilo inline de background branco */
.dark-mode [style*="background-color: var(--white)"],
.dark-mode [style*="background-color:#ffffff"],
.dark-mode [style*="background-color: #ffffff"],
.dark-mode [style*="background-color:white"],
.dark-mode [style*="background-color: white"] {
    background-color: #1a1a1a !important;
}

.dark-mode [style*="background-color: #f5f5f5"],
.dark-mode [style*="background-color:#f5f5f5"] {
    background-color: #1a1a1a !important;
}

.dark-mode [style*="color: var(--darker-gray)"],
.dark-mode [style*="color:#000"],
.dark-mode [style*="color: #000"],
.dark-mode [style*="color:black"],
.dark-mode [style*="color: black"] {
    color: #e0e0e0 !important;
}

/* Documentos */
.dark-mode .document-item {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-left-color: #1e3a8a !important;
}

.dark-mode .document-item[style*="background-color"] {
    background-color: #2d2d2d !important;
}

.dark-mode .document-item:hover {
    background-color: #3d3d3d !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode .document-item:hover[style*="background-color"] {
    background-color: #3d3d3d !important;
}

.dark-mode .document-item h3,
.dark-mode .document-title {
    color: #ffffff !important;
}

.dark-mode .document-item h3[style*="color"],
.dark-mode .document-title[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .document-item a {
    color: #3b82f6 !important;
}

.dark-mode .document-item a[style*="color"] {
    color: #3b82f6 !important;
}

.dark-mode .document-item a:hover {
    color: #60a5fa !important;
}

.dark-mode .document-link {
    color: #b0b0b0 !important;
}

.dark-mode .document-link[style*="color"] {
    color: #b0b0b0 !important;
}

.dark-mode .document-icon {
    color: #3b82f6 !important;
}

.dark-mode .document-icon[style*="color"] {
    color: #3b82f6 !important;
}

/* Organograma */
.dark-mode .organograma-container {
    background-color: #2d2d2d !important;
}

/* Cards e containers gerais */
.dark-mode .card,
.dark-mode .content-card,
.dark-mode .info-card {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .card h2,
.dark-mode .card h3,
.dark-mode .content-card h2,
.dark-mode .content-card h3 {
    color: #ffffff !important;
}

.dark-mode .card p,
.dark-mode .content-card p {
    color: #e0e0e0 !important;
}

/* Links gerais */
.dark-mode a {
    color: #3b82f6 !important;
}

.dark-mode a:hover {
    color: #60a5fa !important;
}

/* Textos gerais - sobrescreve estilos inline */
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6 {
    color: #ffffff !important;
}

.dark-mode h1[style*="color"],
.dark-mode h2[style*="color"],
.dark-mode h3[style*="color"],
.dark-mode h4[style*="color"],
.dark-mode h5[style*="color"],
.dark-mode h6[style*="color"] {
    color: #ffffff !important;
}

.dark-mode p,
.dark-mode span,
.dark-mode div {
    color: #e0e0e0 !important;
}

.dark-mode p[style*="color"],
.dark-mode span[style*="color"],
.dark-mode div[style*="color"] {
    color: #e0e0e0 !important;
}

/* Garantir que elementos com background branco fiquem escuros */
.dark-mode [class*="white"],
.dark-mode [class*="light"],
.dark-mode [style*="background: white"],
.dark-mode [style*="background:white"],
.dark-mode [style*="background:#fff"],
.dark-mode [style*="background: #fff"] {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
}

/* Admin específico - garantir que funcione - SOBRESCREVE estilos inline */
.dark-mode .admin-container {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .admin-container[style*="background-color"] {
    background-color: #1a1a1a !important;
}

.dark-mode .admin-header {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

.dark-mode .admin-header[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .admin-header h1 {
    color: #e0e0e0 !important;
}

.dark-mode .admin-header h1[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode .admin-panel {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .admin-panel[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .panel-header {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-bottom-color: #444 !important;
    border-color: #444 !important;
}

.dark-mode .panel-header[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
}

.dark-mode .panel-header h2 {
    color: #ffffff !important;
}

.dark-mode .panel-header h2[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .news-list,
.dark-mode .activities-list,
.dark-mode .concursos-list,
.dark-mode .users-list,
.dark-mode .diario-admin-list {
    background-color: #1a1a1a !important;
}

.dark-mode .news-item-admin,
.dark-mode .activity-item-admin,
.dark-mode .concurso-item-admin,
.dark-mode .user-item-admin {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .news-item-admin:hover,
.dark-mode .activity-item-admin:hover,
.dark-mode .concurso-item-admin:hover {
    background-color: #3d3d3d !important;
}

.dark-mode .form-group label {
    color: #e0e0e0 !important;
}

.dark-mode .search-container {
    background-color: #1a1a1a !important;
}

.dark-mode .users-filters {
    background-color: #2d2d2d !important;
    border-color: #444 !important;
}

/* ============================================
   REGRAS GLOBAIS PARA MODO ESCURO
   Sobrescreve TODOS os estilos inline
   ============================================ */

/* Forçar background escuro em TODOS os elementos */
.dark-mode * {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Organograma específico */
.dark-mode .organograma-container {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
}

.dark-mode .organograma-container[style*="background"] {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
}

.dark-mode .abbreviations {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
}

.dark-mode .abbreviations[style*="background"] {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
}

.dark-mode .abbreviations h3 {
    color: #ffffff !important;
}

.dark-mode .abbreviation-item strong {
    color: #3b82f6 !important;
}

/* Legenda e containers de texto */
.dark-mode .legend-container,
.dark-mode .legenda-container,
.dark-mode .text-container,
.dark-mode .content-box {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
}

/* Legislação */
.dark-mode .legislation-item {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .legislation-item[style*="background"],
.dark-mode .legislation-item[style*="white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .legislation-content {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .legislation-content[style*="background"],
.dark-mode .legislation-content[style*="white"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .legislation-content p {
    color: #e0e0e0 !important;
}

.dark-mode .legislation-content p[style*="color"] {
    color: #e0e0e0 !important;
}

/* Carousel e sliders */
.dark-mode .carousel-container,
.dark-mode .slider-container,
.dark-mode .carousel-item,
.dark-mode .slider-item {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .carousel-item.active,
.dark-mode .slider-item.active {
    background-color: #2d2d2d !important;
}

.dark-mode .insignias-carousel {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .insignias-carousel[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .carousel-main-image {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode .carousel-main-image[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .carousel-title {
    color: #ffffff !important;
}

.dark-mode .carousel-title[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .carousel-rank {
    color: #b0b0b0 !important;
}

.dark-mode .carousel-rank[style*="color"] {
    color: #b0b0b0 !important;
}

/* Botões de navegação do carousel */
.dark-mode .carousel-btn,
.dark-mode .slider-btn,
.dark-mode .carousel-arrow {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.dark-mode .carousel-btn:hover,
.dark-mode .slider-btn:hover {
    background-color: #3d3d3d !important;
}

/* Paginação dots */
.dark-mode .pagination-dots .dot,
.dark-mode .carousel-dots .dot {
    background-color: #666 !important;
    border-color: #666 !important;
}

.dark-mode .pagination-dots .dot.active,
.dark-mode .carousel-dots .dot.active {
    background-color: #1e3a8a !important;
    border-color: #1e3a8a !important;
}

/* Estrutura PM - boxes de órgãos */
.dark-mode .orgao-box,
.dark-mode .structure-box,
.dark-mode .org-box {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

/* Diário Oficial */
.dark-mode .diario-content,
.dark-mode .diario-document,
.dark-mode .diario-item,
.dark-mode .diario-post {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
    /* Efeito de folha de papel no modo escuro */
    border: 1px solid #444 !important;
    box-shadow: 
        0 4px 12px rgba(0,0,0,0.3) !important,
        0 0 0 1px rgba(255,255,255,0.05) !important,
        inset 0 1px 0 rgba(255,255,255,0.1) !important,
        0 2px 4px rgba(0,0,0,0.2) !important;
}

.dark-mode .diario-post[style*="background"],
.dark-mode .diario-post[style*="white"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .diario-header {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #ffffff !important;
    border-bottom-color: #444 !important;
}

.dark-mode .diario-header[style*="background"],
.dark-mode .diario-header[style*="white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .diario-emblem {
    background-color: transparent !important;
}

.dark-mode .diario-title {
    color: #ffffff !important;
}

.dark-mode .diario-title[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .diario-meta {
    color: #b0b0b0 !important;
}

.dark-mode .diario-meta[style*="color"] {
    color: #b0b0b0 !important;
}

.dark-mode .diario-content {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .diario-content[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode .diario-content h2 {
    color: #ffffff !important;
}

.dark-mode .diario-content h2[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .diario-text {
    color: #e0e0e0 !important;
}

/* Capacitação e Treinamento */
.dark-mode .training-content,
.dark-mode .capacitacao-content {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

/* Sobrescrever gradiente branco na página de capacitação */
.dark-mode .page-content[style*="linear-gradient"][style*="#f8f9fa"],
.dark-mode .page-content[style*="linear-gradient"][style*="white"],
.dark-mode .page-content[style*="linear-gradient"][style*="#ffffff"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

.dark-mode .page-content[style*="#f5f5f5"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .intro-section {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .intro-section[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
}

.dark-mode .intro-section p {
    color: #e0e0e0 !important;
}

.dark-mode .intro-section p[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode .intro-image {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

.dark-mode .intro-image[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

.dark-mode .school-item {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .school-item[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

/* Canção PM */
.dark-mode .cancao-content,
.dark-mode .song-content {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .cancao-content p,
.dark-mode .song-content p {
    color: #e0e0e0 !important;
}

.dark-mode .download-card {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .download-card[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .lyrics-content,
.dark-mode .song-lyrics {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .lyrics-content p {
    color: #e0e0e0 !important;
}

/* Modais e popups */
.dark-mode .modal-content[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

.dark-mode .modal-content {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

/* Tickets Widget - SOBRESCREVE estilos inline do JS */
.dark-mode .tickets-widget-container {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .tickets-widget-container[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .tickets-widget-tabs {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    border-bottom-color: #444 !important;
}

.dark-mode .tickets-widget-tabs[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .tickets-widget-tab {
    color: #b0b0b0 !important;
}

.dark-mode .tickets-widget-tab.active {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

.dark-mode .tickets-widget-tab.active[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .tickets-widget-form {
    background: transparent !important;
    color: #e0e0e0 !important;
}

.dark-mode .tickets-widget-greeting h3 {
    color: #ffffff !important;
}

.dark-mode .tickets-widget-greeting h3[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .tickets-widget-greeting p {
    color: #b0b0b0 !important;
}

.dark-mode .tickets-widget-greeting p[style*="color"] {
    color: #b0b0b0 !important;
}

.dark-mode .tickets-widget-form label {
    color: #e0e0e0 !important;
}

.dark-mode .tickets-widget-form label[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode .tickets-widget-success h3 {
    color: #ffffff !important;
}

.dark-mode .tickets-widget-success h3[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .tickets-widget-success p {
    color: #b0b0b0 !important;
}

.dark-mode .tickets-widget-success p[style*="color"] {
    color: #b0b0b0 !important;
}

.dark-mode .ticket-id-info {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-id-info[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .ticket-id-info[style*="color"] {
    color: #e0e0e0 !important;
}

.dark-mode .upload-preview-item {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .upload-preview-item[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

/* Formulários de denúncia */
.dark-mode .denuncia-widget-form,
.dark-mode #denuncia-widget-form {
    background: transparent !important;
    color: #e0e0e0 !important;
}

.dark-mode .declaracoes-box {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .declaracoes-text,
.dark-mode .declaracoes-list {
    color: #e0e0e0 !important;
}

/* Admin - Tickets específicos */
.dark-mode .ticket-card,
.dark-mode .ticket-item,
.dark-mode .ticket-entry,
.dark-mode .ticket-accordion {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .ticket-card[style*="background"],
.dark-mode .ticket-item[style*="background"],
.dark-mode .ticket-card[style*="white"],
.dark-mode .ticket-item[style*="white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .ticket-card-header,
.dark-mode .ticket-header {
    background-color: transparent !important;
    border-bottom-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-accordion-content {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    border-top-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-accordion-content[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .ticket-accordion-title h2,
.dark-mode .ticket-header h2,
.dark-mode .ticket-title {
    color: #ffffff !important;
}

.dark-mode .ticket-accordion-title h2[style*="color"],
.dark-mode .ticket-header h2[style*="color"] {
    color: #ffffff !important;
}

.dark-mode .ticket-status {
    background-color: #1e3a8a !important;
    color: #ffffff !important;
}

.dark-mode .ticket-status.em-atendimento,
.dark-mode .status-em-atendimento {
    background-color: #f59e0b !important;
    background: #f59e0b !important;
}

.dark-mode .ticket-status.finalizado,
.dark-mode .status-finalizado {
    background-color: #dc2626 !important;
    background: #dc2626 !important;
}

.dark-mode .ticket-status.aberto,
.dark-mode .status-aberto {
    background-color: #4caf50 !important;
    background: #4caf50 !important;
}

/* Admin - Search e filtros */
.dark-mode .search-container input,
.dark-mode .search-input,
.dark-mode .filter-select {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

/* Admin - Listas e grids */
.dark-mode .list-container,
.dark-mode .grid-container,
.dark-mode .items-list {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
}

.dark-mode .news-item-admin:hover,
.dark-mode .activity-item-admin:hover,
.dark-mode .concurso-item-admin:hover,
.dark-mode .diario-item-admin:hover,
.dark-mode .user-item-admin:hover {
    background-color: #3d3d3d !important;
    background: #3d3d3d !important;
}

.dark-mode .news-item-admin:hover[style*="background"],
.dark-mode .activity-item-admin:hover[style*="background"] {
    background: #3d3d3d !important;
    background-color: #3d3d3d !important;
}

.dark-mode .ticket-info-section .user-item {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-info-section .user-item:hover {
    background: #3d3d3d !important;
    background-color: #3d3d3d !important;
    background-image: none !important;
}

.dark-mode .ticket-info-section .user-item[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
}

/* Admin - Formulários */
.dark-mode .form-container,
.dark-mode .form-wrapper {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
}

/* Admin - Cards de conteúdo */
.dark-mode .content-card,
.dark-mode .info-box,
.dark-mode .detail-box {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

/* Forçar sobrescrita de var(--white) e backgrounds brancos */
.dark-mode [style*="var(--white)"],
.dark-mode [style*="var(--white)"] {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
}

/* Forçar sobrescrita de #f8f9fa, #f5f5f5, #ffffff, white */
.dark-mode [style*="#f8f9fa"],
.dark-mode [style*="#f5f5f5"],
.dark-mode [style*="#ffffff"],
.dark-mode [style*="white"],
.dark-mode [style*="background: white"],
.dark-mode [style*="background:white"],
.dark-mode [style*="background-color: white"],
.dark-mode [style*="background-color:white"] {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
}

/* Sobrescrever gradientes brancos */
.dark-mode [style*="linear-gradient"][style*="#ffffff"],
.dark-mode [style*="linear-gradient"][style*="white"],
.dark-mode [style*="linear-gradient"][style*="#f8f9fa"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
}

/* Textos em elementos com style inline */
.dark-mode [style*="color: #000"],
.dark-mode [style*="color:#000"],
.dark-mode [style*="color: var(--darker-gray)"],
.dark-mode [style*="color: var(--dark-gray)"],
.dark-mode [style*="color: #333"],
.dark-mode [style*="color:#333"],
.dark-mode [style*="color: #374151"],
.dark-mode [style*="color:#374151"] {
    color: #e0e0e0 !important;
}

/* Paginação */
.dark-mode .pagination-number {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .pagination-number[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .pagination-number:hover {
    background-color: #3d3d3d !important;
    border-color: #555 !important;
}

.dark-mode .pagination-number.active {
    background-color: #1e3a8a !important;
    color: #ffffff !important;
    border-color: #1e3a8a !important;
}

.dark-mode .pagination-number.ellipsis {
    background: transparent !important;
    color: #b0b0b0 !important;
}

/* Documentos - conteúdo específico */
.dark-mode .document-item {
    background-color: #2d2d2d !important;
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .document-item[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .document-item:hover {
    background-color: #3d3d3d !important;
    background: #3d3d3d !important;
}

.dark-mode .document-item:hover[style*="background"] {
    background: #3d3d3d !important;
    background-color: #3d3d3d !important;
}

.dark-mode .document-content {
    color: #e0e0e0 !important;
}

.dark-mode .document-link {
    color: #b0b0b0 !important;
}

.dark-mode .document-link[style*="color"] {
    color: #b0b0b0 !important;
}

/* Info items */
.dark-mode .ticket-info-item strong {
    color: #b0b0b0 !important;
}

.dark-mode .ticket-info-item strong[style*="color"] {
    color: #b0b0b0 !important;
}

.dark-mode .ticket-info-item span {
    color: #e0e0e0 !important;
}

.dark-mode .ticket-info-item span[style*="color"] {
    color: #e0e0e0 !important;
}

/* ============================================
   MENSAGENS DE TICKETS - MODO ESCURO
   ============================================ */

/* Container de mensagens */
.dark-mode #ticket-messages-container,
.dark-mode .ticket-messages-container {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode #ticket-messages-container[style*="background"],
.dark-mode .ticket-messages-container[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

/* Seção de mensagens */
.dark-mode .ticket-messages {
    background: transparent !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-messages h3 {
    color: #ffffff !important;
}

.dark-mode .ticket-messages h3[style*="color"] {
    color: #ffffff !important;
}

/* Mensagens individuais - REGRAS FORTES */
.dark-mode .message,
.dark-mode .ticket-message {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    border-left-color: #555 !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .message[style*="background"],
.dark-mode .ticket-message[style*="background"],
.dark-mode .message[style*="#f9f9f9"],
.dark-mode .message[style*="#f5f5f5"],
.dark-mode .message[style*="white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
}

/* Mensagens de admin - AZUL ESCURO COM TEXTO BRANCO */
.dark-mode .message.admin,
.dark-mode .ticket-message.admin-message {
    background: #1e3a8a !important;
    background-color: #1e3a8a !important;
    background-image: none !important;
    border-left-color: #3b82f6 !important;
    color: #ffffff !important;
}

.dark-mode .message.admin[style*="background"],
.dark-mode .ticket-message.admin-message[style*="background"],
.dark-mode .message.admin[style*="#e3f2fd"] {
    background: #1e3a8a !important;
    background-color: #1e3a8a !important;
    background-image: none !important;
}

/* Mensagens de usuário - CINZA ESCURO COM TEXTO CLARO */
.dark-mode .message.user,
.dark-mode .ticket-message.user-message {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
    border-left-color: #666 !important;
    color: #e0e0e0 !important;
}

.dark-mode .message.user[style*="background"],
.dark-mode .ticket-message.user-message[style*="background"],
.dark-mode .message.user[style*="#f5f5f5"],
.dark-mode .message.user[style*="white"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    background-image: none !important;
}

/* Cabeçalho da mensagem */
.dark-mode .message-header {
    color: #e0e0e0 !important;
    border-bottom-color: #444 !important;
}

.dark-mode .message-header[style*="border"] {
    border-bottom-color: #444 !important;
}

.dark-mode .message-author {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.dark-mode .message-author[style*="color"],
.dark-mode .message-author[style*="#333"] {
    color: #ffffff !important;
}

.dark-mode .message-date {
    color: #b0b0b0 !important;
}

.dark-mode .message-date[style*="color"],
.dark-mode .message-date[style*="#999"] {
    color: #b0b0b0 !important;
}

/* Conteúdo da mensagem - TEXTO CLARO E LEGÍVEL */
.dark-mode .message-content {
    color: #e0e0e0 !important;
    line-height: 1.6 !important;
    font-size: 14px !important;
}

.dark-mode .message-content[style*="color"],
.dark-mode .message-content[style*="#555"],
.dark-mode .message-content[style*="#333"] {
    color: #e0e0e0 !important;
}

/* Links nas mensagens */
.dark-mode .message-content a {
    color: #60a5fa !important;
    text-decoration: underline !important;
}

.dark-mode .message-content a:hover {
    color: #93c5fd !important;
}

/* Informações do ticket */
.dark-mode .ticket-info-item strong {
    color: #b0b0b0 !important;
}

.dark-mode .ticket-info-item strong[style*="color"],
.dark-mode .ticket-info-item strong[style*="#666"] {
    color: #b0b0b0 !important;
}

.dark-mode .ticket-info-item span {
    color: #e0e0e0 !important;
}

.dark-mode .ticket-info-item span[style*="color"],
.dark-mode .ticket-info-item span[style*="#333"] {
    color: #e0e0e0 !important;
}

/* Seção de resposta */
.dark-mode .ticket-reply-section {
    border-top-color: #444 !important;
}

.dark-mode .ticket-reply-section[style*="border"] {
    border-top-color: #444 !important;
}

.dark-mode .ticket-reply-note {
    color: #b0b0b0 !important;
}

.dark-mode .ticket-reply-note[style*="color"],
.dark-mode .ticket-reply-note[style*="#666"] {
    color: #b0b0b0 !important;
}

/* Anexos de mensagens */
.dark-mode .message-attachments {
    background: transparent !important;
    color: #e0e0e0 !important;
}

.dark-mode .message-attachment {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .message-attachment a {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #60a5fa !important;
    border-color: #444 !important;
}

.dark-mode .message-attachment a[style*="background"],
.dark-mode .message-attachment a[style*="#f0f0f0"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .message-attachment a[style*="color"],
.dark-mode .message-attachment a[style*="#333"] {
    color: #60a5fa !important;
}

.dark-mode .message-attachment a:hover {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #93c5fd !important;
}

.dark-mode .message-attachment a:hover[style*="background"],
.dark-mode .message-attachment a:hover[style*="#e0e0e0"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

/* Nota de ticket finalizado */
.dark-mode .ticket-finalized-note {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-left-color: #666 !important;
    color: #e0e0e0 !important;
}

.dark-mode .ticket-finalized-note[style*="background"],
.dark-mode .ticket-finalized-note[style*="#f5f5f5"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .ticket-finalized-note[style*="color"],
.dark-mode .ticket-finalized-note[style*="#666"] {
    color: #e0e0e0 !important;
}

/* Estado vazio */
.dark-mode .empty-state {
    color: #b0b0b0 !important;
}

.dark-mode .empty-state[style*="color"],
.dark-mode .empty-state[style*="#999"] {
    color: #b0b0b0 !important;
}

/* Preview de anexos */
.dark-mode .attachments-preview {
    background: transparent !important;
}

.dark-mode .attachment-preview-item {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode .attachment-preview-item .file-name {
    color: #e0e0e0 !important;
}

.dark-mode .attachment-preview-item .file-size {
    color: #b0b0b0 !important;
}

.dark-mode .attachment-preview-item .remove-attachment {
    color: #dc2626 !important;
}

.dark-mode .attachment-preview-item .remove-attachment:hover {
    color: #ef4444 !important;
    background: rgba(220, 38, 38, 0.1) !important;
}

/* Título de mensagens */
.dark-mode .ticket-messages h3 {
    color: #ffffff !important;
}

.dark-mode .ticket-messages h3[style*="color"] {
    color: #ffffff !important;
}

/* Botão de anexo */
.dark-mode .attach-button {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .attach-button:hover {
    background: #3d3d3d !important;
    background-color: #3d3d3d !important;
}

/* Textarea de resposta */
.dark-mode .ticket-reply-textarea {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .ticket-reply-textarea[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode .ticket-reply-textarea:focus {
    border-color: #3b82f6 !important;
    background: #1a1a1a !important;
}

/* Input de mensagem no admin */
.dark-mode #ticket-message-input {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #ticket-message-input[style*="background"] {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

.dark-mode #ticket-message-input::placeholder {
    color: #888 !important;
}

/* Comunicados e documentos de tickets */
.dark-mode .comunicado,
.dark-mode .ticket-document {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode .comunicado[style*="background"],
.dark-mode .ticket-document[style*="background"] {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

.dark-mode .comunicado-header,
.dark-mode .document-header {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
}

/* ============================================
   MODO ALTO CONTRASTE - ACESSIBILIDADE WCAG AAA
   ============================================ */

/* Base - Fundo preto e texto branco para máximo contraste */
.high-contrast,
.high-contrast body {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    /* Removido filter: contrast() que causava problemas visuais */
}

/* Headers e Navegação */
.high-contrast .top-header {
    background-color: #000000 !important;
    border-bottom: 4px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.high-contrast .top-header-content,
.high-contrast .text-governo,
.high-contrast .sao-paulo,
.high-contrast .governo,
.high-contrast .slogan {
    color: #FFFFFF !important;
}

.high-contrast .main-header {
    background-color: #000000 !important;
    border-bottom: 4px solid #FFFFFF !important;
}

.high-contrast .main-header-content,
.high-contrast .pm-text h1,
.high-contrast .pm-text p {
    color: #FFFFFF !important;
}

.high-contrast .red-line {
    background-color: #FF0000 !important;
    height: 4px !important;
}

/* Navegação Principal */
.high-contrast .main-nav a {
    color: #FFFFFF !important;
    background-color: #000000 !important;
    border: 2px solid #FFFFFF !important;
    padding: 10px 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.high-contrast .main-nav a:hover,
.high-contrast .main-nav a:focus {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border-color: #FFFF00 !important;
    outline: 3px solid #FFFF00 !important;
    outline-offset: 2px !important;
}

.high-contrast .nav-divider {
    color: #FFFFFF !important;
    border-left: 2px solid #FFFFFF !important;
}

/* Dropdown Menu */
.high-contrast .dropdown-menu {
    background-color: #000000 !important;
    border: 3px solid #FFFFFF !important;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3) !important;
}

.high-contrast .dropdown-menu a {
    color: #FFFFFF !important;
    background-color: #000000 !important;
    border-bottom: 1px solid #FFFFFF !important;
    padding: 12px 20px !important;
}

.high-contrast .dropdown-menu a:hover,
.high-contrast .dropdown-menu a:focus {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    font-weight: bold !important;
}

/* Banner Principal */
.high-contrast .main-banner {
    background-color: #000000 !important;
    border: 4px solid #FFFFFF !important;
    padding: 60px 0 !important;
}

.high-contrast .banner-background,
.high-contrast .banner-pattern-left,
.high-contrast .banner-pattern-right {
    display: none !important;
}

.high-contrast .banner-content,
.high-contrast .banner-logo-text,
.high-contrast .banner-200,
.high-contrast .rumo,
.high-contrast .number-200,
.high-contrast .anos,
.high-contrast .banner-slogan {
    color: #FFFFFF !important;
}

.high-contrast .number-200 {
    text-shadow: none !important;
    border: 3px solid #FFFFFF !important;
    padding: 10px !important;
}

.high-contrast .banner-indicators .indicator {
    background-color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
}

.high-contrast .banner-indicators .indicator.active {
    background-color: #FFFF00 !important;
    border-color: #FFFF00 !important;
}

.high-contrast .site-verification {
    background-color: #000000 !important;
    border: 2px solid #FFFFFF !important;
    color: #FFFFFF !important;
    padding: 10px 15px !important;
}

/* Cards de Notícias e Atividades */
.high-contrast .news-item,
.high-contrast .activity-item,
.high-contrast .concurso-item {
    background-color: #000000 !important;
    border: 3px solid #FFFFFF !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2) !important;
}

.high-contrast .news-item:hover,
.high-contrast .activity-item:hover,
.high-contrast .concurso-item:hover {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border-color: #FFFF00 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(255, 255, 0, 0.4) !important;
}

.high-contrast .news-content h3,
.high-contrast .activity-content h3,
.high-contrast .concurso-content h3 {
    color: #FFFFFF !important;
    font-weight: bold !important;
    border-bottom: 2px solid #FFFFFF !important;
    padding-bottom: 8px !important;
}

.high-contrast .news-item:hover .news-content h3,
.high-contrast .activity-item:hover .activity-content h3,
.high-contrast .concurso-item:hover .concurso-content h3 {
    color: #000000 !important;
    border-bottom-color: #000000 !important;
}

.high-contrast .news-content p,
.high-contrast .activity-content p,
.high-contrast .concurso-content p {
    color: #FFFFFF !important;
    line-height: 1.8 !important;
}

.high-contrast .news-item:hover .news-content p,
.high-contrast .activity-item:hover .activity-content p,
.high-contrast .concurso-item:hover .concurso-content p {
    color: #000000 !important;
}

.high-contrast .news-date,
.high-contrast .activity-date,
.high-contrast .concurso-date {
    color: #FFFF00 !important;
    font-weight: bold !important;
    border: 1px solid #FFFF00 !important;
    padding: 4px 8px !important;
    display: inline-block !important;
}

.high-contrast .news-item:hover .news-date,
.high-contrast .activity-item:hover .activity-date,
.high-contrast .concurso-item:hover .concurso-date {
    color: #000000 !important;
    background-color: #FFFF00 !important;
}

.high-contrast .news-placeholder,
.high-contrast .activity-placeholder,
.high-contrast .concurso-placeholder {
    background-color: #000000 !important;
    border: 3px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.high-contrast .news-placeholder i,
.high-contrast .activity-placeholder i,
.high-contrast .concurso-placeholder i {
    color: #FFFFFF !important;
}

/* Seções de Títulos */
.high-contrast .news-header h2,
.high-contrast .activities-header h2,
.high-contrast .concursos-header h2,
.high-contrast .numbers-header h2 {
    color: #FFFFFF !important;
    border-bottom: 4px solid #FFFFFF !important;
    padding-bottom: 15px !important;
    font-weight: bold !important;
}

.high-contrast .red-line-news {
    background-color: #FF0000 !important;
    height: 4px !important;
}

/* Números da PM */
.high-contrast .pm-numbers {
    background-color: #000000 !important;
    border-top: 4px solid #FFFFFF !important;
    border-bottom: 4px solid #FFFFFF !important;
    padding: 40px 0 !important;
}

.high-contrast .numbers-header h2,
.high-contrast .numbers-period {
    color: #FFFFFF !important;
}

.high-contrast .number-item {
    background-color: #000000 !important;
    border: 3px solid #FFFFFF !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2) !important;
}

.high-contrast .number-item:hover {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border-color: #FFFF00 !important;
    transform: scale(1.05) !important;
}

.high-contrast .number-value {
    color: #FFFF00 !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    border: 2px solid #FFFF00 !important;
    padding: 10px !important;
    display: inline-block !important;
}

.high-contrast .number-item:hover .number-value {
    color: #000000 !important;
    background-color: #FFFF00 !important;
}

.high-contrast .number-unit,
.high-contrast .number-description {
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.high-contrast .number-item:hover .number-unit,
.high-contrast .number-item:hover .number-description {
    color: #000000 !important;
}

/* Botões */
.high-contrast .btn-ver-mais,
.high-contrast .btn-login,
.high-contrast button:not(.acc-btn),
.high-contrast .pagination-btn,
.high-contrast .btn-concurso {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 3px solid #000000 !important;
    font-weight: bold !important;
    padding: 12px 24px !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.high-contrast .btn-ver-mais:hover,
.high-contrast .btn-login:hover,
.high-contrast button:not(.acc-btn):hover,
.high-contrast .pagination-btn:hover:not(:disabled),
.high-contrast .btn-concurso:hover {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border-color: #FFFF00 !important;
    outline: 3px solid #FFFF00 !important;
    outline-offset: 2px !important;
}

.high-contrast .pagination-btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

.high-contrast .pagination-page-btn {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
}

.high-contrast .pagination-page-btn.active {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    font-weight: bold !important;
}

.high-contrast .pagination-page-btn:hover:not(.active) {
    background-color: #FFFF00 !important;
    color: #000000 !important;
    border-color: #FFFF00 !important;
}

/* Botões de Acessibilidade */
.high-contrast .acc-btn {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 3px solid #000000 !important;
    font-weight: bold !important;
    padding: 10px 15px !important;
}

.high-contrast .acc-btn:hover,
.high-contrast .acc-btn:focus {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border-color: #FFFF00 !important;
    outline: 3px solid #FFFF00 !important;
    outline-offset: 2px !important;
}

.high-contrast .acc-btn i {
    color: inherit !important;
}

/* Inputs e Formulários */
.high-contrast input,
.high-contrast textarea,
.high-contrast select {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 3px solid #000000 !important;
    padding: 12px !important;
    font-weight: 600 !important;
}

.high-contrast input::placeholder,
.high-contrast textarea::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

.high-contrast input:focus,
.high-contrast textarea:focus,
.high-contrast select:focus {
    border-color: #FFFF00 !important;
    outline: 4px solid #FFFF00 !important;
    outline-offset: 2px !important;
    background-color: #FFFF00 !important;
    color: #000000 !important;
}

/* Links */
.high-contrast a:not(.btn-ver-mais):not(.btn-login):not(button):not(.btn-concurso) {
    color: #FFFF00 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    font-weight: 600 !important;
}

.high-contrast a:not(.btn-ver-mais):not(.btn-login):not(button):not(.btn-concurso):hover,
.high-contrast a:not(.btn-ver-mais):not(.btn-login):not(button):not(.btn-concurso):focus {
    color: #FFFFFF !important;
    background-color: #FFFF00 !important;
    text-decoration: none !important;
    padding: 2px 4px !important;
    outline: 2px solid #FFFF00 !important;
}

/* Alertas e Mensagens */
.high-contrast .alert-error,
.high-contrast .alert-danger {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: 4px solid #FF0000 !important;
    padding: 15px !important;
    font-weight: bold !important;
}

.high-contrast .alert-success {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: 4px solid #00FF00 !important;
    padding: 15px !important;
    font-weight: bold !important;
}

.high-contrast .alert-warning {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: 4px solid #FFFF00 !important;
    padding: 15px !important;
    font-weight: bold !important;
}

.high-contrast .alert-info {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: 4px solid #00FFFF !important;
    padding: 15px !important;
    font-weight: bold !important;
}

/* Modais */
.high-contrast .modal {
    background-color: rgba(0, 0, 0, 0.95) !important;
}

.high-contrast .modal-content {
    background-color: #000000 !important;
    border: 4px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.high-contrast .modal-header h2 {
    color: #FFFFFF !important;
    border-bottom: 3px solid #FFFFFF !important;
    padding-bottom: 15px !important;
}

.high-contrast .close-modal {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 3px solid #000000 !important;
    font-weight: bold !important;
}

.high-contrast .close-modal:hover {
    background-color: #FF0000 !important;
    color: #FFFFFF !important;
    border-color: #FF0000 !important;
}

/* Serviços e Links do Header */
.high-contrast .servicos-pm,
.high-contrast .user-auth-header,
.high-contrast .auth-link {
    color: #FFFFFF !important;
}

.high-contrast .auth-link {
    border: 2px solid #FFFFFF !important;
    padding: 8px 15px !important;
    text-decoration: none !important;
}

.high-contrast .auth-link:hover,
.high-contrast .auth-link:focus {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border-color: #FFFF00 !important;
    outline: 3px solid #FFFF00 !important;
}

/* Imagens - Adicionar bordas para melhor visibilidade */
.high-contrast img {
    border: 2px solid #FFFFFF !important;
    outline: 1px solid #000000 !important;
}

.high-contrast img:hover {
    border-color: #FFFF00 !important;
    outline-color: #FFFF00 !important;
}

/* Paginação */
.high-contrast .pagination-info {
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

.high-contrast .pagination-container {
    border-top: 2px solid #FFFFFF !important;
    padding-top: 20px !important;
}

/* Seções de Atividades */
.high-contrast .activities {
    background-color: #000000 !important;
    border-top: 4px solid #FFFFFF !important;
    border-bottom: 4px solid #FFFFFF !important;
}

.high-contrast .activities-footer {
    border-top: 2px solid #FFFFFF !important;
    padding-top: 20px !important;
}

/* Conteúdo de Concurso */
.high-contrast .concurso-links {
    border-top: 2px solid #FFFFFF !important;
    padding-top: 15px !important;
    margin-top: 15px !important;
}

.high-contrast .concurso-dates {
    border-bottom: 2px solid #FFFFFF !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
}

.high-contrast .concurso-date strong {
    color: #FFFF00 !important;
    font-weight: bold !important;
}

.high-contrast .concurso-item:hover .concurso-date strong {
    color: #000000 !important;
    background-color: #FFFF00 !important;
    padding: 2px 4px !important;
}

/* Combinação: Alto Contraste + Modo Escuro */
.high-contrast.dark-mode,
.high-contrast.dark-mode body {
    background-color: #000000 !important;
    color: #FFFFFF !important;
}

/* Garantir que todos os textos sejam visíveis */
.high-contrast p,
.high-contrast span:not(.nav-divider),
.high-contrast div:not(.banner-background):not(.banner-pattern-left):not(.banner-pattern-right),
.high-contrast li {
    color: #FFFFFF !important;
}

.high-contrast h1,
.high-contrast h2,
.high-contrast h3,
.high-contrast h4,
.high-contrast h5,
.high-contrast h6 {
    color: #FFFFFF !important;
    font-weight: bold !important;
}

/* Ícones */
.high-contrast i,
.high-contrast .fas,
.high-contrast .far,
.high-contrast .fab {
    color: inherit !important;
}

/* Elementos do Header Superior */
.high-contrast .logo-governo img {
    border: 2px solid #FFFFFF !important;
    outline: 1px solid #000000 !important;
}

.high-contrast .pm-emblem img {
    border: 2px solid #FFFFFF !important;
    outline: 1px solid #000000 !important;
}

.high-contrast .user-menu-header,
.high-contrast .user-name-header {
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    padding: 8px 15px !important;
}

.high-contrast .user-menu-header .auth-link {
    border: 2px solid #FFFFFF !important;
}

.high-contrast .user-menu-header .auth-link:hover {
    background-color: #FFFFFF !important;
    color: #000000 !important;
}

/* Área de Acessibilidade */
.high-contrast .accessibility {
    border: 2px solid #FFFFFF !important;
    padding: 5px !important;
    border-radius: 4px !important;
}

/* Seção de Vídeos */
.high-contrast iframe {
    border: 3px solid #FFFFFF !important;
}

.high-contrast iframe:hover {
    border-color: #FFFF00 !important;
}

/* Grids e Containers */
.high-contrast .news-grid,
.high-contrast .activities-grid,
.high-contrast .concursos-grid,
.high-contrast .numbers-grid {
    gap: 20px !important;
}

/* Footer e Rodapé */
.high-contrast footer,
.high-contrast .footer {
    background-color: #000000 !important;
    border-top: 4px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

/* Tabelas */
.high-contrast table {
    border: 3px solid #FFFFFF !important;
    border-collapse: collapse !important;
}

.high-contrast th,
.high-contrast td {
    border: 2px solid #FFFFFF !important;
    padding: 12px !important;
    color: #FFFFFF !important;
    background-color: #000000 !important;
}

.high-contrast th {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    font-weight: bold !important;
}

.high-contrast tr:hover {
    background-color: #FFFFFF !important;
}

.high-contrast tr:hover td {
    color: #000000 !important;
}

/* Tooltips e Popovers */
.high-contrast [title],
.high-contrast [data-tooltip] {
    border-bottom: 2px dotted #FFFF00 !important;
}

/* Elementos desabilitados */
.high-contrast :disabled,
.high-contrast [disabled] {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    border-color: #666666 !important;
    background-color: #333333 !important;
    color: #999999 !important;
}

/* Seleção de texto */
.high-contrast ::selection {
    background-color: #FFFF00 !important;
    color: #000000 !important;
}

.high-contrast ::-moz-selection {
    background-color: #FFFF00 !important;
    color: #000000 !important;
}

/* Scrollbar personalizado para alto contraste */
.high-contrast ::-webkit-scrollbar {
    width: 12px !important;
    height: 12px !important;
}

.high-contrast ::-webkit-scrollbar-track {
    background: #000000 !important;
    border: 2px solid #FFFFFF !important;
}

.high-contrast ::-webkit-scrollbar-thumb {
    background: #FFFFFF !important;
    border: 2px solid #000000 !important;
}

.high-contrast ::-webkit-scrollbar-thumb:hover {
    background: #FFFF00 !important;
    border-color: #FFFF00 !important;
}

/* ============================================
   SISTEMA LGPD/GDPR - BANNER E MODAL
   ============================================ */

.lgpd-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    color: white;
    padding: 20px;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
    z-index: 10000;
    animation: slideUp 0.3s ease-out;
    border-top: 3px solid #ffffff;
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.lgpd-banner-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.lgpd-banner-text {
    flex: 1;
    min-width: 300px;
}

.lgpd-banner-text h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.lgpd-banner-text p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

.lgpd-banner-text a {
    color: #ffff00;
    text-decoration: underline;
    font-weight: bold;
}

.lgpd-banner-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.lgpd-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lgpd-btn-primary {
    background: #ffffff;
    color: #1e3a8a;
}

.lgpd-btn-primary:hover {
    background: #f0f0f0;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.lgpd-btn-secondary {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
    border: 2px solid #ffffff;
}

.lgpd-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.3);
}

.lgpd-btn-outline {
    background: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
}

.lgpd-btn-outline:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Modal de Preferências LGPD - Design Profissional */
.lgpd-preferences-modal-content {
    max-width: 700px !important;
    padding: 40px !important;
}

.lgpd-preferences-modal-content .modal-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #e5e5e5;
}

.lgpd-modal-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3);
}

.lgpd-modal-icon i {
    font-size: 28px;
    color: white;
}

.lgpd-preferences-modal-content .modal-header h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1e3a8a;
    margin: 0 0 10px 0;
}

.lgpd-preferences-modal-content .modal-header p {
    color: #666;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.lgpd-preferences-list {
    margin: 30px 0;
}

.lgpd-preference-item {
    margin-bottom: 20px;
    padding: 24px;
    background: #ffffff;
    border: 2px solid #e5e5e5;
    border-radius: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.lgpd-preference-item:hover {
    border-color: #1e3a8a;
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.1);
}

.lgpd-preference-content {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.lgpd-preference-info {
    flex: 1;
}

.lgpd-preference-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    gap: 20px;
}

.lgpd-preference-label {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    cursor: pointer;
    flex: 1;
    margin: 0;
}

.lgpd-toggle-container {
    display: flex;
    align-items: center;
}

.lgpd-toggle-input {
    display: none;
}

.lgpd-toggle-label {
    position: relative;
    display: inline-block;
    width: 56px;
    height: 32px;
    cursor: pointer;
    background-color: #ccc;
    border-radius: 34px;
    transition: background-color 0.3s;
    flex-shrink: 0;
}

.lgpd-toggle-label.disabled {
    background-color: #94a3b8;
    cursor: not-allowed;
    opacity: 0.6;
}

.lgpd-toggle-input:checked + .lgpd-toggle-label {
    background-color: #22c55e;
}

.lgpd-toggle-input:checked + .lgpd-toggle-label.disabled {
    background-color: #94a3b8;
}

.lgpd-toggle-slider {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.lgpd-toggle-input:checked + .lgpd-toggle-label .lgpd-toggle-slider {
    transform: translateX(24px);
}

.lgpd-toggle-input:checked + .lgpd-toggle-label.disabled .lgpd-toggle-slider {
    transform: translateX(24px);
}

.lgpd-preference-desc {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.lgpd-preference-desc i {
    color: #3b82f6;
    margin-top: 3px;
    flex-shrink: 0;
}

.lgpd-modal-actions {
    display: flex;
    gap: 12px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px solid #e5e5e5;
}

.lgpd-btn-large {
    padding: 14px 28px !important;
    font-size: 16px !important;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Modo Escuro - Modal de Preferências */
.dark-mode .lgpd-preference-item {
    background: #2d2d2d;
    border-color: #444;
}

.dark-mode .lgpd-preference-item:hover {
    border-color: #3b82f6;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
}

.dark-mode .lgpd-preference-label {
    color: #e0e0e0;
}

.dark-mode .lgpd-preference-desc {
    color: #b0b0b0;
}

.dark-mode .lgpd-modal-actions {
    border-top-color: #444;
}

.dark-mode .lgpd-preferences-modal-content .modal-header {
    border-bottom-color: #444;
}

/* Alto Contraste - Modal de Preferências */
.high-contrast .lgpd-preference-item {
    background: #000000 !important;
    border: 3px solid #FFFFFF !important;
}

.high-contrast .lgpd-preference-label {
    color: #FFFFFF !important;
    font-weight: bold !important;
}

.high-contrast .lgpd-preference-desc {
    color: #FFFFFF !important;
}

/* Modo Escuro - LGPD */
.dark-mode .lgpd-banner {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    border-top-color: #ffffff;
}

.dark-mode .lgpd-preference-item {
    background: #2d2d2d;
    color: #e0e0e0;
}

.dark-mode .lgpd-preference-desc {
    color: #b0b0b0;
}

.dark-mode .lgpd-modal-actions {
    border-top-color: #444;
}

/* Alto Contraste - LGPD */
.high-contrast .lgpd-banner {
    background: #000000 !important;
    border-top: 4px solid #FFFFFF !important;
    color: #FFFFFF !important;
    box-shadow: 0 -4px 20px rgba(255, 255, 255, 0.3) !important;
}

.high-contrast .lgpd-banner-text,
.high-contrast .lgpd-banner-text h3,
.high-contrast .lgpd-banner-text p {
    color: #FFFFFF !important;
}

.high-contrast .lgpd-banner-text a {
    color: #FFFF00 !important;
    text-decoration: underline !important;
    font-weight: bold !important;
}

.high-contrast .lgpd-banner-text a:hover {
    background-color: #FFFF00 !important;
    color: #000000 !important;
    padding: 2px 4px !important;
}

.high-contrast .lgpd-btn {
    border: 3px solid #FFFFFF !important;
    font-weight: bold !important;
    padding: 12px 24px !important;
}

.high-contrast .lgpd-btn-primary {
    background: #FFFFFF !important;
    color: #000000 !important;
}

.high-contrast .lgpd-btn-primary:hover,
.high-contrast .lgpd-btn-primary:focus {
    background: #000000 !important;
    color: #FFFFFF !important;
    border-color: #FFFF00 !important;
    outline: 3px solid #FFFF00 !important;
    outline-offset: 2px !important;
}

.high-contrast .lgpd-btn-secondary,
.high-contrast .lgpd-btn-outline {
    background: #000000 !important;
    color: #FFFFFF !important;
}

.high-contrast .lgpd-btn-secondary:hover,
.high-contrast .lgpd-btn-secondary:focus,
.high-contrast .lgpd-btn-outline:hover,
.high-contrast .lgpd-btn-outline:focus {
    background: #FFFFFF !important;
    color: #000000 !important;
    border-color: #FFFF00 !important;
    outline: 3px solid #FFFF00 !important;
    outline-offset: 2px !important;
}

/* ============================================
   ESTILOS GLOBAIS DE MODAL
   ============================================ */

.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
}

.modal-overlay.active {
    display: flex;
}

.modal-content {
    background: white;
    border-radius: 12px;
    padding: 30px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    position: relative;
    animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.modal-header {
    margin-bottom: 20px;
}

.modal-header h2 {
    color: var(--blue);
    font-size: 24px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.modal-header p {
    color: #666;
    font-size: 14px;
    margin: 0;
}

.modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    color: #999;
    cursor: pointer;
    padding: 0;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s;
    line-height: 1;
}

.modal-close:hover {
    color: #333;
    background: #f0f0f0;
}

.modal-form-group {
    margin-bottom: 20px;
}

.modal-form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--darker-gray);
    font-weight: 600;
    font-size: 14px;
}

.modal-form-group input,
.modal-form-group textarea,
.modal-form-group select {
    width: 100%;
    padding: 12px;
    border: 2px solid #e5e5e5;
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
    font-family: inherit;
}

.modal-form-group input:focus,
.modal-form-group textarea:focus,
.modal-form-group select:focus {
    outline: none;
    border-color: var(--blue);
}

.modal-btn {
    width: 100%;
    padding: 12px;
    background: var(--blue);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
    margin-top: 10px;
}

.modal-btn:hover {
    background: #1e40af;
}

.modal-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Modo Escuro - Modal */
.dark-mode .modal-overlay {
    background: rgba(0, 0, 0, 0.8);
}

.dark-mode .modal-content {
    background: #2d2d2d;
    color: #e0e0e0;
}

.dark-mode .modal-header h2 {
    color: #ffffff;
}

.dark-mode .modal-header p {
    color: #b0b0b0;
}

.dark-mode .modal-close {
    color: #b0b0b0;
}

.dark-mode .modal-close:hover {
    color: #ffffff;
    background: #3d3d3d;
}

.dark-mode .modal-form-group input,
.dark-mode .modal-form-group textarea,
.dark-mode .modal-form-group select {
    background: #1a1a1a;
    color: #e0e0e0;
    border-color: #444;
}

.dark-mode .modal-form-group input:focus,
.dark-mode .modal-form-group textarea:focus,
.dark-mode .modal-form-group select:focus {
    border-color: #3b82f6;
}

/* Alto Contraste - Modal */
.high-contrast .modal-overlay {
    background: rgba(0, 0, 0, 0.9) !important;
}

.high-contrast .modal-content {
    background: #000000 !important;
    border: 3px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.high-contrast .modal-close {
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
}

.high-contrast .modal-btn {
    background: #FFFFFF !important;
    color: #000000 !important;
    border: 3px solid #000000 !important;
    font-weight: bold !important;
}

/* ============================================
   OVERLAY DE BLOQUEIO LGPD
   ============================================ */

.lgpd-block-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.lgpd-block-content {
    background: white;
    border-radius: 20px;
    padding: 50px 40px;
    max-width: 600px;
    width: 90%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    animation: slideUp 0.4s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lgpd-block-icon {
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    box-shadow: 0 10px 30px rgba(220, 38, 38, 0.4);
}

.lgpd-block-icon i {
    font-size: 48px;
    color: white;
}

.lgpd-block-content h2 {
    font-size: 32px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 20px 0;
}

.lgpd-block-content p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.lgpd-block-actions {
    display: flex;
    gap: 15px;
    margin-top: 30px;
    justify-content: center;
    flex-wrap: wrap;
}

.lgpd-block-actions .lgpd-btn {
    min-width: 200px;
    padding: 14px 28px;
    font-size: 16px;
}

/* Modo Escuro - Bloqueio */
.dark-mode .lgpd-block-content {
    background: #2d2d2d;
    color: #e0e0e0;
}

.dark-mode .lgpd-block-content h2 {
    color: #ffffff;
}

.dark-mode .lgpd-block-content p {
    color: #b0b0b0;
}

/* Alto Contraste - Bloqueio */
.high-contrast .lgpd-block-overlay {
    background: #000000 !important;
}

.high-contrast .lgpd-block-content {
    background: #000000 !important;
    border: 3px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.high-contrast .lgpd-block-content h2 {
    color: #FFFFFF !important;
    font-weight: bold !important;
}

.high-contrast .lgpd-block-content p {
    color: #FFFFFF !important;
}
    color: #e0e0e0 !important;
    border-bottom-color: #444 !important;
}

.dark-mode .comunicado-content,
.dark-mode .document-content {
    color: #e0e0e0 !important;
}

.dark-mode .comunicado-content p,
.dark-mode .document-content p {
    color: #e0e0e0 !important;
}

/* Estilos globais para botões "Voltar" - Melhor visibilidade */
.back-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 28px !important;
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4) !important;
    transition: all 0.3s ease !important;
    border: 2px solid transparent !important;
}

.back-link:hover {
    background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%) !important;
    box-shadow: 0 6px 16px rgba(59, 130, 246, 0.6) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

.back-link:active {
    transform: translateY(0) !important;
}

.back-link i {
    font-size: 16px !important;
    color: #ffffff !important;
}

/* Modo escuro - botões "Voltar" */
.dark-mode .back-link {
    background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.5) !important;
    border: 2px solid rgba(96, 165, 250, 0.3) !important;
}

.dark-mode .back-link:hover {
    background: linear-gradient(135deg, #60a5fa 0%, #93c5fd 100%) !important;
    box-shadow: 0 6px 16px rgba(96, 165, 250, 0.7) !important;
    border-color: rgba(96, 165, 250, 0.5) !important;
    color: #1e293b !important;
}

.dark-mode .back-link i {
    color: inherit !important;
}

.dark-mode .back-link:hover i {
    color: #1e293b !important;
}

/* Transições suaves para modo escuro */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Modo escuro - Modal de Formulários */
.dark-mode #formularios-modal .modal-content {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
    color: #e0e0e0 !important;
}

.dark-mode #formularios-modal .form-group label {
    color: #e0e0e0 !important;
}

.dark-mode #formularios-modal input[type="text"],
.dark-mode #formularios-modal input[type="date"],
.dark-mode #formularios-modal textarea,
.dark-mode #formularios-modal select {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #formularios-modal input[type="text"]:focus,
.dark-mode #formularios-modal input[type="date"]:focus,
.dark-mode #formularios-modal textarea:focus,
.dark-mode #formularios-modal select:focus {
    border-color: #3b82f6 !important;
    background-color: #3a3a3a !important;
}

.dark-mode #formularios-modal input[type="text"]::placeholder,
.dark-mode #formularios-modal textarea::placeholder {
    color: #9ca3af !important;
}

.dark-mode #formularios-modal small {
    color: #9ca3af !important;
}

.dark-mode #formularios-modal [style*="background: white"],
.dark-mode #formularios-modal [style*="background:white"] {
    background: #2d2d2d !important;
    border-color: #444 !important;
}

.dark-mode #formularios-modal [style*="color: #374151"],
.dark-mode #formularios-modal [style*="color:#374151"] {
    color: #e0e0e0 !important;
}

.dark-mode #formularios-modal [style*="color: #6b7280"],
.dark-mode #formularios-modal [style*="color:#6b7280"] {
    color: #9ca3af !important;
}

.dark-mode #formularios-modal [style*="color: #1e3a8a"],
.dark-mode #formularios-modal [style*="color:#1e3a8a"] {
    color: #60a5fa !important;
}

.dark-mode #formularios-modal [style*="background: #f8fafc"],
.dark-mode #formularios-modal [style*="background:#f8fafc"] {
    background: #1a1a1a !important;
    border-color: #444 !important;
}

.dark-mode #formularios-modal [style*="background: #f9fafb"],
.dark-mode #formularios-modal [style*="background:#f9fafb"] {
    background: #2d2d2d !important;
    border-color: #444 !important;
    color: #9ca3af !important;
}

.dark-mode #formularios-modal [style*="border: 2px solid #e5e7eb"],
.dark-mode #formularios-modal [style*="border:2px solid #e5e7eb"],
.dark-mode #formularios-modal [style*="border-top: 2px solid #e5e7eb"],
.dark-mode #formularios-modal [style*="border-top:2px solid #e5e7eb"] {
    border-color: #444 !important;
}

.dark-mode #formularios-modal [style*="border: 2px dashed #e5e7eb"],
.dark-mode #formularios-modal [style*="border:2px dashed #e5e7eb"] {
    border-color: #555 !important;
}

.dark-mode #formularios-modal .campo-editor {
    background: #2d2d2d !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
}

.dark-mode #formularios-modal .campo-opcoes {
    background: #1a1a1a !important;
    border-color: #3b82f6 !important;
}

.dark-mode #formularios-modal .campo-opcoes textarea {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #3b82f6 !important;
}

.dark-mode #formularios-modal .campo-opcoes label {
    color: #60a5fa !important;
}

.dark-mode #formularios-modal .campo-opcoes small {
    color: #60a5fa !important;
}

.dark-mode #formularios-modal input[type="color"] {
    border-color: #444 !important;
}

.dark-mode #formularios-modal #formularios-header-preview {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%) !important;
}

.dark-mode #formularios-modal .empty-state-message {
    background: #2d2d2d !important;
    border-color: #555 !important;
    color: #9ca3af !important;
}

.dark-mode #formularios-modal .btn {
    background-color: #3b82f6 !important;
    color: white !important;
    border-color: #3b82f6 !important;
}

.dark-mode #formularios-modal .btn-secondary {
    background-color: #444 !important;
    color: #e0e0e0 !important;
    border-color: #555 !important;
}

.dark-mode #formularios-modal .btn-secondary:hover {
    background-color: #555 !important;
    border-color: #666 !important;
}

.dark-mode #formularios-modal .btn-primary:hover {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
}

.dark-mode #formularios-modal .campo-label {
    color: #e0e0e0 !important;
}

.dark-mode #formularios-modal .campo-input {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #formularios-modal .campo-input:focus {
    border-color: #3b82f6 !important;
    background-color: #3a3a3a !important;
}

.dark-mode #formularios-modal .campo-select {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

.dark-mode #formularios-modal .campo-checkbox-container {
    background: #2d2d2d !important;
    border-color: #444 !important;
}

.dark-mode #formularios-modal .campo-checkbox-text {
    color: #9ca3af !important;
}

.dark-mode #formularios-modal .campo-opcoes-label {
    color: #60a5fa !important;
}

.dark-mode #formularios-modal .campo-opcoes-small {
    color: #60a5fa !important;
}

