/* Controle global de tema */
html {
  transition: background-color .25s ease, color .25s ease;
}

.igp-theme-toggle {
  position: relative;
  z-index: 130;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(135, 156, 194, .42);
  border-radius: 50%;
  color: #eaf2ff;
  background: rgba(8, 17, 34, .62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 20px rgba(2, 8, 20, .18);
  cursor: pointer;
  transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease;
}

.igp-theme-toggle:hover {
  transform: translateY(-2px) rotate(8deg);
  border-color: rgba(117, 160, 214, .82);
  background: rgba(44, 79, 132, .38);
}

.igp-theme-toggle svg {
  position: absolute;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: opacity .2s ease, transform .3s ease;
}

.igp-theme-moon {
  opacity: 0;
  transform: scale(.55) rotate(-25deg);
}

html[data-theme="light"] .igp-theme-sun {
  opacity: 0;
  transform: scale(.55) rotate(25deg);
}

html[data-theme="light"] .igp-theme-moon {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.igp-theme-toggle-floating {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1000;
}

.w-header-inner {
  grid-template-columns: 1fr auto auto auto;
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #edf3fa;
  --ink: #14243d;
  --muted: #4b5f7c;
  --line: rgba(69, 93, 129, .22);
  --panel: rgba(255, 255, 255, .84);
  --text-dark: #14243d;
  --text-light: #5f6f87;
  --bg-light: #edf3fa;
  --white: #ffffff;
  --border-color: #d6e0ed;
  --shadow: 0 6px 20px rgba(35, 59, 91, .09);
  --shadow-lg: 0 18px 45px rgba(35, 59, 91, .13);
}

/* Site institucional */
html[data-theme="light"] body {
  color: var(--ink);
  background-color: #edf3fa;
}

html[data-theme="light"] body::before {
  background:
    linear-gradient(180deg, rgba(241, 247, 253, .82), rgba(231, 239, 249, .94)),
    url('imagens/futurista.jpg') center/cover no-repeat;
}

html[data-theme="light"] .w-header {
  border-bottom-color: rgba(70, 95, 132, .2);
  background: linear-gradient(180deg, rgba(250, 253, 255, .96), rgba(240, 246, 252, .88));
  box-shadow: 0 10px 28px rgba(33, 55, 86, .12);
}

html[data-theme="light"] .w-header.is-scrolled {
  border-bottom-color: rgba(70, 95, 132, .28);
  background: rgba(248, 252, 255, .97);
  box-shadow: 0 12px 32px rgba(33, 55, 86, .15);
}

html[data-theme="light"] .igp-theme-brand-logo {
  background: transparent;
  filter:
    brightness(0)
    saturate(100%)
    invert(15%)
    sepia(24%)
    saturate(1650%)
    hue-rotate(178deg)
    brightness(86%)
    contrast(94%)
    drop-shadow(0 4px 10px rgba(27, 56, 92, .16));
}

html[data-theme="light"] .w-nav a,
html[data-theme="light"] .w-brand {
  color: #182942;
}

html[data-theme="light"] .w-nav a:hover {
  border-color: rgba(70, 95, 132, .25);
  background: rgba(74, 120, 191, .1);
}

html[data-theme="light"] .w-btn-soft {
  color: #1d385c;
  border-color: rgba(70, 95, 132, .32);
  background: rgba(255, 255, 255, .62);
}

html[data-theme="light"] .w-hero-bg {
  background-image:
    linear-gradient(96deg, rgba(235, 244, 252, .9) 0%, rgba(226, 238, 250, .72) 48%, rgba(221, 236, 249, .52) 100%),
    linear-gradient(180deg, rgba(239, 247, 253, .32), rgba(228, 239, 249, .62)),
    url('imagens/futurista.jpg');
}

html[data-theme="light"] .w-hero-bg::after {
  opacity: .075;
}

html[data-theme="light"] .w-kicker {
  color: #3d5f89;
}

html[data-theme="light"] .w-cursor {
  background: #3b74be;
}

html[data-theme="light"] .w-trust {
  border-color: rgba(70, 95, 132, .18);
  background: rgba(248, 252, 255, .7);
}

html[data-theme="light"] .w-chip-row a {
  color: #183457;
  border-color: rgba(70, 95, 132, .24);
  background: radial-gradient(circle at 30% 20%, #ffffff, #dce8f5);
  box-shadow: inset 0 1px 0 #fff, inset 0 -5px 12px rgba(67, 96, 135, .1), 0 8px 20px rgba(42, 66, 98, .1);
}

html[data-theme="light"] .w-chip-row a:hover {
  border-color: rgba(59, 116, 190, .5);
  background: radial-gradient(circle at 30% 20%, #fff, #cfdef0);
  box-shadow: 0 12px 24px rgba(42, 66, 98, .16);
}

html[data-theme="light"] .w-card,
html[data-theme="light"] .w-box,
html[data-theme="light"] .w-person,
html[data-theme="light"] .w-contact-box {
  color: #14243d;
  border-color: rgba(69, 93, 129, .2);
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 12px 30px rgba(35, 59, 91, .08);
}

html[data-theme="light"] .w-card:hover,
html[data-theme="light"] .w-box:hover,
html[data-theme="light"] .w-person:hover,
html[data-theme="light"] .w-contact-box:hover {
  border-color: rgba(59, 116, 190, .42);
  background: linear-gradient(180deg, #fff, #edf4fb);
  box-shadow: 0 18px 36px rgba(35, 59, 91, .14);
}

html[data-theme="light"] .w-card-highlight,
html[data-theme="light"] .w-contact-box {
  background: linear-gradient(145deg, rgba(214, 230, 248, .95), rgba(255, 255, 255, .9));
}

html[data-theme="light"] .w-person img {
  background: linear-gradient(180deg, #e7eef7, #d9e4f1);
}

html[data-theme="light"] .w-footer {
  color: #eaf2ff;
  background: rgba(13, 31, 56, .94);
}

html[data-theme="light"] .w-footer-grid p,
html[data-theme="light"] .w-footer-grid a {
  color: #c3d2e7;
}

/* Academy, cursos e administração */
html[data-theme="light"] body.dashboard-page,
html[data-theme="light"] body.academy-manager-page {
  color: #1b2c45;
  background:
    radial-gradient(circle at 75% 0%, rgba(39, 157, 190, .1), transparent 30rem),
    radial-gradient(circle at 10% 25%, rgba(79, 141, 247, .12), transparent 34rem),
    #eef4fa;
}

html[data-theme="light"] body.dashboard-page::before,
html[data-theme="light"] body.academy-manager-page::before {
  background:
    linear-gradient(180deg, rgba(239, 246, 252, .9), rgba(232, 240, 249, .96)),
    url('imagens/futurista.jpg') center/cover no-repeat;
}

html[data-theme="light"] .dashboard-header {
  color: #182a44;
  border-bottom-color: #cfdae8;
  background: rgba(249, 252, 255, .94);
  box-shadow: 0 7px 24px rgba(37, 61, 93, .1);
}

html[data-theme="light"] .dashboard-brand,
html[data-theme="light"] .nav-link,
html[data-theme="light"] .dashboard-user {
  color: #314764;
}

html[data-theme="light"] .module-switcher-button:hover,
html[data-theme="light"] .module-switcher-button:focus-visible {
  color: #132f52;
}

html[data-theme="light"] .nav-link:hover,
html[data-theme="light"] .nav-link.active {
  color: #174f97;
}

html[data-theme="light"] .btn-logout {
  color: #29415f;
  border-color: #c7d4e4;
  background: rgba(255, 255, 255, .65);
}

html[data-theme="light"] .btn-logout:hover {
  background: #e2ecf7;
}

html[data-theme="light"] .igp-account-trigger:hover,
html[data-theme="light"] .igp-account-trigger:focus-visible,
html[data-theme="light"] .account-menu-open .igp-account-trigger {
  color: #174f97;
  background: rgba(62, 125, 205, .1);
}

html[data-theme="light"] .igp-account-menu {
  border-color: #cad7e6;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 20px 55px rgba(39, 62, 91, .18);
}

html[data-theme="light"] .igp-account-menu::before {
  border-color: #cad7e6;
  background: #fff;
}

html[data-theme="light"] .igp-account-menu-item {
  color: #203753;
}

html[data-theme="light"] .igp-account-menu-item:hover,
html[data-theme="light"] .igp-account-menu-item:focus-visible {
  background: #edf4fb;
}

html[data-theme="light"] .igp-account-menu-item small {
  color: #6d7f97;
}

html[data-theme="light"] .igp-account-modal-backdrop {
  background: rgba(27, 46, 71, .45);
}

html[data-theme="light"] .igp-account-modal-card {
  color: #263b57;
  border-color: #ccd9e7;
  background: #fff;
  box-shadow: 0 30px 90px rgba(39, 62, 91, .25);
}

html[data-theme="light"] .igp-account-modal-card > header {
  border-bottom-color: #d8e2ed;
}

html[data-theme="light"] .igp-account-modal-card h2 {
  color: #172a44;
}

html[data-theme="light"] .igp-account-modal-close {
  color: #526982;
  border-color: #cfdae7;
  background: #f7fafc;
}

html[data-theme="light"] .igp-account-modal-card label {
  color: #344b67;
}

html[data-theme="light"] .igp-account-modal-card label small {
  color: #718198;
}

html[data-theme="light"] .igp-account-modal-card input {
  color: #1e334f;
  border-color: #cfdae7;
  background: #f7fafc;
}

html[data-theme="light"] .igp-account-btn.secondary {
  color: #344b67;
  border-color: #ccd8e6;
  background: #f4f8fb;
}

@media (max-width: 760px) {
  html[data-theme="light"] .igp-account-trigger::before {
    color: #29415f;
  }
}

html[data-theme="light"] .hero-dashboard {
  color: #182a44;
  border-bottom-color: #d1ddea;
  background:
    radial-gradient(circle at 10% 20%, rgba(59, 130, 246, .18), transparent 55%),
    radial-gradient(circle at 90% 80%, rgba(14, 165, 233, .16), transparent 55%),
    #e7f0f9;
}

html[data-theme="light"] .hero-overlay {
  background: linear-gradient(to bottom, rgba(244, 249, 253, .2), rgba(232, 241, 249, .94));
}

html[data-theme="light"] .hero-content-box p,
html[data-theme="light"] .courses-caption,
html[data-theme="light"] .progress-text,
html[data-theme="light"] .course-info p {
  color: #5c6f89;
}

html[data-theme="light"] .lesson-progress-bar {
  border-color: #c7d3e0;
  background: #aeb9c6;
  box-shadow: inset 0 2px 5px rgba(48, 65, 86, .18);
}

html[data-theme="light"] .course-card,
html[data-theme="light"] .admin-metric-card,
html[data-theme="light"] .admin-analytic-card,
html[data-theme="light"] .admin-table-card,
html[data-theme="light"] .admin-side-card {
  color: #1c2d45;
  border-color: #d2deeb;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 28px rgba(35, 59, 91, .08);
}

html[data-theme="light"] .course-card-progress {
  background: #aeb9c6;
  box-shadow: inset 0 2px 5px rgba(48, 65, 86, .18);
}

html[data-theme="light"] .course-status.no-progress {
  color: #65758b;
  border-color: #aebac8;
}

html[data-theme="light"] .course-status.in-progress {
  color: #13734d;
  border-color: rgba(22, 163, 113, .4);
}

html[data-theme="light"] .course-status.completed {
  color: #1e5ba8;
  border-color: rgba(37, 99, 216, .36);
}

html[data-theme="light"] .course-info h3,
html[data-theme="light"] .course-title,
html[data-theme="light"] .admin-header-bar h1,
html[data-theme="light"] .admin-analytic-card h2,
html[data-theme="light"] .admin-table-header h2,
html[data-theme="light"] .admin-side-card h2,
html[data-theme="light"] .page-title-bar h1,
html[data-theme="light"] .metric-value {
  color: #172b46;
}

html[data-theme="light"] .admin-header-bar p,
html[data-theme="light"] .analytic-caption,
html[data-theme="light"] .metric-sub,
html[data-theme="light"] .page-title-bar p,
html[data-theme="light"] .admin-table thead,
html[data-theme="light"] .bar-value {
  color: #62738b;
}

html[data-theme="light"] .admin-table tbody tr:nth-child(even) {
  background: rgba(222, 232, 244, .48);
}

html[data-theme="light"] .activity-timeline p,
html[data-theme="light"] .bar-label,
html[data-theme="light"] .todo-list label {
  color: #30445f;
}

html[data-theme="light"] .btn-admin.ghost,
html[data-theme="light"] .filter-row input,
html[data-theme="light"] .filter-row select,
html[data-theme="light"] .student-organization-select {
  color: #263d5b;
  border-color: #ccd9e8;
  background: #f7fafc;
}

html[data-theme="light"] .progress-bar,
html[data-theme="light"] .bar-track {
  border-color: #d4dfeb;
  background: #dfe8f2;
}

html[data-theme="light"] .course-sidebar,
html[data-theme="light"] .course-tabs,
html[data-theme="light"] .tabs-header {
  border-color: #d3dfeb;
}

html[data-theme="light"] .sidebar-title,
html[data-theme="light"] .lesson-item,
html[data-theme="light"] .tab-button,
html[data-theme="light"] .video-feedback,
html[data-theme="light"] .no-content-message,
html[data-theme="light"] .course-header-path,
html[data-theme="light"] .course-header-path a {
  color: #61738d;
}

html[data-theme="light"] .lesson-item.active,
html[data-theme="light"] .tab-button.active,
html[data-theme="light"] .comment-author {
  color: #183b68;
}

html[data-theme="light"] .comment-meta {
  color: #61738d;
}

html[data-theme="light"] .video-wrapper {
  border-color: #cbd8e6;
  background: #dce6f1;
  box-shadow: 0 16px 38px rgba(35, 59, 91, .14);
}

html[data-theme="light"] .feedback-btn,
html[data-theme="light"] .comment-input {
  color: #263c58;
  border-color: #cbd8e6;
  background: #f8fbfe;
}

html[data-theme="light"] .feedback-btn:hover {
  background: #e9f1f9;
}

html[data-theme="light"] .feedback-btn.feedback-up.is-selected {
  color: #126044;
  border-color: rgba(22, 163, 113, .45);
  background: #dff7ed;
}

html[data-theme="light"] .feedback-btn.feedback-down.is-selected {
  color: #9f2736;
  border-color: rgba(220, 69, 88, .4);
  background: #fde8eb;
}

html[data-theme="light"] .feedback-status {
  color: #657790;
}

html[data-theme="light"] .lesson-module-title {
  color: #2e65a8;
  background: rgba(79, 141, 247, .09);
}

/* Gerenciador de conteúdo */
html[data-theme="light"] .academy-manager-page {
  --academy-bg: #edf4fa;
  --academy-panel: rgba(255, 255, 255, .86);
  --academy-panel-strong: #ffffff;
  --academy-line: rgba(72, 97, 133, .2);
  --academy-text: #172a44;
  --academy-muted: #60728a;
}

html[data-theme="light"] .academy-manager-hero h1,
html[data-theme="light"] .academy-summary strong,
html[data-theme="light"] .academy-empty strong,
html[data-theme="light"] .academy-course-title-row h2,
html[data-theme="light"] .academy-organizations-panel h2,
html[data-theme="light"] .academy-organization-copy strong,
html[data-theme="light"] .academy-modal-card h2 {
  color: #172a44;
}

html[data-theme="light"] .academy-summary,
html[data-theme="light"] .academy-search,
html[data-theme="light"] .academy-organizations-panel,
html[data-theme="light"] .academy-course-card,
html[data-theme="light"] .academy-module {
  border-color: rgba(72, 97, 133, .2);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 14px 36px rgba(35, 59, 91, .09);
}

html[data-theme="light"] .academy-organization-card {
  border-color: #d4dfeb;
  background: #f7fafc;
}

html[data-theme="light"] .academy-course-index {
  color: #376fae;
  background: linear-gradient(145deg, rgba(79, 141, 247, .12), rgba(39, 200, 223, .08));
}

html[data-theme="light"] .academy-module h3,
html[data-theme="light"] .academy-lesson strong {
  color: #263a56;
}

html[data-theme="light"] .academy-icon-btn,
html[data-theme="light"] .academy-modal-card input,
html[data-theme="light"] .academy-modal-card textarea,
html[data-theme="light"] .academy-modal-card select {
  color: #263b57;
  border-color: #cad7e5;
  background: #f7fafc;
}

html[data-theme="light"] .academy-modal-backdrop {
  background: rgba(27, 46, 71, .45);
}

html[data-theme="light"] .academy-modal-card {
  color: #263b57;
  border-color: #ccd9e7;
  background: #fff;
}

html[data-theme="light"] .academy-secondary-btn {
  color: #29415f;
  border-color: #b8c8da;
  background: #e9f0f7;
  box-shadow: 0 3px 9px rgba(38, 62, 94, .08);
}

html[data-theme="light"] .academy-secondary-btn:hover {
  color: #17365d;
  border-color: #91a9c4;
  background: #dce7f2;
}

html[data-theme="light"] .academy-modal-card label {
  color: #4c617d;
}

html[data-theme="light"] .training-form-card,
html[data-theme="light"] .organization-page-card,
html[data-theme="light"] .performance-summary article,
html[data-theme="light"] .quiz-builder-question,
html[data-theme="light"] .course-quiz {
  color: #263b57;
  border-color: #d0dce9;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 30px rgba(35, 59, 91, .08);
}

html[data-theme="light"] .training-user-row {
  color: #263b57;
  border-color: #d5e0eb;
  background: #f7fafc;
}

html[data-theme="light"] .training-assignment-toolbar input[type=date],
html[data-theme="light"] .quiz-admin-toolbar input,
html[data-theme="light"] .quiz-question-text,
html[data-theme="light"] .quiz-option-text {
  color: #263b57;
  border-color: #cad7e5;
  background: #f7fafc;
}

html[data-theme="light"] .quiz-builder-question > header,
html[data-theme="light"] .organization-page-card h2,
html[data-theme="light"] .performance-summary strong,
html[data-theme="light"] .course-quiz-heading h2,
html[data-theme="light"] .student-quiz-form legend {
  color: #1d3553;
}

html[data-theme="light"] .department-name-cell strong,
html[data-theme="light"] .department-table-state strong {
  color: #1d3553;
}

html[data-theme="light"] .department-table-icon {
  color: #245b97;
  border-color: #c7d7e8;
  background: linear-gradient(145deg, #e9f2fc, #e4f7f8);
}

html[data-theme="light"] .department-table-card .filter-row {
  border-bottom-color: #dbe5ef;
}

html[data-theme="light"] .department-row-actions button,
html[data-theme="light"] .department-table-state button {
  color: #285d9b;
  border-color: #bfd0e3;
  background: #eef5fb;
}

html[data-theme="light"] .department-row-actions .danger-link {
  color: #b83b4a;
  border-color: #e4c0c6;
  background: #fff3f4;
}

/* Login, cadastro e suporte */
html[data-theme="light"] .login-content,
html[data-theme="light"] .support-form {
  color: #182a44;
  border-color: #d4dfeb;
  background: rgba(255, 255, 255, .94);
}

html[data-theme="light"] .login-form-wrapper h1,
html[data-theme="light"] .form-group label,
html[data-theme="light"] .support-header h1 {
  color: #182a44;
}

html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-group textarea {
  color: #1e334f;
  border-color: #cfdae7;
  background: #f7fafc;
}

html[data-theme="light"] .home-shell {
  color: #182a44;
}

html[data-theme="light"] .home-header {
  border-bottom-color: #d2deeb;
  background: rgba(250, 253, 255, .94);
}

@media (max-width: 1180px) {
  .w-header-inner {
    grid-template-columns: 1fr auto auto;
  }
}

@media (max-width: 640px) {
  .igp-theme-toggle {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .w-header-inner {
    grid-template-columns: 1fr auto;
  }

  .w-header-inner > .w-btn-soft {
    display: none;
  }

  .dashboard-user {
    gap: .45rem;
  }

  .dashboard-user .user-name {
    display: none;
  }
}
