:root {
  --ivl-purple: #561E54;
  --ivl-black: #000000;
  --ivl-white: #FFFFFF;
  --ivl-gold: #ADA074;
  --ivl-pink: #EBC4BF;
  --ivl-soft: #FAF7FA;
  --ivl-border: rgba(86, 30, 84, 0.16);
}

.ivl-home-2026,
.ivl-home-2026 * {
  font-family: 'Manrope', Arial, sans-serif !important;
}

.ivl-hero-section {
  background: var(--ivl-white) !important;
  overflow: hidden !important;
}

.ivl-eyebrow .sppb-addon-content span {
  display: inline-block !important;
  color: var(--ivl-purple) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.ivl-hero-title-main .sppb-addon-title,
.ivl-section-title .sppb-addon-title {
  color: var(--ivl-black) !important;
  letter-spacing: -0.045em !important;
}

.ivl-hero-title-accent .sppb-addon-title {
  color: var(--ivl-gold) !important;
  letter-spacing: -0.045em !important;
}

.ivl-hero-text .sppb-addon-content,
.ivl-section-text .sppb-addon-content {
  color: var(--ivl-black) !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
}

.ivl-hero-image,
.ivl-cta-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ivl-hero-waves img {
  width: min(680px, 100%) !important;
  max-width: none !important;
  height: auto !important;
  transform: translateX(34px) scale(1.08) !important;
}

/* Buttons - classes estão no próprio a.sppb-btn */
a.sppb-btn.ivl-btn-addon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 140px !important;
  min-height: 40px !important;
  padding: 9px 17px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-transform: none !important;
}

a.sppb-btn.ivl-btn-primary {
  background: var(--ivl-purple) !important;
  background-color: var(--ivl-purple) !important;
  border: 1px solid var(--ivl-purple) !important;
  color: var(--ivl-white) !important;
}

a.sppb-btn.ivl-btn-outline {
  background: var(--ivl-white) !important;
  background-color: var(--ivl-white) !important;
  border: 1px solid rgba(86, 30, 84, 0.35) !important;
  color: var(--ivl-black) !important;
}

a.sppb-btn.ivl-btn-primary:hover {
  background: #3d153c !important;
  border-color: #3d153c !important;
  color: var(--ivl-white) !important;
}

a.sppb-btn.ivl-btn-outline:hover {
  background: var(--ivl-purple) !important;
  border-color: var(--ivl-purple) !important;
  color: var(--ivl-white) !important;
}

/* Hack seguro para pôr os 2 botões lado a lado sem :has() */
@media (min-width: 576px) {
  .ivl-hero-section a.sppb-btn.ivl-btn-primary,
  .ivl-cta-section a.sppb-btn.ivl-btn-primary {
    margin-right: 10px !important;
  }
}

/* Impact section */
.ivl-impact-section .sppb-row {
  background: var(--ivl-purple) !important;
  color: var(--ivl-white) !important;
  border-radius: 12px !important;
  padding: 48px 36px !important;
  box-shadow: 0 24px 60px rgba(86, 30, 84, .20) !important;
  align-items: center !important;
}

.ivl-impact-section .sppb-column {
  border-right: 1px solid rgba(255,255,255,.22) !important;
}

.ivl-impact-section .sppb-column:last-child {
  border-right: 0 !important;
}

.ivl-impact-title .sppb-addon-content {
  color: var(--ivl-white) !important;
  font-size: 28px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.ivl-impact-title strong {
  color: var(--ivl-white) !important;
  font-weight: 800 !important;
}

.ivl-metric-addon .sppb-animated-number,
.ivl-metric-addon .sppb-animated-number-title {
  color: var(--ivl-white) !important;
}

.ivl-impact-ip .ivl-impact-icon {
  width: 64px !important;
  height: 64px !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 18px !important;
  vertical-align: middle !important;
}

.ivl-impact-ip .sppb-addon-content {
  color: var(--ivl-white) !important;
  font-size: 23px !important;
  line-height: 1.35 !important;
}

.ivl-impact-ip small {
  color: var(--ivl-white) !important;
  opacity: .95 !important;
  font-size: 15px !important;
}

/* CTA */
.ivl-cta-section {
  overflow: hidden !important;
}

.ivl-cta-waves img {
  width: min(610px, 100%) !important;
  height: auto !important;
  transform: translateX(24px) !important;
}

/* Footer */
.ivl-footer-section,
.ivl-footer-bottom-section {
  border-top: 1px solid rgba(86, 30, 84, .10) !important;
}

.ivl-footer-brand h3 {
  color: var(--ivl-purple) !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  margin-bottom: 22px !important;
}

.ivl-footer-brand h3 span {
  color: var(--ivl-gold) !important;
  font-weight: 500 !important;
}

.ivl-footer-brand p,
.ivl-footer-links .sppb-addon-content,
.ivl-footer-funding .sppb-addon-content,
.ivl-footer-legal .sppb-addon-content {
  color: var(--ivl-black) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.ivl-footer-heading .sppb-addon-title {
  color: var(--ivl-black) !important;
}

.ivl-social {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--ivl-purple) !important;
  color: var(--ivl-white) !important;
  margin-right: 10px !important;
  font-weight: 800 !important;
}

.ivl-footer-bottom-section .sppb-row-container {
  border-top: 1px solid rgba(86, 30, 84, .18) !important;
  padding-top: 24px !important;
}

.ivl-footer-legal {
  text-align: right !important;
}

/* Responsive */
@media (max-width: 991px) {
  .ivl-hero-title-main .sppb-addon-title {
    font-size: 42px !important;
    line-height: 1.15 !important;
  }

  .ivl-hero-title-accent .sppb-addon-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }

  .ivl-hero-waves img,
  .ivl-cta-waves img {
    transform: none !important;
    margin-top: 20px !important;
  }

  .ivl-impact-section .sppb-row {
    padding: 34px 24px !important;
  }

  .ivl-impact-section .sppb-column {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.20) !important;
    padding: 18px 0 !important;
  }

  .ivl-footer-legal {
    text-align: left !important;
    margin-top: 20px !important;
  }
}

@media (max-width: 575px) {
  a.sppb-btn.ivl-btn-addon {
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 10px !important;
  }

  .ivl-hero-section a.sppb-btn.ivl-btn-outline,
  .ivl-cta-section a.sppb-btn.ivl-btn-outline {
    transform: none !important;
    margin-bottom: 10px !important;
  }
}

/* IVL - botões lado a lado sem hacks */
.ivl-hero-section .sppb-addon-wrapper:has(a.sppb-btn.ivl-btn-addon),
.ivl-cta-section .sppb-addon-wrapper:has(a.sppb-btn.ivl-btn-addon) {
  display: inline-block !important;
  width: auto !important;
  margin-right: 8px !important;
  margin-bottom: 8px !important;
  vertical-align: top !important;
}

a.sppb-btn.ivl-btn-addon {
  min-width: 150px !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
}

.sp-megamenu-parent {
	text-transform: none !important;
}


/* Menu da direita */
.menumenu-utilizador {
    display: flex;
    align-items: center;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menumenu-utilizador li {
    margin: 0;
    padding: 0;
}

/* Remove estilos herdados do template */
.menumenu-utilizador li a {
    text-decoration: none !important;
}

/* Entrar */
/* Entrar */
.botao-entrar-outline {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-width: 110px;
    height: 52px;

    padding: 0 28px;

    border: 2px solid var(--ivl-purple);
    border-radius: 12px;

    background: var(--ivl-white);
    color: var(--ivl-purple) !important;

    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 700;

    transition: all .25s ease;
}

.botao-entrar-outline:hover {
    background: var(--ivl-purple);
    border-color: var(--ivl-purple);
    color: var(--ivl-white) !important;
}

/* Registar */
.botao-registar-solid {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-width: 110px;
    height: 52px;

    padding: 0 28px;

    border-radius: 12px;

    background: var(--ivl-purple);
    border: 2px solid var(--ivl-purple);

    color: var(--ivl-white) !important;

    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 700;

    transition: all .25s ease;
}

.botao-registar-solid:hover {
    background: #431741;
    border-color: #431741;
    color: var(--ivl-white) !important;
}

.botao-registar-solid:hover {
    background: #3b0868;
    border-color: #3b0868;
    color: #ffffff !important;
}

.sp-megamenu-parent > li > a {
    color: var(--ivl-purple) !important;
    position: relative;
    transition: all .25s ease;
}

/* barra inferior */
.sp-megamenu-parent > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 12px;
    width: 0;
    height: 2px;

    background: var(--ivl-gold);

    transform: translateX(-50%);
    transition: width .25s ease;
}

/* hover */
.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.current > a {
    color: var(--ivl-gold) !important;
    transform: translateY(-1px);
}

.sp-megamenu-parent > li:hover > a::after,
.sp-megamenu-parent > li.active > a::after,
.sp-megamenu-parent > li.current > a::after {
    width: 60%;
}

/* Menu principal */
#sp-menu .sp-column {
    justify-content: flex-end !important;
}

#sp-menu .sp-megamenu-wrapper {
    width: 100% !important;
    justify-content: flex-end !important;
}

/* Menu utilizador */
#sp-menu-right {
    padding-left: 0 !important;
}

#sp-menu-right .sp-column {
    justify-content: flex-start !important;
}

.menumenu-utilizador {
    margin-left: 0 !important;
}


.ivl-sessions-box {
    background: #fff;
    border: 1px solid rgba(86,30,84,.16);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 20px 50px rgba(0,0,0,.06);
}

.ivl-sessions-box h2,
.ivl-sessions-box h3 {
    color: var(--ivl-purple);
}

.ivl-sessions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.ivl-session-card {
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 14px;
    padding: 24px;
    background: #fff;
}

.ivl-session-meta {
    color: var(--ivl-gold);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.ivl-session-status {
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(86,30,84,.08);
    color: var(--ivl-purple);
}

@media (max-width: 991px) {
    .ivl-sessions-grid {
        grid-template-columns: 1fr;
    }
}

:root {
    --ivl-cat-estrategia: #4B2BBF;
    --ivl-cat-valorizacao: #F26A1B;
    --ivl-cat-governacao: #168A4A;
    --ivl-cat-financiamento: #1F6FEB;
}

.ivl-program-topic-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 10px;
}

.ivl-program-cat-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none !important;
    line-height: 1.2;
    transition: all .18s ease;
}

.ivl-program-cat-badge:hover {
    transform: translateY(-1px);
}

.ivl-cat-valorizacao {
    background: rgba(242, 106, 27, .12);
    color: #F26A1B !important;
}

.ivl-cat-proteccao {
    background: rgba(75, 43, 191, .12);
    color: #4B2BBF !important;
}

.ivl-cat-certificacao {
    background: rgba(22, 138, 74, .12);
    color: #168A4A !important;
}

.ivl-cat-financiamento {
    background: rgba(31, 111, 235, .12);
    color: #1F6FEB !important;
}

.ivl-cat-default {
    background: rgba(86, 30, 84, .10);
    color: var(--ivl-purple) !important;
}


.ivl-category-page {
    font-family: Manrope, sans-serif;
    color: #10102e;
}

.ivl-category-page.ivl-theme-valorizacao {
    --cat-color: #F26A1B;
    --cat-soft: rgba(242,106,27,.10);
}

.ivl-category-page.ivl-theme-proteccao {
    --cat-color: #4B2BBF;
    --cat-soft: rgba(75,43,191,.10);
}

.ivl-category-page.ivl-theme-certificacao {
    --cat-color: #168A4A;
    --cat-soft: rgba(22,138,74,.10);
}

.ivl-category-page.ivl-theme-financiamento {
    --cat-color: #1F6FEB;
    --cat-soft: rgba(31,111,235,.10);
}

.ivl-category-hero {
    min-height: 330px;
    padding: 58px 64px;
    border-radius: 0 0 22px 22px;
    background: linear-gradient(135deg, var(--cat-soft), #fff);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ivl-breadcrumb {
    font-size: 13px;
    font-weight: 800;
    color: rgba(16,16,46,.7);
    margin-bottom: 22px;
}

.ivl-category-label {
    display: inline-block;
    background: var(--cat-soft);
    color: var(--cat-color);
    border-radius: 999px;
    padding: 6px 12px;
    text-transform: uppercase;
    font-weight: 900;
    font-size: 13px;
}

.ivl-category-hero h1 {
    color: var(--cat-color);
    font-size: 58px;
    font-weight: 900;
    margin: 18px 0;
}

.ivl-category-hero p {
    max-width: 530px;
    font-size: 18px;
    line-height: 1.8;
}

.ivl-category-hero-icon {
    width: 190px;
    height: 190px;
    border: 3px solid var(--cat-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cat-color);
    font-size: 78px;
    background: #fff;
}

.ivl-category-nav {
    margin: -32px auto 42px;
    max-width: 1180px;
    background: #fff;
    border: 1px solid rgba(16,16,46,.12);
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(0,0,0,.08);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
}

.ivl-category-nav a {
    padding: 22px 26px;
    color: #10102e !important;
    font-weight: 850;
    text-decoration: none !important;
    border-right: 1px solid rgba(16,16,46,.08);
}

.ivl-category-nav a:hover {
    color: var(--cat-color) !important;
    background: var(--cat-soft);
}

.ivl-category-section,
.ivl-category-info-strip {
    max-width: 1180px;
    margin: 0 auto 42px;
}

.ivl-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
}

.ivl-section-heading h2 {
    color: #10102e;
    font-size: 26px;
    font-weight: 900;
}

.ivl-section-heading a,
.ivl-category-info-strip a {
    color: var(--cat-color) !important;
    font-weight: 900;
    text-decoration: none !important;
}

.ivl-resource-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 20px;
}

.ivl-resource-cards div {
    border: 1px solid rgba(16,16,46,.12);
    border-radius: 14px;
    padding: 22px;
    min-height: 150px;
    background: #fff;
}

.ivl-resource-cards span {
    display: inline-block;
    color: var(--cat-color);
    background: var(--cat-soft);
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 900;
}

.ivl-resource-cards strong {
    display: block;
    margin: 15px 0;
}

.ivl-resource-cards small {
    color: rgba(16,16,46,.6);
}

.ivl-category-tabs {
    border: 1px solid rgba(16,16,46,.12);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.ivl-category-tabs input {
    display: none;
}

.ivl-tab-labels {
    display: flex;
    border-bottom: 1px solid rgba(16,16,46,.10);
}

.ivl-tab-labels label {
    padding: 18px 24px;
    font-weight: 900;
    cursor: pointer;
    color: rgba(16,16,46,.65);
}

#tab-upcoming:checked ~ .ivl-tab-labels label[for="tab-upcoming"],
#tab-past:checked ~ .ivl-tab-labels label[for="tab-past"] {
    color: var(--cat-color);
    border-bottom: 3px solid var(--cat-color);
}

.ivl-tab-panel {
    display: none;
    padding: 12px 24px 24px;
}

#tab-upcoming:checked ~ .ivl-tab-upcoming-panel {
    display: block;
}

#tab-past:checked ~ .ivl-tab-past-panel {
    display: block;
}

.ivl-category-session-row {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid rgba(16,16,46,.08);
}

.ivl-category-session-row:last-child {
    border-bottom: 0;
}

.ivl-session-date-icon {
    color: var(--cat-color);
    font-size: 24px;
}

.ivl-session-main h4 {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 900;
}

.ivl-session-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: rgba(16,16,46,.65);
    font-size: 14px;
}

.ivl-session-meta-line span {
    background: #f7f7fb;
    border-radius: 999px;
    padding: 4px 9px;
}

.ivl-questionnaire-status {
    margin-top: 8px;
    font-size: 13px;
    color: rgba(16,16,46,.7);
}

.ivl-questionnaire-status a {
    color: var(--cat-color) !important;
    font-weight: 900;
}

.ivl-session-action button {
    background: var(--cat-color);
    color: #fff;
    border: 0;
    border-radius: 9px;
    padding: 11px 18px;
    font-weight: 900;
    cursor: pointer;
}

.ivl-session-state {
    display: inline-block;
    background: var(--cat-soft);
    color: var(--cat-color);
    border-radius: 999px;
    padding: 8px 13px;
    font-weight: 900;
}

.ivl-category-info-strip {
    padding: 30px 34px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--cat-soft), #fff);
    border: 1px solid rgba(16,16,46,.10);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ivl-category-info-strip strong {
    color: var(--cat-color);
    font-size: 22px;
}

@media (max-width: 900px) {
    .ivl-category-hero {
        display: block;
        padding: 40px 24px;
    }

    .ivl-category-hero-icon {
        margin-top: 28px;
    }

    .ivl-category-nav,
    .ivl-resource-cards {
        grid-template-columns: 1fr;
    }

    .ivl-category-session-row {
        grid-template-columns: 1fr;
    }

    .ivl-category-info-strip {
        display: block;
    }
}



:root {
    --ivl-cat-estrategia: #4B2BBF;
    --ivl-cat-valorizacao: #F26A1B;
    --ivl-cat-governacao: #168A4A;
    --ivl-cat-financiamento: #1F6FEB;
}

/* Badges na página Programa */
.ivl-cat-estrategia,
.ivl-cat-proteccao {
    background: rgba(75, 43, 191, .12);
    color: #4B2BBF !important;
}

.ivl-cat-valorizacao {
    background: rgba(242, 106, 27, .12);
    color: #F26A1B !important;
}

.ivl-cat-governacao,
.ivl-cat-certificacao {
    background: rgba(22, 138, 74, .12);
    color: #168A4A !important;
}

.ivl-cat-financiamento {
    background: rgba(31, 111, 235, .12);
    color: #1F6FEB !important;
}

.ivl-cat-default {
    background: rgba(86, 30, 84, .10);
    color: var(--ivl-purple) !important;
}

/* Cores das páginas individuais */
.ivl-category-page.ivl-theme-estrategia,
.ivl-category-page.ivl-theme-proteccao {
    --cat-color: #4B2BBF;
    --cat-soft: rgba(75,43,191,.10);
}

.ivl-category-page.ivl-theme-valorizacao {
    --cat-color: #F26A1B;
    --cat-soft: rgba(242,106,27,.10);
}

.ivl-category-page.ivl-theme-governacao,
.ivl-category-page.ivl-theme-certificacao {
    --cat-color: #168A4A;
    --cat-soft: rgba(22,138,74,.10);
}

.ivl-category-page.ivl-theme-financiamento {
    --cat-color: #1F6FEB;
    --cat-soft: rgba(31,111,235,.10);
}

.ivl-session-state-closed {
    background: rgba(16,16,46,.08) !important;
    color: rgba(16,16,46,.55) !important;
}


.ivl-admin-sessions {
    max-width: 1500px;
    margin: 60px auto;
    padding: 0 24px;
    font-family: Manrope, sans-serif;
}

.ivl-admin-sessions h1 {
    color: var(--ivl-purple);
    font-size: 38px;
    font-weight: 900;
}

.ivl-admin-layout {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 28px;
    margin-top: 30px;
}

.ivl-admin-lessons {
    background: #fff;
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 16px;
    padding: 20px;
    max-height: 80vh;
    overflow: auto;
}

.ivl-admin-lessons h2 {
    color: var(--ivl-purple);
    font-size: 20px;
}

.ivl-admin-lessons a {
    display: block;
    padding: 16px;
    border-radius: 12px;
    text-decoration: none !important;
    color: #10102e !important;
    border: 1px solid transparent;
    margin-bottom: 10px;
}

.ivl-admin-lessons a.active,
.ivl-admin-lessons a:hover {
    background: rgba(86,30,84,.08);
    border-color: rgba(86,30,84,.18);
}

.ivl-admin-lessons strong,
.ivl-admin-lessons span,
.ivl-admin-lessons small {
    display: block;
}

.ivl-admin-lessons span {
    margin-top: 5px;
    color: rgba(16,16,46,.65);
}

.ivl-admin-lessons small {
    margin-top: 7px;
    color: var(--ivl-purple);
    font-weight: 800;
}

.ivl-admin-card {
    background: #fff;
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 22px;
    box-shadow: 0 16px 40px rgba(0,0,0,.04);
}

.ivl-admin-card h2,
.ivl-admin-card h3 {
    color: var(--ivl-purple);
    margin-top: 0;
}

.ivl-admin-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin-top: 18px;
}

.ivl-admin-stats div {
    background: #FAF7FA;
    border-radius: 12px;
    padding: 18px;
}

.ivl-admin-stats strong {
    display: block;
    color: var(--ivl-purple);
    font-size: 30px;
}

.ivl-admin-add-form {
    display: flex;
    gap: 12px;
}

.ivl-admin-add-form input {
    flex: 1;
    border: 1px solid rgba(86,30,84,.22);
    border-radius: 10px;
    padding: 12px 14px;
}

.ivl-admin-add-form button,
.ivl-admin-actions button {
    background: var(--ivl-purple);
    color: #fff;
    border: 0;
    border-radius: 9px;
    padding: 10px 14px;
    font-weight: 800;
    cursor: pointer;
}

.ivl-admin-table {
    width: 100%;
    border-collapse: collapse;
}

.ivl-admin-table th {
    text-align: left;
    background: #FAF7FA;
    color: var(--ivl-purple);
    padding: 13px;
}

.ivl-admin-table td {
    padding: 13px;
    border-bottom: 1px solid rgba(86,30,84,.10);
    vertical-align: top;
}

.ivl-admin-pill {
    display: inline-block;
    background: rgba(86,30,84,.10);
    color: var(--ivl-purple);
    border-radius: 999px;
    padding: 5px 10px;
    font-weight: 800;
    font-size: 12px;
}

.ivl-admin-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ivl-admin-actions form {
    margin: 0;
}

.ivl-admin-actions button.danger {
    background: #b42318;
}

@media (max-width: 1000px) {
    .ivl-admin-layout {
        grid-template-columns: 1fr;
    }

    .ivl-admin-table {
        display: block;
        overflow-x: auto;
    }
}

.ivl-my-sessions-card {
    margin-bottom: 28px;
}

.ivl-my-sessions-table small {
    color: rgba(18,10,42,.62);
}

.ivl-my-sessions-table form {
    margin: 0;
}

.ivl-badge-ok {
    background: rgba(22,138,74,.12) !important;
    color: #168A4A !important;
}

.ivl-my-sessions-table .ivl-btn-mini {
    display: inline-flex;
    text-decoration: none !important;
    color: #fff !important;
}


.ivl-program-topic-link {
    text-decoration: none !important;
    color: inherit !important;
}

.ivl-program-topic-link:hover {
    background: #FAF7FA;
    transform: translateX(3px);
}

.ivl-program-topic-content .ivl-program-cat-badge {
    margin: 4px 0 10px;
}


.ivl-resources-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 70px 20px;
    font-family: Manrope, sans-serif;
    color: #070737;
}

.ivl-resources-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 40px;
    min-height: 330px;
}

.ivl-resources-hero span {
    color: var(--ivl-purple);
    text-transform: uppercase;
    font-weight: 900;
    font-size: 14px;
}

.ivl-resources-hero h1 {
    max-width: 620px;
    font-size: 44px;
    line-height: 1.25;
    margin: 18px 0;
    font-weight: 900;
    color: #070737;
}

.ivl-resources-hero p {
    max-width: 520px;
    font-size: 17px;
    line-height: 1.8;
}

.ivl-resources-hero-art {
    min-height: 250px;
    border-radius: 40px;
    background-image: url("/images/ivl/imagens/ivl_waves.png");
    background-size: cover;
    background-position: center;
}

.ivl-resources-filter-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 36px 0 18px;
    flex-wrap: wrap;
}

.ivl-resources-filter-bar input {
    width: 300px;
    height: 48px;
    border: 1px solid rgba(86,30,84,.18);
    border-radius: 9px;
    padding: 0 16px;
    background: #fff;
    color: #070737;
    font-weight: 700;
}

.ivl-resource-category-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ivl-filter-pill,
.ivl-clear-filter,
.ivl-resource-type-filters button {
    height: 42px;
    border: 0;
    border-radius: 9px;
    padding: 0 18px;
    font-weight: 900;
    cursor: pointer;
    transition: all .18s ease;
}

.ivl-filter-pill {
    background: var(--res-soft);
    color: var(--res-color);
}

.ivl-filter-pill.active,
.ivl-resource-type-filters button.active {
    box-shadow: 0 0 0 3px currentColor inset;
}

.ivl-clear-filter {
    background: transparent;
    color: var(--ivl-purple);
}

.ivl-resource-type-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 42px;
    flex-wrap: wrap;
}

.ivl-resource-type-filters strong {
    color: var(--ivl-purple);
}

.ivl-resource-type-filters button {
    background: #f1eef5;
    color: var(--ivl-purple);
}

.ivl-resources-toolbar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
    color: #070737;
}

.ivl-resources-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 26px;
}

.ivl-resource-card {
    min-height: 330px;
    border: 1px solid rgba(86,30,84,.16);
    border-radius: 12px;
    background: #fff;
    padding: 26px;
    display: flex;
    flex-direction: column;
    transition: all .2s ease;
    text-decoration: none !important;
    color: inherit !important;
}

.ivl-resource-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(0,0,0,.06);
}

.ivl-resource-category,
.ivl-resource-type {
    align-self: flex-start;
    border-radius: 7px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 900;
    background: var(--res-soft);
    color: var(--res-color);
    text-transform: uppercase;
}

.ivl-resource-file-icon {
    width: 58px;
    height: 70px;
    margin-top: 28px;
    border: 2px solid var(--res-color);
    border-radius: 10px;
    color: var(--res-color);
    font-weight: 900;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--res-soft);
    position: relative;
}

.ivl-resource-file-icon::after {
    content: "";
    position: absolute;
    top: -2px;
    right: -2px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-left: 2px solid var(--res-color);
    border-bottom: 2px solid var(--res-color);
    border-radius: 0 8px 0 6px;
}

.ivl-resource-card h3 {
    margin: 24px 0 14px;
    font-size: 22px;
    line-height: 1.45;
    font-weight: 900;
}

.ivl-resource-card p {
    line-height: 1.7;
    color: rgba(7,7,55,.72);
}

.ivl-resource-bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ivl-resource-action {
    margin-left: auto;
    color: var(--res-color) !important;
    font-size: 28px;
    font-weight: 900;
    text-decoration: none !important;
}

.ivl-resource-cat-estrategia {
    --res-color: #4B2BBF;
    --res-soft: rgba(75,43,191,.13);
}

.ivl-resource-cat-valorizacao {
    --res-color: #F26A1B;
    --res-soft: rgba(242,106,27,.13);
}

.ivl-resource-cat-governacao {
    --res-color: #168A4A;
    --res-soft: rgba(22,138,74,.13);
}

.ivl-resource-cat-financiamento {
    --res-color: #1F6FEB;
    --res-soft: rgba(31,111,235,.13);
}

.ivl-resource-cat-default {
    --res-color: var(--ivl-purple);
    --res-soft: rgba(86,30,84,.12);
}

.ivl-resources-empty {
    margin-top: 30px;
    padding: 24px;
    border-radius: 12px;
    background: #FAF7FA;
    color: var(--ivl-purple);
    font-weight: 800;
}

@media (max-width: 950px) {
    .ivl-resources-hero,
    .ivl-resources-grid {
        grid-template-columns: 1fr;
    }

    .ivl-resources-filter-bar input {
        width: 100%;
    }
}


.ivl-resource-mini-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ivl-resource-mini-card {
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 20px;
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 14px;
    background: #fff;
    text-decoration: none !important;
    color: inherit !important;
    transition: all .2s ease;
}

.ivl-resource-mini-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgba(0,0,0,.06);
}

.ivl-resource-mini-type {
    align-self: flex-start;
    background: var(--cat-soft, rgba(86,30,84,.10));
    color: var(--cat-color, var(--ivl-purple));
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.ivl-resource-mini-icon {
    width: 48px;
    height: 58px;
    margin-top: 16px;
    border: 2px solid var(--cat-color, var(--ivl-purple));
    border-radius: 9px;
    background: var(--cat-soft, rgba(86,30,84,.10));
    color: var(--cat-color, var(--ivl-purple));
    font-size: 12px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ivl-resource-mini-card h3 {
    font-size: 16px;
    font-weight: 900;
    margin: 16px 0 8px;
}

.ivl-resource-mini-card p {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(18,10,42,.66);
}

.ivl-resource-mini-card strong {
    margin-top: auto;
    color: var(--cat-color, var(--ivl-purple));
    font-weight: 900;
}

@media (max-width: 1000px) {
    .ivl-resource-mini-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .ivl-resource-mini-grid {
        grid-template-columns: 1fr;
    }
}


.ivl-register-card form,
.ivl-register-card .rsform {
    margin-top: 28px;
}

.ivl-register-card .formControlLabel,
.ivl-register-card label {
    color: #1d1030;
    font-weight: 750;
    font-size: 14px;
}

.ivl-register-card input[type="text"],
.ivl-register-card input[type="email"],
.ivl-register-card input[type="password"],
.ivl-register-card input[type="tel"],
.ivl-register-card select,
.ivl-register-card textarea {
    width: 100% !important;
    height: 48px;
    border: 1px solid rgba(86,30,84,.18) !important;
    border-radius: 10px !important;
    background: #fff !important;
    padding: 0 14px !important;
    color: #120a2a !important;
    font-size: 15px !important;
    box-shadow: none !important;
    transition: all .18s ease;
}

.ivl-register-card input:focus,
.ivl-register-card textarea:focus,
.ivl-register-card select:focus {
    border-color: #561E54 !important;
    box-shadow: 0 0 0 4px rgba(86,30,84,.10) !important;
    outline: none !important;
}

.ivl-register-card .rsform-block,
.ivl-register-card .form-group,
.ivl-register-card .control-group {
    margin-bottom: 18px !important;
}

.ivl-register-card .formResponsive .formHorizontal .control-label,
.ivl-register-card .control-label {
    width: 100% !important;
    text-align: left !important;
    margin-bottom: 7px !important;
}

.ivl-register-card .formResponsive .formHorizontal .controls,
.ivl-register-card .controls {
    margin-left: 0 !important;
}

.ivl-register-card button,
.ivl-register-card input[type="submit"],
.ivl-register-card .btn,
.ivl-register-card .rsform-submit-button {
    min-width: 170px;
    height: 52px;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #561E54, #8A22FF) !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: .02em;
    box-shadow: 0 14px 28px rgba(86,30,84,.22);
    cursor: pointer;
}

.ivl-register-card button:hover,
.ivl-register-card input[type="submit"]:hover,
.ivl-register-card .btn:hover,
.ivl-register-card .rsform-submit-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(86,30,84,.28);
}

.ivl-register-card .formError,
.ivl-register-card .rsform-error {
    color: #b42318 !important;
    font-size: 13px;
    font-weight: 700;
}

.ivl-register-card .rsform-required {
    color: #8A22FF;
}

.ivl-register-card .ivl-turnstile-wrap {
    margin-left: 0;
    margin-top: 18px;
    margin-bottom: 22px;
    display: flex;
    justify-content: flex-start;
}

.ivl-register-card .cf-turnstile {
    transform-origin: left center;
}

/* melhora a linha da password strength */
.ivl-register-card .progress,
.ivl-register-card .password-strength {
    max-width: 100% !important;
    border-radius: 999px !important;
    overflow: hidden;
    height: 10px !important;
    background: #eeeaf2 !important;
    margin-top: 8px !important;
}

.ivl-register-card .rsform-block-free-text,
.ivl-register-card .rsform-block-turnstile,
.ivl-register-card .rsform-block-captcha {
    margin-left: 0 !important;
}

/* alinhar botão com os campos */
.ivl-register-card .rsform-block-submit,
.ivl-register-card .formControls {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.ivl-register-card .rsform-submit-button {
    margin-left: 0 !important;
}


.ivl-inline-login-form {
    margin-top: 28px;
}

.ivl-login-field {
    margin-bottom: 18px;
}

.ivl-login-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 850;
    color: #120a2a;
}

.ivl-login-field input {
    width: 100%;
    height: 52px;
    border: 1px solid rgba(86,30,84,.18);
    border-radius: 12px;
    padding: 0 16px;
    font-size: 15px;
    background: #fff;
}

.ivl-login-field input:focus {
    border-color: #561E54;
    box-shadow: 0 0 0 4px rgba(86,30,84,.10);
    outline: none;
}

.ivl-login-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin: 8px 0 24px;
    font-size: 14px;
}

.ivl-login-row a,
.ivl-login-register a {
    color: #561E54 !important;
    font-weight: 800;
}

.ivl-login-remember {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ivl-login-submit {
    width: 220px;
    height: 54px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #561E54, #8A22FF);
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: 0 16px 32px rgba(86,30,84,.24);
    cursor: pointer;
}

.ivl-login-submit:hover {
    transform: translateY(-1px);
}

.ivl-login-register {
    margin-top: 18px;
}


.ivl-program-public {
    max-width: 1180px;
    margin: 0 auto;
    padding: 30px 20px;
    font-family: Manrope, sans-serif;
    color: #120A2A;
}

.ivl-program-public-hero span {
    color: var(--ivl-purple);
    text-transform: uppercase;
    font-weight: 900;
    font-size: 14px;
}

.ivl-program-public-hero h1 {
    font-size: 46px;
    color: #120A2A;
    font-weight: 850;
    margin: 22px 0 14px;
}

.ivl-program-public-hero p {
    max-width: 760px;
    font-size: 18px;
    line-height: 1.8;
    color: rgba(18,10,42,.78);
}

.ivl-program-cycle {
    margin: 60px 0;
    padding: 36px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(86,30,84,.08), rgba(235,196,191,.18));
}

.ivl-program-cycle h2 {
    color: var(--ivl-purple);
    font-size: 28px;
    font-weight: 850;
}

.ivl-program-cycle-meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-weight: 800;
    margin: 22px 0;
}

.ivl-program-cycle p {
    max-width: 750px;
    line-height: 1.8;
}

.ivl-program-section-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
}

.ivl-program-section-top h2 {
    color: #120A2A;
    font-size: 26px;
    font-weight: 850;
}

.ivl-program-section-top a {
    color: var(--ivl-purple) !important;
    font-weight: 850;
    text-decoration: none !important;
}

.ivl-program-timeline {
    position: relative;
    padding-left: 42px;
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}

.ivl-program-timeline::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 34px;
    bottom: 34px;
    width: 4px;
    background: var(--ivl-purple);
    border-radius: 99px;
}

.ivl-program-topic {
    position: relative;
    display: grid;
    grid-template-columns: 76px 1fr 110px;
    align-items: center;
    gap: 22px;
    padding: 30px;
    border-bottom: 1px solid rgba(86,30,84,.12);
    color: inherit !important;
    text-decoration: none !important;
    transition: all .2s ease;
}

.ivl-program-topic:last-child {
    border-bottom: 0;
}

.ivl-program-topic::before {
    content: "";
    position: absolute;
    left: -26px;
    top: 50%;
    width: 18px;
    height: 18px;
    background: var(--ivl-purple);
    border-radius: 50%;
    transform: translateY(-50%);
}

.ivl-program-topic:hover {
    background: #FAF7FA;
}

.ivl-program-topic-icon {
    width: 62px;
    height: 62px;
    background: rgba(86,30,84,.08);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ivl-program-topic-content span {
    color: var(--ivl-purple);
    font-size: 13px;
    font-weight: 900;
}

.ivl-program-topic-content h3 {
    margin: 6px 0;
    font-size: 22px;
    font-weight: 850;
}

.ivl-program-topic-content p {
    margin: 0;
    color: rgba(18,10,42,.72);
    line-height: 1.6;
}

.ivl-program-topic-count {
    color: #120A2A;
    font-weight: 850;
    white-space: nowrap;
}

.ivl-program-topic-arrow {
    color: var(--ivl-purple);
    font-size: 36px;
}

.ivl-program-certification {
    margin: 60px 0 45px;
    padding: 34px 40px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(86,30,84,.08), rgba(235,196,191,.18));
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ivl-program-certification h2,
.ivl-program-how h2 {
    color: var(--ivl-purple);
    font-weight: 850;
}

.ivl-ip-ready-badge {
    width: 130px;
    height: 130px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ivl-ip-ready-badge strong {
    color: var(--ivl-purple);
    font-size: 50px;
    line-height: 1;
}

.ivl-ip-ready-badge span {
    color: #f28a16;
    font-weight: 900;
}

.ivl-program-how-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 28px;
    margin: 26px 0 34px;
}

.ivl-program-how-grid div {
    padding: 24px;
    border-right: 1px solid rgba(86,30,84,.16);
}

.ivl-program-how-grid div:last-child {
    border-right: 0;
}

.ivl-program-how-grid span {
    color: var(--ivl-purple);
    font-size: 34px;
}

.ivl-program-how-grid h3 {
    color: var(--ivl-purple);
    font-size: 18px;
    font-weight: 850;
}

.ivl-program-main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(86,30,84,.24);
    border-radius: 10px;
    padding: 14px 28px;
    color: var(--ivl-purple) !important;
    font-weight: 850;
    text-decoration: none !important;
    background: #fff;
}

@media (max-width: 850px) {
    .ivl-program-topic {
        grid-template-columns: 1fr;
    }

    .ivl-program-certification,
    .ivl-program-section-top {
        display: block;
    }

    .ivl-program-how-grid {
        grid-template-columns: 1fr;
    }
}

#system-message-container,
.container-system-messages {
    position: fixed !important;
    top: 96px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 99999 !important;
    width: min(620px, calc(100% - 32px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    pointer-events: none !important;
}

#system-message-container .alert,
.container-system-messages .alert,
#system-message-container joomla-alert,
.container-system-messages joomla-alert,
.joomla-alert {
    pointer-events: auto !important;
    border: 0 !important;
    border-radius: 18px !important;
    padding: 18px 52px 18px 22px !important;
    background: #FAF7FA !important;
    color: #561E54 !important;
    box-shadow: 0 18px 45px rgba(86,30,84,.18) !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
    border: 3px solid #ADA074 !important;
}

#system-message-container .alert-message,
.container-system-messages .alert-message {
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
}

#system-message-container .btn-close,
.joomla-alert .joomla-alert--close {
    opacity: .65 !important;
}


.ivl-no-company-card {
    max-width: 720px;
    margin: 90px auto;
    text-align: center;
    padding: 54px 46px;
}

.ivl-no-company-card h2 {
    color: #561E54;
    font-size: 34px;
    font-weight: 900;
}


.ivl-register-card .rsform-block-company-name label,
.ivl-register-card .rsform-block-company_name label,
.ivl-register-card .rsform-block-location label,
.ivl-register-card .rsform-block-sector label,
.ivl-register-card .rsform-block-logo label {
    text-align: left !important;
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 800 !important;
}

.ivl-register-card input[type="text"],
.ivl-register-card input[type="file"],
.ivl-register-card .rsform-upload-box,
.ivl-register-card .form-control {
    width: 100% !important;
    max-width: 100% !important;
}

.ivl-register-card .rsform-block-logo img {
    max-width: 150px !important;
    max-height: 150px !important;
    object-fit: contain;
    border-radius: 14px;
    border: 1px solid rgba(86,30,84,.16);
    padding: 12px;
    background: #fff;
}

.ivl-register-card .rsform-block-logo button,
.ivl-register-card .rsform-block-logo .btn {
    margin-top: 10px;
}


.ivl-register-card .rsform-block-company-name label,
.ivl-register-card .rsform-block-company_name label,
.ivl-register-card .rsform-block-location label,
.ivl-register-card .rsform-block-sector label,
.ivl-register-card .rsform-block-logo label {
    text-align: left !important;
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 800 !important;
}

.ivl-register-card input[type="text"],
.ivl-register-card input[type="file"],
.ivl-register-card .rsform-upload-box,
.ivl-register-card .form-control {
    width: 100% !important;
    max-width: 100% !important;
}

.ivl-register-card .rsform-block-logo img {
    max-width: 150px !important;
    max-height: 150px !important;
    object-fit: contain;
    border-radius: 14px;
    border: 1px solid rgba(86,30,84,.16);
    padding: 12px;
    background: #fff;
}

.ivl-register-card .rsform-block-logo button,
.ivl-register-card .rsform-block-logo .btn {
    margin-top: 10px;
}


.ivl-questionnaire-thanks {
    background: #FAF7FA;
    border: 1px solid rgba(86,30,84,.14);
    border-left: 5px solid #ADA074;
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 26px;
}

.ivl-questionnaire-answers {
    margin-top: 28px;
    display: grid;
    gap: 14px;
}

.ivl-questionnaire-answer {
    background: #FAF7FA;
    border: 1px solid rgba(86,30,84,.12);
    border-radius: 14px;
    padding: 16px 18px;
}

.ivl-questionnaire-answer strong {
    display: block;
    color: #561E54;
    margin-bottom: 8px;
}

.ivl-questionnaire-answer p {
    margin: 0;
    color: #3d3047;
}

.ivl-questionnaire-note {
    margin: 24px 0;
    padding: 16px 18px;
    border-radius: 14px;
    background: #fff7ed;
    color: #8a3b00;
    font-weight: 750;
}

body.ltr .sp-megamenu-parent > li.sp-has-child > a::after, body.ltr .sp-megamenu-parent > li.sp-has-child > span::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "";
	float: right;
	margin-left: 7px;
    display: none !important;
}


.sp-megamenu-parent > li > a.botao-entrar-outline,
.sp-megamenu-parent > li.active > a.botao-entrar-outline,
.sp-megamenu-parent > li.current > a.botao-entrar-outline,
.sp-megamenu-parent > li:hover > a.botao-entrar-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 110px !important;
    height: 52px !important;
    line-height: 1 !important;
    padding: 0 28px !important;
    border: 2px solid var(--ivl-purple) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--ivl-purple) !important;
    font-family: Manrope, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    transform: none !important;
}

.sp-megamenu-parent > li > a.botao-registar-solid,
.sp-megamenu-parent > li.active > a.botao-registar-solid,
.sp-megamenu-parent > li.current > a.botao-registar-solid,
.sp-megamenu-parent > li:hover > a.botao-registar-solid {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 120px !important;
    height: 52px !important;
    line-height: 1 !important;
    padding: 0 28px !important;
    border: 2px solid var(--ivl-purple) !important;
    border-radius: 12px !important;
    background: var(--ivl-purple) !important;
    color: #fff !important;
    font-family: Manrope, sans-serif !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    text-transform: none !important;
    transform: none !important;
}

.sp-megamenu-parent > li > a.botao-dashboard-menu,
.sp-megamenu-parent > li.active > a.botao-dashboard-menu,
.sp-megamenu-parent > li.current > a.botao-dashboard-menu,
.sp-megamenu-parent > li:hover > a.botao-dashboard-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 130px !important;
    height: 52px !important;
    line-height: 1 !important;
    padding: 0 28px !important;
    border: 2px solid var(--ivl-purple) !important;
    border-radius: 12px !important;
    background: var(--ivl-purple) !important;
    color: #fff !important;
    font-family: Manrope, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: none !important;
    box-shadow: 0 12px 28px rgba(173,160,116,.28) !important;
    transform: none !important;
}

.sp-megamenu-parent > li > a.botao-entrar-outline::after,
.sp-megamenu-parent > li > a.botao-registar-solid::after,
.sp-megamenu-parent > li > a.botao-dashboard-menu::after {
    display: none !important;
}

.sp-megamenu-parent > li > a.botao-entrar-outline:hover {
    background: var(--ivl-soft) !important;
}

.sp-megamenu-parent > li > a.botao-registar-solid:hover {
    background: #40163f !important;
    border-color: #40163f !important;
}

.sp-megamenu-parent > li > a.botao-dashboard-menu:hover {
    filter: brightness(.97);
}


.ivl-dashboard-app {
    font-family: Manrope, sans-serif;
    color: #120A2A;
}

.ivl-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 34px;
}

.ivl-dashboard-header h1 {
    color: var(--ivl-purple);
    font-size: 34px;
    font-weight: 800;
    margin: 0 0 6px;
}

.ivl-dashboard-header p {
    margin: 0;
    color: rgba(18,10,42,.72);
    font-size: 17px;
}

.ivl-dashboard-top-btn {
    border: 1px solid rgba(86,30,84,.25);
    color: var(--ivl-purple) !important;
    border-radius: 8px;
    padding: 12px 18px;
    font-weight: 800;
    text-decoration: none !important;
    background: #fff;
}

.ivl-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 20px;
    margin-bottom: 28px;
}

.ivl-stat-card,
.ivl-dashboard-card,
.ivl-dashboard-wide-card {
    background: #fff;
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(0,0,0,.05);
}

.ivl-stat-card {
    padding: 26px 24px;
    min-height: 215px;
}

.ivl-stat-card:nth-child(1) {
    background: linear-gradient(135deg, rgba(86,30,84,.09), #fff);
}

.ivl-stat-card:nth-child(2) {
    background: linear-gradient(135deg, rgba(86,30,84,.07), #fff);
}

.ivl-stat-highlight {
    background: linear-gradient(135deg, rgba(173,160,116,.23), #fff) !important;
}

.ivl-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(86,30,84,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    font-size: 22px;
}

.ivl-stat-card span {
    display: block;
    color: var(--ivl-purple);
    font-weight: 800;
    margin-bottom: 12px;
}

.ivl-stat-card strong {
    display: inline-block;
    font-size: 30px;
    color: #130A38;
    margin-right: 6px;
}

.ivl-stat-card small {
    color: #130A38;
    font-weight: 700;
}

.ivl-stat-card p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(18,10,42,.7);
    margin: 14px 0 0;
}

.ivl-dashboard-wide-card {
    display: grid;
    grid-template-columns: 90px 1fr 1fr;
    gap: 30px;
    padding: 28px;
    margin-bottom: 28px;
    align-items: center;
}

.ivl-dashboard-wide-card h3,
.ivl-dashboard-card h3,
.ivl-dashboard-card h4 {
    color: var(--ivl-purple);
    font-weight: 800;
    margin-top: 0;
}

.ivl-dashboard-wide-card p,
.ivl-dashboard-wide-card li,
.ivl-dashboard-card p,
.ivl-dashboard-card small {
    color: rgba(18,10,42,.72);
}

.ivl-cert-icon {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: rgba(86,30,84,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ivl-purple);
    font-size: 42px;
}

.ivl-dashboard-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 28px;
}

.ivl-dashboard-card {
    padding: 26px;
}

.ivl-progress-layout {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 24px;
    align-items: center;
}

.ivl-progress-circle {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    background:
        conic-gradient(var(--ivl-purple) calc(var(--progress) * 1%), #eee 0);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.ivl-progress-circle::before {
    content: "";
    position: absolute;
    width: 96px;
    height: 96px;
    background: #fff;
    border-radius: 50%;
}

.ivl-progress-circle span {
    position: relative;
    z-index: 1;
    color: #130A38;
    font-size: 30px;
    font-weight: 900;
}

.ivl-progress-bar {
    height: 10px;
    background: #e9e5ec;
    border-radius: 20px;
    overflow: hidden;
    margin: 16px 0;
}

.ivl-progress-bar span {
    display: block;
    height: 100%;
    background: var(--ivl-purple);
    border-radius: 20px;
}

.ivl-info-row {
    display: grid;
    grid-template-columns: 42px 1fr 28px;
    gap: 14px;
    align-items: center;
    padding: 16px;
    background: #faf8fb;
    border-radius: 12px;
    margin-bottom: 12px;
}

.ivl-info-row p {
    margin: 0;
}

.ivl-info-row strong {
    color: #2cac5f;
}

.ivl-card-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 18px;
}

.ivl-card-heading a {
    color: var(--ivl-purple) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.ivl-dashboard-table {
    width: 100%;
    border-collapse: collapse;
}

.ivl-dashboard-table th {
    background: #f4eef4;
    color: var(--ivl-purple);
    font-weight: 800;
    text-align: left;
    padding: 12px;
}

.ivl-dashboard-table td {
    border-bottom: 1px solid rgba(86,30,84,.12);
    padding: 12px;
}

.ivl-team-count {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 18px;
}

.ivl-team-count strong {
    color: var(--ivl-purple);
    font-size: 42px;
}

.ivl-badge {
    display: inline-block;
    background: rgba(86,30,84,.1);
    color: var(--ivl-purple);
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 800;
}

.ivl-muted {
    opacity: .55;
}

.ivl-btn-mini,
.ivl-btn-mini-danger {
    border: 0;
    border-radius: 7px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.ivl-btn-mini {
    background: var(--ivl-purple);
    color: #fff;
}

.ivl-btn-mini-danger {
    background: #f1e7ef;
    color: var(--ivl-purple);
}

.ivl-resource-placeholder-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 16px;
}

.ivl-resource-placeholder {
    border: 1px solid rgba(86,30,84,.14);
    border-radius: 12px;
    padding: 18px;
    min-height: 150px;
}

.ivl-resource-placeholder span {
    color: var(--ivl-purple);
    font-size: 12px;
    font-weight: 900;
}

.ivl-resource-placeholder strong {
    display: block;
    margin: 12px 0;
    color: #130A38;
}

.ivl-resource-placeholder small {
    color: rgba(18,10,42,.62);
}

@media (max-width: 1100px) {
    .ivl-dashboard-stats,
    .ivl-resource-placeholder-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .ivl-dashboard-grid-2,
    .ivl-dashboard-wide-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .ivl-dashboard-header {
        display: block;
    }

    .ivl-dashboard-stats,
    .ivl-resource-placeholder-grid {
        grid-template-columns: 1fr;
    }

    .ivl-progress-layout {
        grid-template-columns: 1fr;
    }
}

.ivl-sidebar {
    background: linear-gradient(180deg, #561E54 0%, #22082d 100%);
    border-radius: 0 14px 14px 0;
    padding: 28px 18px;
    color: #fff;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
}

.ivl-sidebar-logo {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 34px;
    color: #fff;
}

.ivl-sidebar-logo strong {
    font-size: 38px;
    line-height: .9;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.ivl-sidebar-logo span {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.05;
}

.ivl-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ivl-sidebar-nav a,
.ivl-sidebar-bottom a {
    display: flex;
    align-items: center;
    gap: 13px;
    color: rgba(255,255,255,.86) !important;
    text-decoration: none !important;
    padding: 13px 14px;
    border-radius: 10px;
    font-weight: 700;
    line-height: 1.25;
    transition: all .2s ease;
}

.ivl-sidebar-nav a:hover,
.ivl-sidebar-nav a.active,
.ivl-sidebar-bottom a:hover {
    background: rgba(255,255,255,.13);
    color: #fff !important;
    transform: translateX(2px);
}

.ivl-sidebar-icon {
    width: 25px;
    min-width: 25px;
    text-align: center;
    font-size: 20px;
}

.ivl-sidebar-bottom {
    margin-top: auto;
}

.ivl-sidebar-subnav {
    margin: -6px 0 8px 38px;
    padding-left: 14px;
    border-left: 1px solid rgba(255,255,255,.18);
    display: grid;
    gap: 4px;
}

.ivl-sidebar-subnav a {
    display: block;
    padding: 8px 12px !important;
    border-radius: 10px;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none !important;
    line-height: 1.25;
}

.ivl-sidebar-subnav a:hover,
.ivl-sidebar-subnav a.active {
    background: rgba(255,255,255,.12);
    color: #fff !important;
}

.ivl-company-profile {
    max-width: 1180px;
    margin: 0 auto;
    padding: 54px 24px 80px;
    font-family: Manrope, sans-serif;
    color: #120a2a;
}

.ivl-company-profile-hero {
    background: linear-gradient(135deg, rgba(86,30,84,.10), #fff);
    border: 1px solid rgba(86,30,84,.12);
    border-radius: 24px;
    padding: 42px 46px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 34px;
    margin-bottom: 28px;
}

.ivl-company-profile-hero span {
    display: inline-block;
    color: #561E54;
    background: rgba(86,30,84,.10);
    border-radius: 999px;
    padding: 7px 13px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ivl-company-profile-hero h1 {
    margin: 18px 0 10px;
    color: #561E54;
    font-size: 42px;
    font-weight: 950;
}

.ivl-company-profile-hero p {
    margin: 0;
    color: rgba(18,10,42,.72);
    font-size: 17px;
}

.ivl-company-profile-logo {
    width: 132px;
    height: 132px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid rgba(86,30,84,.16);
    box-shadow: 0 18px 45px rgba(86,30,84,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ivl-company-profile-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 18px;
}

.ivl-company-profile-logo strong {
    font-size: 56px;
    color: #561E54;
    font-weight: 950;
}

.ivl-company-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
    gap: 24px;
}

.ivl-company-profile-card {
    background: #fff;
    border: 1px solid rgba(86,30,84,.12);
    border-radius: 22px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(86,30,84,.06);
}

.ivl-company-profile-card h2 {
    margin: 0 0 26px;
    color: #561E54;
    font-size: 26px;
    font-weight: 950;
}

.ivl-company-profile-form {
    display: grid;
    gap: 18px;
}

.ivl-company-profile-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 900;
    color: #120a2a;
}

.ivl-company-profile-field input[type="text"],
.ivl-company-profile-field input[type="file"] {
    width: 100%;
    min-height: 52px;
    border: 1px solid rgba(86,30,84,.18);
    border-radius: 12px;
    padding: 0 15px;
    background: #fff;
    color: #120a2a;
}

.ivl-company-profile-field input:focus {
    outline: none;
    border-color: #561E54;
    box-shadow: 0 0 0 4px rgba(86,30,84,.10);
}

.ivl-company-profile-field input:disabled {
    background: #FAF7FA;
    color: rgba(18,10,42,.55);
}

.ivl-company-profile-field small {
    display: block;
    margin-top: 7px;
    color: rgba(18,10,42,.55);
}

.ivl-company-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 52px;
    border: 0;
    border-radius: 12px;
    padding: 0 28px;
    background: linear-gradient(135deg, #561E54, #8A22FF);
    color: #fff !important;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 16px 34px rgba(86,30,84,.22);
    cursor: pointer;
}

.ivl-company-profile-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(86,30,84,.10);
}

.ivl-company-profile-summary-row span {
    color: rgba(18,10,42,.58);
}

.ivl-company-profile-summary-row strong {
    color: #561E54;
    text-align: right;
}

.ivl-company-profile-note {
    margin: 26px 0 0;
    padding: 18px;
    background: #FAF7FA;
    border-radius: 14px;
    color: rgba(18,10,42,.72);
    line-height: 1.65;
}

@media (max-width: 900px) {
    .ivl-company-profile-hero,
    .ivl-company-profile-grid {
        display: block;
    }

    .ivl-company-profile-logo {
        margin-top: 28px;
    }

    .ivl-company-profile-side {
        margin-top: 24px;
    }
}


.ivl-admin-resources .ivl-resource-admin-form {
    display: grid;
    gap: 22px;
}

.ivl-admin-resources .ivl-admin-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: end;
}

.ivl-admin-resources .ivl-resource-admin-form label {
    display: grid;
    gap: 8px;
    color: #120a2a;
    font-weight: 850;
}

.ivl-admin-resources .ivl-resource-admin-form input[type="text"],
.ivl-admin-resources .ivl-resource-admin-form input[type="url"],
.ivl-admin-resources .ivl-resource-admin-form input[type="file"],
.ivl-admin-resources .ivl-resource-admin-form select,
.ivl-admin-resources .ivl-resource-admin-form textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(86,30,84,.18);
    border-radius: 12px;
    background: #fff;
    padding: 0 14px;
    color: #120a2a;
    font-size: 15px;
}

.ivl-admin-resources .ivl-resource-admin-form textarea {
    min-height: 130px;
    padding: 14px;
    resize: vertical;
}

.ivl-admin-resources .ivl-resource-admin-form input:focus,
.ivl-admin-resources .ivl-resource-admin-form select:focus,
.ivl-admin-resources .ivl-resource-admin-form textarea:focus {
    outline: none;
    border-color: #561E54;
    box-shadow: 0 0 0 4px rgba(86,30,84,.10);
}

.ivl-admin-resources .ivl-resource-file-row,
.ivl-admin-resources .ivl-resource-url-row {
    grid-column: span 2;
}

.ivl-admin-resources .ivl-admin-checks {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: #FAF7FA;
    width: fit-content;
}

.ivl-admin-resources .ivl-admin-checks label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 850;
    color: #561E54;
}

.ivl-admin-resources .ivl-resource-admin-form button[type="submit"] {
    width: fit-content;
    min-height: 52px;
    border: 0;
    border-radius: 12px;
    padding: 0 28px;
    background: linear-gradient(135deg, #561E54, #8A22FF);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 16px 34px rgba(86,30,84,.22);
    cursor: pointer;
}

.ivl-admin-resources .ivl-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 10px;
    background: #FAF7FA;
    color: #561E54 !important;
    font-weight: 850;
    text-decoration: none !important;
}

@media (max-width: 1000px) {
    .ivl-admin-resources .ivl-admin-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .ivl-admin-resources .ivl-admin-form-grid {
        grid-template-columns: 1fr;
    }

    .ivl-admin-resources .ivl-resource-file-row,
    .ivl-admin-resources .ivl-resource-url-row {
        grid-column: auto;
    }
}