.preview-image-fluid {
    max-width: 100%;
    height: auto;
}

.otp-input-group {
    margin-top: 20px;
}

.otp-boxes {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.text-white {
    color: #fff;
}

.otp-input {
    width: 45px;
    height: 45px;
    text-align: center;
    font-size: 20px;
    border: 1px solid #ffffff;
    border-radius: 8px;
    padding-right: 20px !important;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
    background-color: #ffffff !important;
}

.otp-input:focus {
    border-color: #6c5ce7;
    box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.2);
    outline: none;
}
@media (max-width: 575px) {
    .otp-input {
        width: 35px !important;
        height: 35px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}
.white-placeholder input::placeholder {
    color: #fff !important;
}

.otp-input-group {
    margin-top: 20px;
}

.otp-boxes {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.otp-input {
    width: 48px;
    height: 48px;
    text-align: center;
    font-size: 20px;
    border: 1px solid #ccc;
    border-radius: 8px;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}

.otp-input:focus {
    border-color: #6c5ce7;
    box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.2);
    outline: none;
}

.otp-input-group {
    margin-top: 20px;
}

.otp-boxes {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.otp-input {
    width: 48px;
    height: 48px;
    text-align: center;
    font-size: 20px;
    border: 1px solid #ccc;
    border-radius: 8px;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}

.otp-input:focus {
    border-color: #6c5ce7;
    box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.2);
    outline: none;
}

.preview-image-fluid {
    max-width: 100%;
    height: auto;
}

.scroll-top-progress-path {
    transition: stroke-dashoffset 10ms linear 0s;
    stroke-dasharray: 307.919, 307.919;
    stroke-dashoffset: 307.919;
}

.postbox-details-social ul li {
    display: inline-block;
}

.postbox-details-social ul li:not(:last-child) {
    margin-right: 6px;
}


.nice-select .list {
    max-height: 400px;
    overflow-y: auto;
}

.scroll-auto {
    overflow-y: auto;
}

.section-title {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    margin-bottom: 10px;
}

/* RADIO CARD */
.radio-card {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 2px solid #eee;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: 0.2s ease;
}

.radio-card input[type="radio"] {
    accent-color: #ff7a00;
    width: 18px;
    height: 18px;
}

.radio-card.active,
.radio-card:has(input:checked) {
    border-color: #ff7a00;
    background: #fff7f0;
}

.label-text {
    font-size: 14px;
    font-weight: 500;
}

/* STYLE CARDS */
.style-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.style-card {
    border: 2px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    text-align: center;
    font-size: 13px;
    cursor: pointer;
    transition: 0.2s ease;
}

.style-card img {
    width: 100%;
    height: 90px;
    object-fit: cover;
}

.style-card span {
    display: block;
    padding: 6px;
}

.style-card.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.style-card.active {
    border-color: #ff7a00;
    background: #fff7f0;
}

.hidden {
    display: none !important;
}

.radio-card.disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.contact-section-white {
    background-color: #fff;
}

.contact-map-iframe {
    border: 0;
}

.fact-icon-size {
    height: 56px;
    width: 56px;
}

/* ===== STAT CARD BASE ===== */
.stat-card {
    border-radius: 18px;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.12);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;
}

/* subtle glow overlay */
.stat-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0.18),
        rgba(255, 255, 255, 0)
    );
}

/* hover lift */
.stat-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.18);
}

/* FORCE WHITE TEXT INSIDE STAT CARDS */
.stat-card,
.stat-card * {
    color: #ffffff !important;
}

/* ===== TEXT ===== */
.stat-label {
    font-size: 13px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    opacity: 0.9;
}

.stat-value {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.1;
}
@media (max-width: 1199px) {
    .stat-value {
        font-size: 30px;
    }
}
/* ===== COLOR VARIANTS ===== */
.stat-card.orange {
    background: var(--ot-theme-color);
}

.stat-card.purple {
    background: var(--ot-purple-color);
}

.stat-card.blue {
    background: var(--ot-title-color3);
}

/* expired text contrast fix */
.stat-card .text-danger {
    color: #ffd6d6 !important;
}

.insight-box {
    border: 1px solid #d9e5f3;
    border-radius: 16px;
}

/* ===============================
   Checkout Page Styles
   =============================== */
.checkout-shell {
    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(8, 145, 178, 0.08),
            transparent 40%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(37, 99, 235, 0.1),
            transparent 46%
        ),
        #f6f9fc;
}

.checkout-head {
    max-width: 760px;
}

.checkout-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0369a1;
    background: #e0f2fe;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    padding: 8px 14px;
    margin-bottom: 14px;
}

.checkout-title {
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.18;
    color: #0f172a;
    font-weight: 700;
}

.checkout-subtitle {
    color: #475569;
    font-size: 16px;
}

.checkout-panel {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

.checkout-sidebar {
    position: sticky;
    top: 112px;
}

.plan-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid #dbeafe;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 14px;
}

.plan-stat-card {
    height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    padding: 15px 16px;
    transition: all 0.25s ease;
}

.plan-stat-card:hover {
    transform: translateY(-3px);
    border-color: #bfdbfe;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
}

.plan-stat-card small {
    display: block;
    color: #64748b;
    font-size: 12px;
    margin-bottom: 5px;
}

.plan-stat-card h6 {
    margin: 0;
    color: #0f172a;
    font-size: 17px;
    font-weight: 700;
}

.checkout-list-wrap h6 {
    color: #0f172a;
}

.checkout-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.checkout-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #334155;
    line-height: 1.5;
}

.checkout-list li i {
    color: #16a34a;
    margin-top: 3px;
    flex: 0 0 auto;
}

.summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    color: #475569;
    font-size: 15px;
}

.summary-row strong {
    color: #0f172a;
}

.summary-divider {
    border-top: 1px dashed #dbe3ee;
}

.summary-total {
    margin-top: 2px;
    padding-top: 12px;
}

.summary-total span {
    color: #0f172a;
    font-weight: 600;
}

.summary-total strong {
    font-size: 24px;
    color: #0f172a;
}

.gateway-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, max-content));
    gap: 12px;
    justify-content: start;
}

.gateway-option {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
    gap: 8px;
    border: 1px solid #d5deea;
    border-radius: 12px;
    background: #ffffff;
    padding: 10px 12px;
    min-height: 92px;
    min-width: 118px;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease,
        background-color 0.2s ease;
}

.gateway-option:hover {
    border-color: #b9c8dc;
    background: #fcfdff;
    transform: translateY(-1px);
}

.gateway-option.is-active {
    border-color: #2563eb;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.14),
        0 8px 16px rgba(37, 99, 235, 0.14);
}

.gateway-radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gateway-name {
    font-weight: 600;
    color: #0f172a;
    font-size: 13px;
    line-height: 1.2;
    word-break: break-word;
}

.gateway-logo-wrap {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid #e6edf7;
    background: #f8fbff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
}

.gateway-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gateway-logo-fallback {
    color: #4f8cff;
    font-size: 18px;
}

.checkout-btn {
    border-radius: 12px;
    min-height: 52px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: all 0.25s ease;
}

.checkout-btn:disabled {
    opacity: 0.58;
    cursor: not-allowed;
}

.checkout-btn:not(:disabled):hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(37, 99, 235, 0.28);
}

.secure-note {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #dbeafe;
    background: #eff6ff;
    border-radius: 12px;
    color: #1e40af;
    padding: 11px 13px;
    font-size: 13px;
    line-height: 1.4;
}

.secure-note i {
    color: #1d4ed8;
}

#manual-gateway-form:empty {
    display: none;
}

@media (max-width: 1199.98px) {
    .checkout-sidebar {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .checkout-panel {
        border-radius: 16px;
    }

    .summary-total strong {
        font-size: 21px;
    }

    .gateway-option {
        min-width: 102px;
        min-height: 86px;
        padding: 9px 10px;
    }

    .gateway-name {
        font-size: 12px;
    }
}

.insight-box {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    padding: 18px;
    height: 100%;
    box-shadow: 0 12px 28px rgba(20, 38, 63, 0.06);
}

.insight-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.insight-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--ot-title-color);
    line-height: 1.2;
}

.insight-kicker {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.insight-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.insight-item {
    border: 1px solid #e3ebf7;
    border-radius: 12px;
    background: #fff;
    padding: 12px 14px;
    box-shadow: inset 0 -3px 0 #f3f7fd;
}

.insight-item h6 {
    margin: 0;
    font-size: 11px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.insight-item p {
    margin: 8px 0 0;
    font-size: 32px;
    font-weight: 800;
    color: var(--ot-theme-color);
    line-height: 1;
}

.recent-ticket-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.recent-ticket-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid #e0e9f5;
    border-radius: 12px;
    text-decoration: none;
    color: #173457;
    background: #fff;
    transition: all 0.2s ease;
}

.recent-ticket-item:hover {
    transform: translateY(-1px);
    background: #f7fbff;
    border-color: #c8dcf7;
    box-shadow: 0 10px 22px rgba(13, 110, 253, 0.08);
}

.recent-ticket-id {
    color: #0d6efd;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.recent-ticket-subject {
    font-weight: 700;
    font-size: 17px;
    line-height: 1.35;
}

.recent-ticket-meta {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    white-space: nowrap;
}

.recent-ticket-meta small {
    color: #66758c;
    font-size: 11px;
    font-weight: 700;
}

.empty-render-state {
    border: 1px dashed #cfdbee;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #f3f8ff 100%);
    padding: 32px 20px;
    text-align: center;
}

.empty-render-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 12px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--ot-theme-color);
    background: #e8f0ff;
}

.empty-render-title {
    margin: 0;
    color: #13284a;
    font-size: 20px;
    font-weight: 700;
}

.empty-render-text {
    margin: 8px auto 16px;
    color: #5f6f86;
    max-width: 520px;
}

@media (max-width: 767px) {
    .insight-list {
        grid-template-columns: 1fr;
    }

    .insight-title {
        font-size: 17px;
    }

    .recent-ticket-subject {
        font-size: 15px;
    }
}

.kyc-modern-page {
    position: relative;
}

.kyc-header-wrap {
    position: relative;
    overflow: hidden;
    padding: 18px 20px;
    border-radius: 16px;
    border: 1px solid #e7edf4;
    background: linear-gradient(145deg, #ffffff 0%, #fff9f4 42%, #f3fbfd 100%);
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.04);
}

.kyc-header-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 151, 88, 0.2),
            transparent 58%
        ),
        radial-gradient(
            circle at top right,
            rgba(23, 162, 184, 0.2),
            transparent 60%
        );
    pointer-events: none;
}

.kyc-header-wrap > * {
    position: relative;
    z-index: 1;
}

.kyc-card {
    border: 1px solid #e3eaf3;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.kyc-card .content-card-header {
    border-bottom: 1px solid #edf2f8;
    background: #fcfdff;
    padding: 16px 20px;
}

.kyc-card .section-title {
    margin: 0;
    font-size: 20px;
    color: #102a43;
}

.kyc-mini-status {
    padding: 9px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid transparent;
}

.kyc-mini-status.verified {
    background: #e6f8ee;
    color: #16784a;
    border-color: #c6ead8;
}

.kyc-mini-status.pending {
    background: #fff4de;
    color: #976600;
    border-color: #f3dfb0;
}

.kyc-mini-status.not-started {
    background: #e7f0ff;
    color: #1b4ca0;
    border-color: #cfdffb;
}

.kyc-guidelines {
    border: 1px solid #e8edf4;
    border-radius: 14px;
    background: linear-gradient(165deg, #fffdf9 0%, #f8fbff 100%);
    padding: 16px;
}

.kyc-guidelines h4 {
    margin: 0 0 10px;
    font-size: 15px;
    color: #12314f;
    font-weight: 700;
}

.kyc-guidelines ul {
    margin: 0 0 14px;
    padding-left: 18px;
    color: #334e68;
    font-size: 13px;
    line-height: 1.55;
}

.kyc-guidelines li + li {
    margin-top: 7px;
}

.kyc-note-box {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #eef6ff;
    border: 1px solid #d4e4fc;
    color: #1f4b87;
    font-size: 13px;
}

.kyc-note-box i {
    margin-top: 2px;
}

.kyc-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    background: #fdfefe;
    padding: 14px;
}

.kyc-form-group {
    display: flex;
    flex-direction: column;
    border: 1px solid #e9edf4;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.kyc-form-group:focus-within {
    border-color: #f49c59;
    box-shadow: 0 8px 20px rgba(244, 156, 89, 0.18);
    transform: translateY(-1px);
}

.kyc-form-group.is-full {
    grid-column: span 1;
}

.kyc-label {
    font-size: 14px;
    font-weight: 700;
    color: #1f3552;
    margin-bottom: 8px;
}

.kyc-label-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #eef4ff;
    color: #2455bf;
    font-size: 11px;
    font-weight: 700;
    margin-right: 7px;
}

.kyc-required {
    color: #ef4444;
    margin-left: 2px;
}

.kyc-input {
    min-height: 46px;
    border-color: #d7dfeb;
    border-radius: 10px;
    background: #fff;
}

.kyc-input:focus {
    border-color: #f0933f;
    box-shadow: 0 0 0 0.2rem rgba(240, 147, 63, 0.15);
}

.kyc-textarea {
    min-height: 130px;
    resize: vertical;
}

.kyc-file {
    min-height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    border-style: dashed;
    background: #fff;
    font-size: 15px;
    color: #607089;
}

.kyc-file::file-selector-button {
    border: none;
    background: linear-gradient(135deg, #ff8f3f 0%, #ff6f61 100%);
    color: #fff;
    border-radius: 8px;
    padding: 8px 12px;
    margin-right: 10px;
    cursor: pointer;
    font-weight: 600;
}

.kyc-file:valid {
    border-color: #ffc38f;
    background: #fff9f4;
}

.kyc-help-text {
    margin-top: 6px;
    font-size: 12px;
    color: #64748b;
}

.kyc-submit-wrap {
    grid-column: span 1;
    display: flex;
    justify-content: flex-end;
    margin-top: 2px;
    padding-top: 14px;
    border-top: 1px solid #e9eef5;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        #fffefe 100%
    );
}

.kyc-submit-wrap .new-btn {
    min-height: 46px;
    border-radius: 10px;
    padding: 10px 18px;
    font-weight: 700;
    letter-spacing: 0.2px;
    background: linear-gradient(135deg, #ff8f3f 0%, #ff6f61 100%);
    box-shadow: 0 10px 20px rgba(255, 111, 97, 0.25);
}

.kyc-submit-wrap .new-btn:hover {
    filter: brightness(0.95);
}

.kyc-empty-box {
    grid-column: span 1;
    border: 1px dashed #d7deea;
    background: #f8fbff;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
    color: #55657d;
}

.kyc-empty-box i {
    color: #f59e0b;
    font-size: 20px;
    margin-bottom: 8px;
    display: block;
}

.kyc-status-card {
    border: 1px solid #e3eaf4;
    border-radius: 14px;
    padding: 18px;
    background: #fff;
}

.kyc-status-card.success {
    border-left: 4px solid #16a34a;
    background: linear-gradient(180deg, #ffffff 0%, #f5fff9 100%);
}

.kyc-status-card.pending {
    border-left: 4px solid #f59e0b;
    background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.kyc-status-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.kyc-status-left {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.kyc-status-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9f2ff;
    color: #1e4f9f;
    font-size: 18px;
    flex-shrink: 0;
}

.kyc-status-left h4 {
    margin: 0 0 4px;
    font-size: 19px;
    font-weight: 700;
    color: #1f2937;
}

.kyc-status-left p {
    margin: 0;
    color: #55657d;
    line-height: 1.5;
}

.kyc-status-badge {
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kyc-status-badge.success {
    color: #0f7f49;
    background: #e7f8ef;
}

.kyc-status-badge.pending {
    color: #9a6700;
    background: #fff1d8;
}

.kyc-status-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.kyc-meta-item {
    border: 1px solid #e6edf7;
    border-radius: 10px;
    background: #fff;
    padding: 10px;
}

.kyc-meta-item span {
    display: block;
    font-size: 11px;
    color: #66758d;
    margin-bottom: 4px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.kyc-meta-item strong {
    display: block;
    color: #1b2f4d;
    font-size: 13px;
    line-height: 1.35;
}

@media (max-width: 991px) {
    .kyc-header-wrap {
        padding: 14px;
    }

    .kyc-form-grid {
        grid-template-columns: 1fr;
    }

    .kyc-form-group.is-full,
    .kyc-submit-wrap,
    .kyc-empty-box {
        grid-column: span 1;
    }

    .kyc-status-meta {
        grid-template-columns: 1fr;
    }

    .kyc-status-top {
        flex-direction: column;
    }
}

.image-render-head {
    padding: 18px 20px;
    border-radius: 16px;
    border: 1px solid #e7edf4;
    background: linear-gradient(145deg, #ffffff 0%, #fff9f4 42%, #f3fbfd 100%);
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.04);
}

.image-render-meta {
    display: flex;
    align-items: center;
}

.render-meta-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 8px 14px;
    border: 1px solid #d8e7fd;
    background: #edf5ff;
    color: #1f4f9e;
    font-size: 12px;
    font-weight: 700;
}

.render-card {
    border: 1px solid #e8edf5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.render-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.1);
}

.render-card .room-image {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    width: 100%;
    border-bottom: 1px solid #edf2f8;
}

.render-card .room-info {
    padding: 2px 4px 2px 4px;
}

.render-empty-state {
    border: 1px dashed #d8e2ef;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    padding: 44px 20px;
    text-align: center;
    color: #4e627a;
}

.render-empty-icon {
    width: 62px;
    height: 62px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #edf4ff;
    color: #2a5ab5;
    font-size: 26px;
    margin-bottom: 10px;
}

.render-empty-state h4 {
    margin-bottom: 6px;
    color: #17324f;
    font-weight: 700;
}

.render-empty-state p {
    margin: 0;
    font-size: 14px;
}

.render-pagination-wrap {
    display: flex;
    justify-content: center;
}

/* ===============================
   PAGE
================================ */
.image-details-page {
}

/* HEADER */
.page-title {
    font-size: 22px;
    font-weight: 700;
}
.page-subtitle {
    color: #777;
    font-size: 13px;
}

/* ===============================
   SIDEBAR
================================ */
.details-sidebar {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);
}

.sidebar-thumbnail img {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 12px;
}

.sidebar-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 600;
    color: #888;
    margin-bottom: 12px;
}

/* META ROW */
.meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed #eee;
    font-size: 13px;
}
.meta-row:last-child {
    border-bottom: none;
}

/* BADGES */
.meta-badge {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.badge-green {
    background: #e8f7ef;
    color: #0f9d58;
}
.badge-blue {
    background: #e8f1ff;
    color: #1a73e8;
}
.badge-orange {
    background: #fff3e0;
    color: #fb8c00;
}
.badge-purple {
    background: #f3e8ff;
    color: #8e24aa;
}
.badge-red {
    background: #fdecea;
    color: #d93025;
}
.badge-yellow {
    background: #fff8e1;
    color: #f9ab00;
}
.badge-gray {
    background: #f1f3f4;
    color: #555;
}

/* ===============================
   IMAGE GRID
================================ */
.image-card {
    background: #fff;
    border-radius: 16px;
    padding: 12px;
    transition: 0.25s ease;
}
.image-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.08);
}

.image-box {
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
}
.image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-hover {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    opacity: 0;
    transition: 0.2s;
}
.image-box:hover .image-hover {
    opacity: 1;
}

/* IMAGE META */
.image-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-top: 10px;
}

/* ACTIONS */
.image-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}
.image-actions a,
.image-actions button {
    flex: 1;
    border: none;
    padding: 8px;
    border-radius: 8px;
    background: #f1f3f4;
    cursor: pointer;
}
.btn-download {
    background: #1a73e8;
    color: #fff;
}

/* DOWNLOAD ALL BAR */
.download-all-bar {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding: 16px;
    margin-top: 30px;
    text-align: center;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.05);
}

.ot-dashboard-main.referral-page-shell {
    padding: 22px;
    background: #fff;
    border: 1px solid #e9eef5;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.ticket-title {
    font-size: 22px;
    font-weight: 600;
    color: #112e4a;
    margin-bottom: 6px;
    line-height: 1.2;
}

.referral-section-subtitle {
    font-size: 14px;
    color: #5c6f86;
    margin-bottom: 16px;
}

.referral-cards .card {
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 14px 15px;
    background: linear-gradient(145deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
    position: relative;
    overflow: hidden;
}

.referral-cards .card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #ff8f3f, #ff6f61);
}

.referral-cards .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.08);
}

.card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 10px;
}

.card-top-title {
    font-size: 14px;
    font-weight: 600;
    color: #4b6078;
    line-height: 1.3;
    margin-bottom: 0;
}

.card-top-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9f2ff;
    color: #2052ad;
}

.card-top-icon i {
    font-size: 15px;
    color: inherit;
}

.card-number {
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    color: #122f4b;
    margin-bottom: 0;
}

.ot-newsletter-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-bottom: 16px;
    padding: 14px;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    background: #fbfdff;
}

.dashboard-referral-box {
    align-items: center;
}

.dashboard-referral-box .ot-newsletter-btn,
.dashboard-copy-btn {
    position: static !important;
    right: auto !important;
    top: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ot-newsletter-input input {
    width: 100%;
    min-height: 48px;
    border: 1px solid #d8e2ef;
    border-radius: 10px;
    font-size: 14px;
    color: #2f435c;
    background: #fff;
    padding: 10px 14px !important;
    padding-right: 55px !important;
}

.ot-newsletter-btn button {
    min-width: 52px;
    min-height: 48px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(135deg, #ff8f3f 0%, #ff6f61 100%);
    color: #fff;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
    position: relative;
}

.ot-newsletter-btn button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(255, 111, 97, 0.25);
}

.copy-tooltip {
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    background: #1f3552;
    color: #fff;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 6px;
    opacity: 0;
}
.dashboard-space {
    padding-top: 10rem;
}
.dashboard-widget-card {
    border: 1px solid #e8edf5;
    border-radius: 14px;
    background: #fff;
    padding: 14px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.dashboard-widget-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.dashboard-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #17324f;
    margin-bottom: 4px;
}

.dashboard-card-text {
    font-size: 13px;
    color: #5b6c82;
    margin-bottom: 0;
}

.dashboard-card-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #edf4ff;
    color: #2456bf;
    font-size: 16px;
    flex-shrink: 0;
}

.ot-dashboard-table-wrapper {
    border: 1px solid #e8edf5;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.ot-dashboard-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.ot-dashboard-table th,
.ot-dashboard-table td {
    padding: 12px 14px;
    font-size: 13px;
    color: var(--ot-title-color);
    border-bottom: 1px solid #eef2f8;
}

.ot-dashboard-table th {
    background: linear-gradient(145deg, #f8fbff 0%, #f3f8ff 100%);
    color: #1f3552;
    font-weight: 700;
}

.ot-dashboard-table tbody tr:hover {
    background: #f9fcff;
}

.ot-dashboard-table tbody tr:last-child td {
    border-bottom: 0;
}

.referral-cards .row > [class*="col-"],
.dashboard-widget-wrapp .row > [class*="col-"] {
    display: flex;
}

.referral-cards .card,
.dashboard-widget-card {
    width: 100%;
    height: 100%;
}

@media (max-width: 991px) {
    .ticket-title {
        font-size: 20px;
    }

    .card-number {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .ot-dashboard-main.referral-page-shell {
        padding: 16px;
    }

    .ticket-title {
        font-size: 19px;
    }

    .ot-newsletter-box {
        grid-template-columns: 1fr;
    }
}

.twofa-card {
    border: 1px solid #e6ecf4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.twofa-top {
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    border-bottom: 1px solid #edf2f8;
    background: linear-gradient(145deg, #ffffff 0%, #fff8f2 45%, #f2fbff 100%);
}

.twofa-title {
    font-size: 30px;
    font-weight: 700;
    color: #0f2f4d;
}

.twofa-subtitle {
    color: #4f6277;
    font-size: 15px;
}

.twofa-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid transparent;
    white-space: nowrap;
}

.twofa-badge.enabled {
    background: #e8f8ef;
    border-color: #c8ebd9;
    color: #0f7f49;
}

.twofa-badge.disabled {
    background: #e7f0ff;
    border-color: #cfddfa;
    color: #1f4f9e;
}

.twofa-content {
    padding: 18px 20px;
    display: grid;
    gap: 14px;
}

.twofa-guide {
    border: 1px solid #d7e5fb;
    border-radius: 12px;
    background: #f2f8ff;
    padding: 14px;
}

.twofa-guide h4 {
    font-size: 16px;
    margin-bottom: 10px;
    color: #103e79;
    font-weight: 700;
}

.twofa-guide ol {
    margin: 0;
    padding-left: 18px;
    color: #334e68;
    line-height: 1.6;
}

.twofa-qr-card {
    border: 1px solid #e7ecf4;
    border-radius: 12px;
    background: #fcfdff;
    padding: 14px;
    text-align: center;
}

.twofa-muted-text {
    color: #5f7086;
    font-weight: 600;
}

.twofa-qr-wrap {
    display: inline-flex;
    padding: 12px;
    border-radius: 10px;
    background: #fff;
    border: 1px dashed #cfd9e8;
}

.twofa-secret-box {
    border: 1px solid #e7ecf4;
    border-radius: 12px;
    background: #fcfdff;
    padding: 12px;
}

.twofa-label {
    font-size: 14px;
    font-weight: 700;
    color: #1f3552;
    display: block;
}

.twofa-secret-btn {
    width: 100%;
    border: 1px solid #d9e3f0;
    background: #fff;
    border-radius: 10px;
    min-height: 44px;
    padding: 8px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: Consolas, "Courier New", monospace;
    font-weight: 700;
    letter-spacing: 1px;
    color: #1f3552;
    transition: all 0.2s ease;
}

.twofa-secret-btn:hover {
    border-color: #f2a35c;
    box-shadow: 0 8px 18px rgba(242, 163, 92, 0.16);
}

.twofa-form {
    border: 1px solid #e7ecf4;
    border-radius: 12px;
    background: #fff;
    padding: 14px;
    display: grid;
    gap: 10px;
}

.twofa-input {
    min-height: 48px;
    border-color: #d7e0eb;
    border-radius: 10px;
    text-align: center;
    letter-spacing: 6px;
    font-weight: 700;
    font-size: 18px;
}

.twofa-input:focus {
    border-color: #f0933f;
    box-shadow: 0 0 0 0.2rem rgba(240, 147, 63, 0.15);
}

.twofa-btn {
    min-height: 46px;
    border: 0;
    border-radius: 10px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: #fff;
    width: 100%;
}

.twofa-btn-enable {
    background: linear-gradient(135deg, #ff8f3f 0%, #ff6f61 100%);
    box-shadow: 0 10px 20px rgba(255, 111, 97, 0.25);
}

.twofa-btn-disable {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 10px 20px rgba(239, 68, 68, 0.22);
}

.twofa-enabled-note {
    border: 1px solid #d2eee0;
    border-radius: 12px;
    background: #ecfaf3;
    padding: 12px 14px;
    color: #116a41;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 767px) {
    .twofa-top {
        flex-direction: column;
    }

    .twofa-title {
        font-size: 24px;
    }
}

.twofa-page-head {
    padding: 16px 18px;
    border: 1px solid #e7edf4;
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff 0%, #fff8f2 45%, #f2fbff 100%);
}

.twofa-head-badge {
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #cfddfa;
    background: #e7f0ff;
    color: #1f4f9e;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.twofa-verify-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 24px;
    background: #fff;
    border: 1px solid #e7edf4;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    text-align: center;
}

.twofa-verify-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 10px;
    background: linear-gradient(135deg, #ffeddc 0%, #ffe1dd 100%);
    color: #c2410c;
}

.twofa-verify-title {
    font-size: 30px;
    font-weight: 700;
    color: #0f2f4d;
    margin-bottom: 4px;
}

.twofa-verify-subtitle {
    color: #5f7086;
    font-size: 14px;
    margin-bottom: 16px;
}

.twofa-verify-form {
    border: 1px solid #ebeff5;
    border-radius: 12px;
    padding: 14px;
    background: #fcfdff;
    text-align: left;
}

.twofa-verify-label {
    display: block;
    margin-bottom: 8px;
    color: #1f3552;
    font-size: 14px;
    font-weight: 700;
}

.twofa-verify-input {
    min-height: 50px;
    font-size: 20px;
    text-align: center;
    letter-spacing: 6px;
    margin-bottom: 14px;
    border-radius: 10px;
    border-color: #d7e0eb;
    font-weight: 700;
}

.twofa-verify-input:focus {
    border-color: #f0933f;
    box-shadow: 0 0 0 0.2rem rgba(240, 147, 63, 0.15);
}

.twofa-verify-btn {
    min-height: 46px;
    border: 0;
    border-radius: 10px;
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    background: linear-gradient(135deg, #ff8f3f 0%, #ff6f61 100%);
    box-shadow: 0 10px 20px rgba(255, 111, 97, 0.25);
}

.twofa-verify-btn:hover {
    filter: brightness(0.96);
    color: #fff;
}

.twofa-verify-note {
    margin-top: 12px;
    border: 1px solid #d8e5f7;
    border-radius: 10px;
    background: #f3f8ff;
    color: #36506f;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

@media (max-width: 768px) {
    .twofa-verify-wrapper {
        margin: 0 14px;
        padding: 18px;
    }

    .twofa-verify-title {
        font-size: 24px;
    }
}

.verify-email-card {
    max-width: 500px;
}

.otp-input {
    width: 50px;
    font-size: 1.5rem;
}

.nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ff8800 #f1f1f1;
    max-height: 500px;
}
.nav-item {
    position: relative;
    margin-bottom: 5px;
    border-radius: 10px;
    transition: 0.3s;
}
.nav-item:hover {
    background: var(--ot-theme-color);
}
.nav-item:hover,
.nav-item.active .nav-link {
    color: var(--ot-white-color);
}
.nav-item.active {
    background: var(--ot-theme-color);
}
.nav-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    color: var(--ot-title-color);
    text-decoration: none;
    border-radius: 10px;
    transition: 0.3s;
    font-size: 16px;
}

/* Orange left border for active nav item */
.nav-item.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 30px;
    background-color: var(--primary-orange);
    border-radius: 0 4px 4px 0;
}

.nav-link i {
    font-size: 20px;
    width: 24px;
}

.gateway-image {
    max-height: 150px;
    object-fit: contain;
}

#manual-gateway-form {
    border-top: 1px dashed #d7e3f4;
    padding-top: 14px;
}

#manual-gateway-form .manual-payment-panel {
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    border: 1px solid #d9e6fb;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.08);
}

#manual-gateway-form .manual-payment-head {
    padding: 12px 14px;
    background: rgba(37, 99, 235, 0.08);
    border-bottom: 1px solid #d9e6fb;
}

#manual-gateway-form .manual-payment-head h6 {
    color: #1e3a8a;
    font-weight: 700;
}

#manual-gateway-form .manual-payment-content {
    padding: 12px 14px;
    color: #334155;
    font-size: 14px;
    line-height: 1.55;
}

#manual-gateway-form .manual-payment-content p:last-child {
    margin-bottom: 0;
}

#manual-gateway-form .manual-field {
    margin-top: 12px;
}

#manual-gateway-form .manual-label {
    font-size: 13px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 7px;
    display: inline-block;
}

#manual-gateway-form .manual-control {
    border-radius: 10px;
    border: 1px solid #d4dfef;
    background: #fbfdff;
    min-height: 44px;
}

#manual-gateway-form .manual-control:focus {
    border-color: #4f8cff;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.16);
    background: #fff;
}

#manual-gateway-form .manual-file {
    padding: 9px 12px;
}

.payment-result-page {
    background:
        radial-gradient(
            780px 340px at 10% -10%,
            rgba(255, 136, 0, 0.14),
            transparent 48%
        ),
        radial-gradient(
            760px 320px at 100% 0,
            rgba(219, 162, 52, 0.14),
            transparent 46%
        ),
        linear-gradient(180deg, #fff, #f8f8fb);
    min-height: calc(100vh - 140px);
}

.payment-result-wrap {
    max-width: 760px;
    margin: 0 auto;
    padding-block: 28px 38px;
}

.result-card {
    background: var(--ot-white-color);
    border: 1px solid var(--ot-border-color1);
    border-radius: 18px;
    padding: clamp(20px, 4vw, 36px);
    box-shadow: 0 18px 36px rgba(19, 34, 56, 0.08);
}

.result-top {
    margin-bottom: 22px;
}

.result-icon {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
}

.result-icon img {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.result-icon.is-success {
    background: rgba(34, 197, 94, 0.12);
}

.result-icon.is-pending,
.result-icon.is-failed {
    background: rgba(251, 191, 36, 0.14);
}

.result-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 10px;
}

.result-badge.success {
    color: #0f9f50;
    background: rgba(34, 197, 94, 0.14);
}

.result-badge.pending,
.result-badge.failed {
    color: #ad7000;
    background: rgba(251, 191, 36, 0.16);
}

.result-title {
    font-size: clamp(1.35rem, 2.2vw, 1.9rem);
    margin-bottom: 8px;
    color: var(--ot-title-color);
    font-weight: 700;
}

.result-subtitle {
    color: var(--ot-body-color);
    max-width: 560px;
    margin: 0 auto;
}

.result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.result-item {
    background: #fbfcff;
    border: 1px solid var(--ot-border-color1);
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.result-item span {
    color: var(--ot-body-color);
    font-size: 13px;
}

.result-item strong {
    color: var(--ot-title-color);
    font-size: 14px;
    word-break: break-word;
}

.result-total {
    border-top: 1px dashed var(--ot-border-color);
    border-bottom: 1px dashed var(--ot-border-color);
    padding: 12px 0;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.result-total span {
    font-weight: 600;
    color: var(--ot-title-color2);
}

.result-total strong {
    font-size: 1.2rem;
    color: var(--ot-theme-color);
    font-weight: 700;
}

.result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 14px;
}

.theme-btn,
.theme-btn-outline {
    min-width: 170px;
    text-align: center;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 16px;
    text-decoration: none;
    transition: all 0.22s ease;
}

.theme-btn {
    color: var(--ot-white-color);
    border: 1px solid var(--ot-theme-color);
    background: var(--ot-theme-color);
}

.theme-btn:hover {
    color: var(--ot-white-color);
    background: var(--ot-title-color);
    border-color: var(--ot-title-color);
}

.theme-btn-outline {
    color: var(--ot-title-color);
    border: 1px solid var(--ot-border-color);
    background: var(--ot-white-color);
}

.theme-btn-outline:hover {
    color: var(--ot-theme-color);
    border-color: var(--ot-theme-color);
    background: rgba(255, 136, 0, 0.06);
}

.result-help small {
    color: var(--ot-body-color);
}

.result-help a {
    color: var(--ot-theme-color);
    text-decoration: none;
    font-weight: 600;
}

@media (max-width: 575.98px) {
    .result-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .result-actions .theme-btn,
    .result-actions .theme-btn-outline {
        width: 100%;
    }
}

.ticket-form-card {
    border: 1px solid #e5eaf1;
}

.ticket-form-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f1f7ff;
    border: 1px solid #d7e6ff;
    color: #1f4b8f;
    font-size: 13px;
}

.ticket-form-note i {
    margin-top: 2px;
}

.ticket-input {
    min-height: 46px;
    border-color: #dce3ee;
    border-radius: 10px;
}

input[type="file"].ticket-input {
    min-height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.3;
}

textarea.ticket-input {
    min-height: 150px;
}

.ticket-input:focus {
    border-color: #ff9f43;
    box-shadow: 0 0 0 0.2rem rgba(255, 136, 0, 0.15);
}

.native-select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    background-image: none !important;
}

.ticket-form-card {
    border: 1px solid #e5eaf1;
}

.ticket-form-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f1f7ff;
    border: 1px solid #d7e6ff;
    color: #1f4b8f;
    font-size: 13px;
}

.ticket-form-note i {
    margin-top: 2px;
}

.ticket-input {
    min-height: 46px;
    border-color: #dce3ee;
    border-radius: 10px;
}

input[type="file"].ticket-input {
    min-height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.3;
}

textarea.ticket-input {
    min-height: 150px;
}

.ticket-input:focus {
    border-color: #ff9f43;
    box-shadow: 0 0 0 0.2rem rgba(255, 136, 0, 0.15);
}

.native-select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    background-image: none !important;
}

.ticket-action-cell {
    text-align: center;
    vertical-align: middle;
}

.ticket-action-group {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ticket-action-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid transparent;
    text-decoration: none;
    transition: all 0.2s ease;
}

.ticket-action-btn i {
    font-size: 14px;
    line-height: 1;
}

.ticket-view-btn {
    color: #2563eb;
    border-color: #c7d9ff;
    background: #edf4ff;
}

.ticket-view-btn:hover {
    color: #1d4ed8;
    border-color: #9cc0ff;
    background: #e3efff;
    transform: translateY(-1px);
}

.ticket-edit-btn {
    color: #d97706;
    border-color: #ffd7a1;
    background: #fff6e8;
}

.ticket-edit-btn:hover {
    color: #b45309;
    border-color: #ffc475;
    background: #ffefdb;
    transform: translateY(-1px);
}

@media (max-width: 575px) {
    .ticket-action-btn {
        width: 34px;
        height: 34px;
        border-radius: 9px;
    }
}

.ticket-pagination-wrap .pagination {
    gap: 8px;
    justify-content: flex-end;
    margin-bottom: 0;
}

.ticket-pagination-wrap .page-item .page-link {
    min-width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid #dbe4f0;
    background: #fff;
    color: #0f2f59;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    box-shadow: 0 4px 14px rgba(15, 47, 89, 0.06);
    transition: all 0.2s ease;
}

.ticket-pagination-wrap .page-item .page-link:hover {
    color: #0d6efd;
    border-color: #bcd3ff;
    background: #f5f9ff;
    transform: translateY(-1px);
}

.ticket-pagination-wrap .page-item.active .page-link {
    color: #fff;
    border-color: #0d6efd;
    background: linear-gradient(135deg, #0d6efd 0%, #3d8bfd 100%);
    box-shadow: 0 10px 20px rgba(13, 110, 253, 0.28);
}

.ticket-pagination-wrap .page-item.disabled .page-link {
    color: #9aa7b8;
    border-color: #e5ebf3;
    background: #f4f6f9;
    box-shadow: none;
    opacity: 1;
}

@media (max-width: 767px) {
    .ticket-pagination-wrap .pagination {
        justify-content: center;
    }
}

.ticket-thread {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.thread-item {
    border: 1px solid #e6eaf1;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fafcff;
}

.thread-item-user {
    border-left: 4px solid #0d6efd;
    background: #f4f8ff;
}

.thread-item-admin {
    border-left: 4px solid #20a464;
    background: #f4fcf8;
}

.thread-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: #5f6d7a;
    margin-bottom: 7px;
}

.thread-message {
    color: #1f2937;
    line-height: 1.6;
    font-size: 14px;
}

.thread-attachment {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: #0d6efd;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.thread-attachment:hover {
    text-decoration: underline;
}

.reply-form-card {
    border: 1px solid #e5eaf1;
}

.reply-form-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f1f7ff;
    border: 1px solid #d7e6ff;
    color: #1f4b8f;
    font-size: 13px;
}

.reply-form-note i {
    margin-top: 2px;
}

.reply-form-label {
    font-weight: 600;
    color: #334155;
    margin-bottom: 7px;
}

.reply-form-input {
    min-height: 46px;
    border-color: #dce3ee;
    border-radius: 10px;
}

input[type="file"].reply-form-input {
    min-height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.3;
}

textarea.reply-form-input {
    min-height: 160px;
    resize: vertical;
}

.reply-form-input:focus {
    border-color: #ff9f43;
    box-shadow: 0 0 0 0.2rem rgba(255, 136, 0, 0.15);
}

.reply-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.reply-form-hint {
    font-size: 12px;
    color: var(--ot-title-color);
}

/* Withdraw Request Card */
.ot-dashboard-ticket-purchase {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Title */
.ticket-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 24px;
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
}

/* Form Labels */
.ot-dashboard-ticket-purchase .form-label {
    font-weight: 500;
    color: #333;
    margin-bottom: 6px;
}

/* Inputs */
.ot-dashboard-ticket-purchase .form-control {
    height: 46px;
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 10px 14px;
    transition: all 0.2s ease;
}

.ot-dashboard-ticket-purchase .form-control:focus {
    border-color: #5b6cff;
    box-shadow: 0 0 0 3px rgba(91, 108, 255, 0.15);
}

/* Helper text */
.ot-dashboard-ticket-purchase small.text-muted {
    display: block;
    margin-top: 6px;
    font-size: 13px;
}

/* Fee Preview Highlight */
#feePreview {
    background: #f8f9ff;
    font-weight: 600;
    color: #5b6cff;
    text-align: right;
}

/* Submit Button */
.ot-btn-primary {
    height: 48px;
    border-radius: 10px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Alert */
.ot-dashboard-ticket-purchase .alert {
    border-radius: 10px;
    padding: 16px;
}

.withdraw-page-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.withdraw-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}

.withdraw-title {
    font-size: 22px;
    font-weight: 700;
    color: #122f4b;
    margin-bottom: 4px;
}

.withdraw-subtitle {
    margin: 0;
    color: #5c7087;
    font-size: 14px;
}

.withdraw-open-btn {
    min-height: 44px;
    border-radius: 10px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.withdraw-open-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.withdraw-table-wrap {
    border: 1px solid #e8edf5;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.withdraw-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.withdraw-table th,
.withdraw-table td {
    padding: 12px 14px;
    font-size: 13px;
    color: var(--ot-title-color);
    border-bottom: 1px solid #eef2f8;
    vertical-align: top;
}

.withdraw-table thead th {
    background: #f6f9ff;
    color: #1f3552;
    font-weight: 700;
    white-space: nowrap;
}

.withdraw-table tbody tr:last-child td {
    border-bottom: 0;
}

.withdraw-table a {
    color: #2456bf;
    text-decoration: none;
    font-weight: 600;
}

.withdraw-table a:hover {
    text-decoration: underline;
}

.withdraw-info-line {
    margin-bottom: 3px;
    font-size: 12px;
    color: #4f627a;
}

.withdraw-modal .modal-content {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.15);
}

.withdraw-modal .modal-header {
    border-bottom: 1px solid #edf2f8;
    background: #f8fbff;
}

.withdraw-modal .modal-title {
    font-weight: 700;
    color: #17324f;
}

.withdraw-modal .form-label {
    font-weight: 600;
    color: #2f435c;
    margin-bottom: 6px;
}

.withdraw-modal .form-control {
    border-radius: 10px;
    border: 1px solid #d8e2ef;
    min-height: 44px;
}

.withdraw-modal .form-control:focus {
    border-color: #f0933f;
    box-shadow: 0 0 0 0.2rem rgba(240, 147, 63, 0.15);
}

/* User dashboard tables: mobile list layout */
@media (max-width: 767.98px) {
    .ot-dashboard-main .table-mobile-responsive {
        width: 100%;
        border: 0;
    }

    .ot-dashboard-main .table-mobile-responsive thead {
        display: none;
    }

    .ot-dashboard-main .table-mobile-responsive tbody,
    .ot-dashboard-main .table-mobile-responsive tr,
    .ot-dashboard-main .table-mobile-responsive td {
        display: block;
        width: 100%;
    }

    .ot-dashboard-main .table-mobile-responsive tr {
        border: 1px solid #e8edf5;
        border-radius: 12px;
        margin-bottom: 12px;
        background: #fff;
        overflow: hidden;
    }

    .ot-dashboard-main .table-mobile-responsive td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        border-bottom: 1px solid #eef2f8;
        padding: 10px 12px;
        text-align: right;
    }

    .ot-dashboard-main .table-mobile-responsive td::before {
        content: attr(data-content);
        font-weight: 700;
        color: #1f3552;
        text-align: left;
        min-width: 42%;
        max-width: 50%;
    }

    .ot-dashboard-main .table-mobile-responsive td:last-child {
        border-bottom: 0;
    }

    .ot-dashboard-main .table-mobile-responsive td[colspan] {
        display: block;
        text-align: center;
    }

    .ot-dashboard-main .table-mobile-responsive td[colspan]::before {
        content: none;
    }

    .ot-dashboard-main .ticket-action-cell,
    .ot-dashboard-main .ticket-action-group {
        justify-content: flex-end;
        text-align: right;
    }
}

.withdraw-modal .submit-btn {
    min-height: 46px;
    border-radius: 10px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* Register Password Requirement Box */
.password-notebox,
.paswword-notebox {
    border: 1px solid #e5ebf5;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 14px;
}

.password-requirements {
    margin-bottom: 14px;
}

.password-requirements-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: #102a43;
}

.password-requirements ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.password-requirements li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    transition: color 0.2s ease;
}

.password-requirements li i {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    flex: 0 0 18px;
    transition: all 0.2s ease;
}

.password-requirements li.invalid {
    color: #7b1e24;
}

.password-requirements li.invalid i {
    color: #b4232c;
    border: 1px solid #f4c7ca;
    background: #fdf0f1;
}

.password-requirements li.valid {
    color: #166534;
}

.password-requirements li.valid i {
    color: #15803d;
    border: 1px solid #b7ebc6;
    background: #effcf3;
}

.password-strength {
    border-top: 1px dashed #d7e1ef;
    padding-top: 11px;
}

.password-strength .strength-text {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #425466;
}

.password-strength .strength-bar {
    height: 8px;
    border-radius: 999px;
    background: #e6edf7;
    overflow: hidden;
}

.password-strength .strength-bar .bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #f59e0b;
    transition:
        width 0.25s ease,
        background-color 0.25s ease;
}

@media (max-width: 575.98px) {
    .password-notebox,
    .paswword-notebox {
        border-radius: 12px;
        padding: 12px;
    }

    .password-requirements li {
        font-size: 12px;
    }
}

/* setting css here */
.setting-card {
    width: 100%;
}
