/* Ajustes mínimos sobre o Metronic 8.0.38 para reproduzir o portal legado. */
.aside .logo { max-width: 155px; max-height: 48px; object-fit: contain; }
.gfae-login-logo { max-width: min(420px, 80vw); height: auto; }
.gfae-login-background { position: relative; isolation: isolate; overflow: hidden; background-color: #fff; }
.gfae-login-background::before { content: ""; position: absolute; z-index: 0; inset: 0; background-image: var(--gfae-login-illustration); background-position: center bottom; background-repeat: no-repeat; background-size: contain; background-attachment: fixed; opacity: .25; pointer-events: none; }
.gfae-login-background > * { position: relative; z-index: 1; }
.gfae-public-certificate-search { max-width: 600px; }
.table > :not(caption) > * > * { vertical-align: middle; }
.dataTables_wrapper .dataTables_filter { display: none; }
.mw-175px { max-width: 175px; }
.mw-350px { max-width: 350px; }
.mw-600px { max-width: 600px; }
.gfae-profile-hero { min-height: 205px; background: #50cd89; position: relative; overflow: hidden; }
.gfae-profile-shape { position: absolute; inset: 0 0 auto auto; width: 100%; height: 100%; object-fit: cover; opacity: .22; pointer-events: none; }
.gfae-seminar-banner { background: #1c325e; }
.gfae-seminar-image { max-width: 240px; max-height: 220px; object-fit: contain; position: relative; z-index: 1; }
.gfae-stepper-item { display: flex; align-items: center; gap: .6rem; color: #a1a5b7; font-weight: 600; font-size: .85rem; }
.gfae-stepper-number { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #f1f1f2; color: #7e8299; }
.gfae-stepper-item.current { color: #009ef7; }
.gfae-stepper-item.current .gfae-stepper-number { background: #009ef7; color: #fff; }
.gfae-stepper-item.completed .gfae-stepper-number { background: #e8fff3; color: #50cd89; }
.gfae-choice { display: flex; align-items: center; width: 100%; min-height: 76px; padding: 1.25rem; border: 1px dashed #e4e6ef; border-radius: .475rem; cursor: pointer; transition: border-color .15s, background-color .15s; }
.gfae-choice:hover, .gfae-choice:has(input:checked) { border-color: #009ef7; background: #f1faff; }
.gfae-choice.disabled { cursor: not-allowed; opacity: .55; background: #f5f8fa; }
.gfae-upload-area { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2.5rem; text-align: center; border: 2px dashed #e4e6ef; border-radius: .625rem; background: #f9f9f9; }
.gfae-legacy-profile .card-header { background-color: #35c885; }
.gfae-legacy-profile .card-body { padding-bottom: 4.5rem; }
.gfae-stat-box { min-height: 133px; display: grid; grid-template-rows: 32px 1fr; align-items: start; gap: 1.25rem; text-align: left; overflow: hidden; }
.gfae-stat-box .symbol { display: block; margin: 0 !important; }
.gfae-stat-box .fw-boldest { line-height: 1.25 !important; overflow-wrap: anywhere; }
.gfae-dashboard-grid .gfae-legacy-profile { overflow: hidden; border: 0; box-shadow: 0 10px 30px rgba(76,87,125,.11); }
.gfae-dashboard-profile-header { position: relative; min-height: 225px; overflow: hidden; background-color: #35c885; background-size: cover; }
.gfae-dashboard-profile-header::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(17,89,75,.18), rgba(35,190,132,.05)); pointer-events: none; }
.gfae-dashboard-profile-header .card-title { position: relative; z-index: 2; }
.gfae-dashboard-quick-actions { position: absolute; z-index: 3; right: 2.5rem; top: 2.5rem; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; }
.gfae-dashboard-profile-icon { position: absolute; z-index: 1; right: clamp(2rem,8vw,8rem); bottom: -1.25rem; color: rgba(255,255,255,.2); font-size: clamp(8rem,15vw,13rem); line-height: 1; }
.gfae-dashboard-profile-body { padding: 1.5rem 2rem 2rem !important; }
.gfae-dashboard-profile-body .gfae-stat-box { display: flex; grid-template-rows: none; align-items: center; gap: 1.25rem; min-height: 112px; padding: 1.5rem !important; border: 1px solid #eff2f5; border-top: 3px solid #009ef7; border-radius: .625rem !important; background: #fff !important; box-shadow: 0 4px 16px rgba(76,87,125,.07); transition: transform .18s ease, box-shadow .18s ease; }
.gfae-dashboard-profile-body .col-6:nth-child(2) .gfae-stat-box { border-top-color: #7239ea; }
.gfae-dashboard-profile-body .col-6:nth-child(3) .gfae-stat-box { border-top-color: #50cd89; }
.gfae-dashboard-profile-body .col-6:nth-child(4) .gfae-stat-box { border-top-color: #ffc700; }
.gfae-dashboard-profile-body .gfae-stat-box:hover { transform: translateY(-3px); box-shadow: 0 9px 24px rgba(76,87,125,.12); }
.gfae-dashboard-profile-body .gfae-stat-box .symbol { flex-shrink: 0; margin-bottom: 0 !important; }
.gfae-dashboard-profile-body .symbol-30px { width: 64px; height: 64px; min-width: 64px; }
.gfae-dashboard-profile-body .symbol-30px .symbol-label { width: 64px; height: 64px; }
.gfae-dashboard-profile-body .symbol-30px i { font-size: 2.05rem !important; }
.gfae-dashboard-info-card .symbol-45px { width: 64px; height: 64px; min-width: 64px; }
.gfae-dashboard-info-card .symbol-45px .symbol-label { width: 64px; height: 64px; }
.gfae-dashboard-info-card .symbol-45px i { font-size: 2rem !important; }
.gfae-enrollment-metrics .card { position: relative; overflow: hidden; border-width: 0 0 0 4px !important; box-shadow: 0 6px 20px rgba(76,87,125,.08); transition: transform .18s ease, box-shadow .18s ease; }
.gfae-enrollment-metrics .card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(76,87,125,.13); }
.gfae-enrollment-metrics .symbol-50px { width: 68px; height: 68px; min-width: 68px; order: -1; }
.gfae-enrollment-metrics .symbol-50px .symbol-label { width: 68px; height: 68px; }
.gfae-enrollment-metrics .symbol-50px i { font-size: 2.15rem !important; }
.gfae-enrollment-metrics .card-body { justify-content: flex-start !important; gap: 1.25rem; }
.gfae-enrollment-metrics .card-body > div { min-width: 0; }
.gfae-enrollment-metrics .card-body > div .text-muted { line-height: 1.3; }
.gfae-certificate-metric { border-width: 0 0 0 3px !important; box-shadow: 0 5px 18px rgba(76,87,125,.07); }
.gfae-certificate-metrics-compact .gfae-certificate-metric { min-height: 72px; }
.gfae-certificate-metric-icon { display: inline-flex; flex: 0 0 42px; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: .65rem; font-size: 1.15rem; }
.gfae-formation-metric { border-width: 0 0 0 3px !important; box-shadow: 0 5px 18px rgba(76,87,125,.07); transition: transform .18s ease, box-shadow .18s ease; }
.gfae-formation-metric:hover, .gfae-certificate-metric:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(76,87,125,.12); }
.gfae-formation-accordion .accordion-item { overflow: hidden; border-color: #eff2f5 !important; box-shadow: 0 3px 12px rgba(76,87,125,.05); }
.gfae-formation-accordion .accordion-button { background: #fff; }
.gfae-formation-accordion .accordion-button:not(.collapsed) { background: #f5faff; box-shadow: inset 4px 0 0 #009ef7; }
.gfae-formation-accordion .accordion-body { background: linear-gradient(180deg,#fff 0%,#fbfcfd 100%); }
.gfae-certificate-card { position: relative; overflow: hidden; border: 1px solid #e7edf5; border-top: 3px solid #009ef7; border-radius: .75rem; background: linear-gradient(145deg,#fff 0%,#fbfdff 100%); box-shadow: 0 3px 12px rgba(24,93,152,.055); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.gfae-certificate-card.is-pending { border-top-color: #ffc700; }
.gfae-certificate-card:hover { border-color: #dce3ec; transform: translateY(-2px); box-shadow: 0 8px 22px rgba(76,87,125,.1); }
.gfae-certificate-card-visual { position: relative; width: 100%; }
.gfae-certificate-document-icon { display: flex; align-items: center; justify-content: center; width: 100%; height: 128px; border-radius: 1rem; background: #eaf6ff; color: #009ef7; font-size: 5.75rem; line-height: 1; box-shadow: inset 0 0 0 1px rgba(0,158,247,.08); }
.gfae-certificate-document-icon i { line-height: 1; }
.gfae-certificate-card.is-pending .gfae-certificate-document-icon { background: #fff8dd; color: #dcae00; }
.gfae-certificate-status { position: absolute; top: .65rem; right: .65rem; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .65rem; border-radius: .55rem; background: rgba(255,255,255,.92); box-shadow: 0 3px 10px rgba(76,87,125,.1); font-size: .82rem; font-weight: 700; white-space: nowrap; }
.gfae-certificate-status i { font-size: .5rem; }
.gfae-certificate-title { display: -webkit-box; overflow: hidden; min-height: 3.15rem; margin: 0 0 .4rem; color: #181c32; font-size: 1.15rem; font-weight: 800; line-height: 1.38; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gfae-certificate-number { display: flex; overflow: hidden; align-items: center; margin-bottom: .8rem; color: #7e8299; font-size: .86rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.gfae-certificate-number i { margin-right: .15rem; color: #b5b9c8; }
.gfae-certificate-inline-details { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .4rem; margin-bottom: .65rem; }
.gfae-certificate-inline-details span { display: flex; min-width: 0; align-items: center; gap: .45rem; padding: .52rem .6rem; border-radius: .45rem; background: #f3f8fc; color: #3f4254; font-size: .86rem; }
.gfae-certificate-inline-details i { color: #009ef7; font-size: 1.05rem; }
.gfae-certificate-inline-details strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gfae-certificate-period { display: flex; align-items: center; gap: .5rem; margin-bottom: .85rem; color: #7e8299; font-size: .8rem; font-weight: 600; }
.gfae-certificate-period i { color: #b5b9c8; }
.gfae-certificate-card-action { padding-top: .75rem; border-top: 1px dashed #e4e6ef; }
.gfae-certificate-card-action .btn { min-height: 38px; font-size: .86rem; }
.gfae-certificate-details { display: grid; gap: .8rem; }
.gfae-certificate-details > div { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .8rem; padding: .7rem .8rem; border-radius: .475rem; background: #f9f9f9; }
.gfae-certificate-details > div > i { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: .475rem; background: #fff; font-size: 1.15rem; box-shadow: 0 2px 8px rgba(76,87,125,.07); }
.gfae-certificate-details small { display: block; color: #a1a5b7; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.gfae-certificate-details strong { display: block; color: #3f4254; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; }
.gfae-certificate-filter.active { color: #fff !important; border-color: #009ef7 !important; background: #009ef7 !important; }
.gfae-certificate-library-section { padding: .25rem 0 1rem; }
.gfae-certificate-wallet-card { --certificate-bg: #eaf6ff; --certificate-ink: #123f5d; --certificate-accent: #009ef7; position: relative; display: flex; overflow: hidden; min-height: 340px; flex-direction: column; padding: 1.25rem; border: 1px solid rgba(0,158,247,.08); border-radius: .85rem; background: var(--certificate-bg); color: var(--certificate-ink); box-shadow: 0 8px 24px rgba(24,93,152,.09); transition: transform .2s ease, box-shadow .2s ease; }
.gfae-certificate-wallet-card:hover { transform: translateY(-4px); box-shadow: 0 15px 34px rgba(76,87,125,.14); }
.gfae-certificate-tone-tone-01 { --certificate-bg: #fff1d8; --certificate-ink: #704800; --certificate-accent: #ffa100; }
.gfae-certificate-tone-tone-02 { --certificate-bg: #ffe6bd; --certificate-ink: #773f00; --certificate-accent: #f28c00; }
.gfae-certificate-tone-tone-03 { --certificate-bg: #fff4cf; --certificate-ink: #6d5100; --certificate-accent: #e5b100; }
.gfae-certificate-tone-tone-04 { --certificate-bg: #ffe2cf; --certificate-ink: #76380e; --certificate-accent: #f47a32; }
.gfae-certificate-tone-tone-05 { --certificate-bg: #ffdccc; --certificate-ink: #7b3414; --certificate-accent: #ed6528; }
.gfae-certificate-tone-tone-06 { --certificate-bg: #e3f5ff; --certificate-ink: #00557f; --certificate-accent: #009ef6; }
.gfae-certificate-tone-tone-07 { --certificate-bg: #d8efff; --certificate-ink: #0a4f78; --certificate-accent: #2488d8; }
.gfae-certificate-tone-tone-08 { --certificate-bg: #cdeaff; --certificate-ink: #004d73; --certificate-accent: #0086d1; }
.gfae-certificate-tone-tone-09 { --certificate-bg: #e5f4ff; --certificate-ink: #174e78; --certificate-accent: #437fc4; }
.gfae-certificate-tone-tone-10 { --certificate-bg: #d9e8ff; --certificate-ink: #214f85; --certificate-accent: #3979c9; }
.gfae-certificate-tone-tone-11 { --certificate-bg: #ddf3e7; --certificate-ink: #00582a; --certificate-accent: #008a41; }
.gfae-certificate-tone-tone-12 { --certificate-bg: #d5f1df; --certificate-ink: #075d32; --certificate-accent: #17a65b; }
.gfae-certificate-tone-tone-13 { --certificate-bg: #e2f6e8; --certificate-ink: #005128; --certificate-accent: #007a38; }
.gfae-certificate-tone-tone-14 { --certificate-bg: #d9efdc; --certificate-ink: #175d2c; --certificate-accent: #33a852; }
.gfae-certificate-tone-tone-15 { --certificate-bg: #eaf3d5; --certificate-ink: #456400; --certificate-accent: #7db800; }
.gfae-certificate-tone-tone-16 { --certificate-bg: #eee8ff; --certificate-ink: #51348a; --certificate-accent: #7b61d1; }
.gfae-certificate-tone-tone-17 { --certificate-bg: #f2e4ff; --certificate-ink: #663189; --certificate-accent: #a855c7; }
.gfae-certificate-tone-tone-18 { --certificate-bg: #e8e2ff; --certificate-ink: #42318a; --certificate-accent: #6957d8; }
.gfae-certificate-tone-tone-19 { --certificate-bg: #f7e4fa; --certificate-ink: #743579; --certificate-accent: #b85bbd; }
.gfae-certificate-tone-tone-20 { --certificate-bg: #ede5fb; --certificate-ink: #573a7a; --certificate-accent: #9063c2; }
.gfae-certificate-tone-tone-21 { --certificate-bg: #ffe5f0; --certificate-ink: #82365b; --certificate-accent: #db5a96; }
.gfae-certificate-tone-tone-22 { --certificate-bg: #ffe4e8; --certificate-ink: #843542; --certificate-accent: #e15c70; }
.gfae-certificate-tone-tone-23 { --certificate-bg: #ffe5df; --certificate-ink: #843a2c; --certificate-accent: #ef7258; }
.gfae-certificate-tone-tone-24 { --certificate-bg: #ffe2e2; --certificate-ink: #842f2f; --certificate-accent: #dc4c4c; }
.gfae-certificate-tone-tone-25 { --certificate-bg: #fae2f3; --certificate-ink: #7e2d64; --certificate-accent: #cf4da0; }
.gfae-certificate-tone-tone-26 { --certificate-bg: #ddf5f0; --certificate-ink: #105e52; --certificate-accent: #21a58b; }
.gfae-certificate-tone-tone-27 { --certificate-bg: #dcf5f7; --certificate-ink: #0b5c63; --certificate-accent: #21a8b2; }
.gfae-certificate-tone-tone-28 { --certificate-bg: #e5f4ce; --certificate-ink: #426300; --certificate-accent: #76ad14; }
.gfae-certificate-tone-tone-29 { --certificate-bg: #fff5cc; --certificate-ink: #6f5700; --certificate-accent: #e0b300; }
.gfae-certificate-tone-tone-30 { --certificate-bg: #dff7ee; --certificate-ink: #11624b; --certificate-accent: #2bbf91; }
.gfae-certificate-wallet-card.is-pending { filter: saturate(.72); }
.gfae-certificate-wallet-head { position: relative; z-index: 2; display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.gfae-certificate-wallet-head h3 { display: -webkit-box; overflow: hidden; min-height: 3.15rem; margin: 0 0 .3rem; color: var(--certificate-ink); font-size: 1.05rem; font-weight: 800; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gfae-certificate-wallet-number { overflow: hidden; color: var(--certificate-ink); font-size: .82rem; font-weight: 700; opacity: .82; text-overflow: ellipsis; white-space: nowrap; }
.gfae-certificate-wallet-open { display: inline-flex; flex: 0 0 34px; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: .5rem; background: rgba(255,255,255,.32); color: var(--certificate-ink); font-size: 1.05rem; transition: background .18s ease, transform .18s ease; }
.gfae-certificate-wallet-open:hover { background: rgba(255,255,255,.66); color: var(--certificate-ink); transform: translateY(-1px); }
.gfae-certificate-wallet-open.is-disabled { cursor: default; opacity: .55; }
.gfae-certificate-wallet-visual { position: relative; display: flex; min-height: 125px; flex: 1 1 auto; align-items: center; justify-content: center; color: var(--certificate-accent); }
.gfae-certificate-wallet-visual span { position: absolute; width: 116px; height: 116px; border: 4px solid currentColor; border-radius: 50%; opacity: .24; }
.gfae-certificate-wallet-visual span::after { position: absolute; inset: 9px; border: 3px dashed currentColor; border-radius: 50%; content: ''; }
.gfae-certificate-wallet-visual i { position: relative; z-index: 1; font-size: 6.5rem; line-height: 1; opacity: .27; }
.gfae-certificate-wallet-footer { position: relative; z-index: 2; }
.gfae-certificate-wallet-hours { color: var(--certificate-ink); font-size: 1.4rem; font-weight: 900; line-height: 1.1; letter-spacing: -.02em; }
.gfae-certificate-wallet-hours span { font-size: .86rem; font-weight: 700; letter-spacing: 0; opacity: .78; }
.gfae-certificate-wallet-conclusion { margin-top: .28rem; color: var(--certificate-ink); font-size: 1rem; font-weight: 650; }
.gfae-certificate-wallet-period { display: flex; align-items: center; gap: .45rem; margin-top: .55rem; color: var(--certificate-ink); font-size: .76rem; font-weight: 650; opacity: .72; }
.gfae-certificate-wallet-action { width: 100%; margin-top: 1rem; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.38); color: var(--certificate-ink); font-weight: 750; }
.gfae-certificate-wallet-action:hover:not(:disabled) { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.7); color: var(--certificate-ink); }
.gfae-certificate-wallet-action:disabled { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.22); color: var(--certificate-ink); opacity: .58; }
@media (max-width: 767.98px) { .gfae-certificate-wallet-card { min-height: 345px; padding: 1.35rem; } .gfae-certificate-wallet-visual { min-height: 135px; } .gfae-certificate-wallet-visual i { font-size: 7rem; } }
.gfae-seminar-acting-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(175px,1fr)); gap: .75rem; }
.gfae-seminar-acting-card { display: flex; min-width: 0; min-height: 76px; align-items: center; gap: .8rem; padding: .8rem .9rem; border: 1px solid #e9edf3; border-left: 3px solid var(--acting-color); border-radius: .7rem; background: #fff; box-shadow: 0 3px 12px rgba(76,87,125,.05); transition: transform .16s ease,box-shadow .16s ease; }
.gfae-seminar-acting-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(76,87,125,.1); }
.gfae-seminar-acting-icon { display: inline-flex; flex: 0 0 42px; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: .6rem; background: var(--acting-soft); color: var(--acting-color); font-size: 1.2rem; }
.gfae-seminar-acting-content { min-width: 0; }
.gfae-seminar-acting-content strong { display: block; color: var(--acting-color); font-size: 1.25rem; font-weight: 800; line-height: 1; }
.gfae-seminar-acting-content small { display: -webkit-box; overflow: hidden; margin-top: .3rem; color: #5e6278; font-size: .7rem; font-weight: 700; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gfae-seminar-chart-card { overflow: hidden; border: 1px solid #edf0f5; box-shadow: 0 6px 24px rgba(76,87,125,.07); }
.gfae-seminar-chart { width: 100%; min-height: 380px; }
.gfae-seminar-filter-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; padding: 1rem; border: 1px solid #eff2f5; border-radius: .625rem; background: #fafbfc; }
.gfae-seminar-filter-options .form-check-label { font-size: .78rem; font-weight: 600; }
@media (max-width: 575.98px) { .gfae-seminar-acting-grid,.gfae-seminar-filter-options { grid-template-columns: 1fr; } }
.gfae-birthday-list { overflow: hidden; }
.gfae-birthday-list-item { border-bottom: 1px dashed #e4e6ef; transition: background-color .15s ease; }
.gfae-birthday-list-item:last-child { border-bottom: 0; }
.gfae-birthday-list-item:hover { background: #fafafa; }
.gfae-birthday-list-item.is-today { background: linear-gradient(90deg,#f1faff 0%,#fff 58%); box-shadow: inset 4px 0 #009ef7; }
.gfae-birthday-list-date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 76px; min-height: 76px; border-radius: .625rem; background: #f4efff; color: #7239ea; }
.gfae-birthday-list-date strong { font-size: 1.65rem; line-height: 1; }
.gfae-birthday-list-date span { margin-top: .3rem; font-size: .72rem; font-weight: 700; }
.gfae-birthday-list-date small { margin-top: .15rem; color: #7e8299; font-size: .65rem; font-weight: 600; }
.gfae-birthday-list-status { width: 280px; }
.gfae-birthday-delivery { width: 230px; }
.gfae-birthday-actions { width: 330px; }
@media (max-width: 1199.98px) {
    .gfae-birthday-list-status,.gfae-birthday-delivery,.gfae-birthday-actions { width: auto; }
}
@media (min-width: 992px) {
    .gfae-dashboard-profile-body .row > .col-6 { width: 25%; }
}
@media (max-width: 991.98px) {
    .gfae-dashboard-quick-actions { position: relative; right: auto; top: auto; width: 100%; padding: 0 1.5rem 1.5rem; justify-content: flex-start; }
}
@media (max-width: 767.98px) {
    .gfae-dashboard-profile-header { min-height: 250px; }
    .gfae-dashboard-profile-icon { right: 1rem; font-size: 8rem; }
    .gfae-dashboard-quick-actions .btn { flex: 1 1 180px; }
    .gfae-dashboard-profile-body { padding: 1rem !important; }
    .gfae-dashboard-profile-body .gfae-stat-box { flex-direction: column; align-items: flex-start; min-height: 170px; }
    .gfae-enrollment-metrics .card-body { align-items: flex-start !important; }
}
.gfae-location-ring { width: 72px; height: 72px; border-radius: 50%; background: conic-gradient(#009ef7 0 82%, #e8f6fd 82% 100%); position: relative; }
.gfae-location-ring::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #fff; }
.gfae-location-detail-icon { color: #7e8299; display: inline-flex; width: 14px; height: 14px; flex: 0 0 14px; }
.gfae-dashboard-info-card { border: 0; box-shadow: 0 0 20px rgba(76,87,125,.08); }
.gfae-dashboard-info-card .card-header { min-height: 82px; }
.gfae-dashboard-detail-list { display: grid; gap: .75rem; }
.gfae-dashboard-detail { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: .75rem; min-height: 48px; padding: .65rem .8rem; border: 1px dashed #e4e6ef; border-radius: .475rem; background: #f9f9f9; }
.gfae-dashboard-detail > i { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: .475rem; background: #fff; font-size: 1.15rem; box-shadow: 0 2px 8px rgba(76,87,125,.08); }
.gfae-dashboard-detail span { min-width: 0; }
.gfae-dashboard-detail small { display: block; margin-bottom: .1rem; color: #a1a5b7; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.gfae-dashboard-detail strong { display: block; color: #3f4254; font-size: .8rem; line-height: 1.35; overflow-wrap: anywhere; }
.gfae-seminar-banner { min-height: 205px; background: #1c325e; }
.gfae-seminar-banner .card-body { min-height: 205px; align-items: center; }
.gfae-dashboard-seminar { position: relative; display: flex; min-height: 178px; overflow: hidden; border-radius: .85rem; background: radial-gradient(circle at 84% 28%,rgba(83,187,255,.22),transparent 27%),linear-gradient(115deg,#172e57 0%,#1f3b6d 52%,#255089 100%); box-shadow: 0 12px 30px rgba(23,46,87,.24); }
.gfae-dashboard-seminar::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(90deg,#000,transparent 85%); }
.gfae-dashboard-seminar-content { position: relative; z-index: 2; width: min(72%,900px); padding: 1.7rem 2.25rem; }
.gfae-dashboard-eyebrow { display: inline-flex; align-items: center; margin-bottom: .45rem; color: #83d5ff; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gfae-dashboard-seminar h2 { margin: 0 0 .35rem; color: #fff; font-size: clamp(1.55rem,2.25vw,2.25rem); font-weight: 800; letter-spacing: -.035em; }
.gfae-dashboard-seminar h2 span { color: #83d5ff; }
.gfae-dashboard-seminar p { max-width: 720px; margin-bottom: 1rem; color: rgba(255,255,255,.72); font-size: .9rem; }
.gfae-dashboard-seminar-art { position: absolute; z-index: 1; right: 1.25rem; bottom: 0; width: 290px; height: 100%; }
.gfae-dashboard-seminar-art img { position: absolute; right: 0; bottom: 0; max-width: 225px; max-height: 170px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0,0,0,.18)); }
.gfae-dashboard-seminar-orbit { position: absolute; right: 12px; top: -70px; width: 235px; height: 235px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.018); }
.gfae-dashboard-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .3rem .15rem; }
.gfae-dashboard-greeting { min-width: 240px; }
.gfae-dashboard-kicker { color: #009ef7; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gfae-dashboard-greeting h2 { margin: .15rem 0 .2rem; color: #181c32; font-size: clamp(1.4rem,2vw,1.85rem); font-weight: 800; letter-spacing: -.035em; }
.gfae-dashboard-greeting p { margin: 0; color: #7e8299; font-size: .8rem; }
.gfae-dashboard-summary { display: grid; grid-template-columns: repeat(4,minmax(135px,1fr)); gap: .65rem; }
.gfae-dashboard-summary-item { display: flex; min-width: 0; align-items: center; gap: .7rem; padding: .65rem .8rem; border: 1px solid #eff2f5; border-radius: .7rem; background: #fff; box-shadow: 0 3px 12px rgba(76,87,125,.05); color: #3f4254; transition: transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
a.gfae-dashboard-summary-item:hover { transform: translateY(-2px); border-color: #dceaf7; box-shadow: 0 7px 18px rgba(76,87,125,.1); color: #3f4254; }
.gfae-dashboard-summary-icon { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: .55rem; font-size: 1.05rem; }
.gfae-dashboard-summary-icon.is-blue { background: #eef8ff; color: #009ef7; }
.gfae-dashboard-summary-icon.is-green { background: #eafaf2; color: #50cd89; }
.gfae-dashboard-summary-icon.is-violet { background: #f4efff; color: #7239ea; }
.gfae-dashboard-summary-icon.is-amber { background: #fff8dd; color: #f1bc00; }
.gfae-dashboard-summary-item > span:nth-child(2) { min-width: 0; }
.gfae-dashboard-summary-item strong { display: block; overflow: hidden; color: #181c32; font-size: .92rem; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.gfae-dashboard-summary-item small { display: block; margin-top: .15rem; color: #a1a5b7; font-size: .63rem; font-weight: 700; text-transform: uppercase; }
.gfae-dashboard-summary-arrow { margin-left: auto; color: #b5b5c3; font-size: .8rem; }
.gfae-dashboard-panel { padding: 1.35rem; border: 1px solid #eff2f5; border-radius: .85rem; background: #fff; box-shadow: 0 6px 22px rgba(76,87,125,.07); }
.gfae-dashboard-panel-icon { display: inline-flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: .55rem; font-size: 1.25rem; }
.gfae-dashboard-overview .gfae-dashboard-detail-list { gap: .45rem; }
.gfae-dashboard-overview .gfae-dashboard-detail { min-height: 42px; padding: .4rem .55rem; }
.gfae-dashboard-overview .gfae-dashboard-detail > i { width: 30px; height: 30px; font-size: 1rem; }
.gfae-dashboard-location { display: flex; flex-direction: column; justify-content: center; }
.gfae-dashboard-location-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.gfae-dashboard-location-heading h3 { margin: 0; color: #181c32; font-size: 1rem; font-weight: 800; }
.gfae-dashboard-location-heading span:not(.badge) { display: block; margin-top: .15rem; color: #a1a5b7; font-size: .7rem; }
.gfae-dashboard-registration-period { display: inline-flex; align-items: center; gap: .75rem; padding: .65rem .8rem; border: 1px solid rgba(131,213,255,.42); border-radius: .55rem; background: rgba(0,158,247,.15); color: #fff; }
.gfae-dashboard-registration-period i { color: #83d5ff; font-size: 1.25rem; }
.gfae-dashboard-registration-period small { display: block; color: #83d5ff; font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gfae-dashboard-registration-period strong { display: block; font-size: .82rem; }
.gfae-dashboard-seminar-availability { display: inline-flex; max-width: 720px; align-items: center; gap: .7rem; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.22); border-radius: .55rem; background: rgba(8,22,47,.32); color: #fff; }
.gfae-dashboard-seminar-availability > i { flex: 0 0 auto; color: #83d5ff; font-size: 1.25rem; }
.gfae-dashboard-seminar-availability strong { display: block; font-size: .78rem; }
.gfae-dashboard-seminar-availability small { display: block; margin-top: .1rem; color: rgba(255,255,255,.72); font-size: .66rem; line-height: 1.35; }
.gfae-dashboard-seminar-availability.is-closed { border-color: rgba(255,199,0,.48); background: rgba(93,67,0,.32); }
.gfae-dashboard-seminar-availability.is-closed > i { color: #ffd54d; }
.gfae-dashboard-seminar-count { color: rgba(255,255,255,.65); font-size: .72rem; }
.gfae-dashboard-seminar-count strong { color: #fff; font-size: .95rem; }
.gfae-dashboard-seminar-table { border: 0; box-shadow: 0 5px 20px rgba(76,87,125,.06); }
.gfae-dashboard-seminar-table .card-header { min-height: 74px; }
.gfae-export-format { display: flex; align-items: center; gap: .8rem; min-height: 68px; padding: 1rem; border: 1px dashed #b5b5c3; border-radius: .625rem; background: #fff; cursor: pointer; transition: border-color .15s ease,background-color .15s ease; }
.gfae-export-format:hover,.gfae-export-format:has(input:checked) { border-color: #009ef7; background: #f1faff; }
.gfae-export-format i { font-size: 1.65rem; }
.gfae-export-format span { color: #3f4254; font-weight: 700; }
.bi-filetype-csv::before { content: "CSV"; font-family: Arial,sans-serif; font-size: .62rem; font-weight: 800; letter-spacing: -.04em; }
@media (max-width: 991.98px) {
    .gfae-dashboard-header { align-items: flex-start; flex-direction: column; }
    .gfae-dashboard-summary { width: 100%; }
    .gfae-dashboard-seminar-content { width: 100%; padding-right: 12rem; }
    .gfae-dashboard-seminar-art { right: -.75rem; width: 210px; opacity: .65; }
    .gfae-dashboard-seminar-art img { max-width: 185px; }
}
@media (max-width: 767.98px) {
    .gfae-dashboard-summary { grid-template-columns: 1fr; }
    .gfae-dashboard-seminar-content { padding: 1.5rem; }
    .gfae-dashboard-seminar-art { opacity: .14; }
    .gfae-dashboard-seminar h2,.gfae-dashboard-seminar p { max-width: 100%; }
    .gfae-dashboard-seminar-table .card-header,.gfae-dashboard-seminar-table .card-title,.gfae-dashboard-seminar-table .card-toolbar { width: 100%; }
    .gfae-dashboard-seminar-table .card-toolbar .form-control { width: 100% !important; }
}
.gfae-dropzone { min-height: 170px; padding: 1.5rem; border: 2px dashed #b5b5c3; border-radius: .625rem; background: #f9f9f9; transition: border-color .15s ease, background-color .15s ease; }
.gfae-dropzone:hover, .gfae-dropzone.dz-drag-hover { border-color: #009ef7; background: #f1faff; }
.gfae-dropzone .dz-message { display: flex; min-height: 115px; align-items: center; justify-content: center; margin: 0; text-align: left; cursor: pointer; }
.gfae-dropzone.dz-started .dz-message { display: none; }
.gfae-dropzone .dropzone-previews .dz-preview { margin: .5rem; }
.gfae-dropzone .dz-error-message { color: #f1416c; }
.gfae-page-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.aside .menu-link .menu-icon i { color: #74799a; font-size: 1.25rem !important; opacity: 1; }
.aside .menu-link:hover .menu-icon i, .aside .menu-link.active .menu-icon i, .aside .menu-item.here > .menu-link .menu-icon i { color: #009ef7; }
.gfae-menu-icon { width: 22px; height: 22px; color: #74799a; display: block; }
.aside .menu-link:hover .gfae-menu-icon, .aside .menu-link.active .gfae-menu-icon, .aside .menu-item.here > .menu-link .gfae-menu-icon { color: #009ef7; }
.gfae-modal-choice { display: flex; align-items: center; gap: 1.25rem; width: 100%; min-height: 96px; padding: 1.5rem; border: 1px dashed #b5b5c3; border-radius: .625rem; cursor: pointer; text-align: left; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.gfae-modal-choice:hover, .gfae-modal-choice:has(input:checked) { border-color: #009ef7; background: #f1faff; box-shadow: 0 0 0 1px rgba(0,158,247,.08); }
.gfae-modal-choice.disabled { cursor: not-allowed; opacity: .5; background: #f5f8fa; }
.gfae-settings-profile { overflow: hidden; border: 0; box-shadow: 0 7px 24px rgba(76,87,125,.07); }
.gfae-settings-avatar { position: relative; display: flex; width: 112px; height: 112px; align-items: center; justify-content: center; border-radius: .85rem; background: linear-gradient(145deg,#eaf6ff 0%,#f4efff 100%); color: #009ef7; box-shadow: inset 0 0 0 1px rgba(0,158,247,.08); }
.gfae-settings-avatar > i { font-size: 3.6rem; line-height: 1; }
.gfae-settings-status { position: absolute; right: -5px; bottom: 17px; width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%; }
.gfae-settings-metrics { display: grid; grid-template-columns: repeat(4,minmax(155px,1fr)); gap: .85rem; }
.gfae-settings-stat { display: flex; min-width: 0; align-items: center; gap: .75rem; padding: .8rem .9rem; border: 1px dashed #e4e6ef; border-radius: .625rem; background: #fff; }
.gfae-settings-stat-icon { display: inline-flex; flex: 0 0 38px; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: .55rem; font-size: 1.15rem; }
.gfae-settings-stat > span:last-child { min-width: 0; }
.gfae-settings-stat strong { display: block; overflow: hidden; color: #181c32; font-size: .9rem; font-weight: 800; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.gfae-settings-stat small { display: block; margin-top: .2rem; color: #a1a5b7; font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.gfae-settings-tabs { overflow-x: auto; flex-wrap: nowrap; gap: 2rem; scrollbar-width: none; }
.gfae-settings-tabs::-webkit-scrollbar { display: none; }
.gfae-settings-tabs .nav-link { min-height: 54px; padding: 0; border: 0; background: transparent; color: #7e8299; white-space: nowrap; }
.gfae-settings-tabs .nav-link.active { color: #009ef7; }
.gfae-settings-content > .tab-pane > .card,.gfae-settings-content > .tab-pane > form > .card { border: 0; box-shadow: 0 7px 24px rgba(76,87,125,.07); }
.gfae-settings-overview-list { display: grid; }
.gfae-settings-overview-row { display: flex; align-items: center; gap: 1.25rem; min-height: 82px; padding: 1rem 0; border-bottom: 1px dashed #e4e6ef; }
.gfae-settings-overview-row:last-child { border-bottom: 0; }
.gfae-settings-overview-row strong { display: block; color: #181c32; font-size: .95rem; }
.gfae-settings-overview-row small { display: block; margin-top: .25rem; color: #a1a5b7; font-size: .75rem; }
.gfae-settings-overview-row > .badge { min-width: 115px; justify-content: center; }
.gfae-settings-connection { border: 1px solid #eff2f5; box-shadow: 0 5px 18px rgba(76,87,125,.06); }
.gfae-settings-seminar-detail { display: flex; min-height: 82px; align-items: center; gap: 1rem; padding: 1rem; border: 1px dashed #e4e6ef; border-radius: .625rem; background: #fafbfc; }
.gfae-settings-seminar-detail > span:last-child { min-width: 0; }
.gfae-settings-seminar-detail small { display: block; margin-bottom: .25rem; color: #a1a5b7; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.gfae-settings-seminar-detail strong { display: block; color: #181c32; font-size: .86rem; line-height: 1.35; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) { .gfae-settings-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767.98px) {
    .gfae-settings-avatar { width: 82px; height: 82px; }
    .gfae-settings-avatar > i { font-size: 2.65rem; }
    .gfae-settings-metrics { grid-template-columns: 1fr; }
    .gfae-settings-tabs { gap: 1.4rem; }
    .gfae-settings-overview-row { align-items: flex-start; flex-wrap: wrap; }
    .gfae-settings-overview-row .flex-grow-1 { min-width: calc(100% - 70px); }
    .gfae-settings-overview-row > .badge { margin-left: 57px; }
}
.stepper.stepper-links .stepper-nav .stepper-item.completed .stepper-title { color: #50cd89; }
.stepper.stepper-links [data-gfae-step] { min-height: 290px; }
.btn.btn-outline:has(.btn-check:checked) { color: #009ef7; border-color: #009ef7; background-color: #f1faff; }
.text-justify { text-align: justify; }
.gfae-section-hero { border: 0; background: linear-gradient(110deg, #fff 0%, #f7fbff 72%, #eef8ff 100%); box-shadow: 0 0 20px rgba(76,87,125,.06); }
.gfae-section-hero .symbol-label { box-shadow: inset 0 0 0 1px rgba(0,158,247,.08); }
.gfae-data-card { border: 0; box-shadow: 0 0 20px rgba(76,87,125,.06); }
.gfae-data-card .table thead th { white-space: normal; }
.gfae-data-card .table tbody tr { transition: background-color .15s ease; }
.gfae-data-card .table tbody tr:hover { background: #f9fbfd; }
.gfae-data-card .table > :not(caption) > * > * { padding-top: 1.15rem; padding-bottom: 1.15rem; }
.gfae-data-card .table thead th { border-bottom-color: #eff2f5; letter-spacing: .035em; }
.gfae-table-wrap { min-width: 220px; max-width: 460px; white-space: normal; line-height: 1.45; }
.gfae-search-wide { width: min(100%, 380px); }
.gfae-search-wide .form-control { width: 100%; }
.gfae-diagnostic-strip { display: flex; flex-wrap: wrap; gap: .75rem; width: 100%; padding-bottom: .25rem; }
.gfae-diagnostic-mini { flex: 1 1 0; min-width: 115px; min-height: 78px; }
.gfae-diagnostic-mini .card-body { min-height: 78px; }
.gfae-space-calendar-wrap { width: 100%; }
#space_schedule_calendar { font-size: 1rem; }
#space_schedule_calendar .fc-toolbar-title { font-size: 1.35rem; }
#space_schedule_calendar .fc-col-header-cell-cushion, #space_schedule_calendar .fc-daygrid-day-number { font-size: .95rem; font-weight: 600; }
#space_schedule_calendar .fc-event { font-size: .9rem; line-height: 1.45; text-align: center; }
#space_schedule_calendar .fc-event-main, #space_schedule_calendar .fc-event-title-container, #space_schedule_calendar .fc-event-title { text-align: center; }
.gfae-space-manager-list .btn { border: 1px solid transparent; }
.gfae-space-manager-list .btn:hover, .gfae-space-manager-list .btn:focus { border-color: #009ef7; background: #eef8ff !important; }
.gfae-course-category-grid { display: grid; grid-template-columns: repeat(var(--gfae-category-count), minmax(105px, 1fr)); gap: .75rem; }
.table-responsive { overflow-x: visible !important; }
.table-responsive .table { width: 100%; }
.table-responsive th, .table-responsive td { white-space: normal; overflow-wrap: anywhere; }
.modal .overflow-auto, .modal .scroll-y { max-height: none !important; overflow: visible !important; }
#space_schedule_calendar .gfae-shift-lanes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; min-height: 400px; padding: .75rem; }
#space_schedule_calendar .gfae-shift-lane { min-width: 0; border: 1px solid #e4e6ef; border-radius: .475rem; background: #f9f9f9; overflow: hidden; }
#space_schedule_calendar .gfae-shift-lane-heading { display: flex; align-items: center; justify-content: center; padding: .8rem; border-bottom: 1px solid #e4e6ef; background: #fff; color: #3f4254; }
#space_schedule_calendar .gfae-shift-lane-heading span { display: flex; flex-direction: column; line-height: 1.25; }
#space_schedule_calendar .gfae-shift-lane-heading small { margin-top: .15rem; color: #7e8299; font-size: .7rem; }
#space_schedule_calendar .gfae-shift-bookings { display: flex; flex-direction: column; gap: .45rem; min-height: 330px; padding: .6rem; }
#space_schedule_calendar.gfae-space-shift-day .fc-daygrid-day-events { display: none; }
#space_schedule_calendar.gfae-space-shift-day .fc-daygrid-event-harness.gfae-shift-harness { position: relative !important; top: auto !important; left: auto !important; right: auto !important; margin: 0 !important; min-width: 0; }
#space_schedule_calendar.gfae-space-shift-day .fc-daygrid-event-harness.gfae-shift-matutino { grid-column: 1; }
#space_schedule_calendar.gfae-space-shift-day .fc-daygrid-event-harness.gfae-shift-vespertino { grid-column: 2; }
#space_schedule_calendar.gfae-space-shift-day .fc-daygrid-event-harness.gfae-shift-noturno { grid-column: 3; }
#space_schedule_calendar.gfae-space-shift-day .gfae-shift-event { min-width: 0; margin: 0; padding: .75rem; border-radius: .35rem; font-size: .95rem; line-height: 1.45; text-align: center; overflow: hidden; box-shadow: 0 2px 8px rgba(76,87,125,.12); }
#space_schedule_calendar.gfae-space-shift-day .gfae-shift-event .fc-event-title { overflow: hidden; text-overflow: ellipsis; white-space: normal; }
#space_schedule_calendar.gfae-space-shift-day .fc-daygrid-day-bottom { grid-column: 1 / -1; }
@media (max-width: 991.98px) { #space_schedule_calendar .gfae-shift-lanes { grid-template-columns: 1fr; } #space_schedule_calendar.gfae-space-shift-day { min-width: 0; } .gfae-course-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 991.98px) { .gfae-login-background::before { background-size: 900px auto; } }
@media (max-width: 767.98px) { .gfae-stepper-label { display: none; } .gfae-stepper-nav { flex-wrap: wrap; gap: .5rem; } .gfae-seminar-banner img { opacity: .25; } .stepper.stepper-links .stepper-nav { flex-wrap: wrap; justify-content: flex-start; gap: 1.5rem; } .gfae-section-hero .card-body { padding: 1.5rem; } .gfae-data-card .card-header { align-items: stretch; } .gfae-data-card .card-title, .gfae-data-card .card-toolbar { width: 100%; justify-content: flex-start !important; } .gfae-data-card .form-control { width: 100% !important; } .table-responsive .table { font-size: .78rem; } }
