﻿/* =============================================================
   KGI API University - Custom Dark Theme
   KGI Algo Trading Bootcamp & Competition 2026
   ============================================================= */

/* == CSS Variables ===================================== */
:root {
    --au-dark: #0a0f1e;
    --au-dark2: #0d1530;
    --au-dark3: #111b3a;
    --au-card-bg: #141d35;
    --au-border: rgba(255,255,255,0.08);
    --au-orange: #FA680A;
    --au-orange-dim: rgba(250,104,10,0.15);
    --au-green: #39d98a;
    --au-green-dim: rgba(57,217,138,0.12);
    --au-blue: #3b82f6;
    --au-blue-dim: rgba(59,130,246,0.12);
    --au-gold: #f59e0b;
    --au-text: rgba(255,255,255,0.90);
    --au-text-muted: rgba(255,255,255,0.55);
    --au-text-dim: rgba(255,255,255,0.35);
    --au-radius: 12px;
    --au-radius-sm: 8px;
    --au-light-green: #A4FF6B;
    --au-btn-text-dark: #192D4B;
    --au-cyan: #33CBEC;
    --au-cyan-gradient-end: #23C4FF;
    --au-blue-btn: #2665EC;
    --au-blue-btn-end: #397FF5;
    --au-white: #fff;
}

/* == Global page bg ==================================== */
body {
    background: var(--au-dark) !important;
    color: var(--au-text);
}

/* == Utility =========================================== */
.au-light-green {
    color: var(--au-light-green) !important;
}

.fs-70-50 {
    font-size: 70px;
}

@media (max-width: 1199px) {
    .fs-70-50 {
        font-size: 50px !important;
    }
}

/* == Section Tab Nav =================================== */
.au-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    justify-content: center;
    border-radius: 50px;
    padding: 8px 12px;
    width: 100%;
}

.au-tab-nav .au-tab-item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 20px;
    border-radius: 50px;
    border: 2px solid var(--au-cyan);
    font-size: 15px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    white-space: nowrap;
}

.au-tab-nav .au-tab-item i {
    font-size: 16px;
    line-height: 1;
}

.au-tab-nav .au-tab-item:hover {
    border-color: var(--au-cyan);
    color: var(--au-cyan);
    text-decoration: none;
}

.au-tab-nav .au-tab-item.active {
    background: var(--au-light-green);
    border-color: var(--au-light-green);
    color: var(--au-dark);
    font-weight: 600;
}

.au-tab-nav .au-tab-item.active i {
    color: var(--au-dark);
}

@media (max-width: 767px) {
    .au-tab-nav {
        gap: 6px;
        padding: 6px 8px;
        border-radius: 16px;
    }

    .au-tab-nav .au-tab-item {
        padding: 8px 14px;
        font-size: 13px;
        gap: 5px;
    }

    .au-tab-nav .au-tab-item i {
        font-size: 14px;
    }
}

/* == Divider =========================================== */
.au-divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--au-cyan) 40%, var(--au-light-green) 60%, transparent 100%);
    border: none;
}

/* == Section Title ===================================== */
.au-section-title {
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    color: var(--au-text);
    margin-bottom: 20px;
}

/* == Info Card (shared border box) ===================== */
.au-info-card {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    padding: 28px 24px;
    margin-bottom: 24px;
}

/* == Register Section ================================== */
.au-register-box {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    padding: 28px 20px;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}

.au-btn-workshop {
    padding: 12px 40px;
    border-radius: 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: opacity 0.2s;
    background: linear-gradient(90deg, var(--au-blue-btn) 0%, var(--au-blue-btn-end) 100%);
    color: var(--au-white);
}

.au-btn-competition {
    padding: 12px 40px;
    border-radius: 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: opacity 0.2s;
    background: linear-gradient(180deg, var(--au-light-green) 0%, var(--au-cyan-gradient-end) 100%);
    color: var(--au-btn-text-dark);
}

.au-btn-workshop:hover,
.au-btn-competition:hover {
    opacity: 0.85;
    text-decoration: none;
    color: inherit;
}

@media (max-width: 767px) {
    .au-register-box {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 20px 16px;
    }

    .au-btn-workshop,
    .au-btn-competition {
        width: 100%;
        text-align: center;
        padding: 12px 20px;
    }
}

/* == Prize Table ======================================= */
.au-prize-table-wrap {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    overflow: hidden;
    margin-bottom: 20px;
}

.au-prize-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    color: var(--au-text);
}

.au-prize-table thead th {
    padding: 12px 16px;
    font-weight: 600;
    font-size: 16px;
    color: var(--au-text);
    text-align: left;
}

.au-prize-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.au-prize-table tbody tr:last-child {
    border-bottom: none;
}

.au-prize-table tbody td {
    padding: 12px 16px;
    color: var(--au-text);
    vertical-align: middle;
}

.au-prize-num,
.au-prize-amount {
    color: var(--au-light-green) !important;
    font-weight: 600;
}

@media (max-width: 767px) {
    .au-prize-table thead th,
    .au-prize-table tbody td {
        padding: 10px 10px;
        font-size: 13px;
    }
}

/* == Prize Remarks ===================================== */
.au-prize-remarks {
    font-size: 13px;
    color: var(--au-text-muted);
    line-height: 1.75;
    padding: 0 4px;
}

.au-prize-remarks p {
    margin-bottom: 4px;
}

.au-prize-remarks-list {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 13px;
    color: var(--au-text-muted);
    line-height: 1.75;
}

.au-prize-remarks-list li {
    margin-bottom: 4px;
}

/* == What You'll Gain ================================== */
.au-gain-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.9;
}

.au-gain-list li b {
    color: var(--au-light-green);
}

/* == Seminar Highlight / Schedule ====================== */
.au-seminar-sub-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--au-light-green);
    margin-bottom: 6px;
    margin-top: 14px;
}

.au-seminar-list {
    list-style: disc;
    padding-left: 18px;
    margin: 0 0 4px;
    font-size: 16px;
    color: var(--au-text);
    line-height: 1.8;
}

.au-seminar-list-sub {
    list-style: circle;
    padding-left: 18px;
    margin: 0;
    font-size: 15px;
    color: var(--au-white);
    line-height: 1.8;
}

.au-schedule-uni {
    font-size: 16px;
    font-weight: 700;
    color: var(--au-light-green);
    margin-top: 16px;
    margin-bottom: 4px;
}

.au-schedule-detail {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 15px;
    color: var(--au-white);
    line-height: 1.8;
}

/* == Conditions & Rules ================================ */
.au-condition-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--au-light-green);
    margin-bottom: 8px;
}

.au-condition-list {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 15px;
    color: var(--au-text);
    line-height: 1.85;
}

.au-condition-list a,
.au-condition-list .au-link {
    color: var(--au-light-green);
    text-decoration: underline;
}

/* == Competition Schedule Table ======================== */
.au-schedule-table-wrap {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    overflow: hidden;
    margin-bottom: 20px;
}

.au-schedule-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    color: var(--au-text);
}

.au-schedule-table thead th {
    padding: 12px 16px;
    font-weight: 600;
    font-size: 16px;
    color: var(--au-light-green);
    text-align: center;
}

.au-schedule-table thead th:first-child {
    text-align: left;
}

.au-schedule-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.au-schedule-table tbody tr:last-child {
    border-bottom: none;
}

.au-schedule-table tbody td {
    padding: 12px 16px;
    color: var(--au-text);
    font-size: 15px;
    vertical-align: middle;
}

.au-schedule-table tbody td:not(:first-child) {
    text-align: center;
}

.au-schedule-table tbody td ul {
    list-style: disc;
    padding-left: 16px;
    margin: 0;
    text-align: left;
    line-height: 1.8;
}

/* == Promotion Card ==================================== */
.au-promo-desc {
    font-size: 16px;
    font-weight: 600;
    color: var(--au-light-green);
    margin-bottom: 12px;
}

.au-promo-list {
    list-style: disc;
    padding-left: 18px;
    margin: 0 0 16px;
    font-size: 15px;
    color: var(--au-text);
    line-height: 1.9;
}

.au-promo-list a,
.au-promo-list .au-link {
    color: var(--au-light-green) !important;
    text-decoration: underline;
    background: transparent !important;
    display: inline !important;
    width: auto !important;
}

.au-promo-code {
    color: var(--au-text);
}

.au-promo-period {
    font-size: 15px;
    color: var(--au-text);
    margin-bottom: 10px;
}

.au-promo-period b {
    color: var(--au-light-green);
}

.au-promo-cond-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--au-light-green);
    margin: 8px 0 6px;
}

.au-promo-cond-list {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 13px;
    color: var(--au-text-muted);
    line-height: 1.7;
}

.au-promo-cond-list li {
    margin-bottom: 4px;
}

@media (max-width: 767px) {
    .au-info-card {
        padding: 20px 16px;
    }

    .au-schedule-table thead th,
    .au-schedule-table tbody td {
        padding: 10px 10px;
        font-size: 12px;
    }
}

/* == Workshop Speaker Card ============================= */
.au-speaker-card {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    padding: 28px 24px;
}

.au-speaker-photo-wrap {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 130px;
}

.au-speaker-photo {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    border: 3px solid var(--au-light-green);
}

.au-speaker-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--au-light-green);
    text-align: center;
    margin: 0;
}

.au-speaker-role {
    font-size: 16px;
    color: var(--au-white);
    text-align: center;
    line-height: 1.6;
    margin: 0;
}

.au-speaker-content {
    flex: 1;
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}

.au-speaker-topic {
    flex: 1;
    min-width: 160px;
}

.au-speaker-topic-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--au-light-green);
    margin-bottom: 10px;
}

.au-speaker-topic-list {
    list-style: disc;
    padding-left: 16px;
    margin: 0;
    font-size: 15px;
    color: var(--au-text);
    line-height: 1.85;
}

@media (max-width: 767px) {
    .au-speaker-card {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .au-speaker-content {
        flex-direction: column;
        gap: 20px;
        width: 100%;
    }
}

/* == Register Button (Workshop Card 3) ================= */
.au-btn-register {
    display: inline-block;
    padding: 12px 52px;
    border-radius: 32px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.2s;
    background: linear-gradient(90deg, var(--au-light-green) 0%, var(--au-cyan-gradient-end) 100%);
    color: var(--au-btn-text-dark);
}

.au-btn-register:hover {
    opacity: 0.85;
    text-decoration: none;
    color: var(--au-btn-text-dark);
}

/* == Competition Tab =================================== */
.au-comp-filter-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.au-comp-filter-label {
    font-size: 14px;
    color: var(--au-text-muted);
    white-space: nowrap;
}

.au-comp-select-wrap {
    position: relative;
    display: inline-block;
}

.au-comp-select {
    appearance: none;
    -webkit-appearance: none;
    background: #0d1530;
    border: 1.5px solid var(--au-cyan);
    border-radius: 8px;
    color: var(--au-text);
    font-size: 14px;
    padding: 8px 36px 8px 14px;
    cursor: pointer;
    outline: none;
    min-width: 220px;
}

.au-comp-select-wrap::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--au-cyan);
    pointer-events: none;
}

.au-comp-asof {
    font-size: 13px;
    color: var(--au-text-muted);
    margin-left: 8px;
}

/* == Ranking Table ===================================== */
.au-rank-table-wrap {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    overflow: hidden;
    margin-bottom: 16px;
}

.au-rank-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    color: var(--au-text);
}

.au-rank-table thead th {
    padding: 12px 16px;
    font-weight: 600;
    font-size: 14px;
    color: var(--au-light-green);
    text-align: left;
    white-space: nowrap;
}

.au-rank-table thead th.au-col-green {
    color: var(--au-light-green);
}

.au-rank-table tbody td {
    padding: 12px 16px;
    vertical-align: middle;
    white-space: nowrap;
    color: var(--au-text);
}

.au-rank-table tbody tr {
    border-top: 1px solid rgba(255,255,255,0.07);
    transition: background 0.15s;
}

.au-rank-table tbody tr:hover {
    background: rgba(51,203,236,0.06);
}

.au-rank-num {
    font-weight: 700;
    color: var(--au-text);
}

.au-rank-green {
    color: var(--au-light-green);
    font-weight: 500;
}

/* == Pagination ======================================== */
.au-pagination {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
    padding: 4px 0;
}

.au-page-btn {
    min-width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.12);
    background: transparent;
    color: var(--au-text-muted);
    font-size: 13px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    padding: 0 6px;
    text-decoration: none;
}

.au-page-btn:hover {
    border-color: var(--au-cyan);
    color: var(--au-cyan);
    text-decoration: none;
}

.au-page-btn.active {
    background: var(--au-light-green);
    border-color: var(--au-light-green);
    color: var(--au-dark);
    font-weight: 700;
}

@media (max-width: 767px) {
    .au-rank-table thead th,
    .au-rank-table tbody td {
        padding: 10px 10px;
        font-size: 12px;
    }

    .au-comp-select {
        min-width: 160px;
        font-size: 13px;
    }
}

/* == Origin / Project Background ========================== */
.au-origin-quote {
    font-size: 14px;
    color: var(--au-text);
    line-height: 1.85;
    font-style: italic;
}

.au-origin-body {
    font-size: 14px;
    color: var(--au-white);
    line-height: 1.9;
}

/* == Competition Rules List ============================ */
.au-comp-rules-list {
    padding-left: 20px;
    margin: 0 0 8px;
    font-size: 14px;
    color: var(--au-text);
    line-height: 1.9;
}

.au-comp-rules-list li {
    margin-bottom: 8px;
}

.au-comp-rules-sub {
    padding-left: 20px;
    margin-top: 6px;
    margin-bottom: 4px;
    font-size: 14px;
    color: var(--au-text);
    line-height: 1.9;
    list-style-type: lower-alpha !important;
}

.au-comp-rules-sub li {
    margin-bottom: 6px;
    list-style-type: lower-alpha !important;
}

.au-comp-consent {
    font-size: 13px;
    color: var(--au-white);
    line-height: 1.85;
}

.au-comp-consent p {
    margin-bottom: 2px;
}

/* == Register Tab ====================================== */
.au-reg-type-btn {
    width: 100%;
    padding: 12px 20px;
    border-radius: 32px;
    border: 1.5px solid rgba(255,255,255,0.2);
    background: transparent;
    color: var(--au-text-muted);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.au-reg-type-btn.active {
    border-color: var(--au-light-green);
    color: var(--au-light-green);
    background: rgba(164,255,107,0.07);
}

.au-reg-type-btn:hover:not(.active) {
    border-color: var(--au-cyan);
    color: var(--au-cyan);
}

.au-reg-card {
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    padding: 28px 24px;
    margin-bottom: 24px;
}

.au-reg-card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--au-light-green);
    margin-bottom: 20px;
}

.au-reg-select {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    background: #0d1530 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0l6 8 6-8z' fill='%2333CBEC'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    color: var(--au-text-muted);
    font-size: 14px;
    padding: 10px 36px 10px 14px;
    outline: none;
    cursor: pointer;
}

.au-reg-select:focus {
    border-color: var(--au-cyan);
    color: var(--au-text);
}

.au-reg-select-sm {
    appearance: none;
    -webkit-appearance: none;
    background: #0d1530 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0l6 8 6-8z' fill='%2333CBEC'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    color: var(--au-text);
    font-size: 13px;
    padding: 9px 28px 9px 10px;
    outline: none;
    cursor: pointer;
    min-width: 80px;
}

.au-reg-input {
    width: 100%;
    background: #0d1530;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    color: var(--au-text);
    font-size: 14px;
    padding: 9px 14px;
    outline: none;
    transition: border-color 0.15s;
}

.au-reg-input:focus {
    border-color: var(--au-cyan);
}

.au-reg-input::placeholder {
    color: var(--au-text-dim);
}

.au-reg-input-sm {
    width: 80px;
}

.au-reg-member-box {
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 16px;
}

.au-reg-member-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--au-text-muted);
    margin-bottom: 12px;
}

.au-reg-label {
    font-size: 13px;
    color: var(--au-text-muted);
    white-space: nowrap;
}

.au-reg-radio {
    font-size: 13px;
    color: var(--au-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.au-reg-add-btn {
    background: transparent;
    border: none;
    color: var(--au-light-green) !important;
    font-size: 28px;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    transition: opacity 0.2s;
}

.au-reg-add-btn:hover {
    opacity: 0.75;
}

.au-reg-level-box {
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    padding: 16px;
}

.au-reg-recaptcha {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 13px;
    color: var(--au-text);
}

.au-reg-recaptcha-logo {
    font-size: 20px;
    color: var(--au-cyan);
}

.au-reg-consent {
    font-size: 13px;
    color: var(--au-light-green);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* == Add Competition Member Button ===================== */
.au-reg-add-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    transition: opacity 0.2s;
}

.au-reg-add-btn:hover {
    opacity: 0.75;
}



/* == Form Validation =================================== */
.au-reg-input.au-invalid,
.au-reg-select.au-invalid,
.au-reg-select-sm.au-invalid {
    border-color: #e53e3e !important;
}

.au-field-error {
    display: block;
    font-size: 12px;
    color: #e53e3e;
    margin-top: 4px;
}

.au-field-error:empty {
    display: none;
}

/* == Q/A Accordion ===================================== */
.au-accordion .accordion-item {
    background: transparent;
    border: 1px solid rgba(51, 203, 236, 0.3);
    border-radius: var(--au-radius-sm) !important;
    margin-bottom: 8px;
    overflow: hidden;
}

.au-accordion .accordion-button {
    background: transparent;
    color: var(--au-text);
    font-size: 14px;
    font-weight: 500;
    padding: 14px 20px;
    box-shadow: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.au-accordion .accordion-button:not(.collapsed) {
    background: rgba(51, 203, 236, 0.08);
    color: var(--au-text);
    box-shadow: none;
}

.au-accordion .accordion-button::after {
    filter: invert(1) brightness(2);
}

.au-accordion .accordion-button .au-qa-icon {
    color: var(--au-light-green);
    font-size: 16px;
    flex-shrink: 0;
}

.au-accordion .accordion-collapse {
    border-top: 1px solid rgba(51, 203, 236, 0.2);
}

.au-accordion .accordion-body {
    font-size: 13.5px;
    color: var(--au-text-muted);
    line-height: 1.85;
    padding: 16px 20px;
}

.au-accordion .accordion-body ul {
    padding-left: 18px;
    margin: 6px 0;
}

.au-accordion .accordion-body li {
    margin-bottom: 4px;
}

.au-accordion .accordion-body ul ul {
    margin-top: 4px;
}

.au-accordion .accordion-body a {
    color: var(--au-light-green);
    text-decoration: underline;
}

/* == Q/A Accordion (Override Styles) ================== */
.au-accordion .accordion-item {
    background: transparent;
    border: 1px solid rgba(51, 203, 236, 0.3);
    border-radius: var(--au-radius-sm) !important;
    margin-bottom: 8px;
    overflow: hidden;
}

.au-accordion .accordion-button {
    background: transparent;
    color: var(--au-light-green) !important;
    font-size: 16px;
    font-weight: 600;
    padding: 14px 20px;
    box-shadow: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

    .au-accordion .accordion-button:not(.collapsed) {
        background: rgba(51, 203, 236, 0.06);
        color: var(--au-light-green) !important;
        box-shadow: none;
    }

.au-accordion .accordion-button::after {
    filter: invert(1) brightness(2);
}

.au-accordion .accordion-button .au-qa-icon {
    color: var(--au-light-green);
    font-size: 18px;
    flex-shrink: 0;
}

.au-accordion .accordion-button:not(.collapsed) .au-qa-icon {
    color: var(--au-light-green);
}

.au-accordion .accordion-collapse {
    border-top: 1px solid rgba(51, 203, 236, 0.15);
}

.au-accordion .accordion-body {
    font-size: 13.5px;
    color: var(--au-white);
    line-height: 1.9;
    padding: 16px 20px;
}

.au-accordion .accordion-body p {
    margin-bottom: 4px;
}

.au-accordion .accordion-body ul,
.au-accordion .accordion-body ol {
    padding-left: 20px;
    margin: 6px 0;
}

.au-accordion .accordion-body li {
    margin-bottom: 4px;
}

.au-accordion .accordion-body ul ul,
.au-accordion .accordion-body ol ol,
.au-accordion .accordion-body ul ol {
    margin-top: 4px;
}

.au-accordion .accordion-body a {
    color: var(--au-light-green);
    text-decoration: none;
}

.au-accordion .accordion-body a:hover {
    text-decoration: underline;
}

/* == Override kgi/style.css .accordion p { display: none } == */
.au-accordion .accordion-body p {
    display: block;
    font-size: 13.5px;
    padding: 0;
    margin-bottom: 6px;
}

/* == Override link color inside Q/A accordion ========== */
.au-accordion .accordion-body a {
    color: var(--au-light-green) !important;
    background: transparent !important;
    display: inline !important;
    width: auto !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-decoration: none;
}

.au-accordion .accordion-body a:hover {
    text-decoration: underline;
}

/* == Override li style inside Q/A accordion ============ */
.au-accordion .accordion-body li {
    list-style-type: disc !important;
    margin-bottom: 4px !important;
}

.au-accordion .accordion-body ol li {
    list-style-type: decimal !important;
}

.au-accordion .accordion-body ul ul li,
.au-accordion .accordion-body ol ul li {
    list-style-type: circle !important;
}

/* == Register Submit Alert ============================= */
.au-reg-alert {
    display: none;
    padding: 14px 18px;
    border-radius: var(--au-radius-sm);
    font-size: 14px;
    font-weight: 500;
    margin-top: 16px;
}

.au-reg-alert-success {
    background: rgba(164, 255, 107, 0.12);
    border: 1px solid var(--au-light-green);
    color: var(--au-light-green);
}

.au-reg-alert-error {
    background: rgba(229, 62, 62, 0.1);
    border: 1px solid #e53e3e;
    color: #e53e3e;
}

/* == Register Success Card ============================= */
.au-success-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.au-success-overlay.show {
    display: flex;
}

.au-success-card {
    background: var(--au-dark);
    border: 1.5px solid var(--au-cyan);
    border-radius: var(--au-radius);
    padding: 36px 40px;
    max-width: 560px;
    width: 90%;
    text-align: center;
}

.au-success-card-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--au-light-green);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.au-success-card-body {
    font-size: 15px;
    color: var(--au-text);
    line-height: 1.8;
    margin-bottom: 28px;
}

.au-btn-close-success {
    display: inline-block;
    padding: 11px 48px;
    border-radius: 32px;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    background: linear-gradient(90deg, var(--au-light-green) 0%, var(--au-cyan-gradient-end) 100%);
    color: var(--au-btn-text-dark);
    transition: opacity 0.2s;
}

.au-btn-close-success:hover {
    opacity: 0.85;
}

.au-tab-nav .au-tab-item.active i {
    filter: brightness(0) saturate(100%) invert(6%) sepia(20%) saturate(1400%) hue-rotate(190deg) brightness(90%);
}

.au-reg-type-btn i {
    filter: brightness(0) saturate(100%) invert(63%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(96%) contrast(90%);
}
.au-reg-type-btn.active i {
    filter: none;
}

.au-reg-type-btn:hover:not(.active) i {
    filter: brightness(0) saturate(100%) invert(73%) sepia(90%) saturate(1350%) hue-rotate(154deg) brightness(98%) contrast(86%);
}